diff options
| author | megamage <none@none> | 2008-12-26 16:27:41 -0600 |
|---|---|---|
| committer | megamage <none@none> | 2008-12-26 16:27:41 -0600 |
| commit | 7346ed5951822d5b8f61817ff1ad95d2c4e2cd73 (patch) | |
| tree | 3a6c59366f445379b9709df26afd05173eed1531 /src/game/StatSystem.cpp | |
| parent | 8d79395783e6dfb59777ce5fcedf722a99580765 (diff) | |
| parent | 07e2410ed830a620a0749e4039e0e544278267d7 (diff) | |
*Merge to Trinity 673.
--HG--
branch : trunk
Diffstat (limited to 'src/game/StatSystem.cpp')
| -rw-r--r-- | src/game/StatSystem.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/game/StatSystem.cpp b/src/game/StatSystem.cpp index df666d4c71e..43faf9b3654 100644 --- a/src/game/StatSystem.cpp +++ b/src/game/StatSystem.cpp @@ -982,6 +982,23 @@ void Pet::UpdateAttackPowerAndDamage(bool ranged) frost = 0; SetBonusDamage( int32(frost * 0.4f)); } + //force of nature + else if(GetEntry() == 1964) + { + int32 spellDmg = int32(owner->GetUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_NATURE)) - owner->GetUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_NATURE); + if(spellDmg > 0) + SetBonusDamage(int32(spellDmg * 0.09f)); + } + //greater fire elemental + else if(GetEntry() == 15438) + { + if(Unit* shaman = owner->GetOwner()) + { + int32 spellDmg = int32(shaman->GetUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_FIRE)) - shaman->GetUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_FIRE); + if(spellDmg > 0) + SetBonusDamage(int32(spellDmg * 0.4f)); + } + } } SetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE, val + bonusAP); |
