Core/Scripts: Fix Forgemaster Garfrost phases and equipment change.

This commit is contained in:
w1sht0l1v3
2012-07-25 18:49:06 +03:00
parent 4fb89bde83
commit f5edf4034d

View File

@@ -157,15 +157,19 @@ class boss_garfrost : public CreatureScript
void MovementInform(uint32 type, uint32 id)
{
if (type != POINT_MOTION_TYPE || id != POINT_FORGE)
if (type != EFFECT_MOTION_TYPE || id != POINT_FORGE)
return;
if (events.GetPhaseMask() & PHASE_TWO_MASK)
{
DoCast(me, SPELL_FORGE_BLADE);
SetEquipmentSlots(false, EQUIP_ID_SWORD);
}
if (events.GetPhaseMask() & PHASE_THREE_MASK)
{
me->RemoveAurasDueToSpell(SPELL_FORGE_BLADE_HELPER);
DoCast(me, SPELL_FORGE_MACE);
SetEquipmentSlots(false, EQUIP_ID_MACE);
}
events.ScheduleEvent(EVENT_RESUME_ATTACK, 5000);
}
@@ -177,10 +181,6 @@ class boss_garfrost : public CreatureScript
if (Aura* aura = target->GetAura(SPELL_PERMAFROST_HELPER))
_permafrostStack = std::max<uint32>(_permafrostStack, aura->GetStackAmount());
}
else if (spell->Id == SPELL_FORGE_BLADE)
SetEquipmentSlots(false, EQUIP_ID_SWORD);
else if (spell->Id == SPELL_FORGE_MACE)
SetEquipmentSlots(false, EQUIP_ID_MACE);
}
uint32 GetData(uint32 /*type*/)
@@ -205,7 +205,7 @@ class boss_garfrost : public CreatureScript
case EVENT_THROW_SARONITE:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{
Talk(SAY_THROW_SARONITE);
Talk(SAY_THROW_SARONITE, target->GetGUID());
DoCast(target, SPELL_THROW_SARONITE);
}
events.ScheduleEvent(EVENT_THROW_SARONITE, urand(12500, 20000));
@@ -217,7 +217,7 @@ class boss_garfrost : public CreatureScript
case EVENT_DEEP_FREEZE:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{
Talk(SAY_CAST_DEEP_FREEZE);
Talk(SAY_CAST_DEEP_FREEZE, target->GetGUID());
DoCast(target, SPELL_DEEP_FREEZE);
}
events.ScheduleEvent(EVENT_DEEP_FREEZE, 35000, 0, PHASE_THREE);