Core/Scripts: Update text for Garfrost to creature_text. Added some missing text & added call for help to aggro.
This commit is contained in:
@@ -0,0 +1,13 @@
|
|||||||
|
-- NPC talk text insert from sniff
|
||||||
|
DELETE FROM `creature_text` WHERE `entry`=36494;
|
||||||
|
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
|
||||||
|
(36494,0,0, 'Tiny creatures under feet, you bring Garfrost something good to eat!',14,0,100,0,0,0, 'Forgemaster Garfrost'),
|
||||||
|
(36494,1,0, 'Axe too weak. Garfrost make better and CRUSH YOU.',14,0,100,0,0,0, 'Forgemaster Garfrost'),
|
||||||
|
(36494,2,0, 'Garfrost tired of puny mortals. Now your bones will freeze!',14,0,100,0,0,0, 'Forgemaster Garfrost'),
|
||||||
|
(36494,3,0, 'Garfrost hope giant underpants clean. Save boss great shame. For later.',14,0,100,0,0,0, 'Forgemaster Garfrost'),
|
||||||
|
(36494,4,0, 'Will save for snack. For later.',12,0,100,0,0,0, 'Forgemaster Garfrost'),
|
||||||
|
(36494,4,1, 'That one maybe not so good to eat now. Stupid Garfrost! BAD! BAD!',12,0,100,0,0,0, 'Forgemaster Garfrost'),
|
||||||
|
(36494,5,0, '%s hurls a massive saronite boulder at you!',16,0,100,0,0,0, 'Forgemaster Garfrost'),
|
||||||
|
(36494,6,0, '%s casts |cFF00AACCDeep Freeze|r at $n.',41,0,100,0,0,0, 'Forgemaster Garfrost');
|
||||||
|
-- Remove old script text
|
||||||
|
DELETE FROM `script_texts` WHERE `entry` BETWEEN -1658006 AND -1658001;
|
||||||
@@ -20,14 +20,15 @@
|
|||||||
|
|
||||||
enum Yells
|
enum Yells
|
||||||
{
|
{
|
||||||
SAY_AGGRO = -1658001,
|
SAY_AGGRO = 0,
|
||||||
SAY_SLAY_1 = -1658002,
|
SAY_PHASE2 = 1,
|
||||||
SAY_SLAY_2 = -1658003,
|
SAY_PHASE3 = 2,
|
||||||
SAY_DEATH = -1658004,
|
SAY_DEATH = 3,
|
||||||
SAY_PHASE2 = -1658005,
|
SAY_SLAY = 4,
|
||||||
SAY_PHASE3 = -1658006,
|
SAY_THROW_SARONITE = 5,
|
||||||
|
SAY_CAST_DEEP_FREEZE = 6,
|
||||||
|
|
||||||
SAY_TYRANNUS_DEATH = -1658007,
|
SAY_TYRANNUS_DEATH = -1658007, // todo
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Spells
|
enum Spells
|
||||||
@@ -107,8 +108,9 @@ class boss_garfrost : public CreatureScript
|
|||||||
|
|
||||||
void EnterCombat(Unit* /*who*/)
|
void EnterCombat(Unit* /*who*/)
|
||||||
{
|
{
|
||||||
DoScriptText(SAY_AGGRO, me);
|
Talk(SAY_AGGRO);
|
||||||
DoCast(me, SPELL_PERMAFROST);
|
DoCast(me, SPELL_PERMAFROST);
|
||||||
|
me->CallForHelp(70.0f);
|
||||||
events.ScheduleEvent(EVENT_THROW_SARONITE, 7000);
|
events.ScheduleEvent(EVENT_THROW_SARONITE, 7000);
|
||||||
|
|
||||||
instance->SetBossState(DATA_GARFROST, IN_PROGRESS);
|
instance->SetBossState(DATA_GARFROST, IN_PROGRESS);
|
||||||
@@ -117,12 +119,13 @@ class boss_garfrost : public CreatureScript
|
|||||||
void KilledUnit(Unit* victim)
|
void KilledUnit(Unit* victim)
|
||||||
{
|
{
|
||||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
|
Talk(SAY_SLAY);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustDied(Unit* /*killer*/)
|
void JustDied(Unit* /*killer*/)
|
||||||
{
|
{
|
||||||
DoScriptText(SAY_DEATH, me);
|
Talk(SAY_DEATH);
|
||||||
|
|
||||||
if (Creature* tyrannus = me->GetCreature(*me, instance->GetData64(DATA_TYRANNUS)))
|
if (Creature* tyrannus = me->GetCreature(*me, instance->GetData64(DATA_TYRANNUS)))
|
||||||
DoScriptText(SAY_TYRANNUS_DEATH, tyrannus);
|
DoScriptText(SAY_TYRANNUS_DEATH, tyrannus);
|
||||||
|
|
||||||
@@ -134,6 +137,7 @@ class boss_garfrost : public CreatureScript
|
|||||||
if (events.GetPhaseMask() & PHASE_ONE_MASK && !HealthAbovePct(66))
|
if (events.GetPhaseMask() & PHASE_ONE_MASK && !HealthAbovePct(66))
|
||||||
{
|
{
|
||||||
events.SetPhase(PHASE_TWO);
|
events.SetPhase(PHASE_TWO);
|
||||||
|
Talk(SAY_PHASE2);
|
||||||
events.DelayEvents(8000);
|
events.DelayEvents(8000);
|
||||||
DoCast(me, SPELL_THUNDERING_STOMP);
|
DoCast(me, SPELL_THUNDERING_STOMP);
|
||||||
events.ScheduleEvent(EVENT_JUMP, 1500);
|
events.ScheduleEvent(EVENT_JUMP, 1500);
|
||||||
@@ -143,6 +147,7 @@ class boss_garfrost : public CreatureScript
|
|||||||
if (events.GetPhaseMask() & PHASE_TWO_MASK && !HealthAbovePct(33))
|
if (events.GetPhaseMask() & PHASE_TWO_MASK && !HealthAbovePct(33))
|
||||||
{
|
{
|
||||||
events.SetPhase(PHASE_THREE);
|
events.SetPhase(PHASE_THREE);
|
||||||
|
Talk(SAY_PHASE3);
|
||||||
events.DelayEvents(8000);
|
events.DelayEvents(8000);
|
||||||
DoCast(me, SPELL_THUNDERING_STOMP);
|
DoCast(me, SPELL_THUNDERING_STOMP);
|
||||||
events.ScheduleEvent(EVENT_JUMP, 1500);
|
events.ScheduleEvent(EVENT_JUMP, 1500);
|
||||||
@@ -199,7 +204,10 @@ class boss_garfrost : public CreatureScript
|
|||||||
{
|
{
|
||||||
case EVENT_THROW_SARONITE:
|
case EVENT_THROW_SARONITE:
|
||||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||||
|
{
|
||||||
|
Talk(SAY_THROW_SARONITE);
|
||||||
DoCast(target, SPELL_THROW_SARONITE);
|
DoCast(target, SPELL_THROW_SARONITE);
|
||||||
|
}
|
||||||
events.ScheduleEvent(EVENT_THROW_SARONITE, urand(12500, 20000));
|
events.ScheduleEvent(EVENT_THROW_SARONITE, urand(12500, 20000));
|
||||||
break;
|
break;
|
||||||
case EVENT_CHILLING_WAVE:
|
case EVENT_CHILLING_WAVE:
|
||||||
@@ -208,7 +216,10 @@ class boss_garfrost : public CreatureScript
|
|||||||
break;
|
break;
|
||||||
case EVENT_DEEP_FREEZE:
|
case EVENT_DEEP_FREEZE:
|
||||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||||
|
{
|
||||||
|
Talk(SAY_CAST_DEEP_FREEZE);
|
||||||
DoCast(target, SPELL_DEEP_FREEZE);
|
DoCast(target, SPELL_DEEP_FREEZE);
|
||||||
|
}
|
||||||
events.ScheduleEvent(EVENT_DEEP_FREEZE, 35000, 0, PHASE_THREE);
|
events.ScheduleEvent(EVENT_DEEP_FREEZE, 35000, 0, PHASE_THREE);
|
||||||
break;
|
break;
|
||||||
case EVENT_JUMP:
|
case EVENT_JUMP:
|
||||||
|
|||||||
Reference in New Issue
Block a user