From 7438fc6dd74fc8c971e66660bbc63b6680a16f5c Mon Sep 17 00:00:00 2001 From: megamage Date: Thu, 25 Dec 2008 10:35:24 -0600 Subject: *Make the pets of shaman and druid stronger and gain bonus damage from owners' spell damage. --HG-- branch : trunk --- src/game/StatSystem.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/game/StatSystem.cpp') 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); -- cgit v1.2.3