Core/DB: Creature text for 53 script files
This commit is contained in:
1 parent
57e9a97bc4
commit
f9c0e3c91b
54 files changed
+1717
-1148
No files matched your search
@@ -1176,7 +1176,7 @@ class npc_lorekeeper : public CreatureScript
|
||||
if (Creature* Branz = creature->FindNearestCreature(NPC_BRANZ_BRONZBEARD, 1000, true))
|
||||
{
|
||||
Delorah->GetMotionMaster()->MovePoint(0, Branz->GetPositionX()-4, Branz->GetPositionY(), Branz->GetPositionZ());
|
||||
//TODO DoScriptText(xxxx, Delorah, Branz); when reached at branz
|
||||
//TODO Delorah->AI()->Talk(xxxx, Branz->GetGUID()); when reached at branz
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ class boss_thorim : public CreatureScript
|
||||
|
||||
void EnterEvadeMode()
|
||||
{
|
||||
DoScriptText(SAY_WIPE, me);
|
||||
Talk(SAY_WIPE);
|
||||
_EnterEvadeMode();
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ class boss_thorim : public CreatureScript
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
_JustDied();
|
||||
}
|
||||
|
||||
|
||||
+12
-15
@@ -29,14 +29,14 @@ EndScriptData */
|
||||
enum Yells
|
||||
{
|
||||
//Yells Ingvar
|
||||
YELL_AGGRO_1 = -1574005,
|
||||
YELL_AGGRO_2 = -1574006,
|
||||
YELL_AGGRO_1 = 0,
|
||||
YELL_AGGRO_2 = 1,
|
||||
|
||||
YELL_DEAD_1 = -1574007,
|
||||
YELL_DEAD_2 = -1574008,
|
||||
YELL_DEAD_1 = 2,
|
||||
YELL_DEAD_2 = 3,
|
||||
|
||||
YELL_KILL_1 = -1574009,
|
||||
YELL_KILL_2 = -1574010,
|
||||
YELL_KILL_1 = 4,
|
||||
YELL_KILL_2 = 5,
|
||||
};
|
||||
|
||||
enum Creatures
|
||||
@@ -151,7 +151,7 @@ public:
|
||||
events.SetPhase(PHASE_EVENT);
|
||||
events.ScheduleEvent(EVENT_SUMMON_BANSHEE, 3 * IN_MILLISECONDS, 0, PHASE_EVENT);
|
||||
|
||||
DoScriptText(YELL_DEAD_1, me);
|
||||
Talk(YELL_DEAD_1);
|
||||
}
|
||||
|
||||
if (events.GetPhaseMask() & (1 << PHASE_EVENT))
|
||||
@@ -164,13 +164,13 @@ public:
|
||||
me->UpdateEntry(MOB_INGVAR_UNDEAD);
|
||||
events.ScheduleEvent(EVENT_JUST_TRANSFORMED, 2 * IN_MILLISECONDS, 0, PHASE_EVENT);
|
||||
|
||||
DoScriptText(YELL_AGGRO_2, me);
|
||||
Talk(YELL_AGGRO_2);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
if (!bIsUndead)
|
||||
DoScriptText(YELL_AGGRO_1, me);
|
||||
Talk(YELL_AGGRO_1);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_INGVAR_EVENT, IN_PROGRESS);
|
||||
@@ -180,7 +180,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(YELL_DEAD_2, me);
|
||||
Talk(YELL_DEAD_2);
|
||||
|
||||
if (instance)
|
||||
{
|
||||
@@ -201,10 +201,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
if (bIsUndead)
|
||||
DoScriptText(YELL_KILL_1, me);
|
||||
else
|
||||
DoScriptText(YELL_KILL_2, me);
|
||||
Talk(bIsUndead ? YELL_KILL_1 : YELL_KILL_2);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -329,7 +326,7 @@ public:
|
||||
{
|
||||
me->GetMotionMaster()->MovePoint(1, x, y, z+15);
|
||||
|
||||
// DoScriptText(YELL_RESSURECT, me);
|
||||
// Talk(YELL_RESSURECT);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,18 +29,18 @@ EndScriptData */
|
||||
enum eEnums
|
||||
{
|
||||
//signed for 24200, but used by 24200, 27390
|
||||
YELL_SKARVALD_AGGRO = -1574011,
|
||||
YELL_SKARVALD_DAL_DIED = -1574012,
|
||||
YELL_SKARVALD_SKA_DIEDFIRST = -1574013,
|
||||
YELL_SKARVALD_KILL = -1574014,
|
||||
YELL_SKARVALD_DAL_DIEDFIRST = -1574015,
|
||||
YELL_SKARVALD_AGGRO = 0,
|
||||
YELL_SKARVALD_DAL_DIED = 1,
|
||||
YELL_SKARVALD_SKA_DIEDFIRST = 2,
|
||||
YELL_SKARVALD_KILL = 3,
|
||||
YELL_SKARVALD_DAL_DIEDFIRST = 4,
|
||||
|
||||
//signed for 24201, but used by 24201, 27389
|
||||
YELL_DALRONN_AGGRO = -1574016,
|
||||
YELL_DALRONN_SKA_DIED = -1574017,
|
||||
YELL_DALRONN_DAL_DIEDFIRST = -1574018,
|
||||
YELL_DALRONN_KILL = -1574019,
|
||||
YELL_DALRONN_SKA_DIEDFIRST = -1574020,
|
||||
YELL_DALRONN_AGGRO = 0,
|
||||
YELL_DALRONN_SKA_DIED = 1,
|
||||
YELL_DALRONN_DAL_DIEDFIRST = 2,
|
||||
YELL_DALRONN_KILL = 3,
|
||||
YELL_DALRONN_SKA_DIEDFIRST = 4,
|
||||
|
||||
//Spells of Skarvald and his Ghost
|
||||
MOB_SKARVALD_THE_CONSTRUCTOR = 24200,
|
||||
@@ -123,7 +123,7 @@ public:
|
||||
{
|
||||
if (!ghost && instance)
|
||||
{
|
||||
DoScriptText(YELL_SKARVALD_AGGRO, me);
|
||||
Talk(YELL_SKARVALD_AGGRO);
|
||||
|
||||
Unit* dalronn = Unit::GetUnit(*me, instance->GetData64(DATA_DALRONN));
|
||||
if (dalronn && dalronn->isAlive() && !dalronn->getVictim())
|
||||
@@ -151,13 +151,13 @@ public:
|
||||
{
|
||||
if (dalronn->isDead())
|
||||
{
|
||||
DoScriptText(YELL_SKARVALD_DAL_DIED, me);
|
||||
Talk(YELL_SKARVALD_DAL_DIED);
|
||||
|
||||
instance->SetData(DATA_SKARVALD_DALRONN_EVENT, DONE);
|
||||
}
|
||||
else
|
||||
{
|
||||
DoScriptText(YELL_SKARVALD_SKA_DIEDFIRST, me);
|
||||
Talk(YELL_SKARVALD_SKA_DIEDFIRST);
|
||||
|
||||
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
|
||||
//DoCast(me, SPELL_SUMMON_SKARVALD_GHOST, true);
|
||||
@@ -176,7 +176,7 @@ public:
|
||||
{
|
||||
if (!ghost)
|
||||
{
|
||||
DoScriptText(YELL_SKARVALD_KILL, me);
|
||||
Talk(YELL_SKARVALD_KILL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -211,7 +211,7 @@ public:
|
||||
{
|
||||
if (Response_Timer <= diff)
|
||||
{
|
||||
DoScriptText(YELL_SKARVALD_DAL_DIEDFIRST, me);
|
||||
Talk(YELL_SKARVALD_DAL_DIEDFIRST);
|
||||
|
||||
Response_Timer = 0;
|
||||
} else Response_Timer -= diff;
|
||||
@@ -310,14 +310,14 @@ public:
|
||||
{
|
||||
if (skarvald->isDead())
|
||||
{
|
||||
DoScriptText(YELL_DALRONN_SKA_DIED, me);
|
||||
Talk(YELL_DALRONN_SKA_DIED);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_SKARVALD_DALRONN_EVENT, DONE);
|
||||
}
|
||||
else
|
||||
{
|
||||
DoScriptText(YELL_DALRONN_DAL_DIEDFIRST, me);
|
||||
Talk(YELL_DALRONN_DAL_DIEDFIRST);
|
||||
|
||||
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
|
||||
//DoCast(me, SPELL_SUMMON_DALRONN_GHOST, true);
|
||||
@@ -336,7 +336,7 @@ public:
|
||||
{
|
||||
if (!ghost)
|
||||
{
|
||||
DoScriptText(YELL_DALRONN_KILL, me);
|
||||
Talk(YELL_DALRONN_KILL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -355,7 +355,7 @@ public:
|
||||
{
|
||||
if (AggroYell_Timer <= diff)
|
||||
{
|
||||
DoScriptText(YELL_DALRONN_AGGRO, me);
|
||||
Talk(YELL_DALRONN_AGGRO);
|
||||
|
||||
AggroYell_Timer = 0;
|
||||
} else AggroYell_Timer -= diff;
|
||||
@@ -382,7 +382,7 @@ public:
|
||||
{
|
||||
if (Response_Timer <= diff)
|
||||
{
|
||||
DoScriptText(YELL_DALRONN_SKA_DIEDFIRST, me);
|
||||
Talk(YELL_DALRONN_SKA_DIEDFIRST);
|
||||
Response_Timer = 0;
|
||||
} else Response_Timer -= diff;
|
||||
}
|
||||
|
||||
@@ -47,10 +47,9 @@ enum OrbSpells
|
||||
//not in db
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO = -1575000,
|
||||
SAY_SLAY_1 = -1575001,
|
||||
SAY_SLAY_2 = -1575002,
|
||||
SAY_DEATH = -1575003
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SLAY = 1
|
||||
//SAY_DEATH = 2 Missing in database
|
||||
};
|
||||
|
||||
enum Creatures
|
||||
@@ -155,7 +154,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
void AttackStart(Unit* who)
|
||||
@@ -212,7 +211,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
//Talk(SAY_DEATH);
|
||||
if (instance)
|
||||
instance->SetData(DATA_GORTOK_PALEHOOF_EVENT, DONE);
|
||||
Creature* temp = Unit::GetCreature((*me), instance ? instance->GetData64(DATA_MOB_ORB) : 0);
|
||||
@@ -222,7 +221,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void NextPhase()
|
||||
|
||||
@@ -34,16 +34,13 @@ Script Data End */
|
||||
//Yell
|
||||
enum eYells
|
||||
{
|
||||
SAY_AGGRO = -1575004,
|
||||
SAY_KILL_1 = -1575005,
|
||||
SAY_KILL_2 = -1575006,
|
||||
EMOTE_RANGE = -1575007, //Skadi
|
||||
SAY_DEATH = -1575008,
|
||||
SAY_DRAKE_DEATH = -1575009,
|
||||
EMOTE_BREATH = -1575010, //Grauf
|
||||
SAY_DRAKE_BREATH_1 = -1575011,
|
||||
SAY_DRAKE_BREATH_2 = -1575012,
|
||||
SAY_DRAKE_BREATH_3 = -1575013,
|
||||
SAY_AGGRO = 0,
|
||||
SAY_KILL = 1,
|
||||
EMOTE_RANGE = 2,
|
||||
SAY_DEATH = 3,
|
||||
SAY_DRAKE_DEATH = 4,
|
||||
EMOTE_BREATH = 5,
|
||||
SAY_DRAKE_BREATH = 6
|
||||
};
|
||||
|
||||
static Position SpawnLoc = {468.931f, -513.555f, 104.723f, 0};
|
||||
@@ -230,7 +227,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
|
||||
|
||||
@@ -297,7 +294,7 @@ public:
|
||||
}
|
||||
me->GetMotionMaster()->MoveJump(Location[4].GetPositionX(), Location[4].GetPositionY(), Location[4].GetPositionZ(), 5.0f, 10.0f);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
|
||||
DoScriptText(SAY_DRAKE_DEATH, me);
|
||||
Talk(SAY_DRAKE_DEATH);
|
||||
m_uiCrushTimer = 8000;
|
||||
m_uiPoisonedSpearTimer = 10000;
|
||||
m_uiWhirlwindTimer = 20000;
|
||||
@@ -319,7 +316,7 @@ public:
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
|
||||
if (!m_bSaidEmote)
|
||||
{
|
||||
DoScriptText(EMOTE_RANGE, me);
|
||||
Talk(EMOTE_RANGE);
|
||||
m_bSaidEmote = true;
|
||||
}
|
||||
}
|
||||
@@ -360,8 +357,8 @@ public:
|
||||
break;
|
||||
case 3:
|
||||
me->GetMotionMaster()->MovePoint(0, Location[69].GetPositionX(), Location[69].GetPositionY(), Location[69].GetPositionZ());
|
||||
DoScriptText(RAND(SAY_DRAKE_BREATH_1, SAY_DRAKE_BREATH_2), me);
|
||||
DoScriptText(EMOTE_BREATH, me);
|
||||
Talk(SAY_DRAKE_BREATH);
|
||||
Talk(EMOTE_BREATH);
|
||||
m_uiMovementTimer = 2500;
|
||||
break;
|
||||
case 4:
|
||||
@@ -413,7 +410,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
Summons.DespawnAll();
|
||||
if (instance)
|
||||
instance->SetData(DATA_SKADI_THE_RUTHLESS_EVENT, DONE);
|
||||
@@ -421,7 +418,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
|
||||
Talk(SAY_KILL);
|
||||
}
|
||||
|
||||
void SpawnMobs()
|
||||
|
||||
@@ -55,16 +55,13 @@ enum Spells
|
||||
//not in db
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO = -1575028,
|
||||
SAY_SLAY_1 = -1575029,
|
||||
SAY_SLAY_2 = -1575030,
|
||||
SAY_SLAY_3 = -1575031,
|
||||
SAY_SLAY_4 = -1575032,
|
||||
SAY_DEATH = -1575033,
|
||||
SAY_SUMMON_BJORN = -1575034,
|
||||
SAY_SUMMON_HALDOR = -1575035,
|
||||
SAY_SUMMON_RANULF = -1575036,
|
||||
SAY_SUMMON_TORGYN = -1575037
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SLAY = 1,
|
||||
SAY_DEATH = 2,
|
||||
SAY_SUMMON_BJORN = 3,
|
||||
SAY_SUMMON_HALDOR = 4,
|
||||
SAY_SUMMON_RANULF = 5,
|
||||
SAY_SUMMON_TORGYN = 6
|
||||
};
|
||||
|
||||
enum Creatures
|
||||
@@ -190,7 +187,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_KING_YMIRON_EVENT, IN_PROGRESS);
|
||||
@@ -216,7 +213,7 @@ public:
|
||||
{
|
||||
if (m_uiPause_Timer <= diff)
|
||||
{
|
||||
DoScriptText(ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].say, me);
|
||||
Talk(ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].say);
|
||||
DoCast(me, SPELL_CHANNEL_YMIRON_TO_SPIRIT); // should be on spirit
|
||||
if (Creature* temp = me->SummonCreature(ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].npc, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnX, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnY, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnZ, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnO, TEMPSUMMON_CORPSE_DESPAWN, 0))
|
||||
{
|
||||
@@ -370,7 +367,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
DespawnBoatGhosts(m_uiActivedCreatureGUID);
|
||||
DespawnBoatGhosts(m_uiOrbGUID);
|
||||
@@ -381,7 +378,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3, SAY_SLAY_4), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void DespawnBoatGhosts(uint64 m_uiCreatureGUID)
|
||||
|
||||
@@ -19,7 +19,10 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "vault_of_archavon.h"
|
||||
|
||||
#define EMOTE_BERSERK -1590002
|
||||
enum
|
||||
{
|
||||
EMOTE_BERSERK = 0
|
||||
};
|
||||
|
||||
//Spells Archavon
|
||||
#define SPELL_ROCK_SHARDS 58678
|
||||
@@ -109,7 +112,7 @@ class boss_archavon : public CreatureScript
|
||||
break;
|
||||
case EVENT_BERSERK:
|
||||
DoCast(me, SPELL_BERSERK);
|
||||
DoScriptText(EMOTE_BERSERK, me);
|
||||
Talk(EMOTE_BERSERK);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -37,9 +37,9 @@ enum Spells
|
||||
|
||||
enum BossEmotes
|
||||
{
|
||||
EMOTE_OVERCHARGE = -1590000,
|
||||
EMOTE_MINION_RESPAWN = -1590001,
|
||||
EMOTE_BERSERK = -1590002,
|
||||
EMOTE_OVERCHARGE = 0,
|
||||
EMOTE_MINION_RESPAWN = 1,
|
||||
EMOTE_BERSERK = 2
|
||||
};
|
||||
|
||||
enum Events
|
||||
@@ -146,14 +146,14 @@ class boss_emalon : public CreatureScript
|
||||
{
|
||||
minion->CastSpell(me, SPELL_OVERCHARGED, true);
|
||||
minion->SetFullHealth();
|
||||
DoScriptText(EMOTE_OVERCHARGE, me);
|
||||
Talk(EMOTE_OVERCHARGE);
|
||||
events.ScheduleEvent(EVENT_OVERCHARGE, 45000);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case EVENT_BERSERK:
|
||||
DoCast(me, SPELL_BERSERK);
|
||||
DoScriptText(EMOTE_BERSERK, me);
|
||||
Talk(EMOTE_BERSERK);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -198,7 +198,7 @@ class mob_tempest_minion : public CreatureScript
|
||||
if (emalon->isAlive())
|
||||
{
|
||||
emalon->SummonCreature(MOB_TEMPEST_MINION, 0, 0, 0, 0, TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||
DoScriptText(EMOTE_MINION_RESPAWN, me);
|
||||
Talk(EMOTE_MINION_RESPAWN);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -244,7 +244,7 @@ class mob_tempest_minion : public CreatureScript
|
||||
{
|
||||
DoCast(me, SPELL_OVERCHARGED_BLAST);
|
||||
me->DespawnOrUnsummon();
|
||||
DoScriptText(EMOTE_MINION_RESPAWN, me);
|
||||
Talk(EMOTE_MINION_RESPAWN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,16 +34,13 @@ enum Spells
|
||||
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO = -1608000,
|
||||
SAY_SLAY_1 = -1608001,
|
||||
SAY_SLAY_2 = -1608002,
|
||||
SAY_SLAY_3 = -1608003,
|
||||
SAY_DEATH = -1608004,
|
||||
SAY_SPAWN = -1608005,
|
||||
SAY_DISRUPTION = -1608006,
|
||||
SAY_BREATH_ATTACK = -1608007,
|
||||
SAY_SPECIAL_ATTACK_1 = -1608008,
|
||||
SAY_SPECIAL_ATTACK_2 = -1608009
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SLAY = 1,
|
||||
SAY_DEATH = 2,
|
||||
SAY_SPAWN = 3,
|
||||
SAY_DISRUPTION = 4,
|
||||
SAY_BREATH_ATTACK = 5,
|
||||
SAY_SPECIAL_ATTACK = 6
|
||||
};
|
||||
|
||||
class boss_cyanigosa : public CreatureScript
|
||||
@@ -84,7 +81,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_CYANIGOSA_EVENT, IN_PROGRESS);
|
||||
@@ -144,7 +141,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_CYANIGOSA_EVENT, DONE);
|
||||
@@ -154,7 +151,7 @@ public:
|
||||
{
|
||||
if (victim == me)
|
||||
return;
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -34,14 +34,12 @@ enum Spells
|
||||
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO = -1608010,
|
||||
SAY_SLAY_1 = -1608011,
|
||||
SAY_SLAY_2 = -1608012,
|
||||
SAY_SLAY_3 = -1608013,
|
||||
SAY_DEATH = -1608014,
|
||||
SAY_SPAWN = -1608015,
|
||||
SAY_ADD_KILLED = -1608016,
|
||||
SAY_BOTH_ADDS_KILLED = -1608017
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SLAY = 1,
|
||||
SAY_DEATH = 2,
|
||||
SAY_SPAWN = 3,
|
||||
SAY_ADD_KILLED = 4,
|
||||
SAY_BOTH_ADDS_KILLED = 5
|
||||
};
|
||||
|
||||
class boss_erekem : public CreatureScript
|
||||
@@ -125,7 +123,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
DoCast(me, SPELL_EARTH_SHIELD);
|
||||
|
||||
if (instance)
|
||||
@@ -209,7 +207,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (instance)
|
||||
{
|
||||
@@ -230,7 +228,7 @@ public:
|
||||
{
|
||||
if (victim == me)
|
||||
return;
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
uint64 GetChainHealTargetGUID()
|
||||
|
||||
@@ -40,15 +40,13 @@ enum IchoronCreatures
|
||||
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO = -1608018,
|
||||
SAY_SLAY_1 = -1608019,
|
||||
SAY_SLAY_2 = -1608020,
|
||||
SAY_SLAY_3 = -1608021,
|
||||
SAY_DEATH = -1608022,
|
||||
SAY_SPAWN = -1608023,
|
||||
SAY_ENRAGE = -1608024,
|
||||
SAY_SHATTER = -1608025,
|
||||
SAY_BUBBLE = -1608026
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SLAY = 1,
|
||||
SAY_DEATH = 2,
|
||||
SAY_SPAWN = 3,
|
||||
SAY_ENRAGE = 4,
|
||||
SAY_SHATTER = 5,
|
||||
SAY_BUBBLE = 6
|
||||
};
|
||||
|
||||
enum Actions
|
||||
@@ -120,7 +118,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
DoCast(me, SPELL_PROTECTIVE_BUBBLE);
|
||||
|
||||
@@ -189,7 +187,7 @@ public:
|
||||
|
||||
if (!HealthBelowPct(25))
|
||||
{
|
||||
DoScriptText(SAY_BUBBLE, me);
|
||||
Talk(SAY_BUBBLE);
|
||||
DoCast(me, SPELL_PROTECTIVE_BUBBLE, true);
|
||||
}
|
||||
|
||||
@@ -214,7 +212,7 @@ public:
|
||||
|
||||
if (!bIsFrenzy && HealthBelowPct(25) && !bIsExploded)
|
||||
{
|
||||
DoScriptText(SAY_ENRAGE, me);
|
||||
Talk(SAY_ENRAGE);
|
||||
DoCast(me, SPELL_FRENZY, true);
|
||||
bIsFrenzy = true;
|
||||
}
|
||||
@@ -227,7 +225,7 @@ public:
|
||||
{
|
||||
if (!me->HasAura(SPELL_PROTECTIVE_BUBBLE, 0))
|
||||
{
|
||||
DoScriptText(SAY_SHATTER, me);
|
||||
Talk(SAY_SHATTER);
|
||||
DoCast(me, SPELL_WATER_BLAST);
|
||||
DoCast(me, SPELL_DRAINED);
|
||||
bIsExploded = true;
|
||||
@@ -277,7 +275,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (bIsExploded)
|
||||
{
|
||||
@@ -326,7 +324,7 @@ public:
|
||||
{
|
||||
if (victim == me)
|
||||
return;
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -22,41 +22,38 @@
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_ARCANE_BARRAGE_VOLLEY = 54202,
|
||||
SPELL_ARCANE_BARRAGE_VOLLEY_H = 59483,
|
||||
SPELL_ARCANE_BUFFET = 54226,
|
||||
SPELL_ARCANE_BUFFET_H = 59485,
|
||||
SPELL_SUMMON_ETHEREAL_SPHERE_1 = 54102,
|
||||
SPELL_SUMMON_ETHEREAL_SPHERE_2 = 54137,
|
||||
SPELL_SUMMON_ETHEREAL_SPHERE_3 = 54138,
|
||||
SPELL_ARCANE_BARRAGE_VOLLEY = 54202,
|
||||
SPELL_ARCANE_BARRAGE_VOLLEY_H = 59483,
|
||||
SPELL_ARCANE_BUFFET = 54226,
|
||||
SPELL_ARCANE_BUFFET_H = 59485,
|
||||
SPELL_SUMMON_ETHEREAL_SPHERE_1 = 54102,
|
||||
SPELL_SUMMON_ETHEREAL_SPHERE_2 = 54137,
|
||||
SPELL_SUMMON_ETHEREAL_SPHERE_3 = 54138,
|
||||
};
|
||||
|
||||
enum NPCs
|
||||
{
|
||||
NPC_ETHEREAL_SPHERE = 29271,
|
||||
//NPC_ETHEREAL_SPHERE2 = 32582, // heroic only?
|
||||
NPC_ETHEREAL_SPHERE = 29271,
|
||||
//NPC_ETHEREAL_SPHERE2 = 32582, // heroic only?
|
||||
};
|
||||
|
||||
enum CreatureSpells
|
||||
{
|
||||
SPELL_ARCANE_POWER = 54160,
|
||||
H_SPELL_ARCANE_POWER = 59474,
|
||||
SPELL_SUMMON_PLAYERS = 54164,
|
||||
SPELL_POWER_BALL_VISUAL = 54141,
|
||||
SPELL_ARCANE_POWER = 54160,
|
||||
H_SPELL_ARCANE_POWER = 59474,
|
||||
SPELL_SUMMON_PLAYERS = 54164,
|
||||
SPELL_POWER_BALL_VISUAL = 54141,
|
||||
};
|
||||
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO = -1608027,
|
||||
SAY_SLAY_1 = -1608028,
|
||||
SAY_SLAY_2 = -1608029,
|
||||
SAY_SLAY_3 = -1608030,
|
||||
SAY_DEATH = -1608031,
|
||||
SAY_SPAWN = -1608032,
|
||||
SAY_CHARGED = -1608033,
|
||||
SAY_REPEAT_SUMMON_1 = -1608034,
|
||||
SAY_REPEAT_SUMMON_2 = -1608035,
|
||||
SAY_SUMMON_ENERGY = -1608036
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SLAY = 1,
|
||||
SAY_DEATH = 2,
|
||||
SAY_SPAWN = 3,
|
||||
SAY_CHARGED = 4,
|
||||
SAY_REPEAT_SUMMON = 5,
|
||||
SAY_SUMMON_ENERGY = 6
|
||||
};
|
||||
|
||||
class boss_xevozz : public CreatureScript
|
||||
@@ -139,7 +136,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
if (instance)
|
||||
{
|
||||
if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_XEVOZZ_CELL)))
|
||||
@@ -182,7 +179,7 @@ public:
|
||||
|
||||
if (uiSummonEtherealSphere_Timer < uiDiff)
|
||||
{
|
||||
DoScriptText(SAY_SPAWN, me);
|
||||
Talk(SAY_SPAWN);
|
||||
DoCast(me, SPELL_SUMMON_ETHEREAL_SPHERE_1);
|
||||
if (IsHeroic()) // extra one for heroic
|
||||
me->SummonCreature(NPC_ETHEREAL_SPHERE, me->GetPositionX()-5+rand()%10, me->GetPositionY()-5+rand()%10, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 40000);
|
||||
@@ -197,7 +194,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
DespawnSphere();
|
||||
|
||||
@@ -220,7 +217,7 @@ public:
|
||||
if (victim == me)
|
||||
return;
|
||||
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -38,14 +38,12 @@ enum ZuramatCreatures
|
||||
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO = -1608037,
|
||||
SAY_SLAY_1 = -1608038,
|
||||
SAY_SLAY_2 = -1608039,
|
||||
SAY_SLAY_3 = -1608040,
|
||||
SAY_DEATH = -1608041,
|
||||
SAY_SPAWN = -1608042,
|
||||
SAY_SHIELD = -1608043,
|
||||
SAY_WHISPER = -1608044
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SLAY = 1,
|
||||
SAY_DEATH = 2,
|
||||
SAY_SPAWN = 3,
|
||||
SAY_SHIELD = 4,
|
||||
SAY_WHISPER = 5
|
||||
};
|
||||
|
||||
#define DATA_VOID_DANCE 2153
|
||||
@@ -106,7 +104,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
if (instance)
|
||||
{
|
||||
if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_ZURAMAT_CELL)))
|
||||
@@ -168,7 +166,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (instance)
|
||||
{
|
||||
@@ -190,7 +188,7 @@ public:
|
||||
if (victim == me)
|
||||
return;
|
||||
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon)
|
||||
|
||||
@@ -94,7 +94,7 @@ const Position MiddleRoomPortalSaboLocation = {1896.622925f, 804.854126f, 38.504
|
||||
//Cyanigosa's prefight event data
|
||||
enum Yells
|
||||
{
|
||||
CYANIGOSA_SAY_SPAWN = -1608005
|
||||
CYANIGOSA_SAY_SPAWN = 0
|
||||
};
|
||||
|
||||
enum Spells
|
||||
@@ -742,7 +742,7 @@ public:
|
||||
{
|
||||
case 1:
|
||||
pCyanigosa->CastSpell(pCyanigosa, CYANIGOSA_BLUE_AURA, false);
|
||||
DoScriptText(CYANIGOSA_SAY_SPAWN, pCyanigosa);
|
||||
pCyanigosa->AI()->Talk(CYANIGOSA_SAY_SPAWN);
|
||||
uiCyanigosaEventTimer = 7*IN_MILLISECONDS;
|
||||
++uiCyanigosaEventPhase;
|
||||
break;
|
||||
|
||||
@@ -125,7 +125,7 @@ enum Spells
|
||||
|
||||
enum eSinclari
|
||||
{
|
||||
SAY_SINCLARI_1 = -1608045
|
||||
SAY_SINCLARI_1 = 0
|
||||
};
|
||||
|
||||
float FirstPortalWPs [6][3] =
|
||||
@@ -353,7 +353,7 @@ public:
|
||||
switch (uiPhase)
|
||||
{
|
||||
case 1:
|
||||
DoScriptText(SAY_SINCLARI_1, me);
|
||||
Talk(SAY_SINCLARI_1);
|
||||
uiTimer = 4000;
|
||||
uiPhase = 2;
|
||||
break;
|
||||
|
||||
@@ -121,9 +121,9 @@ enum eRageclaw
|
||||
SPELL_KNEEL = 39656
|
||||
};
|
||||
|
||||
const char * SAY_RAGECLAW_1 = "I poop on you, trollses!";
|
||||
const char * SAY_RAGECLAW_2 = "ARRRROOOOGGGGAAAA!";
|
||||
const char * SAY_RAGECLAW_3 = "No more mister nice wolvar!";
|
||||
const char* SAY_RAGECLAW_1 = "I poop on you, trollses!";
|
||||
const char* SAY_RAGECLAW_2 = "ARRRROOOOGGGGAAAA!";
|
||||
const char* SAY_RAGECLAW_3 = "No more mister nice wolvar!";
|
||||
|
||||
#define SAY_RAGECLAW RAND(SAY_RAGECLAW_1, SAY_RAGECLAW_2, SAY_RAGECLAW_3)
|
||||
|
||||
@@ -265,14 +265,16 @@ enum eGurgthock
|
||||
NPC_FIEND_FIRE = 30042,
|
||||
NPC_FIEND_EARTH = 30043,
|
||||
|
||||
SAY_QUEST_ACCEPT_TUSKARRMAGEDON = -1571031,
|
||||
SAY_QUEST_ACCEPT_KORRAK_1 = -1571033,
|
||||
SAY_QUEST_ACCEPT_KORRAK_2 = -1571034,
|
||||
SAY_QUEST_ACCEPT_MAGNATAUR = -1571035,
|
||||
SAY_QUEST_ACCEPT_TUSKARRMAGEDON = 0,
|
||||
SAY_QUEST_ACCEPT_KORRAK_1 = 1,
|
||||
SAY_QUEST_ACCEPT_KORRAK_2 = 2,
|
||||
SAY_QUEST_ACCEPT_MAGNATAUR = 3,
|
||||
EMOTE_YGGDRAS_SPAWN = 4,
|
||||
SAY_STINKBEARD_SPAWN = 5,
|
||||
SAY_GURGTHOCK_ELEMENTAL_SPAWN = 6,
|
||||
|
||||
EMOTE_YGGDRAS_SPAWN = -1571039,
|
||||
SAY_STINKBEARD_SPAWN = -1571040,
|
||||
SAY_GURGTHOCK_ELEMENTAL_SPAWN = -1571041,
|
||||
SAY_CALL_FOR_HELP = 0,
|
||||
SAY_RECRUIT = 0,
|
||||
|
||||
SPELL_CRASHING_WAVE = 55909, // water
|
||||
SPELL_SHOCKWAVE = 55918, // earth
|
||||
@@ -380,12 +382,12 @@ public:
|
||||
switch (uiValue)
|
||||
{
|
||||
case QUEST_AMPHITHEATER_ANGUISH_TUSKARRMAGEDDON:
|
||||
DoScriptText(SAY_QUEST_ACCEPT_TUSKARRMAGEDON, me);
|
||||
Talk(SAY_QUEST_ACCEPT_TUSKARRMAGEDON);
|
||||
uiPhase = 1;
|
||||
uiTimer = 4000;
|
||||
break;
|
||||
case QUEST_AMPHITHEATER_ANGUISH_KORRAK_BLOODRAGER:
|
||||
DoScriptText(SAY_QUEST_ACCEPT_KORRAK_1, me);
|
||||
Talk(SAY_QUEST_ACCEPT_KORRAK_1);
|
||||
uiPhase = 3;
|
||||
uiTimer = 3000;
|
||||
break;
|
||||
@@ -443,7 +445,7 @@ public:
|
||||
SummonGUID = 0;
|
||||
break;
|
||||
case 3:
|
||||
DoScriptText(SAY_QUEST_ACCEPT_KORRAK_2, me);
|
||||
Talk(SAY_QUEST_ACCEPT_KORRAK_2);
|
||||
uiTimer = 3000;
|
||||
uiPhase = 4;
|
||||
break;
|
||||
@@ -477,7 +479,7 @@ public:
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
DoScriptText(SAY_QUEST_ACCEPT_MAGNATAUR, me);
|
||||
Talk(SAY_QUEST_ACCEPT_MAGNATAUR);
|
||||
uiTimer = 5000;
|
||||
uiPhase = 11;
|
||||
break;
|
||||
@@ -494,12 +496,12 @@ public:
|
||||
break;
|
||||
case 10:
|
||||
me->SummonCreature(NPC_YGGDRAS, SpawnPosition[1], TEMPSUMMON_CORPSE_DESPAWN, 1000);
|
||||
DoScriptText(EMOTE_YGGDRAS_SPAWN, me);
|
||||
Talk(EMOTE_YGGDRAS_SPAWN);
|
||||
uiPhase = 0;
|
||||
break;
|
||||
case 11:
|
||||
if (Creature* creature = me->SummonCreature(NPC_STINKBEARD, SpawnPosition[0], TEMPSUMMON_CORPSE_DESPAWN, 1000))
|
||||
DoScriptText(SAY_STINKBEARD_SPAWN, creature);
|
||||
creature->AI()->Talk(SAY_STINKBEARD_SPAWN);
|
||||
uiPhase = 0;
|
||||
break;
|
||||
case 12:
|
||||
@@ -514,7 +516,7 @@ public:
|
||||
}
|
||||
break;
|
||||
case 13:
|
||||
DoScriptText(SAY_GURGTHOCK_ELEMENTAL_SPAWN, me);
|
||||
Talk(SAY_GURGTHOCK_ELEMENTAL_SPAWN);
|
||||
uiTimer = 3000;
|
||||
uiPhase = 14;
|
||||
break;
|
||||
@@ -575,9 +577,7 @@ enum eOrinokoTuskbreaker
|
||||
SPELL_SUMMON_WHISKER = 55946,
|
||||
|
||||
NPC_WHISKER = 30113,
|
||||
NPC_HUNGRY_PENGUIN = 30110,
|
||||
|
||||
SAY_CALL_FOR_HELP = -1571032
|
||||
NPC_HUNGRY_PENGUIN = 30110
|
||||
};
|
||||
|
||||
class npc_orinoko_tuskbreaker : public CreatureScript
|
||||
@@ -659,7 +659,7 @@ public:
|
||||
|
||||
if (!bSummoned && !HealthAbovePct(50))
|
||||
{
|
||||
DoScriptText(SAY_CALL_FOR_HELP, me);
|
||||
Talk(SAY_CALL_FOR_HELP);
|
||||
//DoCast(me->getVictim(), SPELL_SUMMON_WHISKER); petai is not working correctly???
|
||||
|
||||
if (Creature* pWhisker = me->SummonCreature(NPC_WHISKER, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 0))
|
||||
@@ -1282,11 +1282,7 @@ enum eCrusade_recruit
|
||||
|
||||
QUEST_TROLL_PATROL_INTESTINAL_FORTITUDE = 12509,
|
||||
|
||||
GOSSIP_CRUSADE_TEXT = 13069,
|
||||
|
||||
SAY_RECRUIT_1 = -1571036,
|
||||
SAY_RECRUIT_2 = -1571037,
|
||||
SAY_RECRUIT_3 = -1571038
|
||||
GOSSIP_CRUSADE_TEXT = 13069
|
||||
};
|
||||
|
||||
#define GOSSIP_ITEM_1 "Get out there and make those Scourge wish they were never reborn!"
|
||||
@@ -1325,7 +1321,7 @@ public:
|
||||
// say random text
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
||||
DoScriptText(RAND(SAY_RECRUIT_1, SAY_RECRUIT_2, SAY_RECRUIT_3), me);
|
||||
Talk(SAY_RECRUIT);
|
||||
m_uiTimer = 3000;
|
||||
m_uiPhase = 2;
|
||||
break;
|
||||
|
||||
@@ -126,30 +126,23 @@ public:
|
||||
|
||||
};
|
||||
|
||||
#define SAY_INTRO -1558000
|
||||
#define SAY_SUMMON -1558001
|
||||
enum ExarchMaladaar
|
||||
{
|
||||
SAY_INTRO = 0,
|
||||
SAY_SUMMON = 1,
|
||||
SAY_AGGRO = 2,
|
||||
SAY_ROAR = 3,
|
||||
SAY_SLAY = 4,
|
||||
SAY_DEATH = 5,
|
||||
|
||||
#define SAY_AGGRO_1 -1558002
|
||||
#define SAY_AGGRO_2 -1558003
|
||||
#define SAY_AGGRO_3 -1558004
|
||||
SPELL_RIBBON_OF_SOULS = 32422,
|
||||
SPELL_SOUL_SCREAM = 32421,
|
||||
SPELL_STOLEN_SOUL = 32346,
|
||||
SPELL_STOLEN_SOUL_VISUAL = 32395,
|
||||
SPELL_SUMMON_AVATAR = 32424,
|
||||
|
||||
#define SAY_ROAR -1558005
|
||||
#define SAY_SOUL_CLEAVE -1558006
|
||||
|
||||
#define SAY_SLAY_1 -1558007
|
||||
#define SAY_SLAY_2 -1558008
|
||||
|
||||
#define SAY_DEATH -1558009
|
||||
|
||||
#define SPELL_RIBBON_OF_SOULS 32422
|
||||
#define SPELL_SOUL_SCREAM 32421
|
||||
|
||||
#define SPELL_STOLEN_SOUL 32346
|
||||
#define SPELL_STOLEN_SOUL_VISUAL 32395
|
||||
|
||||
#define SPELL_SUMMON_AVATAR 32424
|
||||
|
||||
#define ENTRY_STOLEN_SOUL 18441
|
||||
ENTRY_STOLEN_SOUL = 18441
|
||||
};
|
||||
|
||||
class boss_exarch_maladaar : public CreatureScript
|
||||
{
|
||||
@@ -196,7 +189,7 @@ public:
|
||||
{
|
||||
if (!HasTaunted && me->IsWithinDistInMap(who, 150.0f))
|
||||
{
|
||||
DoScriptText(SAY_INTRO, me);
|
||||
Talk(SAY_INTRO);
|
||||
HasTaunted = true;
|
||||
}
|
||||
|
||||
@@ -205,7 +198,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summoned)
|
||||
@@ -231,12 +224,12 @@ public:
|
||||
if (rand()%2)
|
||||
return;
|
||||
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
//When Exarch Maladar is defeated D'ore appear.
|
||||
me->SummonCreature(19412, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 600000);
|
||||
}
|
||||
@@ -251,7 +244,7 @@ public:
|
||||
if (me->IsNonMeleeSpellCasted(false))
|
||||
me->InterruptNonMeleeSpells(true);
|
||||
|
||||
DoScriptText(SAY_SUMMON, me);
|
||||
Talk(SAY_SUMMON);
|
||||
|
||||
DoCast(me, SPELL_SUMMON_AVATAR);
|
||||
Avatar_summoned = true;
|
||||
@@ -267,11 +260,7 @@ public:
|
||||
if (me->IsNonMeleeSpellCasted(false))
|
||||
me->InterruptNonMeleeSpells(true);
|
||||
|
||||
uint32 i = urand(1, 2);
|
||||
if (i == 1)
|
||||
DoScriptText(SAY_ROAR, me);
|
||||
else
|
||||
DoScriptText(SAY_SOUL_CLEAVE, me);
|
||||
Talk(SAY_ROAR);
|
||||
|
||||
soulmodel = target->GetDisplayId();
|
||||
soulholder = target->GetGUID();
|
||||
|
||||
@@ -33,14 +33,11 @@ EndContentData */
|
||||
|
||||
enum ePrince
|
||||
{
|
||||
SAY_INTRO = -1557000,
|
||||
SAY_AGGRO_1 = -1557001,
|
||||
SAY_AGGRO_2 = -1557002,
|
||||
SAY_AGGRO_3 = -1557003,
|
||||
SAY_SLAY_1 = -1557004,
|
||||
SAY_SLAY_2 = -1557005,
|
||||
SAY_SUMMON = -1557006,
|
||||
SAY_DEAD = -1557007,
|
||||
SAY_INTRO = 0,
|
||||
SAY_AGGRO = 1,
|
||||
SAY_SLAY = 2,
|
||||
SAY_SUMMON = 3,
|
||||
SAY_DEAD = 4,
|
||||
|
||||
SPELL_BLINK = 34605,
|
||||
SPELL_FROSTBOLT = 32364,
|
||||
@@ -110,14 +107,14 @@ public:
|
||||
{
|
||||
if (!HasTaunted && who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 100.0f))
|
||||
{
|
||||
DoScriptText(SAY_INTRO, me);
|
||||
Talk(SAY_INTRO);
|
||||
HasTaunted = true;
|
||||
}
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
DoZoneInCombat();
|
||||
summons.DoZoneInCombat();
|
||||
@@ -143,12 +140,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEAD, me);
|
||||
Talk(SAY_DEAD);
|
||||
summons.DespawnAll();
|
||||
}
|
||||
|
||||
@@ -203,7 +200,7 @@ public:
|
||||
me->InterruptNonMeleeSpells(true);
|
||||
|
||||
if (!urand(0, 3))
|
||||
DoScriptText(SAY_SUMMON, me);
|
||||
Talk(SAY_SUMMON);
|
||||
|
||||
DoCast(me, SPELL_ETHEREAL_BEACON, true);
|
||||
|
||||
|
||||
@@ -26,21 +26,19 @@ EndScriptData */
|
||||
#include "ScriptMgr.h"
|
||||
#include "ScriptedCreature.h"
|
||||
|
||||
#define SAY_AGGRO_1 -1557008
|
||||
#define SAY_AGGRO_2 -1557009
|
||||
#define SAY_AGGRO_3 -1557010
|
||||
enum Pandemonius
|
||||
{
|
||||
SAY_AGGRO = 0,
|
||||
SAY_KILL = 1,
|
||||
SAY_DEATH = 2,
|
||||
EMOTE_DARK_SHELL = 3,
|
||||
|
||||
#define SAY_KILL_1 -1557011
|
||||
#define SAY_KILL_2 -1557012
|
||||
SPELL_VOID_BLAST = 32325,
|
||||
H_SPELL_VOID_BLAST = 38760,
|
||||
SPELL_DARK_SHELL = 32358,
|
||||
H_SPELL_DARK_SHELL = 38759
|
||||
};
|
||||
|
||||
#define SAY_DEATH -1557013
|
||||
|
||||
#define EMOTE_DARK_SHELL -1557014
|
||||
|
||||
#define SPELL_VOID_BLAST 32325
|
||||
#define H_SPELL_VOID_BLAST 38760
|
||||
#define SPELL_DARK_SHELL 32358
|
||||
#define H_SPELL_DARK_SHELL 38759
|
||||
|
||||
class boss_pandemonius : public CreatureScript
|
||||
{
|
||||
@@ -71,17 +69,17 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
|
||||
Talk(SAY_KILL);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -112,7 +110,7 @@ public:
|
||||
if (me->IsNonMeleeSpellCasted(false))
|
||||
me->InterruptNonMeleeSpells(true);
|
||||
|
||||
DoScriptText(EMOTE_DARK_SHELL, me);
|
||||
Talk(EMOTE_DARK_SHELL);
|
||||
|
||||
DoCast(me, SPELL_DARK_SHELL);
|
||||
DarkShell_Timer = 20000;
|
||||
|
||||
@@ -26,28 +26,25 @@ EndScriptData */
|
||||
#include "ScriptMgr.h"
|
||||
#include "ScriptedCreature.h"
|
||||
|
||||
#define SAY_SUMMON -1556000
|
||||
enum DarkweaverSyth
|
||||
{
|
||||
SAY_SUMMON = 0,
|
||||
SAY_AGGRO = 1,
|
||||
SAY_SLAY = 2,
|
||||
SAY_DEATH = 3,
|
||||
|
||||
#define SAY_AGGRO_1 -1556001
|
||||
#define SAY_AGGRO_2 -1556002
|
||||
#define SAY_AGGRO_3 -1556003
|
||||
SPELL_FROST_SHOCK = 21401, //37865
|
||||
SPELL_FLAME_SHOCK = 34354,
|
||||
SPELL_SHADOW_SHOCK = 30138,
|
||||
SPELL_ARCANE_SHOCK = 37132,
|
||||
|
||||
#define SAY_SLAY_1 -1556004
|
||||
#define SAY_SLAY_2 -1556005
|
||||
SPELL_CHAIN_LIGHTNING = 15659, //15305
|
||||
|
||||
#define SAY_DEATH -1556006
|
||||
|
||||
#define SPELL_FROST_SHOCK 21401 //37865
|
||||
#define SPELL_FLAME_SHOCK 34354
|
||||
#define SPELL_SHADOW_SHOCK 30138
|
||||
#define SPELL_ARCANE_SHOCK 37132
|
||||
|
||||
#define SPELL_CHAIN_LIGHTNING 15659 //15305
|
||||
|
||||
#define SPELL_SUMMON_SYTH_FIRE 33537 // Spawns 19203
|
||||
#define SPELL_SUMMON_SYTH_ARCANE 33538 // Spawns 19205
|
||||
#define SPELL_SUMMON_SYTH_FROST 33539 // Spawns 19204
|
||||
#define SPELL_SUMMON_SYTH_SHADOW 33540 // Spawns 19206
|
||||
SPELL_SUMMON_SYTH_FIRE = 33537, // Spawns 19203
|
||||
SPELL_SUMMON_SYTH_ARCANE = 33538, // Spawns 19205
|
||||
SPELL_SUMMON_SYTH_FROST = 33539, // Spawns 19204
|
||||
SPELL_SUMMON_SYTH_SHADOW = 33540 // Spawns 19206
|
||||
};
|
||||
|
||||
#define SPELL_FLAME_BUFFET DUNGEON_MODE(33526, 38141)
|
||||
#define SPELL_ARCANE_BUFFET DUNGEON_MODE(33527, 38138)
|
||||
@@ -95,12 +92,12 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
@@ -108,7 +105,7 @@ public:
|
||||
if (rand()%2)
|
||||
return;
|
||||
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summoned)
|
||||
@@ -119,7 +116,7 @@ public:
|
||||
|
||||
void SythSummoning()
|
||||
{
|
||||
DoScriptText(SAY_SUMMON, me);
|
||||
Talk(SAY_SUMMON);
|
||||
|
||||
if (me->IsNonMeleeSpellCasted(false))
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
|
||||
@@ -27,31 +27,26 @@ EndScriptData */
|
||||
#include "ScriptedCreature.h"
|
||||
#include "sethekk_halls.h"
|
||||
|
||||
#define SAY_INTRO -1556007
|
||||
enum TailonkingIkiss
|
||||
{
|
||||
SAY_INTRO = 0,
|
||||
SAY_AGGRO = 1,
|
||||
SAY_SLAY = 2,
|
||||
SAY_DEATH = 3,
|
||||
EMOTE_ARCANE_EXP = 4,
|
||||
|
||||
#define SAY_AGGRO_1 -1556008
|
||||
#define SAY_AGGRO_2 -1556009
|
||||
#define SAY_AGGRO_3 -1556010
|
||||
|
||||
#define SAY_SLAY_1 -1556011
|
||||
#define SAY_SLAY_2 -1556012
|
||||
#define SAY_DEATH -1556013
|
||||
#define EMOTE_ARCANE_EXP -1556015
|
||||
|
||||
#define SPELL_BLINK 38194
|
||||
#define SPELL_BLINK_TELEPORT 38203
|
||||
#define SPELL_MANA_SHIELD 38151
|
||||
#define SPELL_ARCANE_BUBBLE 9438
|
||||
#define H_SPELL_SLOW 35032
|
||||
|
||||
#define SPELL_POLYMORPH 38245
|
||||
#define H_SPELL_POLYMORPH 43309
|
||||
|
||||
#define SPELL_ARCANE_VOLLEY 35059
|
||||
#define H_SPELL_ARCANE_VOLLEY 40424
|
||||
|
||||
#define SPELL_ARCANE_EXPLOSION 38197
|
||||
#define H_SPELL_ARCANE_EXPLOSION 40425
|
||||
SPELL_BLINK = 38194,
|
||||
SPELL_BLINK_TELEPORT = 38203,
|
||||
SPELL_MANA_SHIELD = 38151,
|
||||
SPELL_ARCANE_BUBBLE = 9438,
|
||||
H_SPELL_SLOW = 35032,
|
||||
SPELL_POLYMORPH = 38245,
|
||||
H_SPELL_POLYMORPH = 43309,
|
||||
SPELL_ARCANE_VOLLEY = 35059,
|
||||
H_SPELL_ARCANE_VOLLEY = 40424,
|
||||
SPELL_ARCANE_EXPLOSION = 38197,
|
||||
H_SPELL_ARCANE_EXPLOSION = 40425
|
||||
};
|
||||
|
||||
class boss_talon_king_ikiss : public CreatureScript
|
||||
{
|
||||
@@ -99,7 +94,7 @@ public:
|
||||
if (!Intro && me->IsWithinDistInMap(who, 100))
|
||||
{
|
||||
Intro = true;
|
||||
DoScriptText(SAY_INTRO, me);
|
||||
Talk(SAY_INTRO);
|
||||
}
|
||||
|
||||
if (!me->CanFly() && me->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)
|
||||
@@ -116,12 +111,12 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_IKISSDOOREVENT, DONE);
|
||||
@@ -129,7 +124,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -183,7 +178,7 @@ public:
|
||||
|
||||
if (Blink_Timer <= diff)
|
||||
{
|
||||
DoScriptText(EMOTE_ARCANE_EXP, me);
|
||||
Talk(EMOTE_ARCANE_EXP);
|
||||
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
{
|
||||
|
||||
@@ -30,14 +30,11 @@ EndScriptData */
|
||||
|
||||
enum eEnums
|
||||
{
|
||||
SAY_INTRO = -1555000,
|
||||
SAY_AGGRO1 = -1555001,
|
||||
SAY_AGGRO2 = -1555002,
|
||||
SAY_AGGRO3 = -1555003,
|
||||
SAY_HELP = -1555004,
|
||||
SAY_SLAY1 = -1555005,
|
||||
SAY_SLAY2 = -1555006,
|
||||
SAY_DEATH = -1555007,
|
||||
SAY_INTRO = 0,
|
||||
SAY_AGGRO = 1,
|
||||
SAY_HELP = 2,
|
||||
SAY_SLAY = 3,
|
||||
SAY_DEATH = 4,
|
||||
|
||||
SPELL_BANISH = 30231,
|
||||
SPELL_CORROSIVE_ACID = 33551,
|
||||
@@ -119,7 +116,7 @@ public:
|
||||
{
|
||||
if (instance->GetData(TYPE_HELLMAW) != FAIL)
|
||||
{
|
||||
DoScriptText(SAY_INTRO, me);
|
||||
Talk(SAY_INTRO);
|
||||
Start(true, false, 0, NULL, false, true);
|
||||
}
|
||||
|
||||
@@ -129,17 +126,17 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(TYPE_HELLMAW, DONE);
|
||||
|
||||
+21
-28
@@ -27,33 +27,26 @@ EndScriptData */
|
||||
#include "ScriptedCreature.h"
|
||||
#include "shadow_labyrinth.h"
|
||||
|
||||
#define SPELL_INCITE_CHAOS 33676
|
||||
#define SPELL_INCITE_CHAOS_B 33684 //debuff applied to each member of party
|
||||
#define SPELL_CHARGE 33709
|
||||
#define SPELL_WAR_STOMP 33707
|
||||
enum BlackheartTheInciter
|
||||
{
|
||||
SPELL_INCITE_CHAOS = 33676,
|
||||
SPELL_INCITE_CHAOS_B = 33684, //debuff applied to each member of party
|
||||
SPELL_CHARGE = 33709,
|
||||
SPELL_WAR_STOMP = 33707,
|
||||
|
||||
#define SAY_INTRO1 -1555008 //not used
|
||||
#define SAY_INTRO2 -1555009 //not used
|
||||
#define SAY_INTRO3 -1555010 //not used
|
||||
#define SAY_AGGRO1 -1555011
|
||||
#define SAY_AGGRO2 -1555012
|
||||
#define SAY_AGGRO3 -1555013
|
||||
#define SAY_SLAY1 -1555014
|
||||
#define SAY_SLAY2 -1555015
|
||||
#define SAY_HELP -1555016 //not used
|
||||
#define SAY_DEATH -1555017
|
||||
SAY_INTRO = 0,
|
||||
SAY_AGGRO = 1,
|
||||
SAY_SLAY = 2,
|
||||
SAY_HELP = 3,
|
||||
SAY_DEATH = 4,
|
||||
|
||||
//below, not used
|
||||
#define SAY2_INTRO1 -1555018
|
||||
#define SAY2_INTRO2 -1555019
|
||||
#define SAY2_INTRO3 -1555020
|
||||
#define SAY2_AGGRO1 -1555021
|
||||
#define SAY2_AGGRO2 -1555022
|
||||
#define SAY2_AGGRO3 -1555023
|
||||
#define SAY2_SLAY1 -1555024
|
||||
#define SAY2_SLAY2 -1555025
|
||||
#define SAY2_HELP -1555026
|
||||
#define SAY2_DEATH -1555027
|
||||
//below, not used
|
||||
SAY2_INTRO = 5,
|
||||
SAY2_AGGRO = 6,
|
||||
SAY2_SLAY = 7,
|
||||
SAY2_HELP = 8,
|
||||
SAY2_DEATH = 9
|
||||
};
|
||||
|
||||
class boss_blackheart_the_inciter : public CreatureScript
|
||||
{
|
||||
@@ -94,12 +87,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_BLACKHEARTTHEINCITEREVENT, DONE);
|
||||
@@ -107,7 +100,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_BLACKHEARTTHEINCITEREVENT, IN_PROGRESS);
|
||||
|
||||
@@ -28,30 +28,30 @@ EndScriptData */
|
||||
#include "shadow_labyrinth.h"
|
||||
#include "Player.h"
|
||||
|
||||
#define SAY_INTRO -1555028
|
||||
#define SAY_AGGRO1 -1555029
|
||||
#define SAY_AGGRO2 -1555030
|
||||
#define SAY_AGGRO3 -1555031
|
||||
#define SAY_HELP -1555032
|
||||
#define SAY_SLAY1 -1555033
|
||||
#define SAY_SLAY2 -1555034
|
||||
#define SAY_DEATH -1555035
|
||||
enum GrandmasterVorpil
|
||||
{
|
||||
SAY_INTRO = 0,
|
||||
SAY_AGGRO = 1,
|
||||
SAY_HELP = 2,
|
||||
SAY_SLAY = 3,
|
||||
SAY_DEATH = 4,
|
||||
|
||||
#define SPELL_RAIN_OF_FIRE 33617
|
||||
#define H_SPELL_RAIN_OF_FIRE 39363
|
||||
SPELL_RAIN_OF_FIRE = 33617,
|
||||
H_SPELL_RAIN_OF_FIRE = 39363,
|
||||
|
||||
#define SPELL_DRAW_SHADOWS 33563
|
||||
#define SPELL_SHADOWBOLT_VOLLEY 33841
|
||||
#define SPELL_BANISH 38791
|
||||
SPELL_DRAW_SHADOWS = 33563,
|
||||
SPELL_SHADOWBOLT_VOLLEY = 33841,
|
||||
SPELL_BANISH = 38791,
|
||||
|
||||
#define MOB_VOID_TRAVELER 19226
|
||||
#define SPELL_SACRIFICE 33587
|
||||
#define SPELL_SHADOW_NOVA 33846
|
||||
#define SPELL_EMPOWERING_SHADOWS 33783
|
||||
#define H_SPELL_EMPOWERING_SHADOWS 39364
|
||||
MOB_VOID_TRAVELER = 19226,
|
||||
SPELL_SACRIFICE = 33587,
|
||||
SPELL_SHADOW_NOVA = 33846,
|
||||
SPELL_EMPOWERING_SHADOWS = 33783,
|
||||
H_SPELL_EMPOWERING_SHADOWS = 39364,
|
||||
|
||||
#define MOB_VOID_PORTAL 19224
|
||||
#define SPELL_VOID_PORTAL_VISUAL 33569
|
||||
MOB_VOID_PORTAL = 19224,
|
||||
SPELL_VOID_PORTAL_VISUAL = 33569
|
||||
};
|
||||
|
||||
float VorpilPosition[3] = {-252.8820f, -264.3030f, 17.1f};
|
||||
|
||||
@@ -219,7 +219,7 @@ public:
|
||||
me->SummonCreature(MOB_VOID_TRAVELER, VoidPortalCoords[pos][0], VoidPortalCoords[pos][1], VoidPortalCoords[pos][2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000);
|
||||
if (!HelpYell)
|
||||
{
|
||||
DoScriptText(SAY_HELP, me);
|
||||
Talk(SAY_HELP);
|
||||
HelpYell = true;
|
||||
}
|
||||
}
|
||||
@@ -232,12 +232,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
destroyPortals();
|
||||
|
||||
if (instance)
|
||||
@@ -246,7 +246,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
summonPortals();
|
||||
|
||||
if (instance)
|
||||
@@ -259,7 +259,7 @@ public:
|
||||
|
||||
if (!Intro && me->IsWithinLOSInMap(who)&& me->IsWithinDistInMap(who, 100) && me->IsValidAttackTarget(who))
|
||||
{
|
||||
DoScriptText(SAY_INTRO, me);
|
||||
Talk(SAY_INTRO);
|
||||
Intro = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,15 +28,20 @@ EndScriptData */
|
||||
#include "shadow_labyrinth.h"
|
||||
#include "SpellInfo.h"
|
||||
|
||||
#define EMOTE_SONIC_BOOM -1555036
|
||||
enum Murmur
|
||||
{
|
||||
SPELL_RESONANCE = 33657,
|
||||
SPELL_MAGNETIC_PULL = 33689,
|
||||
SPELL_SONIC_SHOCK = 38797,
|
||||
SPELL_THUNDERING_STORM = 39365,
|
||||
EMOTE_SONIC_BOOM = 0
|
||||
};
|
||||
|
||||
#define SPELL_SONIC_BOOM_CAST DUNGEON_MODE(33923, 38796)
|
||||
#define SPELL_SONIC_BOOM_EFFECT DUNGEON_MODE(33666, 38795)
|
||||
#define SPELL_RESONANCE 33657
|
||||
|
||||
#define SPELL_MURMURS_TOUCH DUNGEON_MODE(33711, 38794)
|
||||
#define SPELL_MAGNETIC_PULL 33689
|
||||
#define SPELL_SONIC_SHOCK 38797
|
||||
#define SPELL_THUNDERING_STORM 39365
|
||||
|
||||
|
||||
class boss_murmur : public CreatureScript
|
||||
{
|
||||
@@ -123,7 +128,7 @@ public:
|
||||
}
|
||||
if (SonicBoom_Timer <= diff)
|
||||
{
|
||||
DoScriptText(EMOTE_SONIC_BOOM, me);
|
||||
Talk(EMOTE_SONIC_BOOM);
|
||||
DoCast(me, SPELL_SONIC_BOOM_CAST);
|
||||
SonicBoom_Timer = 30000;
|
||||
SonicBoom = true;
|
||||
|
||||
@@ -27,32 +27,33 @@ EndScriptData */
|
||||
#include "ScriptedCreature.h"
|
||||
#include "black_temple.h"
|
||||
|
||||
//Speech'n'Sound
|
||||
#define SAY_AGGRO -1564029
|
||||
#define SAY_SLAY1 -1564030
|
||||
#define SAY_SLAY2 -1564031
|
||||
#define SAY_SPECIAL1 -1564032
|
||||
#define SAY_SPECIAL2 -1564033
|
||||
#define SAY_ENRAGE1 -1564034
|
||||
#define SAY_ENRAGE2 -1564035
|
||||
#define SAY_DEATH -1564036
|
||||
enum Bloodboil
|
||||
{
|
||||
//Speech'n'Sound
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SLAY = 1,
|
||||
SAY_SPECIAL = 2,
|
||||
SAY_ENRAGE = 3,
|
||||
SAY_DEATH = 4,
|
||||
|
||||
//Spells
|
||||
SPELL_ACID_GEYSER = 40630,
|
||||
SPELL_ACIDIC_WOUND = 40481,
|
||||
SPELL_ARCING_SMASH = 40599,
|
||||
SPELL_BLOODBOIL = 42005, // This spell is AoE whereas it shouldn't be
|
||||
SPELL_FEL_ACID = 40508,
|
||||
SPELL_FEL_RAGE_SELF = 40594,
|
||||
SPELL_FEL_RAGE_TARGET = 40604,
|
||||
SPELL_FEL_RAGE_2 = 40616,
|
||||
SPELL_FEL_RAGE_3 = 41625,
|
||||
SPELL_BEWILDERING_STRIKE = 40491,
|
||||
SPELL_EJECT1 = 40486, // 1000 Physical damage + knockback + script effect (should handle threat reduction I think)
|
||||
SPELL_EJECT2 = 40597, // 1000 Physical damage + Stun (used in phase 2?)
|
||||
SPELL_TAUNT_GURTOGG = 40603,
|
||||
SPELL_INSIGNIFIGANCE = 40618,
|
||||
SPELL_BERSERK = 45078
|
||||
};
|
||||
|
||||
//Spells
|
||||
#define SPELL_ACID_GEYSER 40630
|
||||
#define SPELL_ACIDIC_WOUND 40481
|
||||
#define SPELL_ARCING_SMASH 40599
|
||||
#define SPELL_BLOODBOIL 42005 // This spell is AoE whereas it shouldn't be
|
||||
#define SPELL_FEL_ACID 40508
|
||||
#define SPELL_FEL_RAGE_SELF 40594
|
||||
#define SPELL_FEL_RAGE_TARGET 40604
|
||||
#define SPELL_FEL_RAGE_2 40616
|
||||
#define SPELL_FEL_RAGE_3 41625
|
||||
#define SPELL_BEWILDERING_STRIKE 40491
|
||||
#define SPELL_EJECT1 40486 // 1000 Physical damage + knockback + script effect (should handle threat reduction I think)
|
||||
#define SPELL_EJECT2 40597 // 1000 Physical damage + Stun (used in phase 2?)
|
||||
#define SPELL_TAUNT_GURTOGG 40603
|
||||
#define SPELL_INSIGNIFIGANCE 40618
|
||||
#define SPELL_BERSERK 45078
|
||||
|
||||
//This is used to sort the players by distance in preparation for the Bloodboil cast.
|
||||
|
||||
@@ -121,14 +122,14 @@ public:
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoZoneInCombat();
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
if (instance)
|
||||
instance->SetData(DATA_GURTOGGBLOODBOILEVENT, IN_PROGRESS);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
@@ -136,7 +137,7 @@ public:
|
||||
if (instance)
|
||||
instance->SetData(DATA_GURTOGGBLOODBOILEVENT, DONE);
|
||||
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
}
|
||||
|
||||
// Note: This seems like a very complicated fix. The fix needs to be handled by the core, as implementation of limited-target AoE spells are still not limited.
|
||||
@@ -219,7 +220,7 @@ public:
|
||||
if (EnrageTimer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_BERSERK);
|
||||
DoScriptText(RAND(SAY_ENRAGE1, SAY_ENRAGE2), me);
|
||||
Talk(SAY_ENRAGE);
|
||||
} else EnrageTimer -= diff;
|
||||
}
|
||||
|
||||
@@ -302,7 +303,7 @@ public:
|
||||
//Cast this without triggered so that it appears in combat logs and shows visual.
|
||||
DoCast(me, SPELL_FEL_RAGE_SELF);
|
||||
|
||||
DoScriptText(RAND(SAY_SPECIAL1, SAY_SPECIAL2), me);
|
||||
Talk(SAY_SPECIAL);
|
||||
|
||||
AcidGeyserTimer = 1000;
|
||||
PhaseChangeTimer = 30000;
|
||||
|
||||
@@ -27,31 +27,29 @@ EndScriptData */
|
||||
#include "ScriptedCreature.h"
|
||||
#include "black_temple.h"
|
||||
|
||||
//Speech'n'Sounds
|
||||
#define SAY_TAUNT1 -1564018
|
||||
#define SAY_TAUNT2 -1564019
|
||||
#define SAY_TAUNT3 -1564020
|
||||
#define SAY_AGGRO -1564021
|
||||
#define SAY_SPELL1 -1564022
|
||||
#define SAY_SPELL2 -1564023
|
||||
#define SAY_SPELL3 -1564024
|
||||
#define SAY_SLAY1 -1564025
|
||||
#define SAY_SLAY2 -1564026
|
||||
#define SAY_ENRAGE -1564027
|
||||
#define SAY_DEATH -1564028
|
||||
enum MotherShahraz
|
||||
{
|
||||
//Speech'n'Sounds
|
||||
SAY_TAUNT = 0,
|
||||
SAY_AGGRO = 1,
|
||||
SAY_SPELL = 2,
|
||||
SAY_SLAY = 3,
|
||||
SAY_ENRAGE = 4,
|
||||
SAY_DEATH = 5,
|
||||
|
||||
//Spells
|
||||
#define SPELL_BEAM_SINISTER 40859
|
||||
#define SPELL_BEAM_VILE 40860
|
||||
#define SPELL_BEAM_WICKED 40861
|
||||
#define SPELL_BEAM_SINFUL 40827
|
||||
#define SPELL_ATTRACTION 40871
|
||||
#define SPELL_SILENCING_SHRIEK 40823
|
||||
#define SPELL_ENRAGE 23537
|
||||
#define SPELL_SABER_LASH 40810//43267
|
||||
#define SPELL_SABER_LASH_IMM 43690
|
||||
#define SPELL_TELEPORT_VISUAL 40869
|
||||
#define SPELL_BERSERK 45078
|
||||
//Spells
|
||||
SPELL_BEAM_SINISTER = 40859,
|
||||
SPELL_BEAM_VILE = 40860,
|
||||
SPELL_BEAM_WICKED = 40861,
|
||||
SPELL_BEAM_SINFUL = 40827,
|
||||
SPELL_ATTRACTION = 40871,
|
||||
SPELL_SILENCING_SHRIEK = 40823,
|
||||
SPELL_ENRAGE = 23537,
|
||||
SPELL_SABER_LASH = 40810,//43267
|
||||
SPELL_SABER_LASH_IMM = 43690,
|
||||
SPELL_TELEPORT_VISUAL = 40869,
|
||||
SPELL_BERSERK = 45078
|
||||
};
|
||||
|
||||
uint32 PrismaticAuras[]=
|
||||
{
|
||||
@@ -142,12 +140,12 @@ public:
|
||||
instance->SetData(DATA_MOTHERSHAHRAZEVENT, IN_PROGRESS);
|
||||
|
||||
DoZoneInCombat();
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
@@ -155,7 +153,7 @@ public:
|
||||
if (instance)
|
||||
instance->SetData(DATA_MOTHERSHAHRAZEVENT, DONE);
|
||||
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
}
|
||||
|
||||
void TeleportPlayers()
|
||||
@@ -185,7 +183,7 @@ public:
|
||||
{
|
||||
Enraged = true;
|
||||
DoCast(me, SPELL_ENRAGE, true);
|
||||
DoScriptText(SAY_ENRAGE, me);
|
||||
Talk(SAY_ENRAGE);
|
||||
}
|
||||
|
||||
//Randomly cast one beam.
|
||||
@@ -236,7 +234,7 @@ public:
|
||||
|
||||
TeleportPlayers();
|
||||
|
||||
DoScriptText(RAND(SAY_SPELL2, SAY_SPELL3), me);
|
||||
Talk(SAY_SPELL);
|
||||
FatalAttractionExplodeTimer = 2000;
|
||||
FatalAttractionTimer = urand(40, 71) * 1000;
|
||||
} else FatalAttractionTimer -= diff;
|
||||
@@ -284,14 +282,14 @@ public:
|
||||
if (EnrageTimer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_BERSERK);
|
||||
DoScriptText(SAY_ENRAGE, me);
|
||||
Talk(SAY_ENRAGE);
|
||||
} else EnrageTimer -= diff;
|
||||
}
|
||||
|
||||
//Random taunts
|
||||
if (RandomYellTimer <= diff)
|
||||
{
|
||||
DoScriptText(RAND(SAY_TAUNT1, SAY_TAUNT2, SAY_TAUNT3), me);
|
||||
Talk(SAY_TAUNT);
|
||||
RandomYellTimer = urand(60, 151) * 1000;
|
||||
} else RandomYellTimer -= diff;
|
||||
|
||||
|
||||
@@ -28,64 +28,61 @@ EndScriptData */
|
||||
#include "black_temple.h"
|
||||
#include "Spell.h"
|
||||
|
||||
//Sound'n'speech
|
||||
//Suffering
|
||||
#define SUFF_SAY_FREED -1564047
|
||||
#define SUFF_SAY_AGGRO -1564048
|
||||
#define SUFF_SAY_SLAY1 -1564049
|
||||
#define SUFF_SAY_SLAY2 -1564050
|
||||
#define SUFF_SAY_SLAY3 -1564051
|
||||
#define SUFF_SAY_RECAP -1564052
|
||||
#define SUFF_SAY_AFTER -1564053
|
||||
#define SUFF_EMOTE_ENRAGE -1564054
|
||||
enum ReliquaryOfSouls
|
||||
{
|
||||
//Sound'n'speech
|
||||
//Suffering
|
||||
SUFF_SAY_FREED = 0,
|
||||
SUFF_SAY_AGGRO = 1,
|
||||
SUFF_SAY_SLAY = 2,
|
||||
SUFF_SAY_RECAP = 3,
|
||||
SUFF_SAY_AFTER = 4,
|
||||
SUFF_EMOTE_ENRAGE = 5,
|
||||
|
||||
//Desire
|
||||
#define DESI_SAY_FREED -1564055
|
||||
#define DESI_SAY_SLAY1 -1564056
|
||||
#define DESI_SAY_SLAY2 -1564057
|
||||
#define DESI_SAY_SLAY3 -1564058
|
||||
#define DESI_SAY_SPEC -1564059
|
||||
#define DESI_SAY_RECAP -1564060
|
||||
#define DESI_SAY_AFTER -1564061
|
||||
//Desire
|
||||
DESI_SAY_FREED = 0,
|
||||
DESI_SAY_SLAY = 1,
|
||||
DESI_SAY_SPEC = 2,
|
||||
DESI_SAY_RECAP = 3,
|
||||
DESI_SAY_AFTER = 4,
|
||||
|
||||
//Anger
|
||||
#define ANGER_SAY_FREED -1564062
|
||||
#define ANGER_SAY_FREED2 -1564063
|
||||
#define ANGER_SAY_SLAY1 -1564064
|
||||
#define ANGER_SAY_SLAY2 -1564065
|
||||
#define ANGER_SAY_SPEC -1564066
|
||||
#define ANGER_SAY_BEFORE -1564067
|
||||
#define ANGER_SAY_DEATH -1564068
|
||||
//Anger
|
||||
ANGER_SAY_FREED = 0,
|
||||
ANGER_SAY_SLAY = 1,
|
||||
ANGER_SAY_SPEC = 2,
|
||||
ANGER_SAY_BEFORE = 3,
|
||||
ANGER_SAY_DEATH = 4,
|
||||
|
||||
//Spells
|
||||
#define AURA_OF_SUFFERING 41292
|
||||
#define AURA_OF_SUFFERING_ARMOR 42017 // linked aura, need core support
|
||||
#define ESSENCE_OF_SUFFERING_PASSIVE 41296 // periodic trigger 41294
|
||||
#define ESSENCE_OF_SUFFERING_PASSIVE2 41623
|
||||
#define SPELL_FIXATE_TARGET 41294 // dummy, select target
|
||||
#define SPELL_FIXATE_TAUNT 41295 // force taunt
|
||||
#define SPELL_ENRAGE 41305
|
||||
#define SPELL_SOUL_DRAIN 41303
|
||||
//Spells
|
||||
AURA_OF_SUFFERING = 41292,
|
||||
AURA_OF_SUFFERING_ARMOR = 42017, // linked aura, need core support
|
||||
ESSENCE_OF_SUFFERING_PASSIVE = 41296, // periodic trigger 41294
|
||||
ESSENCE_OF_SUFFERING_PASSIVE2 = 41623,
|
||||
SPELL_FIXATE_TARGET = 41294, // dummy, select target
|
||||
SPELL_FIXATE_TAUNT = 41295, // force taunt
|
||||
SPELL_ENRAGE = 41305,
|
||||
SPELL_SOUL_DRAIN = 41303,
|
||||
|
||||
#define AURA_OF_DESIRE 41350
|
||||
#define AURA_OF_DESIRE_DAMAGE 41352
|
||||
#define SPELL_RUNE_SHIELD 41431
|
||||
#define SPELL_DEADEN 41410
|
||||
#define SPELL_SOUL_SHOCK 41426
|
||||
AURA_OF_DESIRE = 41350,
|
||||
AURA_OF_DESIRE_DAMAGE = 41352,
|
||||
SPELL_RUNE_SHIELD = 41431,
|
||||
SPELL_DEADEN = 41410,
|
||||
SPELL_SOUL_SHOCK = 41426,
|
||||
|
||||
#define AURA_OF_ANGER 41337
|
||||
#define SPELL_SELF_SEETHE 41364 // force cast 41520
|
||||
#define SPELL_ENEMY_SEETHE 41520
|
||||
#define SPELL_SOUL_SCREAM 41545
|
||||
#define SPELL_SPITE_TARGET 41376 // cast 41377 after 6 sec
|
||||
#define SPELL_SPITE_DAMAGE 41377
|
||||
AURA_OF_ANGER = 41337,
|
||||
SPELL_SELF_SEETHE = 41364, // force cast 41520
|
||||
SPELL_ENEMY_SEETHE = 41520,
|
||||
SPELL_SOUL_SCREAM = 41545,
|
||||
SPELL_SPITE_TARGET = 41376, // cast 41377 after 6 sec
|
||||
SPELL_SPITE_DAMAGE = 41377,
|
||||
|
||||
#define ENSLAVED_SOUL_PASSIVE 41535
|
||||
#define SPELL_SOUL_RELEASE 41542
|
||||
#define SPELL_SUBMERGE 37550 //dropout 'head'
|
||||
ENSLAVED_SOUL_PASSIVE = 41535,
|
||||
SPELL_SOUL_RELEASE = 41542,
|
||||
SPELL_SUBMERGE = 37550, //dropout 'head'
|
||||
|
||||
#define CREATURE_ENSLAVED_SOUL 23469
|
||||
#define NUMBER_ENSLAVED_SOUL 8
|
||||
CREATURE_ENSLAVED_SOUL = 23469,
|
||||
NUMBER_ENSLAVED_SOUL = 8
|
||||
};
|
||||
|
||||
struct Position2d
|
||||
{
|
||||
@@ -337,11 +334,11 @@ public:
|
||||
case 5:
|
||||
if (Phase == 1)
|
||||
{
|
||||
DoScriptText(SUFF_SAY_AFTER, Essence);
|
||||
Essence->AI()->Talk(SUFF_SAY_AFTER);
|
||||
}
|
||||
else
|
||||
{
|
||||
DoScriptText(DESI_SAY_AFTER, Essence);
|
||||
Essence->AI()->Talk(DESI_SAY_AFTER);
|
||||
}
|
||||
Essence->DespawnOrUnsummon();
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0);
|
||||
@@ -425,7 +422,7 @@ public:
|
||||
damage = 0;
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->Yell(SUFF_SAY_RECAP, LANG_UNIVERSAL, 0);
|
||||
DoScriptText(SUFF_SAY_RECAP, me);
|
||||
Talk(SUFF_SAY_RECAP);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
}
|
||||
@@ -434,7 +431,7 @@ public:
|
||||
{
|
||||
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
|
||||
{
|
||||
DoScriptText(SUFF_SAY_FREED, me);
|
||||
Talk(SUFF_SAY_FREED);
|
||||
DoZoneInCombat();
|
||||
DoCast(me, AURA_OF_SUFFERING, true); // linked aura need core support
|
||||
DoCast(me, ESSENCE_OF_SUFFERING_PASSIVE, true);
|
||||
@@ -445,7 +442,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SUFF_SAY_SLAY1, SUFF_SAY_SLAY2, SUFF_SAY_SLAY3), me);
|
||||
Talk(SUFF_SAY_SLAY);
|
||||
}
|
||||
|
||||
void CastFixate()
|
||||
@@ -483,7 +480,7 @@ public:
|
||||
FixateTimer = 5000;
|
||||
if (!(rand()%16))
|
||||
{
|
||||
DoScriptText(SUFF_SAY_AGGRO, me);
|
||||
Talk(SUFF_SAY_AGGRO);
|
||||
}
|
||||
} else FixateTimer -= diff;
|
||||
}
|
||||
@@ -496,7 +493,7 @@ public:
|
||||
{
|
||||
DoCast(me, SPELL_ENRAGE);
|
||||
EnrageTimer = 60000;
|
||||
DoScriptText(SUFF_EMOTE_ENRAGE, me);
|
||||
Talk(SUFF_EMOTE_ENRAGE);
|
||||
} else EnrageTimer -= diff;
|
||||
|
||||
if (SoulDrainTimer <= diff)
|
||||
@@ -545,7 +542,7 @@ public:
|
||||
{
|
||||
damage = 0;
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
DoScriptText(SUFF_SAY_RECAP, me);
|
||||
Talk(SUFF_SAY_RECAP);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
else
|
||||
@@ -567,14 +564,14 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(DESI_SAY_FREED, me);
|
||||
Talk(DESI_SAY_FREED);
|
||||
DoZoneInCombat();
|
||||
DoCast(me, AURA_OF_DESIRE, true);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(DESI_SAY_SLAY1, DESI_SAY_SLAY2, DESI_SAY_SLAY3), me);
|
||||
Talk(DESI_SAY_SLAY);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -604,7 +601,7 @@ public:
|
||||
DeadenTimer = urand(25000, 35000);
|
||||
if (!(rand()%2))
|
||||
{
|
||||
DoScriptText(DESI_SAY_SPEC, me);
|
||||
Talk(DESI_SAY_SPEC);
|
||||
}
|
||||
} else DeadenTimer -= diff;
|
||||
|
||||
@@ -652,7 +649,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(ANGER_SAY_FREED, ANGER_SAY_FREED2), me);
|
||||
Talk(ANGER_SAY_FREED);
|
||||
|
||||
DoZoneInCombat();
|
||||
DoCast(me, AURA_OF_ANGER, true);
|
||||
@@ -660,12 +657,12 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(ANGER_SAY_DEATH, me);
|
||||
Talk(ANGER_SAY_DEATH);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(ANGER_SAY_SLAY1, ANGER_SAY_SLAY2), me);
|
||||
Talk(ANGER_SAY_SLAY);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -684,7 +681,7 @@ public:
|
||||
{
|
||||
if (me->getVictim()->GetGUID() != AggroTargetGUID)
|
||||
{
|
||||
DoScriptText(ANGER_SAY_BEFORE, me);
|
||||
Talk(ANGER_SAY_BEFORE);
|
||||
DoCast(me, SPELL_SELF_SEETHE, true);
|
||||
AggroTargetGUID = me->getVictim()->GetGUID();
|
||||
}
|
||||
@@ -697,7 +694,7 @@ public:
|
||||
SoulScreamTimer = urand(9000, 11000);
|
||||
if (!(rand()%3))
|
||||
{
|
||||
DoScriptText(ANGER_SAY_SPEC, me);
|
||||
Talk(ANGER_SAY_SPEC);
|
||||
}
|
||||
} else SoulScreamTimer -= diff;
|
||||
|
||||
@@ -705,7 +702,7 @@ public:
|
||||
{
|
||||
DoCast(me, SPELL_SPITE_TARGET);
|
||||
SpiteTimer = 30000;
|
||||
DoScriptText(ANGER_SAY_SPEC, me);
|
||||
Talk(ANGER_SAY_SPEC);
|
||||
} else SpiteTimer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
@@ -29,12 +29,15 @@ EndScriptData */
|
||||
#include "black_temple.h"
|
||||
#include "Player.h"
|
||||
|
||||
#define SAY_DEATH -1564013
|
||||
#define SAY_LOW_HEALTH -1564014
|
||||
// Ending cinematic text
|
||||
#define SAY_FREE -1564015
|
||||
#define SAY_BROKEN_FREE_01 -1564016
|
||||
#define SAY_BROKEN_FREE_02 -1564017
|
||||
enum ShadeOfAkama
|
||||
{
|
||||
SAY_DEATH = 0,
|
||||
SAY_LOW_HEALTH = 1,
|
||||
// Ending cinematic text
|
||||
SAY_FREE = 2,
|
||||
SAY_BROKEN_FREE_01 = 0,
|
||||
SAY_BROKEN_FREE_02 = 1
|
||||
};
|
||||
|
||||
#define GOSSIP_ITEM "We are ready to fight alongside you, Akama"
|
||||
|
||||
@@ -704,7 +707,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
EventBegun = false;
|
||||
ShadeHasDied = false;
|
||||
StartCombat = false;
|
||||
@@ -729,7 +732,7 @@ public:
|
||||
|
||||
if (HealthBelowPct(15) && !HasYelledOnce)
|
||||
{
|
||||
DoScriptText(SAY_LOW_HEALTH, me);
|
||||
Talk(SAY_LOW_HEALTH);
|
||||
HasYelledOnce = true;
|
||||
}
|
||||
|
||||
@@ -825,7 +828,7 @@ public:
|
||||
SummonBrokenTimer = 1;
|
||||
break;
|
||||
case 1:
|
||||
DoScriptText(SAY_FREE, me);
|
||||
Talk(SAY_FREE);
|
||||
++EndingTalkCount;
|
||||
SoulRetrieveTimer = 25000;
|
||||
break;
|
||||
@@ -838,7 +841,7 @@ public:
|
||||
{
|
||||
if (!Yelled)
|
||||
{
|
||||
DoScriptText(SAY_BROKEN_FREE_01, unit);
|
||||
unit->AI()->Talk(SAY_BROKEN_FREE_01);
|
||||
Yelled = true;
|
||||
}
|
||||
unit->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL);
|
||||
@@ -863,7 +866,7 @@ public:
|
||||
{
|
||||
for (std::list<uint64>::const_iterator itr = BrokenList.begin(); itr != BrokenList.end(); ++itr)
|
||||
if (Creature* unit = Unit::GetCreature((*me), *itr))
|
||||
unit->MonsterYell(SAY_BROKEN_FREE_02, LANG_UNIVERSAL, 0);
|
||||
unit->AI()->Talk(SAY_BROKEN_FREE_02);
|
||||
}
|
||||
SoulRetrieveTimer = 0;
|
||||
break;
|
||||
|
||||
@@ -28,32 +28,35 @@ EndScriptData */
|
||||
#include "PassiveAI.h"
|
||||
#include "black_temple.h"
|
||||
|
||||
#define EMOTE_NEW_TARGET -1564010
|
||||
#define EMOTE_PUNCH_GROUND -1564011 //DoScriptText(EMOTE_PUNCH_GROUND, me);
|
||||
#define EMOTE_GROUND_CRACK -1564012
|
||||
enum Supremus
|
||||
{
|
||||
EMOTE_NEW_TARGET = 0,
|
||||
EMOTE_PUNCH_GROUND = 1, //Talk(EMOTE_PUNCH_GROUND);
|
||||
EMOTE_GROUND_CRACK = 2,
|
||||
|
||||
//Spells
|
||||
#define SPELL_MOLTEN_PUNCH 40126
|
||||
#define SPELL_HATEFUL_STRIKE 41926
|
||||
#define SPELL_MOLTEN_FLAME 40980
|
||||
#define SPELL_VOLCANIC_ERUPTION 40117
|
||||
#define SPELL_VOLCANIC_SUMMON 40276
|
||||
#define SPELL_BERSERK 45078
|
||||
//Spells
|
||||
SPELL_MOLTEN_PUNCH = 40126,
|
||||
SPELL_HATEFUL_STRIKE = 41926,
|
||||
SPELL_MOLTEN_FLAME = 40980,
|
||||
SPELL_VOLCANIC_ERUPTION = 40117,
|
||||
SPELL_VOLCANIC_SUMMON = 40276,
|
||||
SPELL_BERSERK = 45078,
|
||||
|
||||
#define CREATURE_VOLCANO 23085
|
||||
#define CREATURE_STALKER 23095
|
||||
CREATURE_VOLCANO = 23085,
|
||||
CREATURE_STALKER = 23095,
|
||||
|
||||
#define PHASE_STRIKE 1
|
||||
#define PHASE_CHASE 2
|
||||
PHASE_STRIKE = 1,
|
||||
PHASE_CHASE = 2,
|
||||
|
||||
#define EVENT_BERSERK 1
|
||||
#define EVENT_SWITCH_PHASE 2
|
||||
#define EVENT_FLAME 3
|
||||
#define EVENT_VOLCANO 4
|
||||
#define EVENT_SWITCH_TARGET 5
|
||||
#define EVENT_HATEFUL_STRIKE 6
|
||||
EVENT_BERSERK = 1,
|
||||
EVENT_SWITCH_PHASE = 2,
|
||||
EVENT_FLAME = 3,
|
||||
EVENT_VOLCANO = 4,
|
||||
EVENT_SWITCH_TARGET = 5,
|
||||
EVENT_HATEFUL_STRIKE = 6,
|
||||
|
||||
#define GCD_CAST 1
|
||||
GCD_CAST = 1
|
||||
};
|
||||
|
||||
class molten_flame : public CreatureScript
|
||||
{
|
||||
@@ -230,7 +233,7 @@ public:
|
||||
{
|
||||
DoResetThreat();
|
||||
me->AddThreat(target, 5000000.0f);
|
||||
DoScriptText(EMOTE_NEW_TARGET, me);
|
||||
Talk(EMOTE_NEW_TARGET);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_SWITCH_TARGET, 10000, 0, PHASE_CHASE);
|
||||
break;
|
||||
@@ -242,7 +245,7 @@ public:
|
||||
{
|
||||
//DoCast(target, SPELL_VOLCANIC_SUMMON);//movement bugged
|
||||
me->SummonCreature(CREATURE_VOLCANO, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 30000);
|
||||
DoScriptText(EMOTE_GROUND_CRACK, me);
|
||||
Talk(EMOTE_GROUND_CRACK);
|
||||
events.DelayEvents(1500, GCD_CAST);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_VOLCANO, 10000, GCD_CAST, PHASE_CHASE);
|
||||
|
||||
@@ -27,30 +27,29 @@ EndScriptData */
|
||||
#include "ScriptedCreature.h"
|
||||
#include "black_temple.h"
|
||||
|
||||
//Speech'n'sound
|
||||
#define SAY_INTRO -1564037
|
||||
#define SAY_AGGRO -1564038
|
||||
#define SAY_SLAY1 -1564039
|
||||
#define SAY_SLAY2 -1564040
|
||||
#define SAY_SPELL1 -1564041
|
||||
#define SAY_SPELL2 -1564042
|
||||
#define SAY_SPECIAL1 -1564043
|
||||
#define SAY_SPECIAL2 -1564044
|
||||
#define SAY_ENRAGE -1564045
|
||||
#define SAY_DEATH -1564046
|
||||
enum DoomBlossom
|
||||
{
|
||||
//Speech'n'sound
|
||||
SAY_INTRO = 0,
|
||||
SAY_AGGRO = 1,
|
||||
SAY_SLAY = 2,
|
||||
SAY_SPELL = 3,
|
||||
SAY_SPECIAL = 4,
|
||||
SAY_ENRAGE = 5,
|
||||
SAY_DEATH = 6,
|
||||
|
||||
//Spells
|
||||
#define SPELL_INCINERATE 40239
|
||||
#define SPELL_CRUSHING_SHADOWS 40243
|
||||
#define SPELL_SHADOWBOLT 40185
|
||||
#define SPELL_PASSIVE_SHADOWFORM 40326
|
||||
#define SPELL_SHADOW_OF_DEATH 40251
|
||||
#define SPELL_BERSERK 45078
|
||||
//Spells
|
||||
SPELL_INCINERATE = 40239,
|
||||
SPELL_CRUSHING_SHADOWS = 40243,
|
||||
SPELL_SHADOWBOLT = 40185,
|
||||
SPELL_PASSIVE_SHADOWFORM = 40326,
|
||||
SPELL_SHADOW_OF_DEATH = 40251,
|
||||
SPELL_BERSERK = 45078,
|
||||
SPELL_ATROPHY = 40327, // Shadowy Constructs use this when they get within melee range of a player
|
||||
|
||||
#define SPELL_ATROPHY 40327 // Shadowy Constructs use this when they get within melee range of a player
|
||||
|
||||
#define CREATURE_DOOM_BLOSSOM 23123
|
||||
#define CREATURE_SHADOWY_CONSTRUCT 23111
|
||||
CREATURE_DOOM_BLOSSOM = 23123,
|
||||
CREATURE_SHADOWY_CONSTRUCT = 23111
|
||||
};
|
||||
|
||||
class mob_doom_blossom : public CreatureScript
|
||||
{
|
||||
@@ -278,7 +277,7 @@ public:
|
||||
|
||||
me->GetMotionMaster()->Clear(false);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
DoScriptText(SAY_INTRO, me);
|
||||
Talk(SAY_INTRO);
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_TALK);
|
||||
AggroTargetGUID = who->GetGUID();
|
||||
Intro = true;
|
||||
@@ -290,7 +289,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
@@ -298,7 +297,7 @@ public:
|
||||
if (instance)
|
||||
instance->SetData(DATA_TERONGOREFIENDEVENT, DONE);
|
||||
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
}
|
||||
|
||||
float CalculateRandomLocation(float Loc, uint32 radius)
|
||||
@@ -387,7 +386,7 @@ public:
|
||||
{
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_NONE);
|
||||
Done = true;
|
||||
if (AggroTargetGUID)
|
||||
@@ -461,7 +460,7 @@ public:
|
||||
|
||||
if (target)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SPECIAL1, SAY_SPECIAL2), me);
|
||||
Talk(SAY_SPECIAL);
|
||||
DoCast(target, SPELL_INCINERATE);
|
||||
IncinerateTimer = urand(20, 51) * 1000;
|
||||
}
|
||||
@@ -494,7 +493,7 @@ public:
|
||||
|
||||
if (RandomYellTimer <= diff)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SPELL1, SAY_SPELL2), me);
|
||||
Talk(SAY_SPELL);
|
||||
RandomYellTimer = urand(50, 101) * 1000;
|
||||
} else RandomYellTimer -= diff;
|
||||
|
||||
@@ -503,7 +502,7 @@ public:
|
||||
if (EnrageTimer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_BERSERK);
|
||||
DoScriptText(SAY_ENRAGE, me);
|
||||
Talk(SAY_ENRAGE);
|
||||
} else EnrageTimer -= diff;
|
||||
}
|
||||
|
||||
|
||||
@@ -31,16 +31,12 @@ EndScriptData */
|
||||
|
||||
enum eEnums
|
||||
{
|
||||
SAY_AGGRO = -1564000,
|
||||
SAY_NEEDLE1 = -1564001,
|
||||
SAY_NEEDLE2 = -1564002,
|
||||
SAY_SLAY1 = -1564003,
|
||||
SAY_SLAY2 = -1564004,
|
||||
SAY_SPECIAL1 = -1564005,
|
||||
SAY_SPECIAL2 = -1564006,
|
||||
SAY_ENRAGE1 = -1564007, //is this text actually in use?
|
||||
SAY_ENRAGE2 = -1564008,
|
||||
SAY_DEATH = -1564009,
|
||||
SAY_AGGRO = 0,
|
||||
SAY_NEEDLE = 1,
|
||||
SAY_SLAY = 2,
|
||||
SAY_SPECIAL = 3,
|
||||
SAY_ENRAGE = 4,
|
||||
SAY_DEATH = 5,
|
||||
|
||||
//Spells
|
||||
SPELL_NEEDLE_SPINE = 39992,
|
||||
@@ -97,7 +93,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(urand(0, 1) ? SAY_SLAY1 : SAY_SLAY2, me);
|
||||
Talk(SAY_SLAY);
|
||||
events.DelayEvents(5000, GCD_YELL);
|
||||
}
|
||||
|
||||
@@ -106,7 +102,7 @@ public:
|
||||
if (instance)
|
||||
instance->SetData(DATA_HIGHWARLORDNAJENTUSEVENT, DONE);
|
||||
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
}
|
||||
|
||||
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
|
||||
@@ -124,7 +120,7 @@ public:
|
||||
if (instance)
|
||||
instance->SetData(DATA_HIGHWARLORDNAJENTUSEVENT, IN_PROGRESS);
|
||||
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
DoZoneInCombat();
|
||||
events.ScheduleEvent(EVENT_BERSERK, 480000, GCD_CAST);
|
||||
events.ScheduleEvent(EVENT_YELL, 45000 + (rand()%76)*1000, GCD_YELL);
|
||||
@@ -166,7 +162,7 @@ public:
|
||||
ResetTimer(45000);
|
||||
break;
|
||||
case EVENT_BERSERK:
|
||||
DoScriptText(SAY_ENRAGE2, me);
|
||||
Talk(SAY_ENRAGE);
|
||||
DoCast(me, SPELL_BERSERK, true);
|
||||
events.DelayEvents(15000, GCD_YELL);
|
||||
break;
|
||||
@@ -180,7 +176,7 @@ public:
|
||||
SpineTargetGUID = target->GetGUID();
|
||||
//must let target summon, otherwise you cannot click the spine
|
||||
target->SummonGameObject(GOBJECT_SPINE, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), me->GetOrientation(), 0, 0, 0, 0, 30);
|
||||
DoScriptText(urand(0, 1) ? SAY_NEEDLE1 : SAY_NEEDLE2, me);
|
||||
Talk(SAY_NEEDLE);
|
||||
events.DelayEvents(1500, GCD_CAST);
|
||||
events.DelayEvents(15000, GCD_YELL);
|
||||
}
|
||||
@@ -199,7 +195,7 @@ public:
|
||||
return;
|
||||
}
|
||||
case EVENT_YELL:
|
||||
DoScriptText(RAND(SAY_SPECIAL1, SAY_SPECIAL2), me);
|
||||
Talk(SAY_SPECIAL);
|
||||
events.ScheduleEvent(EVENT_YELL, urand(25000, 100000), GCD_YELL);
|
||||
events.DelayEvents(15000, GCD_YELL);
|
||||
break;
|
||||
|
||||
@@ -29,35 +29,69 @@ EndScriptData */
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "black_temple.h"
|
||||
|
||||
//Speech'n'Sounds
|
||||
#define SAY_GATH_SLAY -1564085
|
||||
#define SAY_GATH_SLAY_COMNT -1564089
|
||||
#define SAY_GATH_DEATH -1564093
|
||||
#define SAY_GATH_SPECIAL1 -1564077
|
||||
#define SAY_GATH_SPECIAL2 -1564081
|
||||
enum IllidariCouncil
|
||||
{
|
||||
//Speech'n'Sounds
|
||||
SAY_GATH_SPECIAL1 = 2,
|
||||
SAY_GATH_SPECIAL2 = 3,
|
||||
SAY_GATH_SLAY = 4,
|
||||
SAY_GATH_COMNT = 5,
|
||||
SAY_GATH_DEATH = 6,
|
||||
|
||||
SAY_MALA_SPECIAL1 = 2,
|
||||
SAY_MALA_SPECIAL2 = 3,
|
||||
SAY_MALA_SLAY = 4,
|
||||
SAY_MALA_COMNT = 5,
|
||||
SAY_MALA_DEATH = 6,
|
||||
|
||||
#define SAY_VERA_SLAY -1564086
|
||||
#define SAY_VERA_COMNT -1564089 //signed for 22949
|
||||
#define SAY_VERA_DEATH -1564094
|
||||
#define SAY_VERA_SPECIAL1 -1564078
|
||||
#define SAY_VERA_SPECIAL2 -1564082
|
||||
SAY_ZERE_SPECIAL1 = 2,
|
||||
SAY_ZERE_SPECIAL2 = 3,
|
||||
SAY_ZERE_SLAY = 4,
|
||||
SAY_ZERE_COMNT = 5,
|
||||
SAY_ZERE_DEATH = 6,
|
||||
|
||||
#define SAY_MALA_SLAY -1564087
|
||||
#define SAY_MALA_COMNT -1564090
|
||||
#define SAY_MALA_DEATH -1564095
|
||||
#define SAY_MALA_SPECIAL1 -1564079
|
||||
#define SAY_MALA_SPECIAL2 -1564083
|
||||
SAY_VERA_SPECIAL1 = 2,
|
||||
SAY_VERA_SPECIAL2 = 3,
|
||||
SAY_VERA_SLAY = 4,
|
||||
SAY_VERA_COMNT = 5,
|
||||
SAY_VERA_DEATH = 6,
|
||||
|
||||
#define SAY_ZERE_SLAY -1564088
|
||||
#define SAY_ZERE_COMNT -1564091
|
||||
#define SAY_ZERE_DEATH -1564096
|
||||
#define SAY_ZERE_SPECIAL1 -1564080
|
||||
#define SAY_ZERE_SPECIAL2 -1564084
|
||||
AKAMAID = 23089,
|
||||
|
||||
// High Nethermancer Zerevor's spells
|
||||
SPELL_FLAMESTRIKE = 41481,
|
||||
SPELL_BLIZZARD = 41482,
|
||||
SPELL_ARCANE_BOLT = 41483,
|
||||
SPELL_ARCANE_EXPLOSION = 41524,
|
||||
SPELL_DAMPEN_MAGIC = 41478,
|
||||
|
||||
// Lady Malande's spells
|
||||
SPELL_EMPOWERED_SMITE = 41471,
|
||||
SPELL_CIRCLE_OF_HEALING = 41455,
|
||||
SPELL_REFLECTIVE_SHIELD = 41475,
|
||||
SPELL_REFLECTIVE_SHIELD_T = 33619,
|
||||
SPELL_DIVINE_WRATH = 41472,
|
||||
SPELL_HEAL_VISUAL = 24171,
|
||||
|
||||
// Gathios the Shatterer's spells
|
||||
SPELL_BLESS_PROTECTION = 41450,
|
||||
SPELL_BLESS_SPELLWARD = 41451,
|
||||
SPELL_CONSECRATION = 41541,
|
||||
SPELL_HAMMER_OF_JUSTICE = 41468,
|
||||
SPELL_SEAL_OF_COMMAND = 41469,
|
||||
SPELL_SEAL_OF_BLOOD = 41459,
|
||||
SPELL_CHROMATIC_AURA = 41453,
|
||||
SPELL_DEVOTION_AURA = 41452,
|
||||
|
||||
// Veras Darkshadow's spells
|
||||
SPELL_DEADLY_POISON = 41485,
|
||||
SPELL_ENVENOM = 41487,
|
||||
SPELL_VANISH = 41479,
|
||||
SPELL_BERSERK = 45078
|
||||
};
|
||||
|
||||
#define ERROR_INST_DATA "SD2 ERROR: Instance Data for Black Temple not set properly; Illidari Council event will not function properly."
|
||||
|
||||
#define AKAMAID 23089
|
||||
|
||||
struct CouncilYells
|
||||
{
|
||||
int32 entry;
|
||||
@@ -66,53 +100,21 @@ struct CouncilYells
|
||||
|
||||
static CouncilYells CouncilAggro[]=
|
||||
{
|
||||
{-1564069, 5000}, // Gathios
|
||||
{-1564070, 5500}, // Veras
|
||||
{-1564071, 5000}, // Malande
|
||||
{-1564072, 0}, // Zerevor
|
||||
{0, 5000}, // Gathios
|
||||
{0, 5500}, // Veras
|
||||
{0, 5000}, // Malande
|
||||
{0, 0}, // Zerevor
|
||||
};
|
||||
|
||||
// Need to get proper timers for this later
|
||||
static CouncilYells CouncilEnrage[]=
|
||||
{
|
||||
{-1564073, 2000}, // Gathios
|
||||
{-1564074, 6000}, // Veras
|
||||
{-1564075, 5000}, // Malande
|
||||
{-1564076, 0}, // Zerevor
|
||||
{1, 2000}, // Gathios
|
||||
{1, 6000}, // Veras
|
||||
{1, 5000}, // Malande
|
||||
{1, 0}, // Zerevor
|
||||
};
|
||||
|
||||
// High Nethermancer Zerevor's spells
|
||||
#define SPELL_FLAMESTRIKE 41481
|
||||
#define SPELL_BLIZZARD 41482
|
||||
#define SPELL_ARCANE_BOLT 41483
|
||||
#define SPELL_ARCANE_EXPLOSION 41524
|
||||
#define SPELL_DAMPEN_MAGIC 41478
|
||||
|
||||
// Lady Malande's spells
|
||||
#define SPELL_EMPOWERED_SMITE 41471
|
||||
#define SPELL_CIRCLE_OF_HEALING 41455
|
||||
#define SPELL_REFLECTIVE_SHIELD 41475
|
||||
#define SPELL_REFLECTIVE_SHIELD_T 33619
|
||||
#define SPELL_DIVINE_WRATH 41472
|
||||
#define SPELL_HEAL_VISUAL 24171
|
||||
|
||||
// Gathios the Shatterer's spells
|
||||
#define SPELL_BLESS_PROTECTION 41450
|
||||
#define SPELL_BLESS_SPELLWARD 41451
|
||||
#define SPELL_CONSECRATION 41541
|
||||
#define SPELL_HAMMER_OF_JUSTICE 41468
|
||||
#define SPELL_SEAL_OF_COMMAND 41469
|
||||
#define SPELL_SEAL_OF_BLOOD 41459
|
||||
#define SPELL_CHROMATIC_AURA 41453
|
||||
#define SPELL_DEVOTION_AURA 41452
|
||||
|
||||
// Veras Darkshadow's spells
|
||||
#define SPELL_DEADLY_POISON 41485
|
||||
#define SPELL_ENVENOM 41487
|
||||
#define SPELL_VANISH 41479
|
||||
|
||||
#define SPELL_BERSERK 45078
|
||||
|
||||
class mob_blood_elf_council_voice_trigger : public CreatureScript
|
||||
{
|
||||
public:
|
||||
@@ -179,9 +181,9 @@ public:
|
||||
{
|
||||
if (AggroYellTimer <= diff)
|
||||
{
|
||||
if (Unit* pMember = Unit::GetUnit(*me, Council[YellCounter]))
|
||||
if (Creature* pMember = Creature::GetCreature(*me, Council[YellCounter]))
|
||||
{
|
||||
DoScriptText(CouncilAggro[YellCounter].entry, pMember);
|
||||
pMember->AI()->Talk(CouncilAggro[YellCounter].entry);
|
||||
AggroYellTimer = CouncilAggro[YellCounter].timer;
|
||||
}
|
||||
++YellCounter;
|
||||
@@ -194,10 +196,10 @@ public:
|
||||
{
|
||||
if (EnrageTimer <= diff)
|
||||
{
|
||||
if (Unit* pMember = Unit::GetUnit(*me, Council[YellCounter]))
|
||||
if (Creature* pMember = Creature::GetCreature(*me, Council[YellCounter]))
|
||||
{
|
||||
pMember->CastSpell(pMember, SPELL_BERSERK, true);
|
||||
DoScriptText(CouncilEnrage[YellCounter].entry, pMember);
|
||||
pMember->AI()->Talk(CouncilEnrage[YellCounter].entry);
|
||||
EnrageTimer = CouncilEnrage[YellCounter].timer;
|
||||
}
|
||||
++YellCounter;
|
||||
@@ -497,12 +499,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(SAY_GATH_SLAY, me);
|
||||
Talk(SAY_GATH_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_GATH_DEATH, me);
|
||||
Talk(SAY_GATH_DEATH);
|
||||
}
|
||||
|
||||
Unit* SelectCouncilMember()
|
||||
@@ -631,12 +633,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(SAY_ZERE_SLAY, me);
|
||||
Talk(SAY_ZERE_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_ZERE_DEATH, me);
|
||||
Talk(SAY_ZERE_DEATH);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -731,12 +733,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(SAY_MALA_SLAY, me);
|
||||
Talk(SAY_MALA_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_MALA_DEATH, me);
|
||||
Talk(SAY_MALA_DEATH);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -817,12 +819,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(SAY_VERA_SLAY, me);
|
||||
Talk(SAY_VERA_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_VERA_DEATH, me);
|
||||
Talk(SAY_VERA_DEATH);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
|
||||
+59
-58
@@ -28,64 +28,62 @@ EndScriptData */
|
||||
#include "serpent_shrine.h"
|
||||
#include "ScriptedEscortAI.h"
|
||||
|
||||
#define SAY_AGGRO -1548021
|
||||
#define SAY_GAIN_BLESSING -1548022
|
||||
#define SAY_GAIN_ABILITY1 -1548023
|
||||
#define SAY_GAIN_ABILITY2 -1548024
|
||||
#define SAY_GAIN_ABILITY3 -1548025
|
||||
#define SAY_SLAY1 -1548026
|
||||
#define SAY_SLAY2 -1548027
|
||||
#define SAY_SLAY3 -1548028
|
||||
#define SAY_DEATH -1548029
|
||||
enum FathomlordKarathress
|
||||
{
|
||||
SAY_AGGRO = 0,
|
||||
SAY_GAIN_BLESSING = 1,
|
||||
SAY_GAIN_ABILITY1 = 2,
|
||||
SAY_GAIN_ABILITY2 = 3,
|
||||
SAY_GAIN_ABILITY3 = 4,
|
||||
SAY_SLAY = 5,
|
||||
SAY_DEATH = 6,
|
||||
|
||||
//Karathress spells
|
||||
#define SPELL_CATACLYSMIC_BOLT 38441
|
||||
#define SPELL_POWER_OF_SHARKKIS 38455
|
||||
#define SPELL_POWER_OF_TIDALVESS 38452
|
||||
#define SPELL_POWER_OF_CARIBDIS 38451
|
||||
#define SPELL_ENRAGE 24318
|
||||
#define SPELL_SEAR_NOVA 38445
|
||||
#define SPELL_BLESSING_OF_THE_TIDES 38449
|
||||
//Karathress spells
|
||||
SPELL_CATACLYSMIC_BOLT = 38441,
|
||||
SPELL_POWER_OF_SHARKKIS = 38455,
|
||||
SPELL_POWER_OF_TIDALVESS = 38452,
|
||||
SPELL_POWER_OF_CARIBDIS = 38451,
|
||||
SPELL_ENRAGE = 24318,
|
||||
SPELL_SEAR_NOVA = 38445,
|
||||
SPELL_BLESSING_OF_THE_TIDES = 38449,
|
||||
|
||||
//Sharkkis spells
|
||||
#define SPELL_LEECHING_THROW 29436
|
||||
#define SPELL_THE_BEAST_WITHIN 38373
|
||||
#define SPELL_MULTISHOT 38366
|
||||
#define SPELL_SUMMON_FATHOM_LURKER 38433
|
||||
#define SPELL_SUMMON_FATHOM_SPOREBAT 38431
|
||||
#define SPELL_PET_ENRAGE 19574
|
||||
//Sharkkis spells
|
||||
SPELL_LEECHING_THROW = 29436,
|
||||
SPELL_THE_BEAST_WITHIN = 38373,
|
||||
SPELL_MULTISHOT = 38366,
|
||||
SPELL_SUMMON_FATHOM_LURKER = 38433,
|
||||
SPELL_SUMMON_FATHOM_SPOREBAT = 38431,
|
||||
SPELL_PET_ENRAGE = 19574,
|
||||
|
||||
//Tidalvess spells
|
||||
#define SPELL_FROST_SHOCK 38234
|
||||
#define SPELL_SPITFIRE_TOTEM 38236
|
||||
#define SPELL_POISON_CLEANSING_TOTEM 38306
|
||||
// Spell obsolete
|
||||
// #define SPELL_POISON_CLEANSING_EFFECT 8167
|
||||
#define SPELL_EARTHBIND_TOTEM 38304
|
||||
#define SPELL_EARTHBIND_TOTEM_EFFECT 6474
|
||||
#define SPELL_WINDFURY_WEAPON 38184
|
||||
//Tidalvess spells
|
||||
SPELL_FROST_SHOCK = 38234,
|
||||
SPELL_SPITFIRE_TOTEM = 38236,
|
||||
SPELL_POISON_CLEANSING_TOTEM = 38306,
|
||||
// Spell obsolete
|
||||
SPELL_EARTHBIND_TOTEM = 38304,
|
||||
SPELL_EARTHBIND_TOTEM_EFFECT = 6474,
|
||||
SPELL_WINDFURY_WEAPON = 38184,
|
||||
|
||||
//Caribdis Spells
|
||||
#define SPELL_WATER_BOLT_VOLLEY 38335
|
||||
#define SPELL_TIDAL_SURGE 38358
|
||||
#define SPELL_TIDAL_SURGE_FREEZE 38357
|
||||
#define SPELL_HEAL 38330
|
||||
#define SPELL_SUMMON_CYCLONE 38337
|
||||
#define SPELL_CYCLONE_CYCLONE 29538
|
||||
//Caribdis Spells
|
||||
SPELL_WATER_BOLT_VOLLEY = 38335,
|
||||
SPELL_TIDAL_SURGE = 38358,
|
||||
SPELL_TIDAL_SURGE_FREEZE = 38357,
|
||||
SPELL_HEAL = 38330,
|
||||
SPELL_SUMMON_CYCLONE = 38337,
|
||||
SPELL_CYCLONE_CYCLONE = 29538,
|
||||
|
||||
//Yells and Quotes
|
||||
#define SAY_GAIN_BLESSING_OF_TIDES "Your overconfidence will be your undoing! Guards, lend me your strength!"
|
||||
#define SOUND_GAIN_BLESSING_OF_TIDES 11278
|
||||
#define SAY_MISC "Alana be'lendor!" //don't know what use this
|
||||
#define SOUND_MISC 11283
|
||||
//Yells and Quotes
|
||||
SOUND_GAIN_BLESSING_OF_TIDES = 11278,
|
||||
SOUND_MISC = 11283,
|
||||
|
||||
//Summoned Unit GUIDs
|
||||
#define CREATURE_CYCLONE 22104
|
||||
#define CREATURE_FATHOM_SPOREBAT 22120
|
||||
#define CREATURE_FATHOM_LURKER 22119
|
||||
#define CREATURE_SPITFIRE_TOTEM 22091
|
||||
#define CREATURE_EARTHBIND_TOTEM 22486
|
||||
#define CREATURE_POISON_CLEANSING_TOTEM 22487
|
||||
//Summoned Unit GUIDs
|
||||
CREATURE_CYCLONE = 22104,
|
||||
CREATURE_FATHOM_SPOREBAT = 22120,
|
||||
CREATURE_FATHOM_LURKER = 22119,
|
||||
CREATURE_SPITFIRE_TOTEM = 22091,
|
||||
CREATURE_EARTHBIND_TOTEM = 22486,
|
||||
CREATURE_POISON_CLEANSING_TOTEM = 22487,
|
||||
};
|
||||
|
||||
//entry and position for Seer Olum
|
||||
#define SEER_OLUM 22820
|
||||
@@ -94,6 +92,9 @@ EndScriptData */
|
||||
#define OLUM_Z -7.54773f
|
||||
#define OLUM_O 0.401581f
|
||||
|
||||
#define SAY_GAIN_BLESSING_OF_TIDES "Your overconfidence will be your undoing! Guards, lend me your strength!"
|
||||
#define SAY_MISC "Alana be'lendor!" //don't know what use this
|
||||
|
||||
#define MAX_ADVISORS 3
|
||||
//Fathom-Lord Karathress AI
|
||||
class boss_fathomlord_karathress : public CreatureScript
|
||||
@@ -160,19 +161,19 @@ public:
|
||||
|
||||
void EventSharkkisDeath()
|
||||
{
|
||||
DoScriptText(SAY_GAIN_ABILITY1, me);
|
||||
Talk(SAY_GAIN_ABILITY1);
|
||||
DoCast(me, SPELL_POWER_OF_SHARKKIS);
|
||||
}
|
||||
|
||||
void EventTidalvessDeath()
|
||||
{
|
||||
DoScriptText(SAY_GAIN_ABILITY2, me);
|
||||
Talk(SAY_GAIN_ABILITY2);
|
||||
DoCast(me, SPELL_POWER_OF_TIDALVESS);
|
||||
}
|
||||
|
||||
void EventCaribdisDeath()
|
||||
{
|
||||
DoScriptText(SAY_GAIN_ABILITY3, me);
|
||||
Talk(SAY_GAIN_ABILITY3);
|
||||
DoCast(me, SPELL_POWER_OF_CARIBDIS);
|
||||
}
|
||||
|
||||
@@ -193,7 +194,7 @@ public:
|
||||
|
||||
GetAdvisors();
|
||||
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
DoZoneInCombat();
|
||||
|
||||
instance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
|
||||
@@ -202,12 +203,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_FATHOMLORDKARATHRESSEVENT, DONE);
|
||||
|
||||
+40
-44
@@ -27,43 +27,45 @@ EndScriptData */
|
||||
#include "ScriptedCreature.h"
|
||||
#include "serpent_shrine.h"
|
||||
|
||||
#define SAY_AGGRO -1548000
|
||||
#define SAY_SWITCH_TO_CLEAN -1548001
|
||||
#define SAY_CLEAN_SLAY1 -1548002
|
||||
#define SAY_CLEAN_SLAY2 -1548003
|
||||
#define SAY_CLEAN_DEATH -1548004
|
||||
#define SAY_SWITCH_TO_CORRUPT -1548005
|
||||
#define SAY_CORRUPT_SLAY1 -1548006
|
||||
#define SAY_CORRUPT_SLAY2 -1548007
|
||||
#define SAY_CORRUPT_DEATH -1548008
|
||||
enum HydrossTheUnstable
|
||||
{
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SWITCH_TO_CLEAN = 1,
|
||||
SAY_CLEAN_SLAY = 2,
|
||||
SAY_CLEAN_DEATH = 3,
|
||||
SAY_SWITCH_TO_CORRUPT = 4,
|
||||
SAY_CORRUPT_SLAY = 5,
|
||||
SAY_CORRUPT_DEATH = 6,
|
||||
|
||||
#define SWITCH_RADIUS 18
|
||||
SWITCH_RADIUS = 18,
|
||||
|
||||
#define MODEL_CORRUPT 20609
|
||||
#define MODEL_CLEAN 20162
|
||||
MODEL_CORRUPT = 20609,
|
||||
MODEL_CLEAN = 20162,
|
||||
|
||||
#define SPELL_WATER_TOMB 38235
|
||||
#define SPELL_MARK_OF_HYDROSS1 38215
|
||||
#define SPELL_MARK_OF_HYDROSS2 38216
|
||||
#define SPELL_MARK_OF_HYDROSS3 38217
|
||||
#define SPELL_MARK_OF_HYDROSS4 38218
|
||||
#define SPELL_MARK_OF_HYDROSS5 38231
|
||||
#define SPELL_MARK_OF_HYDROSS6 40584
|
||||
#define SPELL_MARK_OF_CORRUPTION1 38219
|
||||
#define SPELL_MARK_OF_CORRUPTION2 38220
|
||||
#define SPELL_MARK_OF_CORRUPTION3 38221
|
||||
#define SPELL_MARK_OF_CORRUPTION4 38222
|
||||
#define SPELL_MARK_OF_CORRUPTION5 38230
|
||||
#define SPELL_MARK_OF_CORRUPTION6 40583
|
||||
#define SPELL_VILE_SLUDGE 38246
|
||||
#define SPELL_ENRAGE 27680 //this spell need verification
|
||||
#define SPELL_SUMMON_WATER_ELEMENT 36459 //not in use yet(in use ever?)
|
||||
#define SPELL_ELEMENTAL_SPAWNIN 25035
|
||||
#define SPELL_BLUE_BEAM 40227 //channeled Hydross Beam Helper (not in use yet)
|
||||
SPELL_WATER_TOMB = 38235,
|
||||
SPELL_MARK_OF_HYDROSS1 = 38215,
|
||||
SPELL_MARK_OF_HYDROSS2 = 38216,
|
||||
SPELL_MARK_OF_HYDROSS3 = 38217,
|
||||
SPELL_MARK_OF_HYDROSS4 = 38218,
|
||||
SPELL_MARK_OF_HYDROSS5 = 38231,
|
||||
SPELL_MARK_OF_HYDROSS6 = 40584,
|
||||
SPELL_MARK_OF_CORRUPTION1 = 38219,
|
||||
SPELL_MARK_OF_CORRUPTION2 = 38220,
|
||||
SPELL_MARK_OF_CORRUPTION3 = 38221,
|
||||
SPELL_MARK_OF_CORRUPTION4 = 38222,
|
||||
SPELL_MARK_OF_CORRUPTION5 = 38230,
|
||||
SPELL_MARK_OF_CORRUPTION6 = 40583,
|
||||
SPELL_VILE_SLUDGE = 38246,
|
||||
SPELL_ENRAGE = 27680, //this spell need verification
|
||||
SPELL_SUMMON_WATER_ELEMENT = 36459, //not in use yet(in use ever?)
|
||||
SPELL_ELEMENTAL_SPAWNIN = 25035,
|
||||
SPELL_BLUE_BEAM = 40227, //channeled Hydross Beam Helper (not in use yet)
|
||||
|
||||
ENTRY_PURE_SPAWN = 22035,
|
||||
ENTRY_TAINTED_SPAWN = 22036,
|
||||
ENTRY_BEAM_DUMMY = 21934
|
||||
};
|
||||
|
||||
#define ENTRY_PURE_SPAWN 22035
|
||||
#define ENTRY_TAINTED_SPAWN 22036
|
||||
#define ENTRY_BEAM_DUMMY 21934
|
||||
|
||||
#define HYDROSS_X -239.439f
|
||||
#define HYDROSS_Y -363.481f
|
||||
@@ -169,7 +171,7 @@ public:
|
||||
}
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_HYDROSSTHEUNSTABLEEVENT, IN_PROGRESS);
|
||||
@@ -177,10 +179,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
if (CorruptedForm)
|
||||
DoScriptText(RAND(SAY_CORRUPT_SLAY1, SAY_CORRUPT_SLAY2), me);
|
||||
else
|
||||
DoScriptText(RAND(SAY_CLEAN_SLAY1, SAY_CLEAN_SLAY2), me);
|
||||
Talk(CorruptedForm ? SAY_CORRUPT_SLAY : SAY_CLEAN_SLAY);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summoned)
|
||||
@@ -206,10 +205,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
if (CorruptedForm)
|
||||
DoScriptText(SAY_CORRUPT_DEATH, me);
|
||||
else
|
||||
DoScriptText(SAY_CLEAN_DEATH, me);
|
||||
Talk(CorruptedForm ? SAY_CORRUPT_DEATH : SAY_CLEAN_DEATH);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_HYDROSSTHEUNSTABLEEVENT, DONE);
|
||||
@@ -293,7 +289,7 @@ public:
|
||||
CorruptedForm = false;
|
||||
MarkOfHydross_Count = 0;
|
||||
|
||||
DoScriptText(SAY_SWITCH_TO_CLEAN, me);
|
||||
Talk(SAY_SWITCH_TO_CLEAN);
|
||||
DoResetThreat();
|
||||
SummonBeams();
|
||||
|
||||
@@ -377,7 +373,7 @@ public:
|
||||
MarkOfCorruption_Count = 0;
|
||||
CorruptedForm = true;
|
||||
|
||||
DoScriptText(SAY_SWITCH_TO_CORRUPT, me);
|
||||
Talk(SAY_SWITCH_TO_CORRUPT);
|
||||
DoResetThreat();
|
||||
DeSummonBeams();
|
||||
|
||||
|
||||
@@ -30,48 +30,47 @@ EndScriptData */
|
||||
#include "Player.h"
|
||||
#include "WorldSession.h"
|
||||
|
||||
#define SAY_INTRO -1548042
|
||||
#define SAY_AGGRO1 -1548043
|
||||
#define SAY_AGGRO2 -1548044
|
||||
#define SAY_AGGRO3 -1548045
|
||||
#define SAY_AGGRO4 -1548046
|
||||
#define SAY_PHASE1 -1548047
|
||||
#define SAY_PHASE2 -1548048
|
||||
#define SAY_PHASE3 -1548049
|
||||
#define SAY_BOWSHOT1 -1548050
|
||||
#define SAY_BOWSHOT2 -1548051
|
||||
#define SAY_SLAY1 -1548052
|
||||
#define SAY_SLAY2 -1548053
|
||||
#define SAY_SLAY3 -1548054
|
||||
#define SAY_DEATH -1548055
|
||||
enum LadyVashj
|
||||
{
|
||||
SAY_INTRO = 0,
|
||||
SAY_AGGRO = 1,
|
||||
SAY_PHASE1 = 2,
|
||||
SAY_PHASE2 = 3,
|
||||
SAY_PHASE3 = 4,
|
||||
SAY_BOWSHOT = 5,
|
||||
SAY_SLAY = 6,
|
||||
SAY_DEATH = 7,
|
||||
|
||||
#define SPELL_SURGE 38044
|
||||
#define SPELL_MULTI_SHOT 38310
|
||||
#define SPELL_SHOCK_BLAST 38509
|
||||
#define SPELL_ENTANGLE 38316
|
||||
#define SPELL_STATIC_CHARGE_TRIGGER 38280
|
||||
#define SPELL_FORKED_LIGHTNING 40088
|
||||
#define SPELL_SHOOT 40873
|
||||
#define SPELL_POISON_BOLT 40095
|
||||
#define SPELL_TOXIC_SPORES 38575
|
||||
#define SPELL_MAGIC_BARRIER 38112
|
||||
SPELL_SURGE = 38044,
|
||||
SPELL_MULTI_SHOT = 38310,
|
||||
SPELL_SHOCK_BLAST = 38509,
|
||||
SPELL_ENTANGLE = 38316,
|
||||
SPELL_STATIC_CHARGE_TRIGGER = 38280,
|
||||
SPELL_FORKED_LIGHTNING = 40088,
|
||||
SPELL_SHOOT = 40873,
|
||||
SPELL_POISON_BOLT = 40095,
|
||||
SPELL_TOXIC_SPORES = 38575,
|
||||
SPELL_MAGIC_BARRIER = 38112,
|
||||
|
||||
#define MIDDLE_X 30.134f
|
||||
#define MIDDLE_Y -923.65f
|
||||
#define MIDDLE_Z 42.9f
|
||||
SHIED_GENERATOR_CHANNEL = 19870,
|
||||
ENCHANTED_ELEMENTAL = 21958,
|
||||
TAINTED_ELEMENTAL = 22009,
|
||||
COILFANG_STRIDER = 22056,
|
||||
COILFANG_ELITE = 22055,
|
||||
TOXIC_SPOREBAT = 22140,
|
||||
TOXIC_SPORES_TRIGGER = 22207
|
||||
};
|
||||
|
||||
#define SPOREBAT_X 30.977156f
|
||||
#define MIDDLE_X 30.134f
|
||||
#define MIDDLE_Y -923.65f
|
||||
#define MIDDLE_Z 42.9f
|
||||
|
||||
#define SPOREBAT_X 30.977156f
|
||||
#define SPOREBAT_Y -925.297761f
|
||||
#define SPOREBAT_Z 77.176567f
|
||||
#define SPOREBAT_O 5.223932f
|
||||
|
||||
#define SHIED_GENERATOR_CHANNEL 19870
|
||||
#define ENCHANTED_ELEMENTAL 21958
|
||||
#define TAINTED_ELEMENTAL 22009
|
||||
#define COILFANG_STRIDER 22056
|
||||
#define COILFANG_ELITE 22055
|
||||
#define TOXIC_SPOREBAT 22140
|
||||
#define TOXIC_SPORES_TRIGGER 22207
|
||||
|
||||
|
||||
#define TEXT_NOT_INITIALIZED "Instance script not initialized"
|
||||
#define TEXT_ALREADY_DEACTIVATED "Already deactivated"
|
||||
@@ -226,12 +225,12 @@ public:
|
||||
}
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_LADYVASHJEVENT, DONE);
|
||||
@@ -239,7 +238,7 @@ public:
|
||||
|
||||
void StartEvent()
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3, SAY_AGGRO4), me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
Phase = 1;
|
||||
|
||||
@@ -269,7 +268,7 @@ public:
|
||||
if (!Intro)
|
||||
{
|
||||
Intro = true;
|
||||
DoScriptText(SAY_INTRO, me);
|
||||
Talk(SAY_INTRO);
|
||||
}
|
||||
if (!CanAttack)
|
||||
return;
|
||||
@@ -307,7 +306,7 @@ public:
|
||||
}
|
||||
if (rand()%3)
|
||||
{
|
||||
DoScriptText(RAND(SAY_BOWSHOT1, SAY_BOWSHOT2), me);
|
||||
Talk(SAY_BOWSHOT);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -397,7 +396,7 @@ public:
|
||||
if (Creature* creature = me->SummonCreature(SHIED_GENERATOR_CHANNEL, ShieldGeneratorChannelPos[i][0], ShieldGeneratorChannelPos[i][1], ShieldGeneratorChannelPos[i][2], ShieldGeneratorChannelPos[i][3], TEMPSUMMON_CORPSE_DESPAWN, 0))
|
||||
ShieldGeneratorChannel[i] = creature->GetGUID();
|
||||
|
||||
DoScriptText(SAY_PHASE2, me);
|
||||
Talk(SAY_PHASE2);
|
||||
}
|
||||
}
|
||||
// Phase 3
|
||||
@@ -527,7 +526,7 @@ public:
|
||||
|
||||
me->RemoveAurasDueToSpell(SPELL_MAGIC_BARRIER);
|
||||
|
||||
DoScriptText(SAY_PHASE3, me);
|
||||
Talk(SAY_PHASE3);
|
||||
|
||||
Phase = 3;
|
||||
|
||||
|
||||
+44
-52
@@ -28,47 +28,46 @@ EndScriptData */
|
||||
#include "serpent_shrine.h"
|
||||
#include "Player.h"
|
||||
|
||||
// --- Spells used by Leotheras The Blind
|
||||
#define SPELL_WHIRLWIND 37640
|
||||
#define SPELL_CHAOS_BLAST 37674
|
||||
#define SPELL_BERSERK 26662
|
||||
#define SPELL_INSIDIOUS_WHISPER 37676
|
||||
#define SPELL_DUAL_WIELD 42459
|
||||
enum LeotherasTheBlind
|
||||
{
|
||||
// Spells used by Leotheras The Blind
|
||||
SPELL_WHIRLWIND = 37640,
|
||||
SPELL_CHAOS_BLAST = 37674,
|
||||
SPELL_BERSERK = 26662,
|
||||
SPELL_INSIDIOUS_WHISPER = 37676,
|
||||
SPELL_DUAL_WIELD = 42459,
|
||||
|
||||
// --- Spells used in banish phase ---
|
||||
#define BANISH_BEAM 38909
|
||||
#define AURA_BANISH 37833
|
||||
// Spells used in banish phase
|
||||
BANISH_BEAM = 38909,
|
||||
AURA_BANISH = 37833,
|
||||
|
||||
// --- Spells used by Greyheart Spellbinders
|
||||
#define SPELL_EARTHSHOCK 39076
|
||||
#define SPELL_MINDBLAST 37531
|
||||
// Spells used by Greyheart Spellbinders
|
||||
SPELL_EARTHSHOCK = 39076,
|
||||
SPELL_MINDBLAST = 37531,
|
||||
|
||||
// --- Spells used by Inner Demons and Creature ID
|
||||
#define INNER_DEMON_ID 21857
|
||||
#define AURA_DEMONIC_ALIGNMENT 37713
|
||||
#define SPELL_SHADOWBOLT 39309
|
||||
#define SPELL_SOUL_LINK 38007
|
||||
#define SPELL_CONSUMING_MADNESS 37749 //not supported by core yet
|
||||
// Spells used by Inner Demons and Creature ID
|
||||
INNER_DEMON_ID = 21857,
|
||||
AURA_DEMONIC_ALIGNMENT = 37713,
|
||||
SPELL_SHADOWBOLT = 39309,
|
||||
SPELL_SOUL_LINK = 38007,
|
||||
SPELL_CONSUMING_MADNESS = 37749,
|
||||
|
||||
//Misc.
|
||||
#define MODEL_DEMON 20125
|
||||
#define MODEL_NIGHTELF 20514
|
||||
#define DEMON_FORM 21875
|
||||
#define MOB_SPELLBINDER 21806
|
||||
#define INNER_DEMON_VICTIM 1
|
||||
//Misc.
|
||||
MODEL_DEMON = 20125,
|
||||
MODEL_NIGHTELF = 20514,
|
||||
DEMON_FORM = 21875,
|
||||
MOB_SPELLBINDER = 21806,
|
||||
INNER_DEMON_VICTIM = 1,
|
||||
|
||||
#define SAY_AGGRO -1548009
|
||||
#define SAY_SWITCH_TO_DEMON -1548010
|
||||
#define SAY_INNER_DEMONS -1548011
|
||||
#define SAY_DEMON_SLAY1 -1548012
|
||||
#define SAY_DEMON_SLAY2 -1548013
|
||||
#define SAY_DEMON_SLAY3 -1548014
|
||||
#define SAY_NIGHTELF_SLAY1 -1548015
|
||||
#define SAY_NIGHTELF_SLAY2 -1548016
|
||||
#define SAY_NIGHTELF_SLAY3 -1548017
|
||||
#define SAY_FINAL_FORM -1548018
|
||||
#define SAY_FREE -1548019
|
||||
#define SAY_DEATH -1548020
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SWITCH_TO_DEMON = 1,
|
||||
SAY_INNER_DEMONS = 2,
|
||||
SAY_DEMON_SLAY = 3,
|
||||
SAY_NIGHTELF_SLAY = 4,
|
||||
SAY_FINAL_FORM = 5,
|
||||
SAY_FREE = 6,
|
||||
SAY_DEATH = 7
|
||||
};
|
||||
|
||||
class mob_inner_demon : public CreatureScript
|
||||
{
|
||||
@@ -289,7 +288,7 @@ public:
|
||||
|
||||
void StartEvent()
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
if (instance)
|
||||
instance->SetData(DATA_LEOTHERASTHEBLINDEVENT, IN_PROGRESS);
|
||||
}
|
||||
@@ -388,20 +387,13 @@ public:
|
||||
{
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER)
|
||||
return;
|
||||
|
||||
if (DemonForm)
|
||||
{
|
||||
DoScriptText(RAND(SAY_DEMON_SLAY1, SAY_DEMON_SLAY2, SAY_DEMON_SLAY3), me);
|
||||
}
|
||||
else
|
||||
{
|
||||
DoScriptText(RAND(SAY_NIGHTELF_SLAY1, SAY_NIGHTELF_SLAY2, SAY_NIGHTELF_SLAY3), me);
|
||||
}
|
||||
|
||||
Talk(DemonForm ? SAY_DEMON_SLAY : SAY_NIGHTELF_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
//despawn copy
|
||||
if (Demon)
|
||||
@@ -493,7 +485,7 @@ public:
|
||||
//switch to demon form
|
||||
me->RemoveAurasDueToSpell(SPELL_WHIRLWIND, 0);
|
||||
me->SetDisplayId(MODEL_DEMON);
|
||||
DoScriptText(SAY_SWITCH_TO_DEMON, me);
|
||||
Talk(SAY_SWITCH_TO_DEMON);
|
||||
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID , 0);
|
||||
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID+1, 0);
|
||||
DemonForm = true;
|
||||
@@ -556,7 +548,7 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
DoScriptText(SAY_INNER_DEMONS, me);
|
||||
Talk(SAY_INNER_DEMONS);
|
||||
|
||||
InnerDemons_Timer = 999999;
|
||||
} else InnerDemons_Timer -= diff;
|
||||
@@ -595,7 +587,7 @@ public:
|
||||
IsFinalForm = true;
|
||||
DemonForm = false;
|
||||
|
||||
DoScriptText(SAY_FINAL_FORM, me);
|
||||
Talk(SAY_FINAL_FORM);
|
||||
me->SetDisplayId(MODEL_NIGHTELF);
|
||||
me->LoadEquipment(me->GetEquipmentId());
|
||||
}
|
||||
@@ -629,7 +621,7 @@ public:
|
||||
|
||||
void StartEvent()
|
||||
{
|
||||
DoScriptText(SAY_FREE, me);
|
||||
Talk(SAY_FREE);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
@@ -637,7 +629,7 @@ public:
|
||||
if (victim->GetTypeId() != TYPEID_PLAYER)
|
||||
return;
|
||||
|
||||
DoScriptText(RAND(SAY_DEMON_SLAY1, SAY_DEMON_SLAY2, SAY_DEMON_SLAY3), me);
|
||||
Talk(SAY_DEMON_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
|
||||
+30
-34
@@ -30,37 +30,33 @@ EndScriptData */
|
||||
enum eEnums
|
||||
{
|
||||
// Yell
|
||||
SAY_AGGRO = -1548030,
|
||||
SAY_SUMMON1 = -1548031,
|
||||
SAY_SUMMON2 = -1548032,
|
||||
SAY_SUMMON_BUBL1 = -1548033,
|
||||
SAY_SUMMON_BUBL2 = -1548034,
|
||||
SAY_SLAY1 = -1548035,
|
||||
SAY_SLAY2 = -1548036,
|
||||
SAY_SLAY3 = -1548037,
|
||||
SAY_DEATH = -1548038,
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SUMMON = 1,
|
||||
SAY_SUMMON_BUBL = 2,
|
||||
SAY_SLAY = 3,
|
||||
SAY_DEATH = 4,
|
||||
// Emotes
|
||||
EMOTE_WATERY_GRAVE = -1548039,
|
||||
EMOTE_EARTHQUAKE = -1548040,
|
||||
EMOTE_WATERY_GLOBULES = -1548041,
|
||||
EMOTE_WATERY_GRAVE = 5,
|
||||
EMOTE_EARTHQUAKE = 6,
|
||||
EMOTE_WATERY_GLOBULES = 7,
|
||||
// Spells
|
||||
SPELL_TIDAL_WAVE = 37730,
|
||||
SPELL_WATERY_GRAVE = 38049,
|
||||
SPELL_EARTHQUAKE = 37764,
|
||||
SPELL_WATERY_GRAVE_EXPLOSION = 37852,
|
||||
SPELL_TIDAL_WAVE = 37730,
|
||||
SPELL_WATERY_GRAVE = 38049,
|
||||
SPELL_EARTHQUAKE = 37764,
|
||||
SPELL_WATERY_GRAVE_EXPLOSION = 37852,
|
||||
|
||||
SPELL_WATERY_GRAVE_1 = 38023,
|
||||
SPELL_WATERY_GRAVE_2 = 38024,
|
||||
SPELL_WATERY_GRAVE_3 = 38025,
|
||||
SPELL_WATERY_GRAVE_4 = 37850,
|
||||
SPELL_WATERY_GRAVE_1 = 38023,
|
||||
SPELL_WATERY_GRAVE_2 = 38024,
|
||||
SPELL_WATERY_GRAVE_3 = 38025,
|
||||
SPELL_WATERY_GRAVE_4 = 37850,
|
||||
|
||||
SPELL_SUMMON_WATER_GLOBULE_1 = 37854,
|
||||
SPELL_SUMMON_WATER_GLOBULE_2 = 37858,
|
||||
SPELL_SUMMON_WATER_GLOBULE_3 = 37860,
|
||||
SPELL_SUMMON_WATER_GLOBULE_4 = 37861,
|
||||
SPELL_SUMMON_WATER_GLOBULE_1 = 37854,
|
||||
SPELL_SUMMON_WATER_GLOBULE_2 = 37858,
|
||||
SPELL_SUMMON_WATER_GLOBULE_3 = 37860,
|
||||
SPELL_SUMMON_WATER_GLOBULE_4 = 37861,
|
||||
// Creatures
|
||||
NPC_WATER_GLOBULE = 21913,
|
||||
NPC_TIDEWALKER_LURKER = 21920,
|
||||
NPC_WATER_GLOBULE = 21913,
|
||||
NPC_TIDEWALKER_LURKER = 21920
|
||||
};
|
||||
|
||||
float MurlocCords[10][4] =
|
||||
@@ -130,7 +126,7 @@ public:
|
||||
|
||||
void StartEvent()
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_MOROGRIMTIDEWALKEREVENT, IN_PROGRESS);
|
||||
@@ -138,12 +134,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_MOROGRIMTIDEWALKEREVENT, DONE);
|
||||
@@ -184,7 +180,7 @@ public:
|
||||
}
|
||||
else
|
||||
{
|
||||
DoScriptText(RAND(SAY_SUMMON1, SAY_SUMMON2), me);
|
||||
Talk(SAY_SUMMON);
|
||||
|
||||
for (uint8 i = 0; i < 10; ++i)
|
||||
{
|
||||
@@ -193,7 +189,7 @@ public:
|
||||
if (target && Murloc)
|
||||
Murloc->AI()->AttackStart(target);
|
||||
}
|
||||
DoScriptText(EMOTE_EARTHQUAKE, me);
|
||||
Talk(EMOTE_EARTHQUAKE);
|
||||
Earthquake = false;
|
||||
Earthquake_Timer = 40000+rand()%5000;
|
||||
}
|
||||
@@ -235,9 +231,9 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
DoScriptText(RAND(SAY_SUMMON_BUBL1, SAY_SUMMON_BUBL2), me);
|
||||
Talk(SAY_SUMMON_BUBL);
|
||||
|
||||
DoScriptText(EMOTE_WATERY_GRAVE, me);
|
||||
Talk(EMOTE_WATERY_GRAVE);
|
||||
WateryGrave_Timer = 30000;
|
||||
} else WateryGrave_Timer -= diff;
|
||||
|
||||
@@ -271,7 +267,7 @@ public:
|
||||
pGlobuleTarget->CastSpell(pGlobuleTarget, globulespell[g], true);
|
||||
}
|
||||
}
|
||||
DoScriptText(EMOTE_WATERY_GLOBULES, me);
|
||||
Talk(EMOTE_WATERY_GLOBULES);
|
||||
WateryGlobules_Timer = 25000;
|
||||
} else WateryGlobules_Timer -= diff;
|
||||
}
|
||||
|
||||
+15
-15
@@ -32,20 +32,20 @@ EndContentData */
|
||||
#include "ScriptedCreature.h"
|
||||
#include "steam_vault.h"
|
||||
|
||||
#define SAY_SUMMON -1545000
|
||||
#define SAY_AGGRO_1 -1545001
|
||||
#define SAY_AGGRO_2 -1545002
|
||||
#define SAY_AGGRO_3 -1545003
|
||||
#define SAY_SLAY_1 -1545004
|
||||
#define SAY_SLAY_2 -1545005
|
||||
#define SAY_DEAD -1545006
|
||||
enum HydromancerThespia
|
||||
{
|
||||
SAY_SUMMON = 0,
|
||||
SAY_AGGRO = 1,
|
||||
SAY_SLAY = 2,
|
||||
SAY_DEAD = 3,
|
||||
|
||||
#define SPELL_LIGHTNING_CLOUD 25033
|
||||
#define SPELL_LUNG_BURST 31481
|
||||
#define SPELL_ENVELOPING_WINDS 31718
|
||||
SPELL_LIGHTNING_CLOUD = 25033,
|
||||
SPELL_LUNG_BURST = 31481,
|
||||
SPELL_ENVELOPING_WINDS = 31718,
|
||||
|
||||
#define SPELL_WATER_BOLT_VOLLEY 34449
|
||||
#define H_SPELL_WATER_BOLT_VOLLEY 37924
|
||||
SPELL_WATER_BOLT_VOLLEY = 34449,
|
||||
H_SPELL_WATER_BOLT_VOLLEY = 37924
|
||||
};
|
||||
|
||||
class boss_hydromancer_thespia : public CreatureScript
|
||||
{
|
||||
@@ -82,7 +82,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEAD, me);
|
||||
Talk(SAY_DEAD);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(TYPE_HYDROMANCER_THESPIA, DONE);
|
||||
@@ -90,12 +90,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(TYPE_HYDROMANCER_THESPIA, IN_PROGRESS);
|
||||
|
||||
+15
-18
@@ -32,22 +32,19 @@ EndContentData */
|
||||
#include "ScriptedCreature.h"
|
||||
#include "steam_vault.h"
|
||||
|
||||
#define SAY_MECHANICS -1545007
|
||||
#define SAY_AGGRO_1 -1545008
|
||||
#define SAY_AGGRO_2 -1545009
|
||||
#define SAY_AGGRO_3 -1545010
|
||||
#define SAY_AGGRO_4 -1545011
|
||||
#define SAY_SLAY_1 -1545012
|
||||
#define SAY_SLAY_2 -1545013
|
||||
#define SAY_SLAY_3 -1545014
|
||||
#define SAY_DEATH -1545015
|
||||
enum MekgineerSteamrigger
|
||||
{
|
||||
SAY_MECHANICS = 0,
|
||||
SAY_AGGRO = 1,
|
||||
SAY_SLAY = 2,
|
||||
SAY_DEATH = 3,
|
||||
|
||||
#define SPELL_SUPER_SHRINK_RAY 31485
|
||||
#define SPELL_SAW_BLADE 31486
|
||||
#define SPELL_ELECTRIFIED_NET 35107
|
||||
#define H_SPELL_ENRAGE 1 //corrent enrage spell not known
|
||||
SPELL_SUPER_SHRINK_RAY = 31485,
|
||||
SPELL_SAW_BLADE = 31486,
|
||||
SPELL_ELECTRIFIED_NET = 35107,
|
||||
|
||||
#define ENTRY_STREAMRIGGER_MECHANIC 17951
|
||||
ENTRY_STREAMRIGGER_MECHANIC = 17951
|
||||
};
|
||||
|
||||
class boss_mekgineer_steamrigger : public CreatureScript
|
||||
{
|
||||
@@ -91,7 +88,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(TYPE_MEKGINEER_STEAMRIGGER, DONE);
|
||||
@@ -99,12 +96,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(TYPE_MEKGINEER_STEAMRIGGER, IN_PROGRESS);
|
||||
@@ -113,7 +110,7 @@ public:
|
||||
//no known summon spells exist
|
||||
void SummonMechanichs()
|
||||
{
|
||||
DoScriptText(SAY_MECHANICS, me);
|
||||
Talk(SAY_MECHANICS);
|
||||
|
||||
DoSpawnCreature(ENTRY_STREAMRIGGER_MECHANIC, 5, 5, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 240000);
|
||||
DoSpawnCreature(ENTRY_STREAMRIGGER_MECHANIC, -5, 5, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 240000);
|
||||
|
||||
+17
-17
@@ -28,21 +28,21 @@ EndScriptData */
|
||||
#include "steam_vault.h"
|
||||
#include "SpellInfo.h"
|
||||
|
||||
#define SAY_INTRO -1545016
|
||||
#define SAY_REGEN -1545017
|
||||
#define SAY_AGGRO1 -1545018
|
||||
#define SAY_AGGRO2 -1545019
|
||||
#define SAY_AGGRO3 -1545020
|
||||
#define SAY_SLAY1 -1545021
|
||||
#define SAY_SLAY2 -1545022
|
||||
#define SAY_DEATH -1545023
|
||||
enum NagaDistiller
|
||||
{
|
||||
SAY_INTRO = 0,
|
||||
SAY_REGEN = 1,
|
||||
SAY_AGGRO = 2,
|
||||
SAY_SLAY = 3,
|
||||
SAY_DEATH = 4,
|
||||
|
||||
#define SPELL_SPELL_REFLECTION 31534
|
||||
#define SPELL_IMPALE 39061
|
||||
#define SPELL_WARLORDS_RAGE 37081
|
||||
#define SPELL_WARLORDS_RAGE_NAGA 31543
|
||||
SPELL_SPELL_REFLECTION = 31534,
|
||||
SPELL_IMPALE = 39061,
|
||||
SPELL_WARLORDS_RAGE = 37081,
|
||||
SPELL_WARLORDS_RAGE_NAGA = 31543,
|
||||
|
||||
#define SPELL_WARLORDS_RAGE_PROC 36453
|
||||
SPELL_WARLORDS_RAGE_PROC = 36453
|
||||
};
|
||||
|
||||
class mob_naga_distiller : public CreatureScript
|
||||
{
|
||||
@@ -139,7 +139,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(TYPE_WARLORD_KALITHRESH, IN_PROGRESS);
|
||||
@@ -147,7 +147,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
|
||||
@@ -161,7 +161,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(TYPE_WARLORD_KALITHRESH, DONE);
|
||||
@@ -176,7 +176,7 @@ public:
|
||||
{
|
||||
if (Creature* distiller = me->FindNearestCreature(17954, 100.0f))
|
||||
{
|
||||
DoScriptText(SAY_REGEN, me);
|
||||
Talk(SAY_REGEN);
|
||||
DoCast(me, SPELL_WARLORDS_RAGE);
|
||||
CAST_AI(mob_naga_distiller::mob_naga_distillerAI, distiller->AI())->StartRageGen(me);
|
||||
}
|
||||
|
||||
@@ -30,17 +30,13 @@ EndScriptData */
|
||||
|
||||
enum eEnums
|
||||
{
|
||||
SAY_AGGRO = -1565010,
|
||||
SAY_SLAM1 = -1565011,
|
||||
SAY_SLAM2 = -1565012,
|
||||
SAY_SHATTER1 = -1565013,
|
||||
SAY_SHATTER2 = -1565014,
|
||||
SAY_SLAY1 = -1565015,
|
||||
SAY_SLAY2 = -1565016,
|
||||
SAY_SLAY3 = -1565017,
|
||||
SAY_DEATH = -1565018,
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SLAM = 1,
|
||||
SAY_SHATTER = 2,
|
||||
SAY_SLAY = 3,
|
||||
SAY_DEATH = 4,
|
||||
|
||||
EMOTE_GROW = -1565019,
|
||||
EMOTE_GROW = 5,
|
||||
|
||||
SPELL_GROWTH = 36300,
|
||||
SPELL_CAVE_IN = 36240,
|
||||
@@ -100,7 +96,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_GRUULEVENT, IN_PROGRESS);
|
||||
@@ -108,12 +104,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (instance)
|
||||
{
|
||||
@@ -172,7 +168,7 @@ public:
|
||||
// Gruul can cast this spell up to 30 times
|
||||
if (m_uiGrowth_Timer <= uiDiff)
|
||||
{
|
||||
DoScriptText(EMOTE_GROW, me);
|
||||
Talk(EMOTE_GROW);
|
||||
DoCast(me, SPELL_GROWTH);
|
||||
m_uiGrowth_Timer = 30000;
|
||||
}
|
||||
|
||||
@@ -27,46 +27,44 @@ EndScriptData */
|
||||
#include "ScriptedCreature.h"
|
||||
#include "gruuls_lair.h"
|
||||
|
||||
#define SAY_AGGRO -1565000
|
||||
#define SAY_ENRAGE -1565001
|
||||
#define SAY_OGRE_DEATH1 -1565002
|
||||
#define SAY_OGRE_DEATH2 -1565003
|
||||
#define SAY_OGRE_DEATH3 -1565004
|
||||
#define SAY_OGRE_DEATH4 -1565005
|
||||
#define SAY_SLAY1 -1565006
|
||||
#define SAY_SLAY2 -1565007
|
||||
#define SAY_SLAY3 -1565008
|
||||
#define SAY_DEATH -1565009
|
||||
enum HighKingMaulgar
|
||||
{
|
||||
SAY_AGGRO = 0,
|
||||
SAY_ENRAGE = 1,
|
||||
SAY_OGRE_DEATH = 2,
|
||||
SAY_SLAY = 3,
|
||||
SAY_DEATH = 4,
|
||||
|
||||
// High King Maulgar
|
||||
#define SPELL_ARCING_SMASH 39144
|
||||
#define SPELL_MIGHTY_BLOW 33230
|
||||
#define SPELL_WHIRLWIND 33238
|
||||
#define SPELL_BERSERKER_C 26561
|
||||
#define SPELL_ROAR 16508
|
||||
#define SPELL_FLURRY 33232
|
||||
#define SPELL_DUAL_WIELD 29651 //used in phase
|
||||
// High King Maulgar
|
||||
SPELL_ARCING_SMASH = 39144,
|
||||
SPELL_MIGHTY_BLOW = 33230,
|
||||
SPELL_WHIRLWIND = 33238,
|
||||
SPELL_BERSERKER_C = 26561,
|
||||
SPELL_ROAR = 16508,
|
||||
SPELL_FLURRY = 33232,
|
||||
SPELL_DUAL_WIELD = 29651,
|
||||
|
||||
// Olm the Summoner
|
||||
#define SPELL_DARK_DECAY 33129
|
||||
#define SPELL_DEATH_COIL 33130
|
||||
#define SPELL_SUMMON_WFH 33131
|
||||
// Olm the Summoner
|
||||
SPELL_DARK_DECAY = 33129,
|
||||
SPELL_DEATH_COIL = 33130,
|
||||
SPELL_SUMMON_WFH = 33131,
|
||||
|
||||
//Kiggler the Craed
|
||||
#define SPELL_GREATER_POLYMORPH 33173
|
||||
#define SPELL_LIGHTNING_BOLT 36152
|
||||
#define SPELL_ARCANE_SHOCK 33175
|
||||
#define SPELL_ARCANE_EXPLOSION 33237
|
||||
//Kiggler the Craed
|
||||
SPELL_GREATER_POLYMORPH = 33173,
|
||||
SPELL_LIGHTNING_BOLT = 36152,
|
||||
SPELL_ARCANE_SHOCK = 33175,
|
||||
SPELL_ARCANE_EXPLOSION = 33237,
|
||||
|
||||
//Blindeye the Seer
|
||||
#define SPELL_GREATER_PW_SHIELD 33147
|
||||
#define SPELL_HEAL 33144
|
||||
#define SPELL_PRAYER_OH 33152
|
||||
//Blindeye the Seer
|
||||
SPELL_GREATER_PW_SHIELD = 33147,
|
||||
SPELL_HEAL = 33144,
|
||||
SPELL_PRAYER_OH = 33152,
|
||||
|
||||
//Krosh Firehand
|
||||
#define SPELL_GREATER_FIREBALL 33051
|
||||
#define SPELL_SPELLSHIELD 33054
|
||||
#define SPELL_BLAST_WAVE 33061
|
||||
//Krosh Firehand
|
||||
SPELL_GREATER_FIREBALL = 33051,
|
||||
SPELL_SPELLSHIELD = 33054,
|
||||
SPELL_BLAST_WAVE = 33061
|
||||
};
|
||||
|
||||
bool CheckAllBossDied(InstanceScript* instance, Creature* me)
|
||||
{
|
||||
@@ -171,12 +169,12 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (CheckAllBossDied(instance, me))
|
||||
instance->SetData(DATA_MAULGAREVENT, DONE);
|
||||
@@ -184,7 +182,7 @@ public:
|
||||
|
||||
void AddDeath()
|
||||
{
|
||||
DoScriptText(RAND(SAY_OGRE_DEATH1, SAY_OGRE_DEATH2, SAY_OGRE_DEATH3, SAY_OGRE_DEATH4), me);
|
||||
Talk(SAY_OGRE_DEATH);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
@@ -211,7 +209,7 @@ public:
|
||||
|
||||
GetCouncil();
|
||||
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
instance->SetData64(DATA_MAULGAREVENT_TANK, who->GetGUID());
|
||||
instance->SetData(DATA_MAULGAREVENT, IN_PROGRESS);
|
||||
@@ -269,7 +267,7 @@ public:
|
||||
if (!Phase2 && HealthBelowPct(50))
|
||||
{
|
||||
Phase2 = true;
|
||||
DoScriptText(SAY_ENRAGE, me);
|
||||
Talk(SAY_ENRAGE);
|
||||
|
||||
DoCast(me, SPELL_DUAL_WIELD, true);
|
||||
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID, 0);
|
||||
|
||||
@@ -29,7 +29,7 @@ EndScriptData */
|
||||
|
||||
enum eEnums
|
||||
{
|
||||
SAY_AGGRO = -1542008,
|
||||
SAY_AGGRO = 0,
|
||||
|
||||
SPELL_SLIME_SPRAY = 30913,
|
||||
SPELL_POISON_CLOUD = 30916,
|
||||
@@ -73,7 +73,7 @@ class boss_broggok : public CreatureScript
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summoned)
|
||||
|
||||
+10
-13
@@ -35,14 +35,11 @@ EndContentData */
|
||||
|
||||
enum eKelidan
|
||||
{
|
||||
SAY_WAKE = -1542000,
|
||||
SAY_ADD_AGGRO_1 = -1542001,
|
||||
SAY_ADD_AGGRO_2 = -1542002,
|
||||
SAY_ADD_AGGRO_3 = -1542003,
|
||||
SAY_KILL_1 = -1542004,
|
||||
SAY_KILL_2 = -1542005,
|
||||
SAY_NOVA = -1542006,
|
||||
SAY_DIE = -1542007,
|
||||
SAY_WAKE = 0,
|
||||
SAY_ADD_AGGRO = 1,
|
||||
SAY_KILL = 2,
|
||||
SAY_NOVA = 3,
|
||||
SAY_DIE = 4,
|
||||
|
||||
SPELL_CORRUPTION = 30938,
|
||||
SPELL_EVOCATION = 30935,
|
||||
@@ -117,7 +114,7 @@ class boss_kelidan_the_breaker : public CreatureScript
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoScriptText(SAY_WAKE, me);
|
||||
Talk(SAY_WAKE);
|
||||
if (me->IsNonMeleeSpellCasted(false))
|
||||
me->InterruptNonMeleeSpells(true);
|
||||
DoStartMovement(who);
|
||||
@@ -130,7 +127,7 @@ class boss_kelidan_the_breaker : public CreatureScript
|
||||
if (rand()%2)
|
||||
return;
|
||||
|
||||
DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
|
||||
Talk(SAY_KILL);
|
||||
}
|
||||
|
||||
void ChannelerEngaged(Unit* who)
|
||||
@@ -138,7 +135,7 @@ class boss_kelidan_the_breaker : public CreatureScript
|
||||
if (who && !addYell)
|
||||
{
|
||||
addYell = true;
|
||||
DoScriptText(RAND(SAY_ADD_AGGRO_1, SAY_ADD_AGGRO_2, SAY_ADD_AGGRO_3), me);
|
||||
Talk(SAY_ADD_AGGRO);
|
||||
}
|
||||
for (uint8 i=0; i<5; ++i)
|
||||
{
|
||||
@@ -194,7 +191,7 @@ class boss_kelidan_the_breaker : public CreatureScript
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DIE, me);
|
||||
Talk(SAY_DIE);
|
||||
|
||||
if (!instance)
|
||||
return;
|
||||
@@ -254,7 +251,7 @@ class boss_kelidan_the_breaker : public CreatureScript
|
||||
if (me->IsNonMeleeSpellCasted(false))
|
||||
me->InterruptNonMeleeSpells(true);
|
||||
|
||||
DoScriptText(SAY_NOVA, me);
|
||||
Talk(SAY_NOVA);
|
||||
|
||||
if (SpellInfo const* nova = sSpellMgr->GetSpellInfo(SPELL_BURNING_NOVA))
|
||||
{
|
||||
|
||||
@@ -29,17 +29,14 @@ EndScriptData */
|
||||
|
||||
enum eEnums
|
||||
{
|
||||
SAY_AGGRO_1 = -1542009,
|
||||
SAY_AGGRO_2 = -1542010,
|
||||
SAY_AGGRO_3 = -1542011,
|
||||
SAY_KILL_1 = -1542012,
|
||||
SAY_KILL_2 = -1542013,
|
||||
SAY_DIE = -1542014,
|
||||
SAY_AGGRO = 0,
|
||||
SAY_KILL = 1,
|
||||
SAY_DIE = 2,
|
||||
|
||||
SPELL_ACID_SPRAY = 38153, // heroic 38973 ??? 38153
|
||||
SPELL_ACID_SPRAY = 38153,
|
||||
SPELL_EXPLODING_BREAKER = 30925,
|
||||
SPELL_KNOCKDOWN = 20276,
|
||||
SPELL_DOMINATION = 25772 // ???
|
||||
SPELL_DOMINATION = 25772
|
||||
};
|
||||
|
||||
class boss_the_maker : public CreatureScript
|
||||
@@ -81,7 +78,7 @@ class boss_the_maker : public CreatureScript
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
if (!instance)
|
||||
return;
|
||||
@@ -92,12 +89,12 @@ class boss_the_maker : public CreatureScript
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
|
||||
Talk(SAY_KILL);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DIE, me);
|
||||
Talk(SAY_DIE);
|
||||
|
||||
if (!instance)
|
||||
return;
|
||||
|
||||
+12
-14
@@ -29,14 +29,12 @@ EndScriptData */
|
||||
|
||||
enum eSays
|
||||
{
|
||||
SAY_AGGRO_1 = -1543009,
|
||||
SAY_AGGRO_2 = -1543010,
|
||||
SAY_AGGRO_3 = -1543011,
|
||||
SAY_SUMMON = -1543012,
|
||||
SAY_CURSE = -1543013,
|
||||
SAY_KILL_1 = -1543014,
|
||||
SAY_DIE = -1543015,
|
||||
SAY_WIPE = -1543016,
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SUMMON = 1,
|
||||
SAY_CURSE = 2,
|
||||
SAY_KILL_1 = 3,
|
||||
SAY_DIE = 4,
|
||||
SAY_WIPE = 5,
|
||||
};
|
||||
|
||||
enum eSpells
|
||||
@@ -79,7 +77,7 @@ class boss_omor_the_unscarred : public CreatureScript
|
||||
|
||||
void Reset()
|
||||
{
|
||||
DoScriptText(SAY_WIPE, me);
|
||||
Talk(SAY_WIPE);
|
||||
|
||||
OrbitalStrike_Timer = 25000;
|
||||
ShadowWhip_Timer = 2000;
|
||||
@@ -94,7 +92,7 @@ class boss_omor_the_unscarred : public CreatureScript
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
@@ -102,12 +100,12 @@ class boss_omor_the_unscarred : public CreatureScript
|
||||
if (rand()%2)
|
||||
return;
|
||||
|
||||
DoScriptText(SAY_KILL_1, me);
|
||||
Talk(SAY_KILL_1);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summoned)
|
||||
{
|
||||
DoScriptText(SAY_SUMMON, me);
|
||||
Talk(SAY_SUMMON);
|
||||
|
||||
if (Unit* random = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
summoned->AI()->AttackStart(random);
|
||||
@@ -117,7 +115,7 @@ class boss_omor_the_unscarred : public CreatureScript
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DIE, me);
|
||||
Talk(SAY_DIE);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -192,7 +190,7 @@ class boss_omor_the_unscarred : public CreatureScript
|
||||
|
||||
if (Aura_Timer <= diff)
|
||||
{
|
||||
DoScriptText(SAY_CURSE, me);
|
||||
Talk(SAY_CURSE);
|
||||
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
{
|
||||
|
||||
+14
-17
@@ -39,7 +39,7 @@ enum eSpells
|
||||
SPELL_REVENGE = 19130,
|
||||
SPELL_REVENGE_H = 40392,
|
||||
SPELL_KIDNEY_SHOT = 30621,
|
||||
SPELL_FIRE_NOVA_VISUAL = 19823,
|
||||
SPELL_FIRE_NOVA_VISUAL = 19823
|
||||
};
|
||||
|
||||
enum eUnits
|
||||
@@ -50,20 +50,17 @@ enum eUnits
|
||||
ENTRY_NAZAN = 17536,
|
||||
ENTRY_LIQUID_FIRE = 22515,
|
||||
ENTRY_REINFORCED_FEL_IRON_CHEST = 185168,
|
||||
ENTRY_REINFORCED_FEL_IRON_CHEST_H = 185169,
|
||||
ENTRY_REINFORCED_FEL_IRON_CHEST_H = 185169
|
||||
};
|
||||
|
||||
enum eSays
|
||||
{
|
||||
SAY_INTRO = -1543017,
|
||||
SAY_WIPE = -1543018,
|
||||
SAY_AGGRO_1 = -1543019,
|
||||
SAY_AGGRO_2 = -1543020,
|
||||
SAY_AGGRO_3 = -1543021,
|
||||
SAY_KILL_1 = -1543022,
|
||||
SAY_KILL_2 = -1543023,
|
||||
SAY_DIE = -1543024,
|
||||
EMOTE = -1543025,
|
||||
SAY_INTRO = 0,
|
||||
SAY_WIPE = 1,
|
||||
SAY_AGGRO = 2,
|
||||
SAY_KILL = 3,
|
||||
SAY_DIE = 4,
|
||||
EMOTE = 5
|
||||
};
|
||||
|
||||
const float VazrudenMiddle[3] = {-1406.5f, 1746.5f, 81.2f};
|
||||
@@ -153,7 +150,7 @@ class boss_nazan : public CreatureScript
|
||||
if (Unit* victim = SelectTarget(SELECT_TARGET_NEAREST, 0))
|
||||
me->AI()->AttackStart(victim);
|
||||
DoStartMovement(me->getVictim());
|
||||
DoScriptText(EMOTE, me);
|
||||
Talk(EMOTE);
|
||||
return;
|
||||
}
|
||||
else
|
||||
@@ -229,19 +226,19 @@ class boss_vazruden : public CreatureScript
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* who)
|
||||
{
|
||||
if (who && who->GetEntry() != ENTRY_VAZRUDEN)
|
||||
DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
|
||||
Talk(SAY_KILL);
|
||||
}
|
||||
|
||||
void JustDied(Unit* killer)
|
||||
{
|
||||
if (killer && killer != me)
|
||||
DoScriptText(SAY_DIE, me);
|
||||
Talk(SAY_DIE);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -252,7 +249,7 @@ class boss_vazruden : public CreatureScript
|
||||
{
|
||||
if (!WipeSaid)
|
||||
{
|
||||
DoScriptText(SAY_WIPE, me);
|
||||
Talk(SAY_WIPE);
|
||||
WipeSaid = true;
|
||||
}
|
||||
me->DisappearAndDie();
|
||||
@@ -364,7 +361,7 @@ class boss_vazruden_the_herald : public CreatureScript
|
||||
{
|
||||
phase = 1;
|
||||
check = 0;
|
||||
DoScriptText(SAY_INTRO, me);
|
||||
Talk(SAY_INTRO);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+12
-15
@@ -28,15 +28,12 @@ EndScriptData */
|
||||
|
||||
enum eSays
|
||||
{
|
||||
SAY_TAUNT = -1543000,
|
||||
SAY_HEAL = -1543001,
|
||||
SAY_SURGE = -1543002,
|
||||
SAY_AGGRO_1 = -1543003,
|
||||
SAY_AGGRO_2 = -1543004,
|
||||
SAY_AGGRO_3 = -1543005,
|
||||
SAY_KILL_1 = -1543006,
|
||||
SAY_KILL_2 = -1543007,
|
||||
SAY_DIE = -1543008,
|
||||
SAY_TAUNT = 0,
|
||||
SAY_HEAL = 1,
|
||||
SAY_SURGE = 2,
|
||||
SAY_AGGRO = 3,
|
||||
SAY_KILL = 4,
|
||||
SAY_DIE = 5
|
||||
};
|
||||
|
||||
enum eSpells
|
||||
@@ -81,7 +78,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* who)
|
||||
@@ -99,7 +96,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript
|
||||
}
|
||||
else if (!HasTaunted && me->IsWithinDistInMap(who, 60.0f))
|
||||
{
|
||||
DoScriptText(SAY_TAUNT, me);
|
||||
Talk(SAY_TAUNT);
|
||||
HasTaunted = true;
|
||||
}
|
||||
}
|
||||
@@ -107,12 +104,12 @@ class boss_watchkeeper_gargolmar : public CreatureScript
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
|
||||
Talk(SAY_KILL);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DIE, me);
|
||||
Talk(SAY_DIE);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -130,7 +127,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript
|
||||
|
||||
if (Surge_Timer <= diff)
|
||||
{
|
||||
DoScriptText(SAY_SURGE, me);
|
||||
Talk(SAY_SURGE);
|
||||
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(target, SPELL_SURGE);
|
||||
@@ -155,7 +152,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript
|
||||
{
|
||||
if (HealthBelowPct(40))
|
||||
{
|
||||
DoScriptText(SAY_HEAL, me);
|
||||
Talk(SAY_HEAL);
|
||||
YelledForHeal = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,36 +29,22 @@ EndScriptData */
|
||||
#include "Player.h"
|
||||
#include "SpellInfo.h"
|
||||
|
||||
struct Yell
|
||||
{
|
||||
int32 id;
|
||||
};
|
||||
|
||||
static Yell RandomTaunt[]=
|
||||
{
|
||||
{-1544000},
|
||||
{-1544001},
|
||||
{-1544002},
|
||||
{-1544003},
|
||||
{-1544004},
|
||||
{-1544005},
|
||||
};
|
||||
|
||||
enum eSays
|
||||
{
|
||||
SAY_FREED = -1544006,
|
||||
SAY_AGGRO = -1544007,
|
||||
SAY_BANISH = -1544008,
|
||||
SAY_CHAMBER_DESTROY = -1544009,
|
||||
SAY_PLAYER_KILLED = -1544010,
|
||||
SAY_DEATH = -1544011,
|
||||
SAY_TAUNT = 0,
|
||||
SAY_FREED = 1,
|
||||
SAY_AGGRO = 2,
|
||||
SAY_BANISH = 3,
|
||||
SAY_CHAMBER_DESTROY = 4,
|
||||
SAY_PLAYER_KILLED = 5,
|
||||
SAY_DEATH = 6
|
||||
};
|
||||
|
||||
enum eEmotes
|
||||
{
|
||||
EMOTE_BERSERK = -1544012,
|
||||
EMOTE_BLASTNOVA = -1544013,
|
||||
EMOTE_BEGIN = -1544014,
|
||||
EMOTE_BERSERK = 7,
|
||||
EMOTE_BLASTNOVA = 8,
|
||||
EMOTE_BEGIN = 9
|
||||
};
|
||||
|
||||
enum eCreatures
|
||||
@@ -309,7 +295,7 @@ class boss_magtheridon : public CreatureScript
|
||||
// if 5 clickers from other cubes apply shadow cage
|
||||
if (ClickerNum >= CLICKERS_COUNT && !me->HasAura(SPELL_SHADOW_CAGE))
|
||||
{
|
||||
DoScriptText(SAY_BANISH, me);
|
||||
Talk(SAY_BANISH);
|
||||
DoCast(me, SPELL_SHADOW_CAGE, true);
|
||||
}
|
||||
else
|
||||
@@ -322,7 +308,7 @@ class boss_magtheridon : public CreatureScript
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(SAY_PLAYER_KILLED, me);
|
||||
Talk(SAY_PLAYER_KILLED);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
@@ -330,7 +316,7 @@ class boss_magtheridon : public CreatureScript
|
||||
if (instance)
|
||||
instance->SetData(DATA_MAGTHERIDON_EVENT, DONE);
|
||||
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_DEATH);
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* /*who*/) {}
|
||||
@@ -350,7 +336,7 @@ class boss_magtheridon : public CreatureScript
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->RemoveAurasDueToSpell(SPELL_SHADOW_CAGE_C);
|
||||
|
||||
DoScriptText(SAY_FREED, me);
|
||||
Talk(SAY_FREED);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -359,7 +345,7 @@ class boss_magtheridon : public CreatureScript
|
||||
{
|
||||
if (RandChat_Timer <= diff)
|
||||
{
|
||||
DoScriptText(RandomTaunt[rand()%6].id, me);
|
||||
Talk(SAY_TAUNT);
|
||||
RandChat_Timer = 90000;
|
||||
}
|
||||
else
|
||||
@@ -374,7 +360,7 @@ class boss_magtheridon : public CreatureScript
|
||||
if (Berserk_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_BERSERK, true);
|
||||
DoScriptText(EMOTE_BERSERK, me);
|
||||
Talk(EMOTE_BERSERK);
|
||||
Berserk_Timer = 60000;
|
||||
}
|
||||
else
|
||||
@@ -393,7 +379,7 @@ class boss_magtheridon : public CreatureScript
|
||||
// to avoid earthquake interruption
|
||||
if (!me->HasUnitState(UNIT_STATE_STUNNED))
|
||||
{
|
||||
DoScriptText(EMOTE_BLASTNOVA, me);
|
||||
Talk(EMOTE_BLASTNOVA);
|
||||
DoCast(me, SPELL_BLASTNOVA);
|
||||
BlastNova_Timer = 60000;
|
||||
}
|
||||
@@ -437,7 +423,7 @@ class boss_magtheridon : public CreatureScript
|
||||
&& !me->HasUnitState(UNIT_STATE_STUNNED)) // shadow cage and earthquake
|
||||
{
|
||||
Phase3 = true;
|
||||
DoScriptText(SAY_CHAMBER_DESTROY, me);
|
||||
Talk(SAY_CHAMBER_DESTROY);
|
||||
DoCast(me, SPELL_CAMERA_SHAKE, true);
|
||||
DoCast(me, SPELL_DEBRIS_KNOCKDOWN, true);
|
||||
|
||||
|
||||
@@ -33,38 +33,15 @@ EndContentData */
|
||||
#include "ScriptedCreature.h"
|
||||
#include "shattered_halls.h"
|
||||
|
||||
struct Say
|
||||
{
|
||||
int32 id;
|
||||
};
|
||||
|
||||
static Say PeonAttacked[]=
|
||||
{
|
||||
{-1540001},
|
||||
{-1540002},
|
||||
{-1540003},
|
||||
{-1540004},
|
||||
};
|
||||
static Say PeonDies[]=
|
||||
{
|
||||
{-1540005},
|
||||
{-1540006},
|
||||
{-1540007},
|
||||
{-1540008},
|
||||
};
|
||||
|
||||
enum eSays
|
||||
{
|
||||
SAY_INTRO = -1540000,
|
||||
SAY_TAUNT_1 = -1540009,
|
||||
SAY_TAUNT_2 = -1540010,
|
||||
SAY_TAUNT_3 = -1540011,
|
||||
SAY_AGGRO_1 = -1540012,
|
||||
SAY_AGGRO_2 = -1540013,
|
||||
SAY_AGGRO_3 = -1540014,
|
||||
SAY_SLAY_1 = -1540015,
|
||||
SAY_SLAY_2 = -1540016,
|
||||
SAY_DIE = -1540017,
|
||||
SAY_INTRO = 0,
|
||||
SAY_PEON_ATTACKED = 1,
|
||||
SAY_PEON_DIES = 2,
|
||||
SAY_TAUNT = 3,
|
||||
SAY_AGGRO = 4,
|
||||
SAY_SLAY = 5,
|
||||
SAY_DIE = 6
|
||||
};
|
||||
|
||||
enum eSpells
|
||||
@@ -137,7 +114,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
|
||||
if (PeonEngagedCount >= 4)
|
||||
return;
|
||||
|
||||
DoScriptText(PeonAttacked[PeonEngagedCount].id, me);
|
||||
Talk(SAY_PEON_ATTACKED);
|
||||
++PeonEngagedCount;
|
||||
}
|
||||
|
||||
@@ -146,7 +123,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
|
||||
if (PeonKilledCount >= 4)
|
||||
return;
|
||||
|
||||
DoScriptText(PeonDies[PeonKilledCount].id, me);
|
||||
Talk(SAY_PEON_DIES);
|
||||
++PeonKilledCount;
|
||||
|
||||
if (PeonKilledCount == 4)
|
||||
@@ -159,7 +136,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
|
||||
|
||||
void DoTauntPeons()
|
||||
{
|
||||
DoScriptText(RAND(SAY_TAUNT_1, SAY_TAUNT_2, SAY_TAUNT_3), me);
|
||||
Talk(SAY_TAUNT);
|
||||
|
||||
//TODO: kill the peons first
|
||||
IsIntroEvent = false;
|
||||
@@ -190,7 +167,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
return;
|
||||
|
||||
DoScriptText(SAY_INTRO, me);
|
||||
Talk(SAY_INTRO);
|
||||
IntroOnce = true;
|
||||
IsIntroEvent = true;
|
||||
|
||||
@@ -206,7 +183,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me);
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summoned)
|
||||
@@ -222,12 +199,12 @@ class boss_grand_warlock_nethekurse : public CreatureScript
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DIE, me);
|
||||
Talk(SAY_DIE);
|
||||
|
||||
if (!instance)
|
||||
return;
|
||||
|
||||
@@ -87,11 +87,12 @@ public:
|
||||
|
||||
enum eNetherdrake
|
||||
{
|
||||
SAY_NIHIL_1 = -1000169, //signed for 5955
|
||||
SAY_NIHIL_2 = -1000170, //signed for 5955
|
||||
SAY_NIHIL_3 = -1000171, //signed for 5955
|
||||
SAY_NIHIL_4 = -1000172, //signed for 20021, used by 20021, 21817, 21820, 21821, 21823
|
||||
SAY_NIHIL_INTERRUPT = -1000173, //signed for 20021, used by 20021, 21817, 21820, 21821, 21823
|
||||
//Used by 20021, 21817, 21820, 21821, 21823 but not existing in database
|
||||
SAY_NIHIL_1 = 0,
|
||||
SAY_NIHIL_2 = 1,
|
||||
SAY_NIHIL_3 = 2,
|
||||
SAY_NIHIL_4 = 3,
|
||||
SAY_NIHIL_INTERRUPT = 4,
|
||||
|
||||
ENTRY_WHELP = 20021,
|
||||
ENTRY_PROTO = 21821,
|
||||
@@ -176,7 +177,7 @@ public:
|
||||
//we are nihil, so say before transform
|
||||
if (me->GetEntry() == ENTRY_NIHIL)
|
||||
{
|
||||
DoScriptText(SAY_NIHIL_INTERRUPT, me);
|
||||
Talk(SAY_NIHIL_INTERRUPT);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
IsNihil = false;
|
||||
}
|
||||
@@ -203,19 +204,19 @@ public:
|
||||
switch (NihilSpeech_Phase)
|
||||
{
|
||||
case 0:
|
||||
DoScriptText(SAY_NIHIL_1, me);
|
||||
Talk(SAY_NIHIL_1);
|
||||
++NihilSpeech_Phase;
|
||||
break;
|
||||
case 1:
|
||||
DoScriptText(SAY_NIHIL_2, me);
|
||||
Talk(SAY_NIHIL_2);
|
||||
++NihilSpeech_Phase;
|
||||
break;
|
||||
case 2:
|
||||
DoScriptText(SAY_NIHIL_3, me);
|
||||
Talk(SAY_NIHIL_3);
|
||||
++NihilSpeech_Phase;
|
||||
break;
|
||||
case 3:
|
||||
DoScriptText(SAY_NIHIL_4, me);
|
||||
Talk(SAY_NIHIL_4);
|
||||
++NihilSpeech_Phase;
|
||||
break;
|
||||
case 4:
|
||||
@@ -266,7 +267,7 @@ public:
|
||||
|
||||
enum eDaranelle
|
||||
{
|
||||
SAY_SPELL_INFLUENCE = -1000174,
|
||||
SAY_SPELL_INFLUENCE = 0,
|
||||
SPELL_LASHHAN_CHANNEL = 36904
|
||||
};
|
||||
|
||||
@@ -294,7 +295,7 @@ public:
|
||||
{
|
||||
if (who->HasAura(SPELL_LASHHAN_CHANNEL) && me->IsWithinDistInMap(who, 10.0f))
|
||||
{
|
||||
DoScriptText(SAY_SPELL_INFLUENCE, me, who);
|
||||
Talk(SAY_SPELL_INFLUENCE, who->GetGUID());
|
||||
//TODO: Move the below to updateAI and run if this statement == true
|
||||
DoCast(who, 37028, true);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user