Ejemplo n.º 1
0
	INT CombatCore_T::GoldDamage(Obj_Character& rMe,Obj_Character& rTar, INT nAdditionalAttack, INT nAdditionalResist)
	{
		INT	nDamage;
		INT nAttack = Attr_VerifyTraitAttack(rMe.GetAttackGold()+nAdditionalAttack);
		INT nResist = Attr_VerifyResist(rTar.GetDefenceGold()+nAdditionalResist);
		nDamage = AttrDamage(rMe, nResist, nAttack, IATTRIBUTE_SHIELD_GOLD);

		INT nIgnoreRate = 0;
		if(Obj::OBJ_TYPE_HUMAN==rTar.GetObjType())
		{
			nIgnoreRate= (INT)(rTar.ItemValue(IATTRIBUTE_RATE_GOLD_ATT_REDUCE).m_Value);
		}
		nDamage = nDamage*(100.0-((double)nIgnoreRate))/100.0f;

		return nDamage;
	}