diff options
author | megamage <none@none> | 2009-07-24 09:41:33 +0800 |
---|---|---|
committer | megamage <none@none> | 2009-07-24 09:41:33 +0800 |
commit | c3f0ab67180a72659de477d5522cfd0f44b10b3b (patch) | |
tree | 93800fc56f59d836e8c5851f65bdd7d36d198af1 | |
parent | dad71db6777423c1cbbe9a5f53a330dc23b917d0 (diff) |
[8208] Add part support for spell 33525. Author: NoFantasy
Also let spell 33652 trigger when aura from 33572 reach full effect.
--HG--
branch : trunk
-rw-r--r-- | src/game/SpellAuras.cpp | 15 | ||||
-rw-r--r-- | src/game/Unit.cpp | 2 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index f9b7d406061..e027632328d 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -2541,6 +2541,9 @@ void AuraEffect::TriggerSpell() case 29213: case 54835: caster->CastSpell(m_target, trigger_spell_id, true, NULL, this); + // Ground Slam + case 33525: + target->CastSpell(target, trigger_spell_id, true); return; } } @@ -4388,12 +4391,22 @@ void AuraEffect::HandleAuraModIncreaseSwimSpeed(bool /*apply*/, bool Real, bool m_target->UpdateSpeed(MOVE_SWIM, true); } -void AuraEffect::HandleAuraModDecreaseSpeed(bool /*apply*/, bool Real, bool changeAmount) +void AuraEffect::HandleAuraModDecreaseSpeed(bool apply, bool Real, bool changeAmount) { // all applied/removed only at real aura add/remove if(!Real && !changeAmount) return; + if (apply) + { + // Gronn Lord's Grasp, becomes stoned + if (GetId() == 33572) + { + if (GetParentAura()->GetStackAmount() >= 5 && !m_target->HasAura(33652)) + m_target->CastSpell(m_target, 33652, true); + } + } + m_target->UpdateSpeed(MOVE_RUN, true); m_target->UpdateSpeed(MOVE_SWIM, true); m_target->UpdateSpeed(MOVE_FLIGHT, true); diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 0a7a65be2a9..07db984be72 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -8829,7 +8829,7 @@ int32 Unit::DealHeal(Unit *pVictim, uint32 addhealth, SpellEntry const *spellPro Unit* unit = this; - if( GetTypeId()==TYPEID_UNIT && ((Creature*)this)->isTotem() && ((Totem*)this)->GetTotemType()!=TOTEM_STATUE) + if( GetTypeId()==TYPEID_UNIT && ((Creature*)this)->isTotem()) unit = GetOwner(); if (unit->GetTypeId()==TYPEID_PLAYER) |