-
Notifications
You must be signed in to change notification settings - Fork 53
Open
Description
bool fElemental = IsSetCombatFlags(COMBAT_ELEMENTAL_ENGINE);
// Apply armor calculation
if ( !(uiType & (DAMAGE_GOD|DAMAGE_FIXED)) )
{
if ( fElemental )
{
// AOS elemental combat
if ( iDmgPhysical == 0 ) // if physical damage is not set, let's assume it as the remaining value
iDmgPhysical = 100 - (iDmgFire + iDmgCold + iDmgPoison + iDmgEnergy);
int iPhysicalDamage = iDmg * iDmgPhysical * (100 - (int)GetPropNum(pCCPChar, PROPCH_RESPHYSICAL, pBaseCCPChar));
int iFireDamage = iDmg * iDmgFire * (100 - (int)GetPropNum(pCCPChar, PROPCH_RESFIRE, pBaseCCPChar));
int iColdDamage = iDmg * iDmgCold * (100 - (int)GetPropNum(pCCPChar, PROPCH_RESCOLD, pBaseCCPChar));
int iPoisonDamage = iDmg * iDmgPoison * (100 - (int)GetPropNum(pCCPChar, PROPCH_RESPOISON, pBaseCCPChar));
int iEnergyDamage = iDmg * iDmgEnergy * (100 - (int)GetPropNum(pCCPChar, PROPCH_RESENERGY, pBaseCCPChar));
iDmg = (iPhysicalDamage + iFireDamage + iColdDamage + iPoisonDamage + iEnergyDamage) / 10000;
}
case PROPCH_RESCOLDMAX:
case PROPCH_RESFIREMAX:
case PROPCH_RESENERGYMAX:
case PROPCH_RESPOISONMAX:
case PROPCH_RESPHYSICAL:
case PROPCH_RESPHYSICALMAX:
Metadata
Metadata
Assignees
Labels
No labels