INT CombatCore_T::WaterDamage(Obj_Character& rMe,Obj_Character& rTar, INT nAdditionalAttack, INT nAdditionalResist) { INT nDamage; INT nAttack = Attr_VerifyTraitAttack(rMe.GetAttackWater()+nAdditionalAttack); INT nResist = Attr_VerifyResist(rTar.GetDefenceWater()+nAdditionalResist); nDamage = AttrDamage(rMe, nResist, nAttack, IATTRIBUTE_SHIELD_WATER); INT nIgnoreRate = 0; if(Obj::OBJ_TYPE_HUMAN==rTar.GetObjType()) { nIgnoreRate= (INT)(rTar.ItemValue(IATTRIBUTE_RATE_WATER_REDUCE).m_Value); } nDamage = nDamage*(100.0-((double)nIgnoreRate))/100.0f; return nDamage; }