Core/Scripts: Update text for Garfrost to creature_text. Added some missing text & added call for help to aggro.

This commit is contained in:
Malcrom
2012-05-13 14:36:24 -02:30
parent a1ff27a1c6
commit 42b0dfc94f
2 changed files with 34 additions and 10 deletions
@@ -20,14 +20,15 @@
enum Yells
{
SAY_AGGRO = -1658001,
SAY_SLAY_1 = -1658002,
SAY_SLAY_2 = -1658003,
SAY_DEATH = -1658004,
SAY_PHASE2 = -1658005,
SAY_PHASE3 = -1658006,
SAY_AGGRO = 0,
SAY_PHASE2 = 1,
SAY_PHASE3 = 2,
SAY_DEATH = 3,
SAY_SLAY = 4,
SAY_THROW_SARONITE = 5,
SAY_CAST_DEEP_FREEZE = 6,
SAY_TYRANNUS_DEATH = -1658007,
SAY_TYRANNUS_DEATH = -1658007, // todo
};
enum Spells
@@ -107,8 +108,9 @@ class boss_garfrost : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
DoScriptText(SAY_AGGRO, me);
Talk(SAY_AGGRO);
DoCast(me, SPELL_PERMAFROST);
me->CallForHelp(70.0f);
events.ScheduleEvent(EVENT_THROW_SARONITE, 7000);
instance->SetBossState(DATA_GARFROST, IN_PROGRESS);
@@ -117,12 +119,13 @@ class boss_garfrost : public CreatureScript
void KilledUnit(Unit* victim)
{
if (victim->GetTypeId() == TYPEID_PLAYER)
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
DoScriptText(SAY_DEATH, me);
Talk(SAY_DEATH);
if (Creature* tyrannus = me->GetCreature(*me, instance->GetData64(DATA_TYRANNUS)))
DoScriptText(SAY_TYRANNUS_DEATH, tyrannus);
@@ -134,6 +137,7 @@ class boss_garfrost : public CreatureScript
if (events.GetPhaseMask() & PHASE_ONE_MASK && !HealthAbovePct(66))
{
events.SetPhase(PHASE_TWO);
Talk(SAY_PHASE2);
events.DelayEvents(8000);
DoCast(me, SPELL_THUNDERING_STOMP);
events.ScheduleEvent(EVENT_JUMP, 1500);
@@ -143,6 +147,7 @@ class boss_garfrost : public CreatureScript
if (events.GetPhaseMask() & PHASE_TWO_MASK && !HealthAbovePct(33))
{
events.SetPhase(PHASE_THREE);
Talk(SAY_PHASE3);
events.DelayEvents(8000);
DoCast(me, SPELL_THUNDERING_STOMP);
events.ScheduleEvent(EVENT_JUMP, 1500);
@@ -199,7 +204,10 @@ class boss_garfrost : public CreatureScript
{
case EVENT_THROW_SARONITE:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{
Talk(SAY_THROW_SARONITE);
DoCast(target, SPELL_THROW_SARONITE);
}
events.ScheduleEvent(EVENT_THROW_SARONITE, urand(12500, 20000));
break;
case EVENT_CHILLING_WAVE:
@@ -208,7 +216,10 @@ class boss_garfrost : public CreatureScript
break;
case EVENT_DEEP_FREEZE:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{
Talk(SAY_CAST_DEEP_FREEZE);
DoCast(target, SPELL_DEEP_FREEZE);
}
events.ScheduleEvent(EVENT_DEEP_FREEZE, 35000, 0, PHASE_THREE);
break;
case EVENT_JUMP: