aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-07-24 09:41:33 +0800
committermegamage <none@none>2009-07-24 09:41:33 +0800
commitc3f0ab67180a72659de477d5522cfd0f44b10b3b (patch)
tree93800fc56f59d836e8c5851f65bdd7d36d198af1
parentdad71db6777423c1cbbe9a5f53a330dc23b917d0 (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.cpp15
-rw-r--r--src/game/Unit.cpp2
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)