コード例 #1
0
ファイル: StdImpact069.cpp プロジェクト: uvbs/wx2Server
INT StdImpact069_T::GetRefixPara( OWN_IMPACT & rImp, Obj_Character& rMe ) const
{
    INT iPara = GetParaID( rImp );
    INT iRate = GetRefixRate( rImp );
    Obj_Character* pChar = (Obj_Character*)Impact_GetCaster( rMe, rImp );
    if( NULL == pChar)
    {
        return 0;
    }
    Obj_Human* rHuman = static_cast<Obj_Human*>(pChar);
    PET_GUID_t guidHorse = rHuman->GetGUIDOfCallUpHorse();

    if( guidHorse.IsNull() )
    {
        return 0;
    }

    Item* pPetItem = rHuman->GetHorseItem(guidHorse);
    if(NULL == pPetItem)
    {
        return 0;
    }

    INT iResult = 0;
    switch( iPara )
    {
    case 0://力量
        iResult = GetResult( pPetItem->GetLevel(), pPetItem->GetGrowRate(), pPetItem->GetStrengthPer(), pPetItem->GetLvl1Attr(CATTR_LEVEL1_STR), iRate );
        break;
    case 1://敏捷
        iResult = GetResult( pPetItem->GetLevel(), pPetItem->GetGrowRate(), pPetItem->GetSmartnessPer(), pPetItem->GetLvl1Attr(CATTR_LEVEL1_DEX), iRate );
        break;
    case 2://智利
        iResult = GetResult( pPetItem->GetLevel(), pPetItem->GetGrowRate(), pPetItem->GetMindPer(), pPetItem->GetLvl1Attr(CATTR_LEVEL1_INT), iRate );
        break;
    case 3://体质
        iResult = GetResult( pPetItem->GetLevel(), pPetItem->GetGrowRate(), pPetItem->GetConstitutionPer(), pPetItem->GetLvl1Attr(CATTR_LEVEL1_CON), iRate );
        break;
    default:
        break;
    }
    return iResult;
}