diff options
Diffstat (limited to 'src/game/Pet.cpp')
-rw-r--r-- | src/game/Pet.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/game/Pet.cpp b/src/game/Pet.cpp index 5fe6a64932d..261eca21701 100644 --- a/src/game/Pet.cpp +++ b/src/game/Pet.cpp @@ -498,7 +498,10 @@ void Pet::setDeathState(DeathState s) // overwrite virtual void Pet::Update(uint32 diff) { - if(m_removed) // pet already removed, just wait in remove queue, no updates + if (m_removed) // pet already removed, just wait in remove queue, no updates + return; + + if (m_loading) return; switch( m_deathState ) @@ -969,6 +972,22 @@ bool Guardian::InitStatsForLevel(uint8 petlevel) SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, float(petlevel * 4 + petlevel)); break; } + case 19833: //Snake Trap - Venomous Snake + { + SetCreateHealth(uint32(107 * (petlevel - 40) * 0.025f)); + SetCreateMana(0); + SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, float((petlevel / 2) - 25)); + SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, float((petlevel / 2) - 18)); + break; + } + case 19921: //Snake Trap - Viper + { + SetCreateHealth(uint32(107 * (petlevel - 40) * 0.025f)); + SetCreateMana(0); + SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, float(petlevel / 2 - 10)); + SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, float(petlevel / 2)); + break; + } case 31216: // Mirror Image { SetBonusDamage(int32(m_owner->SpellBaseDamageBonus(SPELL_SCHOOL_MASK_FROST) * 0.33f)); |