diff options
author | megamage <none@none> | 2008-12-25 10:35:24 -0600 |
---|---|---|
committer | megamage <none@none> | 2008-12-25 10:35:24 -0600 |
commit | 7438fc6dd74fc8c971e66660bbc63b6680a16f5c (patch) | |
tree | 162408b260bc7759109cb292385026057c02d809 /src/game/StatSystem.cpp | |
parent | f481c04eac5514c5446a04c982b4318dda62b2c6 (diff) |
*Make the pets of shaman and druid stronger and gain bonus damage from owners' spell damage.
--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 3e9ddcf3bef..dd324fbc684 100644 --- a/src/game/StatSystem.cpp +++ b/src/game/StatSystem.cpp @@ -944,6 +944,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); |