aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp36
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h34
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp22
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp42
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp18
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp32
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp647
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp23
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp21
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp19
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp69
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp40
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp40
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp36
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp207
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp33
-rw-r--r--src/server/scripts/Kalimdor/ashenvale.cpp40
-rw-r--r--src/server/scripts/Kalimdor/azshara.cpp18
-rw-r--r--src/server/scripts/Kalimdor/desolace.cpp7
-rw-r--r--src/server/scripts/Kalimdor/durotar.cpp4
-rw-r--r--src/server/scripts/Kalimdor/moonglade.cpp29
-rw-r--r--src/server/scripts/Kalimdor/silithus.cpp174
-rw-r--r--src/server/scripts/Kalimdor/teldrassil.cpp8
-rw-r--r--src/server/scripts/Kalimdor/the_barrens.cpp85
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp6
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp51
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp83
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp113
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp45
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp43
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp36
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp36
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp3
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp49
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp121
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp45
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp12
37 files changed, 1108 insertions, 1219 deletions
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
index aa41fa992dc..70c5bc8b986 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
@@ -619,42 +619,6 @@ uint32 hyjalAI::GetInstanceData(uint32 Event)
return 0;
}
-void hyjalAI::Talk(uint32 id)
-{
- std::list<uint8> index;
- for (uint8 i = 0; i < 9; ++i)
- {
- if (Faction == 0) // Alliance
- {
- if (JainaQuotes[i].id == id)
- index.push_back(i);
- }
- else if (Faction == 1) // Horde
- {
- if (ThrallQuotes[i].id == id)
- index.push_back(i);
- }
- }
-
- if (index.empty())
- return; // No quotes found, no use to continue
-
- uint8 ind = *(index.begin()) + rand()%index.size();
-
- int32 YellId = 0;
- if (Faction == 0) // Alliance
- {
- YellId = JainaQuotes[ind].textid;
- }
- else if (Faction == 1) // Horde
- {
- YellId = ThrallQuotes[ind].textid;
- }
-
- if (YellId)
- DoScriptText(YellId, me);
-}
-
void hyjalAI::Retreat()
{
if (instance)
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
index 68efa94d98b..5fe724c7845 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
@@ -132,12 +132,6 @@ enum TargetType // Used in the spell
TARGETTYPE_VICTIM = 2,
};
-struct Yells
-{
- uint32 id; // Used to determine the type of yell (attack, rally, etc)
- int32 textid; // The text id to be yelled
-};
-
enum YellId
{
ATTACKED = 0, // Used when attacked and set in combat
@@ -149,32 +143,6 @@ enum YellId
DEATH = 6, // Used on death
};
-const Yells JainaQuotes[]=
-{
- {ATTACKED, -1534000},
- {ATTACKED, -1534001},
- {INCOMING, -1534002},
- {BEGIN, -1534003},
- {RALLY, -1534004},
- {RALLY, -1534005},
- {FAILURE, -1534006},
- {SUCCESS, -1534007},
- {DEATH, -1534008},
-};
-
-const Yells ThrallQuotes[]=
-{
- {ATTACKED, -1534009},
- {ATTACKED, -1534010},
- {INCOMING, -1534011},
- {BEGIN, -1534012},
- {RALLY, -1534013},
- {RALLY, -1534014},
- {FAILURE, -1534015},
- {SUCCESS, -1534016},
- {DEATH, -1534017},
-};
-
struct hyjalAI : public npc_escortAI
{
hyjalAI(Creature* creature);
@@ -215,8 +183,6 @@ struct hyjalAI : public npc_escortAI
uint32 GetInstanceData(uint32 Event); // Gets instance data for this instance, used to check if raid has gotten past a certain point and can access the next phase
- void Talk(uint32 id); // Searches for the appropriate yell and sound and uses it to inform the raid of various things
-
public:
InstanceScript* instance;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp
index 7b468cb7fe5..17cae714b58 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp
@@ -38,15 +38,11 @@ enum Spells
enum Yells
{
- SAY_INTRO = -1595000, //"Prince Arthas Menethil, on this day, a powerful darkness has taken hold of your soul. The death you are destined to visit upon others will this day be your own."
- SAY_AGGRO = -1595001, //"We'll see about that, young prince."
- SAY_TIME_WARP_1 = -1595002, //"Tick tock, tick tock..."
- SAY_TIME_WARP_2 = -1595003, //"Not quick enough!"
- SAY_TIME_WARP_3 = -1595004, //"Let's get this over with. "
- SAY_SLAY_1 = -1595005, //"There is no future for you."
- SAY_SLAY_2 = -1595006, //"This is the hour of our greatest triumph!"
- SAY_SLAY_3 = -1595007, //"You were destined to fail. "
- SAY_DEATH = -1595008 //"*gurgles*"
+ SAY_INTRO = 0,
+ SAY_AGGRO = 1,
+ SAY_TIME_WARP = 2,
+ SAY_SLAY = 3,
+ SAY_DEATH = 4
};
class boss_epoch : public CreatureScript
@@ -91,7 +87,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_EPOCH_EVENT, IN_PROGRESS);
@@ -124,7 +120,7 @@ public:
if (uiTimeWarpTimer < diff)
{
- DoScriptText(RAND(SAY_TIME_WARP_1, SAY_TIME_WARP_2, SAY_TIME_WARP_3), me);
+ Talk(SAY_TIME_WARP);
DoCastAOE(SPELL_TIME_WARP);
uiTimeWarpTimer = 25300;
} else uiTimeWarpTimer -= diff;
@@ -134,7 +130,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(DATA_EPOCH_EVENT, DONE);
@@ -145,7 +141,7 @@ public:
if (victim == me)
return;
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
+ Talk(SAY_SLAY);
}
};
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
index 88b2a766671..b07f4120e97 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
@@ -42,23 +42,15 @@ enum Spells
enum Yells
{
- SAY_INTRO_1 = -1595009,
- SAY_INTRO_2 = -1595010,
- SAY_AGGRO = -1595011,
- SAY_KILL_1 = -1595012,
- SAY_KILL_2 = -1595013,
- SAY_KILL_3 = -1595014,
- SAY_SLAY_1 = -1595015,
- SAY_SLAY_2 = -1595016,
- SAY_SLAY_3 = -1595017,
- SAY_SLAY_4 = -1595018,
- SAY_SLEEP_1 = -1595019,
- SAY_SLEEP_2 = -1595020,
- SAY_30HEALTH = -1595021,
- SAY_15HEALTH = -1595022,
- SAY_ESCAPE_SPEECH_1 = -1595023,
- SAY_ESCAPE_SPEECH_2 = -1595024,
- SAY_OUTRO = -1595025,
+ SAY_AGGRO = 2,
+ SAY_KILL = 3,
+ SAY_SLAY = 4,
+ SAY_SLEEP = 5,
+ SAY_30HEALTH = 6,
+ SAY_15HEALTH = 7,
+ SAY_ESCAPE_SPEECH_1 = 8,
+ SAY_ESCAPE_SPEECH_2 = 9,
+ SAY_OUTRO = 10
};
enum CombatPhases
@@ -116,7 +108,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_MAL_GANIS_EVENT, IN_PROGRESS);
}
@@ -138,13 +130,13 @@ public:
if (!bYelled && HealthBelowPct(30))
{
- DoScriptText(SAY_30HEALTH, me);
+ Talk(SAY_30HEALTH);
bYelled = true;
}
if (!bYelled2 && HealthBelowPct(15))
{
- DoScriptText(SAY_15HEALTH, me);
+ Talk(SAY_15HEALTH);
bYelled2 = true;
}
@@ -187,7 +179,7 @@ public:
if (uiSleepTimer < diff)
{
- DoScriptText(RAND(SAY_SLEEP_1, SAY_SLEEP_2), me);
+ Talk(SAY_SLEEP);
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(target, SPELL_SLEEP);
uiSleepTimer = urand(15000, 20000);
@@ -201,7 +193,7 @@ public:
switch (uiOutroStep)
{
case 1:
- DoScriptText(SAY_ESCAPE_SPEECH_1, me);
+ Talk(SAY_ESCAPE_SPEECH_1);
me->GetMotionMaster()->MoveTargetedHome();
++uiOutroStep;
uiOutroTimer = 8000;
@@ -209,12 +201,12 @@ public:
case 2:
me->SetTarget(instance ? instance->GetData64(DATA_ARTHAS) : 0);
me->HandleEmoteCommand(29);
- DoScriptText(SAY_ESCAPE_SPEECH_2, me);
+ Talk(SAY_ESCAPE_SPEECH_2);
++uiOutroStep;
uiOutroTimer = 9000;
break;
case 3:
- DoScriptText(SAY_OUTRO, me);
+ Talk(SAY_OUTRO);
++uiOutroStep;
uiOutroTimer = 16000;
break;
@@ -250,7 +242,7 @@ public:
if (victim == me)
return;
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3, SAY_SLAY_4), me);
+ Talk(SAY_SLAY);
}
};
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
index 8e80af66379..05d9fe8b5e4 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
@@ -38,12 +38,10 @@ enum Spells
enum Yells
{
- SAY_AGGRO = -1595026,
- SAY_SLAY_1 = -1595027,
- SAY_SLAY_2 = -1595028,
- SAY_SLAY_3 = -1595029,
- SAY_SPAWN = -1595030,
- SAY_DEATH = -1595031
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_SPAWN = 2,
+ SAY_DEATH = 3
};
class boss_meathook : public CreatureScript
@@ -62,7 +60,7 @@ public:
{
instance = creature->GetInstanceScript();
if (instance)
- DoScriptText(SAY_SPAWN, me);
+ Talk(SAY_SPAWN);
}
uint32 uiChainTimer;
@@ -83,7 +81,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_MEATHOOK_EVENT, IN_PROGRESS);
@@ -119,7 +117,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(DATA_MEATHOOK_EVENT, DONE);
@@ -130,7 +128,7 @@ public:
if (victim == me)
return;
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
+ Talk(SAY_SLAY);
}
};
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp
index d23957ddf81..3a490301e47 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp
@@ -40,19 +40,13 @@ enum Spells
enum Yells
{
- SAY_AGGRO = -1595032,
- SAY_SPAWN = -1595033,
- SAY_SLAY_1 = -1595034,
- SAY_SLAY_2 = -1595035,
- SAY_SLAY_3 = -1595036,
- SAY_DEATH = -1595037,
- SAY_EXPLODE_GHOUL_1 = -1595038,
- SAY_EXPLODE_GHOUL_2 = -1595039,
- SAY_STEAL_FLESH_1 = -1595040,
- SAY_STEAL_FLESH_2 = -1595041,
- SAY_STEAL_FLESH_3 = -1595042,
- SAY_SUMMON_GHOULS_1 = -1595043,
- SAY_SUMMON_GHOULS_2 = -1595044
+ SAY_AGGRO = 0,
+ SAY_SPAWN = 1,
+ SAY_SLAY = 2,
+ SAY_DEATH = 3,
+ SAY_EXPLODE_GHOUL = 4,
+ SAY_STEAL_FLESH = 5,
+ SAY_SUMMON_GHOULS = 6
};
class boss_salramm : public CreatureScript
@@ -71,7 +65,7 @@ public:
{
instance = creature->GetInstanceScript();
if (instance)
- DoScriptText(SAY_SPAWN, me);
+ Talk(SAY_SPAWN);
}
uint32 uiCurseFleshTimer;
@@ -96,7 +90,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_SALRAMM_EVENT, IN_PROGRESS);
@@ -126,7 +120,7 @@ public:
//Steal Flesh timer
if (uiStealFleshTimer <= diff)
{
- DoScriptText(RAND(SAY_STEAL_FLESH_1, SAY_STEAL_FLESH_2, SAY_STEAL_FLESH_3), me);
+ Talk(SAY_STEAL_FLESH);
if (Unit* random_pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(random_pTarget, SPELL_STEAL_FLESH);
uiStealFleshTimer = 10000;
@@ -135,7 +129,7 @@ public:
//Summon ghouls timer
if (uiSummonGhoulsTimer <= diff)
{
- DoScriptText(RAND(SAY_SUMMON_GHOULS_1, SAY_SUMMON_GHOULS_2), me);
+ Talk(SAY_SUMMON_GHOULS);
if (Unit* random_pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(random_pTarget, SPELL_SUMMON_GHOULS);
uiSummonGhoulsTimer = 10000;
@@ -146,7 +140,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(DATA_SALRAMM_EVENT, DONE);
@@ -157,7 +151,7 @@ public:
if (victim == me)
return;
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
+ Talk(SAY_SLAY);
}
};
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
index 365c5dd7300..3329ecf88d2 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
@@ -26,65 +26,84 @@
enum Says
{
- //First Act - Uther and Jaina Dialog
- SAY_PHASE101 = -1595070, //Arthas
- SAY_PHASE102 = -1595071, //Uther
- SAY_PHASE103 = -1595072, //Arthas
- SAY_PHASE104 = -1595073, //Arthas
- SAY_PHASE105 = -1595074, //Uther
- SAY_PHASE106 = -1595075, //Arthas
- SAY_PHASE107 = -1595076, //Uther
- SAY_PHASE108 = -1595077, //Arthas
- SAY_PHASE109 = -1595078, //Arthas
- SAY_PHASE110 = -1595079, //Uther
- SAY_PHASE111 = -1595080, //Arthas
- SAY_PHASE112 = -1595081, //Uther
- SAY_PHASE113 = -1595082, //Jaina
- SAY_PHASE114 = -1595083, //Arthas
- SAY_PHASE115 = -1595084, //Uther
- SAY_PHASE116 = -1595085, //Arthas
- SAY_PHASE117 = -1595086, //Jaina
- SAY_PHASE118 = -1595087, //Arthas
+ //Arthas
+ //First Act
+ SAY_PHASE101 = 0,
+ SAY_PHASE103 = 1,
+ SAY_PHASE104 = 2,
+ SAY_PHASE106 = 3,
+ SAY_PHASE108 = 4,
+ SAY_PHASE110 = 5,
+ SAY_PHASE112 = 6,
+ SAY_PHASE114 = 7,
+ SAY_PHASE116 = 8,
+ SAY_PHASE118 = 9,
+
//Second Act - City Streets
- SAY_PHASE201 = -1595088, //Arthas
- SAY_PHASE202 = -1595089, //Cityman
- SAY_PHASE203 = -1595090, //Arthas
- SAY_PHASE204 = -1595091, //Crazyman
- SAY_PHASE205 = -1595092, //Arthas
- SAY_PHASE206 = -1595009, //Malganis
- SAY_PHASE207 = -1595010, //Malganis
- SAY_PHASE208 = -1595093, //Arthas
- SAY_PHASE209 = -1595094, //Arthas
- SAY_PHASE210 = -1595095, //Arthas
+ SAY_PHASE201 = 10,
+ SAY_PHASE203 = 11,
+ SAY_PHASE205 = 12,
+ SAY_PHASE208 = 13,
+ SAY_PHASE209 = 14,
+ SAY_PHASE210 = 15,
+
//Third Act - Town Hall
- SAY_PHASE301 = -1595096, //Arthas
- SAY_PHASE302 = -1595097, //Drakonian
- SAY_PHASE303 = -1595098, //Arthas
- SAY_PHASE304 = -1595099, //Arthas
- SAY_PHASE305 = -1595100, //Drakonian
- SAY_PHASE306 = -1595101, //Arthas
- SAY_PHASE307 = -1595102, //Arthas
- SAY_PHASE308 = -1595103, //Arthas
- SAY_PHASE309 = -1595104, //Arthas
- SAY_PHASE310 = -1595105, //Arthas
- SAY_PHASE311 = -1595106, //Arthas
- SAY_PHASE312 = -1595107, //Arthas
- SAY_PHASE313 = -1595108, //Arthas
- SAY_PHASE314 = -1595000, //Epoch
- SAY_PHASE315 = -1595109, //Arthas
+ SAY_PHASE301 = 16,
+ SAY_PHASE303 = 17,
+ SAY_PHASE304 = 18,
+ SAY_PHASE306 = 19,
+ SAY_PHASE307 = 20,
+ SAY_PHASE308 = 21,
+ SAY_PHASE309 = 22,
+ SAY_PHASE310 = 23,
+ SAY_PHASE311 = 24,
+ SAY_PHASE312 = 25,
+ SAY_PHASE313 = 26,
+ SAY_PHASE315 = 27,
+
//Fourth Act - Fire Corridor
- SAY_PHASE401 = -1595110, //Arthas
- SAY_PHASE402 = -1595111, //Arthas
- SAY_PHASE403 = -1595112, //Arthas
- SAY_PHASE404 = -1595113, //Arthas
- SAY_PHASE405 = -1595114, //Arthas
- SAY_PHASE406 = -1595115, //Arthas
- SAY_PHASE407 = -1595116, //Arthas
+ SAY_PHASE401 = 28,
+ SAY_PHASE402 = 29,
+ SAY_PHASE403 = 30,
+ SAY_PHASE404 = 31,
+ SAY_PHASE405 = 32,
+ SAY_PHASE406 = 33,
+ SAY_PHASE407 = 34,
+
//Fifth Act - Mal'Ganis Fight
- SAY_PHASE501 = -1595117, //Arthas
- SAY_PHASE502 = -1595118, //Arthas
- SAY_PHASE503 = -1595119, //Arthas
- SAY_PHASE504 = -1595120, //Arthas
+ SAY_PHASE501 = 35,
+ SAY_PHASE502 = 36,
+ SAY_PHASE503 = 37,
+ SAY_PHASE504 = 38,
+
+ //Malganis
+ SAY_PHASE206 = 0,
+ SAY_PHASE207 = 1,
+
+ //Epoch
+ SAY_PHASE314 = 0,
+
+ //Uther
+ SAY_PHASE102 = 0,
+ SAY_PHASE105 = 1,
+ SAY_PHASE107 = 2,
+ SAY_PHASE109 = 3,
+ SAY_PHASE111 = 4,
+ SAY_PHASE115 = 5,
+
+ //Jaina
+ SAY_PHASE113 = 0,
+ SAY_PHASE117 = 1,
+
+ //Cityman
+ SAY_PHASE202 = 0,
+
+ //Crazyman
+ SAY_PHASE204 = 0,
+
+ //Drakonian
+ SAY_PHASE302 = 0,
+ SAY_PHASE305 = 1,
};
enum NPCs
@@ -250,27 +269,27 @@ public:
ai->Start(true, true, player->GetGUID(), 0, false, false);
ai->SetDespawnAtEnd(false);
ai->bStepping = false;
- ai->uiStep = 1;
+ ai->step = 1;
break;
case GOSSIP_ACTION_INFO_DEF+1:
ai->bStepping = true;
- ai->uiStep = 24;
+ ai->step = 24;
break;
case GOSSIP_ACTION_INFO_DEF+2:
ai->SetHoldState(false);
ai->bStepping = false;
- ai->uiStep = 61;
+ ai->step = 61;
break;
case GOSSIP_ACTION_INFO_DEF+3:
ai->SetHoldState(false);
break;
case GOSSIP_ACTION_INFO_DEF+4:
ai->bStepping = true;
- ai->uiStep = 84;
+ ai->step = 84;
break;
case GOSSIP_ACTION_INFO_DEF+5:
ai->bStepping = true;
- ai->uiStep = 85;
+ ai->step = 85;
break;
}
player->CLOSE_GOSSIP_MENU();
@@ -285,7 +304,7 @@ public:
if (ai && ai->bStepping == false)
{
- switch (ai->uiGossipStep)
+ switch (ai->gossipStep)
{
case 0: //This one is a workaround since the very beggining of the script is wrong.
{
@@ -339,46 +358,46 @@ public:
InstanceScript* instance;
bool bStepping;
- uint32 uiStep;
- uint32 uiPhaseTimer;
- uint32 uiGossipStep;
- uint32 uiPlayerFaction;
- uint32 uiBossEvent;
- uint32 uiWave;
-
- uint64 uiUtherGUID;
- uint64 uiJainaGUID;
- uint64 uiCitymenGUID[2];
- uint64 uiWaveGUID[ENCOUNTER_WAVES_MAX_SPAWNS];
- uint64 uiInfiniteDraconianGUID[ENCOUNTER_DRACONIAN_NUMBER];
- uint64 uiStalkerGUID;
-
- uint64 uiBossGUID; //uiMeathookGUID || uiSalrammGUID
- uint64 uiEpochGUID;
- uint64 uiMalganisGUID;
- uint64 uiInfiniteGUID;
-
- uint32 uiExorcismTimer;
+ uint32 step;
+ uint32 phaseTimer;
+ uint32 gossipStep;
+ uint32 playerFaction;
+ uint32 bossEvent;
+ uint32 wave;
+
+ uint64 utherGUID;
+ uint64 jainaGUID;
+ uint64 citymenGUID[2];
+ uint64 waveGUID[ENCOUNTER_WAVES_MAX_SPAWNS];
+ uint64 infiniteDraconianGUID[ENCOUNTER_DRACONIAN_NUMBER];
+ uint64 stalkerGUID;
+
+ uint64 bossGUID;
+ uint64 epochGUID;
+ uint64 malganisGUID;
+ uint64 infiniteGUID;
+
+ uint32 exorcismTimer;
void Reset()
{
- uiUtherGUID = 0;
- uiJainaGUID = 0;
+ utherGUID = 0;
+ jainaGUID = 0;
for (uint8 i = 0; i < 2; ++i)
- uiCitymenGUID[i] = 0;
+ citymenGUID[i] = 0;
for (uint8 i = 0; i < ENCOUNTER_WAVES_MAX_SPAWNS; ++i)
- uiWaveGUID[i] = 0;
+ waveGUID[i] = 0;
for (uint8 i = 0; i < ENCOUNTER_DRACONIAN_NUMBER; ++i)
- uiInfiniteDraconianGUID[i] = 0;
+ infiniteDraconianGUID[i] = 0;
- uiStalkerGUID = 0;
- uiBossGUID = 0;
- uiEpochGUID = 0;
- uiMalganisGUID = 0;
- uiInfiniteGUID = 0;
+ stalkerGUID = 0;
+ bossGUID = 0;
+ epochGUID = 0;
+ malganisGUID = 0;
+ infiniteGUID = 0;
if (instance) {
instance->SetData(DATA_ARTHAS_EVENT, NOT_STARTED);
@@ -386,15 +405,15 @@ public:
{
case NOT_STARTED:
bStepping = true;
- uiStep = 0;
+ step = 0;
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
- uiBossEvent = DATA_MEATHOOK_EVENT;
- uiGossipStep = 0;
+ bossEvent = DATA_MEATHOOK_EVENT;
+ gossipStep = 0;
break;
}
- uiPhaseTimer = 1000;
- uiExorcismTimer = 7300;
- uiWave = 0;
+ phaseTimer = 1000;
+ exorcismTimer = 7300;
+ wave = 0;
}
}
@@ -423,7 +442,7 @@ public:
temp->SetReactState(REACT_PASSIVE);
temp->GetMotionMaster()->MovePoint(0, RiftAndSpawnsLocations[i][1], RiftAndSpawnsLocations[i][2], RiftAndSpawnsLocations[i][3]);
if ((uint32)RiftAndSpawnsLocations[i][0] == NPC_EPOCH)
- uiEpochGUID = temp->GetGUID();
+ epochGUID = temp->GetGUID();
}
}
}
@@ -447,8 +466,8 @@ public:
void JumpToNextStep(uint32 uiTimer)
{
- uiPhaseTimer = uiTimer;
- ++uiStep;
+ phaseTimer = uiTimer;
+ ++step;
}
void WaypointReached(uint32 waypointId)
@@ -470,74 +489,74 @@ public:
bStepping = true;
break;
case 7:
- if (Unit* pCityman0 = me->SummonCreature(NPC_CITY_MAN, 2091.977f, 1275.021f, 140.757f, 0.558f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000))
- uiCitymenGUID[0] = pCityman0->GetGUID();
- if (Unit* pCityman1 = me->SummonCreature(NPC_CITY_MAN2, 2093.514f, 1275.842f, 140.408f, 3.801f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000))
- uiCitymenGUID[1] = pCityman1->GetGUID();
+ if (Unit* cityman0 = me->SummonCreature(NPC_CITY_MAN, 2091.977f, 1275.021f, 140.757f, 0.558f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000))
+ citymenGUID[0] = cityman0->GetGUID();
+ if (Unit* cityman1 = me->SummonCreature(NPC_CITY_MAN2, 2093.514f, 1275.842f, 140.408f, 3.801f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000))
+ citymenGUID[1] = cityman1->GetGUID();
break;
case 8:
- uiGossipStep = 1;
+ gossipStep = 1;
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
SetHoldState(true);
break;
case 12:
SetRun(true);
- DoScriptText(SAY_PHASE210, me);
- if (Unit* pDisguised0 = me->SummonCreature(NPC_CITY_MAN3, 2398.14f, 1207.81f, 134.04f, 5.155249f, TEMPSUMMON_DEAD_DESPAWN, 180000))
+ Talk(SAY_PHASE210);
+ if (Unit* disguised0 = me->SummonCreature(NPC_CITY_MAN3, 2398.14f, 1207.81f, 134.04f, 5.155249f, TEMPSUMMON_DEAD_DESPAWN, 180000))
{
- uiInfiniteDraconianGUID[0] = pDisguised0->GetGUID();
- if (Unit* pDisguised1 = me->SummonCreature(NPC_CITY_MAN4, 2403.22f, 1205.54f, 134.04f, 3.311264f, TEMPSUMMON_DEAD_DESPAWN, 180000))
+ infiniteDraconianGUID[0] = disguised0->GetGUID();
+ if (Unit* disguised1 = me->SummonCreature(NPC_CITY_MAN4, 2403.22f, 1205.54f, 134.04f, 3.311264f, TEMPSUMMON_DEAD_DESPAWN, 180000))
{
- uiInfiniteDraconianGUID[1] = pDisguised1->GetGUID();
+ infiniteDraconianGUID[1] = disguised1->GetGUID();
- if (Unit* pDisguised2 = me->SummonCreature(NPC_CITY_MAN, 2400.82f, 1201.69f, 134.01f, 1.534082f, TEMPSUMMON_DEAD_DESPAWN, 180000))
+ if (Unit* disguised2 = me->SummonCreature(NPC_CITY_MAN, 2400.82f, 1201.69f, 134.01f, 1.534082f, TEMPSUMMON_DEAD_DESPAWN, 180000))
{
- uiInfiniteDraconianGUID[2] = pDisguised2->GetGUID();
- pDisguised0->SetTarget(uiInfiniteDraconianGUID[1]);
- pDisguised1->SetTarget(uiInfiniteDraconianGUID[0]);
- pDisguised2->SetTarget(uiInfiniteDraconianGUID[1]);
+ infiniteDraconianGUID[2] = disguised2->GetGUID();
+ disguised0->SetTarget(infiniteDraconianGUID[1]);
+ disguised1->SetTarget(infiniteDraconianGUID[0]);
+ disguised2->SetTarget(infiniteDraconianGUID[1]);
}
}
}
break;
case 20:
- uiGossipStep = 2;
+ gossipStep = 2;
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
SetRun(false);
SetHoldState(true);
break;
case 21:
- DoScriptText(SAY_PHASE301, me);
+ Talk(SAY_PHASE301);
break;
case 25:
SetRun(false);
- SpawnTimeRift(0, &uiInfiniteDraconianGUID[0]);
- DoScriptText(SAY_PHASE307, me);
+ SpawnTimeRift(0, &infiniteDraconianGUID[0]);
+ Talk(SAY_PHASE307);
break;
case 29:
SetRun(false);
- SpawnTimeRift(5, &uiInfiniteDraconianGUID[0]);
- SpawnTimeRift(8, &uiInfiniteDraconianGUID[2]);
- DoScriptText(SAY_PHASE309, me);
+ SpawnTimeRift(5, &infiniteDraconianGUID[0]);
+ SpawnTimeRift(8, &infiniteDraconianGUID[2]);
+ Talk(SAY_PHASE309);
SetHoldState(true);
bStepping = true;
break;
case 31:
SetRun(false);
- SpawnTimeRift(11, &uiInfiniteDraconianGUID[0]);
- SpawnTimeRift(14, &uiInfiniteDraconianGUID[2]);
- DoScriptText(SAY_PHASE311, me);
+ SpawnTimeRift(11, &infiniteDraconianGUID[0]);
+ SpawnTimeRift(14, &infiniteDraconianGUID[2]);
+ Talk(SAY_PHASE311);
SetHoldState(true);
bStepping = true;
break;
case 32:
- DoScriptText(SAY_PHASE401, me);
+ Talk(SAY_PHASE401);
break;
case 34:
- DoScriptText(SAY_PHASE402, me);
+ Talk(SAY_PHASE402);
break;
case 35:
- DoScriptText(SAY_PHASE403, me);
+ Talk(SAY_PHASE403);
break;
case 36:
if (instance)
@@ -547,23 +566,23 @@ public:
case 45:
SetRun(true);
SetDespawnAtFar(false);
- uiGossipStep = 4;
+ gossipStep = 4;
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
SetHoldState(true);
break;
case 47:
SetRun(false);
- DoScriptText(SAY_PHASE405, me);
+ Talk(SAY_PHASE405);
break;
case 48:
SetRun(true);
- DoScriptText(SAY_PHASE406, me);
+ Talk(SAY_PHASE406);
break;
case 53:
- DoScriptText(SAY_PHASE407, me);
+ Talk(SAY_PHASE407);
break;
case 54:
- uiGossipStep = 5;
+ gossipStep = 5;
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
SetHoldState(true);
break;
@@ -578,18 +597,18 @@ public:
if (bStepping)
{
- if (uiPhaseTimer <= diff)
+ if (phaseTimer <= diff)
{
- switch (uiStep)
+ switch (step)
{
//After reset
case 0:
{
- Unit* pJaina = GetClosestCreatureWithEntry(me, NPC_JAINA, 50.0f);
- if (!pJaina)
- pJaina = me->SummonCreature(NPC_JAINA, 1895.48f, 1292.66f, 143.706f, 0.023475f, TEMPSUMMON_DEAD_DESPAWN, 180000);
- if (pJaina)
- uiJainaGUID = pJaina->GetGUID();
+ Unit* jaina = GetClosestCreatureWithEntry(me, NPC_JAINA, 50.0f);
+ if (!jaina)
+ jaina = me->SummonCreature(NPC_JAINA, 1895.48f, 1292.66f, 143.706f, 0.023475f, TEMPSUMMON_DEAD_DESPAWN, 180000);
+ if (jaina)
+ jainaGUID = jaina->GetGUID();
bStepping = false;
JumpToNextStep(0);
break;
@@ -597,24 +616,24 @@ public:
//After waypoint 0
case 1:
me->SetWalk(false);
- if (Unit* pUther = me->SummonCreature(NPC_UTHER, 1794.357f, 1272.183f, 140.558f, 1.37f, TEMPSUMMON_DEAD_DESPAWN, 180000))
+ if (Unit* uther = me->SummonCreature(NPC_UTHER, 1794.357f, 1272.183f, 140.558f, 1.37f, TEMPSUMMON_DEAD_DESPAWN, 180000))
{
- uiUtherGUID = pUther->GetGUID();
- pUther->SetWalk(false);
- pUther->GetMotionMaster()->MovePoint(0, 1897.018f, 1287.487f, 143.481f);
- pUther->SetTarget(me->GetGUID());
- me->SetTarget(uiUtherGUID);
+ utherGUID = uther->GetGUID();
+ uther->SetWalk(false);
+ uther->GetMotionMaster()->MovePoint(0, 1897.018f, 1287.487f, 143.481f);
+ uther->SetTarget(me->GetGUID());
+ me->SetTarget(utherGUID);
}
JumpToNextStep(17000);
break;
case 2:
- DoScriptText(SAY_PHASE101, me);
+ Talk(SAY_PHASE101);
JumpToNextStep(2000);
break;
case 3:
- if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID))
+ if (Creature* uther = Unit::GetCreature(*me, utherGUID))
{
- DoScriptText(SAY_PHASE102, pUther);
+ uther->AI()->Talk(SAY_PHASE102);
}
JumpToNextStep(8000);
break;
@@ -622,90 +641,90 @@ public:
SetEscortPaused(false);
bStepping = false;
SetRun(false);
- DoScriptText(SAY_PHASE103, me);
+ Talk(SAY_PHASE103);
JumpToNextStep(0);
break;
//After waypoint 1
case 5:
- if (Creature* pJaina = Unit::GetCreature(*me, uiJainaGUID))
- pJaina->SetTarget(me->GetGUID());
- DoScriptText(SAY_PHASE104, me);
+ if (Creature* jaina = Unit::GetCreature(*me, jainaGUID))
+ jaina->SetTarget(me->GetGUID());
+ Talk(SAY_PHASE104);
JumpToNextStep(10000);
break;
case 6:
- if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID))
- DoScriptText(SAY_PHASE105, pUther);
+ if (Creature* uther = Unit::GetCreature(*me, utherGUID))
+ uther->AI()->Talk(SAY_PHASE105);
JumpToNextStep(1000);
break;
case 7:
- DoScriptText(SAY_PHASE106, me);
+ Talk(SAY_PHASE106);
JumpToNextStep(4000);
break;
case 8:
- if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID))
- DoScriptText(SAY_PHASE107, pUther);
+ if (Creature* uther = Unit::GetCreature(*me, utherGUID))
+ uther->AI()->Talk(SAY_PHASE107);
JumpToNextStep(6000);
break;
case 9:
- DoScriptText(SAY_PHASE108, me);
+ Talk(SAY_PHASE108);
JumpToNextStep(4000);
break;
case 10:
- if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID))
- DoScriptText(SAY_PHASE109, pUther);
+ if (Creature* uther = Unit::GetCreature(*me, utherGUID))
+ uther->AI()->Talk(SAY_PHASE109);
JumpToNextStep(8000);
break;
case 11:
- DoScriptText(SAY_PHASE110, me);
+ Talk(SAY_PHASE110);
JumpToNextStep(4000);
break;
case 12:
- if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID))
- DoScriptText(SAY_PHASE111, pUther);
+ if (Creature* uther = Unit::GetCreature(*me, utherGUID))
+ uther->AI()->Talk(SAY_PHASE111);
JumpToNextStep(4000);
break;
case 13:
- DoScriptText(SAY_PHASE112, me);
+ Talk(SAY_PHASE112);
JumpToNextStep(11000);
break;
case 14:
- if (Creature* pJaina = Unit::GetCreature(*me, uiJainaGUID))
- DoScriptText(SAY_PHASE113, pJaina);
+ if (Creature* jaina = Unit::GetCreature(*me, jainaGUID))
+ jaina->AI()->Talk(SAY_PHASE113);
JumpToNextStep(3000);
break;
case 15:
- DoScriptText(SAY_PHASE114, me);
+ Talk(SAY_PHASE114);
JumpToNextStep(9000);
break;
case 16:
- if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID))
- DoScriptText(SAY_PHASE115, pUther);
+ if (Creature* uther = Unit::GetCreature(*me, utherGUID))
+ uther->AI()->Talk(SAY_PHASE115);
JumpToNextStep(4000);
break;
case 17:
- if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID))
+ if (Creature* uther = Unit::GetCreature(*me, utherGUID))
{
- pUther->SetWalk(true);
- pUther->GetMotionMaster()->MovePoint(0, 1794.357f, 1272.183f, 140.558f);
+ uther->SetWalk(true);
+ uther->GetMotionMaster()->MovePoint(0, 1794.357f, 1272.183f, 140.558f);
}
JumpToNextStep(1000);
break;
case 18:
- if (Creature* pJaina = Unit::GetCreature(*me, uiJainaGUID))
+ if (Creature* jaina = Unit::GetCreature(*me, jainaGUID))
{
- me->SetTarget(uiJainaGUID);
- pJaina->SetWalk(true);
- pJaina->GetMotionMaster()->MovePoint(0, 1794.357f, 1272.183f, 140.558f);
+ me->SetTarget(jainaGUID);
+ jaina->SetWalk(true);
+ jaina->GetMotionMaster()->MovePoint(0, 1794.357f, 1272.183f, 140.558f);
}
JumpToNextStep(1000);
break;
case 19:
- DoScriptText(SAY_PHASE116, me);
+ Talk(SAY_PHASE116);
JumpToNextStep(1000);
break;
case 20:
- if (Creature* pJaina = Unit::GetCreature(*me, uiJainaGUID))
- DoScriptText(SAY_PHASE117, pJaina);
+ if (Creature* jaina = Unit::GetCreature(*me, jainaGUID))
+ jaina->AI()->Talk(SAY_PHASE117);
JumpToNextStep(3000);
break;
case 21:
@@ -716,8 +735,8 @@ public:
break;
//After waypoint 3
case 22:
- DoScriptText(SAY_PHASE118, me);
- me->SetTarget(uiJainaGUID);
+ Talk(SAY_PHASE118);
+ me->SetTarget(jainaGUID);
JumpToNextStep(10000);
break;
case 23:
@@ -725,11 +744,11 @@ public:
bStepping = false;
SetRun(true);
- if (Creature* pJaina = Unit::GetCreature(*me, uiJainaGUID))
- pJaina->DisappearAndDie();
+ if (Creature* jaina = Unit::GetCreature(*me, jainaGUID))
+ jaina->DisappearAndDie();
- if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID))
- pUther->DisappearAndDie();
+ if (Creature* uther = Unit::GetCreature(*me, utherGUID))
+ uther->DisappearAndDie();
me->SetTarget(0);
JumpToNextStep(0);
@@ -738,13 +757,13 @@ public:
case 24:
if (Unit* pStalker = me->SummonCreature(NPC_INVIS_TARGET, 2026.469f, 1287.088f, 143.596f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 14000))
{
- uiStalkerGUID = pStalker->GetGUID();
- me->SetTarget(uiStalkerGUID);
+ stalkerGUID = pStalker->GetGUID();
+ me->SetTarget(stalkerGUID);
}
JumpToNextStep(1000);
break;
case 25:
- DoScriptText(SAY_PHASE201, me);
+ Talk(SAY_PHASE201);
JumpToNextStep(12000);
break;
case 26:
@@ -756,24 +775,24 @@ public:
break;
//After waypoint 9
case 27:
- me->SetTarget(uiCitymenGUID[0]);
- if (Creature* pCityman = Unit::GetCreature(*me, uiCitymenGUID[0]))
+ me->SetTarget(citymenGUID[0]);
+ if (Creature* cityman = Unit::GetCreature(*me, citymenGUID[0]))
{
- pCityman->SetTarget(me->GetGUID());
- pCityman->SetWalk(true);
- pCityman->GetMotionMaster()->MovePoint(0, 2088.625f, 1279.191f, 140.743f);
+ cityman->SetTarget(me->GetGUID());
+ cityman->SetWalk(true);
+ cityman->GetMotionMaster()->MovePoint(0, 2088.625f, 1279.191f, 140.743f);
}
JumpToNextStep(2000);
break;
case 28:
- if (Creature* pCityman = Unit::GetCreature(*me, uiCitymenGUID[0]))
- DoScriptText(SAY_PHASE202, pCityman);
+ if (Creature* cityman = Unit::GetCreature(*me, citymenGUID[0]))
+ cityman->AI()->Talk(SAY_PHASE202);
JumpToNextStep(4000);
break;
case 29:
SetEscortPaused(false);
bStepping = false;
- DoScriptText(SAY_PHASE203, me);
+ Talk(SAY_PHASE203);
JumpToNextStep(0);
break;
//After waypoint 10
@@ -784,13 +803,13 @@ public:
case 31:
SetEscortPaused(false);
bStepping = false;
- if (Creature* pCityman1 = Unit::GetCreature(*me, uiCitymenGUID[1]))
+ if (Creature* cityman1 = Unit::GetCreature(*me, citymenGUID[1]))
{
- DoScriptText(SAY_PHASE204, pCityman1);
- pCityman1->SetTarget(me->GetGUID());
- if (Creature* pCityman0 = Unit::GetCreature(*me, uiCitymenGUID[0]))
- pCityman0->Kill(pCityman0);
- me->SetTarget(uiCitymenGUID[1]);
+ cityman1->AI()->Talk(SAY_PHASE204);
+ cityman1->SetTarget(me->GetGUID());
+ if (Creature* cityman0 = Unit::GetCreature(*me, citymenGUID[0]))
+ cityman0->Kill(cityman0);
+ me->SetTarget(citymenGUID[1]);
}
JumpToNextStep(0);
break;
@@ -800,75 +819,75 @@ public:
JumpToNextStep(1000);
break;
case 33:
- if (Creature* pCityman1 = Unit::GetCreature(*me, uiCitymenGUID[1]))
- pCityman1->Kill(pCityman1);
+ if (Creature* cityman1 = Unit::GetCreature(*me, citymenGUID[1]))
+ cityman1->Kill(cityman1);
JumpToNextStep(1000);
break;
case 34:
if (Unit* pStalker = me->SummonCreature(NPC_INVIS_TARGET, 2081.447f, 1287.770f, 141.3241f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 10000))
{
- uiStalkerGUID = pStalker->GetGUID();
- me->SetTarget(uiStalkerGUID);
+ stalkerGUID = pStalker->GetGUID();
+ me->SetTarget(stalkerGUID);
}
- DoScriptText(SAY_PHASE205, me);
+ Talk(SAY_PHASE205);
JumpToNextStep(3000);
break;
case 35:
if (Unit* pStalkerM = me->SummonCreature(NPC_INVIS_TARGET, 2117.349f, 1288.624f, 136.271f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 60000))
{
- uiStalkerGUID = pStalkerM->GetGUID();
- me->SetTarget(uiStalkerGUID);
+ stalkerGUID = pStalkerM->GetGUID();
+ me->SetTarget(stalkerGUID);
}
JumpToNextStep(1000);
break;
case 36:
- if (Creature* pMalganis = me->SummonCreature(NPC_MAL_GANIS, 2117.349f, 1288.624f, 136.271f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 60000))
+ if (Creature* malganis = me->SummonCreature(NPC_MAL_GANIS, 2117.349f, 1288.624f, 136.271f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 60000))
{
- if (Creature* pStalkerM = Unit::GetCreature(*me, uiStalkerGUID))
- pMalganis->CastSpell(pStalkerM, 63793, false);
+ if (Creature* pStalkerM = Unit::GetCreature(*me, stalkerGUID))
+ malganis->CastSpell(pStalkerM, 63793, false);
- uiMalganisGUID = pMalganis->GetGUID();
- DoScriptText(SAY_PHASE206, pMalganis);
- pMalganis->SetTarget(me->GetGUID());
- pMalganis->SetReactState(REACT_PASSIVE);
+ malganisGUID = malganis->GetGUID();
+ malganis->AI()->Talk(SAY_PHASE206);
+ malganis->SetTarget(me->GetGUID());
+ malganis->SetReactState(REACT_PASSIVE);
}
JumpToNextStep(11000);
break;
case 37:
- if (Creature* pMalganis = Unit::GetCreature(*me, uiMalganisGUID))
+ if (Creature* malganis = Unit::GetCreature(*me, malganisGUID))
{
- Creature* pZombie = GetClosestCreatureWithEntry(pMalganis, NPC_CITY_MAN, 100.0f);
+ Creature* pZombie = GetClosestCreatureWithEntry(malganis, NPC_CITY_MAN, 100.0f);
if (!pZombie)
- pZombie = GetClosestCreatureWithEntry(pMalganis, NPC_CITY_MAN2, 100.0f);
+ pZombie = GetClosestCreatureWithEntry(malganis, NPC_CITY_MAN2, 100.0f);
if (pZombie)
pZombie->UpdateEntry(NPC_ZOMBIE, 0);
else //There's no one else to transform
- uiStep++;
+ step++;
}
else
- uiStep++;
- uiPhaseTimer = 500;
+ step++;
+ phaseTimer = 500;
break;
case 38:
- if (Creature* pMalganis = Unit::GetCreature(*me, uiMalganisGUID))
- DoScriptText(SAY_PHASE207, pMalganis);
+ if (Creature* malganis = Unit::GetCreature(*me, malganisGUID))
+ malganis->AI()->Talk(SAY_PHASE207);
JumpToNextStep(17000);
break;
case 39:
- if (Creature* pMalganis = Unit::GetCreature(*me, uiMalganisGUID))
- pMalganis->SetVisible(false);
- DoScriptText(SAY_PHASE208, me);
+ if (Creature* malganis = Unit::GetCreature(*me, malganisGUID))
+ malganis->SetVisible(false);
+ Talk(SAY_PHASE208);
JumpToNextStep(7000);
break;
case 40:
if (Unit* pStalker = me->SummonCreature(NPC_INVIS_TARGET, 2081.447f, 1287.770f, 141.3241f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 10000))
{
- uiStalkerGUID = pStalker->GetGUID();
- me->SetTarget(uiStalkerGUID);
+ stalkerGUID = pStalker->GetGUID();
+ me->SetTarget(stalkerGUID);
}
- DoScriptText(SAY_PHASE209, me);
+ Talk(SAY_PHASE209);
- uiBossEvent = DATA_MEATHOOK_EVENT;
+ bossEvent = DATA_MEATHOOK_EVENT;
if (instance)
instance->SetData(DATA_ARTHAS_EVENT, IN_PROGRESS);
@@ -884,10 +903,10 @@ public:
case 53:
case 55:
case 57:
- if (instance->GetData(uiBossEvent) != DONE)
+ if (instance->GetData(bossEvent) != DONE)
{
- SpawnWaveGroup(uiWave, uiWaveGUID);
- uiWave++;
+ SpawnWaveGroup(wave, waveGUID);
+ wave++;
}
JumpToNextStep(500);
break;
@@ -899,16 +918,16 @@ public:
case 54:
case 56:
case 58:
- if (instance->GetData(uiBossEvent) != DONE)
+ if (instance->GetData(bossEvent) != DONE)
{
uint32 mobCounter = 0;
uint32 deadCounter = 0;
for (uint8 i = 0; i < ENCOUNTER_WAVES_MAX_SPAWNS; ++i)
{
- if (uiWaveGUID[i] == 0)
+ if (waveGUID[i] == 0)
break;
++mobCounter;
- Unit* temp = Unit::GetCreature(*me, uiWaveGUID[i]);
+ Unit* temp = Unit::GetCreature(*me, waveGUID[i]);
if (!temp || temp->isDead())
++deadCounter;
}
@@ -916,24 +935,24 @@ public:
if (mobCounter <= deadCounter) //If group is dead
JumpToNextStep(1000);
else
- uiPhaseTimer = 1000;
+ phaseTimer = 1000;
}
else
JumpToNextStep(500);
break;
case 49: //Summon Boss
case 59:
- if (instance->GetData(uiBossEvent) != DONE)
+ if (instance->GetData(bossEvent) != DONE)
{
uint32 uiBossID = 0;
- if (uiBossEvent == DATA_MEATHOOK_EVENT)
+ if (bossEvent == DATA_MEATHOOK_EVENT)
uiBossID = NPC_MEATHOOK;
- else if (uiBossEvent == DATA_SALRAMM_EVENT)
+ else if (bossEvent == DATA_SALRAMM_EVENT)
uiBossID = NPC_SALRAMM;
if (Unit* pBoss = me->SummonCreature(uiBossID, 2232.19f, 1331.933f, 126.662f, 3.15f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 900000))
{
- uiBossGUID = pBoss->GetGUID();
+ bossGUID = pBoss->GetGUID();
pBoss->SetWalk(true);
pBoss->GetMotionMaster()->MovePoint(0, 2194.110f, 1332.00f, 130.00f);
}
@@ -944,42 +963,42 @@ public:
case 60:
if (instance)
{
- if (instance->GetData(uiBossEvent) == DONE)
+ if (instance->GetData(bossEvent) == DONE)
{
JumpToNextStep(1000);
- if (uiBossEvent == DATA_MEATHOOK_EVENT)
- uiBossEvent = DATA_SALRAMM_EVENT;
- else if (uiBossEvent == DATA_SALRAMM_EVENT)
+ if (bossEvent == DATA_MEATHOOK_EVENT)
+ bossEvent = DATA_SALRAMM_EVENT;
+ else if (bossEvent == DATA_SALRAMM_EVENT)
{
SetHoldState(false);
bStepping = false;
- uiBossEvent = DATA_EPOCH_EVENT;
+ bossEvent = DATA_EPOCH_EVENT;
}
}
- else if (instance->GetData(uiBossEvent) == FAIL)
+ else if (instance->GetData(bossEvent) == FAIL)
npc_escortAI::EnterEvadeMode();
else
- uiPhaseTimer = 10000;
+ phaseTimer = 10000;
}
break;
//After Gossip 2 (waypoint 22)
case 61:
me->SetReactState(REACT_AGGRESSIVE);
- if (Creature* pDisguised0 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[0]))
- pDisguised0->SetTarget(me->GetGUID());
- if (Creature* pDisguised1 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[1]))
- pDisguised1->SetTarget(me->GetGUID());
- if (Creature* pDisguised2 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[2]))
- pDisguised2->SetTarget(me->GetGUID());
+ if (Creature* disguised0 = Unit::GetCreature(*me, infiniteDraconianGUID[0]))
+ disguised0->SetTarget(me->GetGUID());
+ if (Creature* disguised1 = Unit::GetCreature(*me, infiniteDraconianGUID[1]))
+ disguised1->SetTarget(me->GetGUID());
+ if (Creature* disguised2 = Unit::GetCreature(*me, infiniteDraconianGUID[2]))
+ disguised2->SetTarget(me->GetGUID());
JumpToNextStep(1000);
break;
case 62:
- if (Creature* pDisguised0 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[0]))
- DoScriptText(SAY_PHASE302, pDisguised0);
+ if (Creature* disguised0 = Unit::GetCreature(*me, infiniteDraconianGUID[0]))
+ disguised0->AI()->Talk(SAY_PHASE302);
JumpToNextStep(7000);
break;
case 63:
- DoScriptText(SAY_PHASE303, me);
+ Talk(SAY_PHASE303);
SetHoldState(false);
bStepping = false;
JumpToNextStep(0);
@@ -990,46 +1009,46 @@ public:
JumpToNextStep(1000);
break;
case 65:
- if (Creature* pDisguised0 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[0]))
- pDisguised0->HandleEmoteCommand(11);
+ if (Creature* disguised0 = Unit::GetCreature(*me, infiniteDraconianGUID[0]))
+ disguised0->HandleEmoteCommand(11);
JumpToNextStep(1000);
break;
case 66:
- DoScriptText(SAY_PHASE304, me);
+ Talk(SAY_PHASE304);
JumpToNextStep(2000);
break;
case 67:
- if (Creature* pDisguised0 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[0]))
- DoScriptText(SAY_PHASE305, pDisguised0);
+ if (Creature* disguised0 = Unit::GetCreature(*me, infiniteDraconianGUID[0]))
+ disguised0->AI()->Talk(SAY_PHASE305);
JumpToNextStep(1000);
break;
case 68:
- if (Creature* pDisguised2 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[2]))
+ if (Creature* disguised2 = Unit::GetCreature(*me, infiniteDraconianGUID[2]))
{
- pDisguised2->UpdateEntry(NPC_INFINITE_HUNTER, 0);
+ disguised2->UpdateEntry(NPC_INFINITE_HUNTER, 0);
//Make them unattackable
- pDisguised2->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
- pDisguised2->SetReactState(REACT_PASSIVE);
+ disguised2->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ disguised2->SetReactState(REACT_PASSIVE);
}
JumpToNextStep(2000);
break;
case 69:
- if (Creature* pDisguised1 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[1]))
+ if (Creature* disguised1 = Unit::GetCreature(*me, infiniteDraconianGUID[1]))
{
- pDisguised1->UpdateEntry(NPC_INFINITE_AGENT, 0);
+ disguised1->UpdateEntry(NPC_INFINITE_AGENT, 0);
//Make them unattackable
- pDisguised1->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
- pDisguised1->SetReactState(REACT_PASSIVE);
+ disguised1->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ disguised1->SetReactState(REACT_PASSIVE);
}
JumpToNextStep(2000);
break;
case 70:
- if (Creature* pDisguised0 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[0]))
+ if (Creature* disguised0 = Unit::GetCreature(*me, infiniteDraconianGUID[0]))
{
- pDisguised0->UpdateEntry(NPC_INFINITE_ADVERSARY, 0);
+ disguised0->UpdateEntry(NPC_INFINITE_ADVERSARY, 0);
//Make them unattackable
- pDisguised0->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
- pDisguised0->SetReactState(REACT_PASSIVE);
+ disguised0->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ disguised0->SetReactState(REACT_PASSIVE);
}
JumpToNextStep(2000);
break;
@@ -1040,7 +1059,7 @@ public:
case 77:
//Make cratures attackable
for (uint32 i = 0; i< ENCOUNTER_DRACONIAN_NUMBER; ++i)
- if (Creature* temp = Unit::GetCreature(*me, uiInfiniteDraconianGUID[i]))
+ if (Creature* temp = Unit::GetCreature(*me, infiniteDraconianGUID[i]))
{
temp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
temp->SetReactState(REACT_AGGRESSIVE);
@@ -1051,12 +1070,12 @@ public:
case 74:
case 76:
if (me->isInCombat())
- uiPhaseTimer = 1000;
+ phaseTimer = 1000;
else
{
- if (uiStep == 72) DoScriptText(SAY_PHASE308, me);
- if (uiStep == 74) DoScriptText(SAY_PHASE308, me);
- if (uiStep == 76) DoScriptText(SAY_PHASE310, me);
+ if (step == 72) Talk(SAY_PHASE308);
+ if (step == 74) Talk(SAY_PHASE308);
+ if (step == 76) Talk(SAY_PHASE310);
SetHoldState(false);
bStepping = false;
SetRun(true);
@@ -1065,44 +1084,44 @@ public:
break;
case 78:
if (me->isInCombat())
- uiPhaseTimer = 1000;
+ phaseTimer = 1000;
else
{
- DoScriptText(SAY_PHASE312, me);
+ Talk(SAY_PHASE312);
JumpToNextStep(5000);
}
break;
case 79:
- DoScriptText(SAY_PHASE313, me);
+ Talk(SAY_PHASE313);
JumpToNextStep(1000);
break;
case 80:
if (instance)
if (instance->GetData(DATA_EPOCH_EVENT) != DONE)
{
- SpawnTimeRift(17, &uiEpochGUID);
- if (Creature* pEpoch = Unit::GetCreature(*me, uiEpochGUID))
- DoScriptText(SAY_PHASE314, pEpoch);
- me->SetTarget(uiEpochGUID);
+ SpawnTimeRift(17, &epochGUID);
+ if (Creature* epoch = Unit::GetCreature(*me, epochGUID))
+ epoch->AI()->Talk(SAY_PHASE314);
+ me->SetTarget(epochGUID);
}
JumpToNextStep(18000);
break;
case 81:
if (instance)
if (instance->GetData(DATA_EPOCH_EVENT) != DONE)
- DoScriptText(SAY_PHASE315, me);
+ Talk(SAY_PHASE315);
JumpToNextStep(6000);
break;
case 82:
if (instance)
if (instance->GetData(DATA_EPOCH_EVENT) != DONE)
{
- if (Creature* pEpoch = Unit::GetCreature(*me, uiEpochGUID))
+ if (Creature* epoch = Unit::GetCreature(*me, epochGUID))
{
//Make Epoch attackable
- pEpoch->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
- pEpoch->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- pEpoch->SetReactState(REACT_AGGRESSIVE);
+ epoch->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ epoch->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
+ epoch->SetReactState(REACT_AGGRESSIVE);
}
}
@@ -1113,31 +1132,31 @@ public:
{
if (instance->GetData(DATA_EPOCH_EVENT) == DONE)
{
- uiGossipStep = 3;
+ gossipStep = 3;
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
bStepping = false;
- uiBossEvent = DATA_MAL_GANIS_EVENT;
+ bossEvent = DATA_MAL_GANIS_EVENT;
JumpToNextStep(15000);
}
else if (instance->GetData(DATA_EPOCH_EVENT) == FAIL)
npc_escortAI::EnterEvadeMode();
else
- uiPhaseTimer = 10000;
+ phaseTimer = 10000;
}
break;
//After Gossip 4
case 84:
- DoScriptText(SAY_PHASE404, me);
+ Talk(SAY_PHASE404);
SetHoldState(false);
bStepping = false;
break;
//After Gossip 5
case 85:
- DoScriptText(SAY_PHASE501, me);
- if (Creature* pMalganis = me->SummonCreature(NPC_MAL_GANIS, 2296.665f, 1502.362f, 128.362f, 4.961f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 900000))
+ Talk(SAY_PHASE501);
+ if (Creature* malganis = me->SummonCreature(NPC_MAL_GANIS, 2296.665f, 1502.362f, 128.362f, 4.961f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 900000))
{
- uiMalganisGUID = pMalganis->GetGUID();
- pMalganis->SetReactState(REACT_PASSIVE);
+ malganisGUID = malganis->GetGUID();
+ malganis->SetReactState(REACT_PASSIVE);
}
if (instance)
if (GameObject* pGate = instance->instance->GetGameObject(instance->GetData64(DATA_MAL_GANIS_GATE_1)))
@@ -1148,15 +1167,15 @@ public:
break;
//After waypoint 55
case 86:
- DoScriptText(SAY_PHASE502, me);
+ Talk(SAY_PHASE502);
JumpToNextStep(6000);
- me->SetTarget(uiMalganisGUID);
+ me->SetTarget(malganisGUID);
break;
case 87:
- if (Creature* pMalganis = Unit::GetCreature(*me, uiMalganisGUID))
+ if (Creature* malganis = Unit::GetCreature(*me, malganisGUID))
{
- pMalganis->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_UNK_6 | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_UNK_15);
- pMalganis->SetReactState(REACT_AGGRESSIVE);
+ malganis->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_UNK_6 | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_UNK_15);
+ malganis->SetReactState(REACT_AGGRESSIVE);
}
JumpToNextStep(1000);
break;
@@ -1171,14 +1190,14 @@ public:
else if (instance->GetData(DATA_MAL_GANIS_EVENT) == FAIL)
npc_escortAI::EnterEvadeMode();
else
- uiPhaseTimer = 10000;
+ phaseTimer = 10000;
}
break;
//After waypoint 56
case 89:
SetRun(true);
- me->SetTarget(uiMalganisGUID);
- DoScriptText(SAY_PHASE503, me);
+ me->SetTarget(malganisGUID);
+ Talk(SAY_PHASE503);
JumpToNextStep(7000);
break;
case 90:
@@ -1187,23 +1206,23 @@ public:
instance->SetData(DATA_ARTHAS_EVENT, DONE); //Rewards: Achiev & Chest ;D
me->SetTarget(instance->GetData64(DATA_MAL_GANIS_GATE_2)); //Look behind
}
- DoScriptText(SAY_PHASE504, me);
+ Talk(SAY_PHASE504);
bStepping = false;
break;
}
- } else uiPhaseTimer -= diff;
+ } else phaseTimer -= diff;
}
//Battling skills
if (!me->getVictim())
return;
- if (uiExorcismTimer < diff)
+ if (exorcismTimer < diff)
{
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_EXORCISM_N);
- uiExorcismTimer = 7300;
- } else uiExorcismTimer -= diff;
+ exorcismTimer = 7300;
+ } else exorcismTimer -= diff;
if (HealthBelowPct(40))
DoCast(me, SPELL_HOLY_LIGHT);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp
index 161ea4ba8b7..bcf48ccd7be 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp
@@ -29,13 +29,12 @@ EndScriptData */
enum eEnums
{
- SAY_ENTER = -1269012,
- SAY_AGGRO = -1269013,
- SAY_BANISH = -1269014,
- SAY_SLAY1 = -1269015,
- SAY_SLAY2 = -1269016,
- SAY_DEATH = -1269017,
- EMOTE_FRENZY = -1269018,
+ SAY_ENTER = 0,
+ SAY_AGGRO = 1,
+ SAY_BANISH = 2,
+ SAY_SLAY = 3,
+ SAY_DEATH = 4,
+ EMOTE_FRENZY = 5,
SPELL_CLEAVE = 40504,
SPELL_TIME_STOP = 31422,
@@ -76,7 +75,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void MoveInLineOfSight(Unit* who)
@@ -86,7 +85,7 @@ public:
{
if (me->IsWithinDistInMap(who, 20.0f))
{
- DoScriptText(SAY_BANISH, me);
+ Talk(SAY_BANISH);
me->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
}
}
@@ -96,7 +95,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
{
@@ -107,7 +106,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
+ Talk(SAY_SLAY);
}
void UpdateAI(const uint32 diff)
@@ -133,7 +132,7 @@ public:
//Frenzy
if (Frenzy_Timer <= diff)
{
- DoScriptText(EMOTE_FRENZY, me);
+ Talk(EMOTE_FRENZY);
DoCast(me, SPELL_ENRAGE);
Frenzy_Timer = 20000+rand()%15000;
} else Frenzy_Timer -= diff;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp
index 8fc7f31e766..244e22149fc 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp
@@ -29,12 +29,11 @@ EndScriptData */
enum eEnums
{
- SAY_ENTER = -1269006,
- SAY_AGGRO = -1269007,
- SAY_BANISH = -1269008,
- SAY_SLAY1 = -1269009,
- SAY_SLAY2 = -1269010,
- SAY_DEATH = -1269011,
+ SAY_ENTER = 0,
+ SAY_AGGRO = 1,
+ SAY_BANISH = 2,
+ SAY_SLAY = 3,
+ SAY_DEATH = 4,
SPELL_ARCANE_BLAST = 31457,
H_SPELL_ARCANE_BLAST = 38538,
@@ -78,7 +77,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void MoveInLineOfSight(Unit* who)
@@ -88,7 +87,7 @@ public:
{
if (me->IsWithinDistInMap(who, 20.0f))
{
- DoScriptText(SAY_BANISH, me);
+ Talk(SAY_BANISH);
me->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
}
}
@@ -98,12 +97,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(TYPE_RIFT, SPECIAL);
@@ -133,7 +132,7 @@ public:
//Time Lapse
if (TimeLapse_Timer <= diff)
{
- DoScriptText(SAY_BANISH, me);
+ Talk(SAY_BANISH);
DoCast(me, SPELL_TIME_LAPSE);
TimeLapse_Timer = 15000+rand()%10000;
} else TimeLapse_Timer -= diff;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp
index 0256a099580..02a9f4742b3 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp
@@ -29,12 +29,11 @@ EndScriptData */
enum eEnums
{
- SAY_ENTER = -1269000,
- SAY_AGGRO = -1269001,
- SAY_BANISH = -1269002,
- SAY_SLAY1 = -1269003,
- SAY_SLAY2 = -1269004,
- SAY_DEATH = -1269005,
+ SAY_ENTER = 0,
+ SAY_AGGRO = 1,
+ SAY_BANISH = 2,
+ SAY_SLAY = 3,
+ SAY_DEATH = 4,
SPELL_HASTE = 31458,
SPELL_MORTAL_WOUND = 31464,
@@ -77,17 +76,17 @@ public:
void EnterCombat(Unit* /*who*/)
{
- 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*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(TYPE_RIFT, SPECIAL);
@@ -100,7 +99,7 @@ public:
{
if (me->IsWithinDistInMap(who, 20.0f))
{
- DoScriptText(SAY_BANISH, me);
+ Talk(SAY_BANISH);
me->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp
index 8ca14d72b94..03bebe35fd9 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp
@@ -36,29 +36,32 @@ EndContentData */
#include "Player.h"
#include "SpellInfo.h"
-#define SAY_ENTER -1269020 //where does this belong?
-#define SAY_INTRO -1269021
-#define SAY_WEAK75 -1269022
-#define SAY_WEAK50 -1269023
-#define SAY_WEAK25 -1269024
-#define SAY_DEATH -1269025
-#define SAY_WIN -1269026
-#define SAY_ORCS_ENTER -1269027
-#define SAY_ORCS_ANSWER -1269028
-
-#define SPELL_CHANNEL 31556
-#define SPELL_PORTAL_RUNE 32570 //aura(portal on ground effect)
-
-#define SPELL_BLACK_CRYSTAL 32563 //aura
-#define SPELL_PORTAL_CRYSTAL 32564 //summon
-
-#define SPELL_BANISH_PURPLE 32566 //aura
-#define SPELL_BANISH_GREEN 32567 //aura
-
-#define SPELL_CORRUPT 31326
-#define SPELL_CORRUPT_AEONUS 37853
-
-#define C_COUNCIL_ENFORCER 17023
+enum MedivhBm
+{
+ SAY_ENTER = 0, //where does this belong?
+ SAY_INTRO = 1,
+ SAY_WEAK75 = 2,
+ SAY_WEAK50 = 3,
+ SAY_WEAK25 = 4,
+ SAY_DEATH = 5,
+ SAY_WIN = 6,
+ SAY_ORCS_ENTER = 7,
+ SAY_ORCS_ANSWER = 8,
+
+ SPELL_CHANNEL = 31556,
+ SPELL_PORTAL_RUNE = 32570, //aura(portal on ground effect)
+
+ SPELL_BLACK_CRYSTAL = 32563, //aura
+ SPELL_PORTAL_CRYSTAL = 32564, //summon
+
+ SPELL_BANISH_PURPLE = 32566, //aura
+ SPELL_BANISH_GREEN = 32567, //aura
+
+ SPELL_CORRUPT = 31326,
+ SPELL_CORRUPT_AEONUS = 37853,
+
+ C_COUNCIL_ENFORCER = 17023
+};
class npc_medivh_bm : public CreatureScript
{
@@ -111,7 +114,7 @@ public:
if (instance->GetData(TYPE_MEDIVH) == IN_PROGRESS || instance->GetData(TYPE_MEDIVH) == DONE)
return;
- DoScriptText(SAY_INTRO, me);
+ Talk(SAY_INTRO);
instance->SetData(TYPE_MEDIVH, IN_PROGRESS);
DoCast(me, SPELL_CHANNEL, false);
Check_Timer = 5000;
@@ -162,7 +165,7 @@ public:
if (killer->GetEntry() == me->GetEntry())
return;
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
void UpdateAI(const uint32 diff)
@@ -195,17 +198,17 @@ public:
if (Life25 && pct <= 25)
{
- DoScriptText(SAY_WEAK25, me);
+ Talk(SAY_WEAK25);
Life25 = false;
}
else if (Life50 && pct <= 50)
{
- DoScriptText(SAY_WEAK50, me);
+ Talk(SAY_WEAK50);
Life50 = false;
}
else if (Life75 && pct <= 75)
{
- DoScriptText(SAY_WEAK75, me);
+ Talk(SAY_WEAK75);
Life75 = false;
}
@@ -220,7 +223,7 @@ public:
if (instance->GetData(TYPE_RIFT) == DONE)
{
- DoScriptText(SAY_WIN, me);
+ Talk(SAY_WIN);
Check_Timer = 0;
if (me->HasAura(SPELL_CHANNEL))
@@ -363,11 +366,13 @@ public:
};
-#define SAY_SAAT_WELCOME -1269019
+enum Saat
+{
+ SPELL_CHRONO_BEACON = 34975,
+ ITEM_CHRONO_BEACON = 24289
+};
#define GOSSIP_ITEM_OBTAIN "[PH] Obtain Chrono-Beacon"
-#define SPELL_CHRONO_BEACON 34975
-#define ITEM_CHRONO_BEACON 24289
class npc_saat : public CreatureScript
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
index 96cfba0007b..3398395aca6 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
@@ -27,19 +27,25 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "old_hillsbrad.h"
-#define SAY_ENTER -1560000
-#define SAY_TAUNT1 -1560001
-#define SAY_TAUNT2 -1560002
-#define SAY_SLAY1 -1560003
-#define SAY_SLAY2 -1560004
-#define SAY_DEATH -1560005
-
-#define SPELL_HOLY_LIGHT 29427
-#define SPELL_CLEANSE 29380
-#define SPELL_HAMMER_OF_JUSTICE 13005
-#define SPELL_HOLY_SHIELD 31904
-#define SPELL_DEVOTION_AURA 8258
-#define SPELL_CONSECRATION 38385
+/*######################
+# boss_captain_skarloc #
+#######################*/
+
+enum CaptainSkarloc
+{
+ SAY_ENTER = 0,
+ SAY_TAUNT1 = 1,
+ SAY_TAUNT2 = 2,
+ SAY_SLAY = 3,
+ SAY_DEATH = 4,
+
+ SPELL_HOLY_LIGHT = 29427,
+ SPELL_CLEANSE = 29380,
+ SPELL_HAMMER_OF_JUSTICE = 13005,
+ SPELL_HOLY_SHIELD = 31904,
+ SPELL_DEVOTION_AURA = 8258,
+ SPELL_CONSECRATION = 38385
+};
class boss_captain_skarloc : public CreatureScript
{
@@ -80,18 +86,18 @@ public:
void EnterCombat(Unit* /*who*/)
{
//This is not correct. Should taunt Thrall before engage in combat
- DoScriptText(SAY_TAUNT1, me);
- DoScriptText(SAY_TAUNT2, me);
+ Talk(SAY_TAUNT1);
+ Talk(SAY_TAUNT2);
}
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->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS)
instance->SetData(TYPE_THRALL_PART1, DONE);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
index ab0f10bdfe0..00204300a51 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
@@ -27,21 +27,23 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "old_hillsbrad.h"
-#define SAY_ENTER1 -1560013
-#define SAY_ENTER2 -1560014
-#define SAY_ENTER3 -1560015
-#define SAY_AGGRO1 -1560016
-#define SAY_AGGRO2 -1560017
-#define SAY_SLAY1 -1560018
-#define SAY_SLAY2 -1560019
-#define SAY_BREATH1 -1560020
-#define SAY_BREATH2 -1560021
-#define SAY_DEATH -1560022
-
-#define SPELL_SAND_BREATH 31914
-#define SPELL_IMPENDING_DEATH 31916
-#define SPELL_MAGIC_DISRUPTION_AURA 33834
-#define SPELL_WING_BUFFET 31475
+/*###################
+# boss_epoch_hunter #
+####################*/
+
+enum EpochHunter
+{
+ SAY_ENTER = 0,
+ SAY_AGGRO = 1,
+ SAY_SLAY = 2,
+ SAY_BREATH = 3,
+ SAY_DEATH = 4,
+
+ SPELL_SAND_BREATH = 31914,
+ SPELL_IMPENDING_DEATH = 31916,
+ SPELL_MAGIC_DISRUPTION_AURA = 33834,
+ SPELL_WING_BUFFET = 31475
+};
class boss_epoch_hunter : public CreatureScript
{
@@ -77,17 +79,17 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2), 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->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS)
instance->SetData(TYPE_THRALL_PART4, DONE);
@@ -107,7 +109,7 @@ public:
DoCast(me->getVictim(), SPELL_SAND_BREATH);
- DoScriptText(RAND(SAY_BREATH1, SAY_BREATH2), me);
+ Talk(SAY_BREATH);
SandBreath_Timer = urand(10000, 20000);
} else SandBreath_Timer -= diff;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
index 534c831814e..22036899d64 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
@@ -56,18 +56,20 @@ public:
## boss_lieutenant_drake
######*/
-#define SAY_ENTER -1560006
-#define SAY_AGGRO -1560007
-#define SAY_SLAY1 -1560008
-#define SAY_SLAY2 -1560009
-#define SAY_MORTAL -1560010
-#define SAY_SHOUT -1560011
-#define SAY_DEATH -1560012
-
-#define SPELL_WHIRLWIND 31909
-#define SPELL_HAMSTRING 9080
-#define SPELL_MORTAL_STRIKE 31911
-#define SPELL_FRIGHTENING_SHOUT 33789
+enum LieutenantDrake
+{
+ SAY_ENTER = 0,
+ SAY_AGGRO = 1,
+ SAY_SLAY = 2,
+ SAY_MORTAL = 3,
+ SAY_SHOUT = 4,
+ SAY_DEATH = 5,
+
+ SPELL_WHIRLWIND = 31909,
+ SPELL_HAMSTRING = 9080,
+ SPELL_MORTAL_STRIKE = 31911,
+ SPELL_FRIGHTENING_SHOUT = 33789
+};
struct Location
{
@@ -135,17 +137,17 @@ public:
void EnterCombat(Unit* /*who*/)
{
- 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*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
void UpdateAI(const uint32 diff)
@@ -171,7 +173,7 @@ public:
//Fear
if (Fear_Timer <= diff)
{
- DoScriptText(SAY_SHOUT, me);
+ Talk(SAY_SHOUT);
DoCast(me->getVictim(), SPELL_FRIGHTENING_SHOUT);
Fear_Timer = 25000+rand()%10000;
} else Fear_Timer -= diff;
@@ -179,7 +181,7 @@ public:
//Mortal Strike
if (MortalStrike_Timer <= diff)
{
- DoScriptText(SAY_MORTAL, me);
+ Talk(SAY_MORTAL);
DoCast(me->getVictim(), SPELL_MORTAL_STRIKE);
MortalStrike_Timer = 20000+rand()%10000;
} else MortalStrike_Timer -= diff;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
index 2000d8a52f8..fe41ff521d8 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
@@ -36,12 +36,14 @@ EndContentData */
#include "old_hillsbrad.h"
#include "Player.h"
-#define QUEST_ENTRY_HILLSBRAD 10282
-#define QUEST_ENTRY_DIVERSION 10283
-#define QUEST_ENTRY_ESCAPE 10284
-#define QUEST_ENTRY_RETURN 10285
-#define ITEM_ENTRY_BOMBS 25853
-
+enum Erozion
+{
+ QUEST_ENTRY_HILLSBRAD = 10282,
+ QUEST_ENTRY_DIVERSION = 10283,
+ QUEST_ENTRY_ESCAPE = 10284,
+ QUEST_ENTRY_RETURN = 10285,
+ ITEM_ENTRY_BOMBS = 25853
+};
#define GOSSIP_HELLO_EROZION1 "I need a pack of Incendiary Bombs."
#define GOSSIP_HELLO_EROZION2 "[PH] Teleport please, i'm tired."
@@ -98,97 +100,85 @@ public:
######*/
//Thrall texts
-#define SAY_TH_START_EVENT_PART1 -1560023
-#define SAY_TH_ARMORY -1560024
-#define SAY_TH_SKARLOC_MEET -1560025
-#define SAY_TH_SKARLOC_TAUNT -1560026
-#define SAY_TH_START_EVENT_PART2 -1560027
-#define SAY_TH_MOUNTS_UP -1560028
-#define SAY_TH_CHURCH_END -1560029
-#define SAY_TH_MEET_TARETHA -1560030
-#define SAY_TH_EPOCH_WONDER -1560031
-#define SAY_TH_EPOCH_KILL_TARETHA -1560032
-#define SAY_TH_EVENT_COMPLETE -1560033
-
-#define SAY_TH_RANDOM_LOW_HP1 -1560034
-#define SAY_TH_RANDOM_LOW_HP2 -1560035
-
-#define SAY_TH_RANDOM_DIE1 -1560036
-#define SAY_TH_RANDOM_DIE2 -1560037
-
-#define SAY_TH_RANDOM_AGGRO1 -1560038
-#define SAY_TH_RANDOM_AGGRO2 -1560039
-#define SAY_TH_RANDOM_AGGRO3 -1560040
-#define SAY_TH_RANDOM_AGGRO4 -1560041
-
-#define SAY_TH_RANDOM_KILL1 -1560042
-#define SAY_TH_RANDOM_KILL2 -1560043
-#define SAY_TH_RANDOM_KILL3 -1560044
-
-#define SAY_TH_LEAVE_COMBAT1 -1560045
-#define SAY_TH_LEAVE_COMBAT2 -1560046
-#define SAY_TH_LEAVE_COMBAT3 -1560047
-
-//Taretha texts
-#define SAY_TA_FREE -1560048
-#define SAY_TA_ESCAPED -1560049
-
-//Misc for Thrall
-#define SPELL_STRIKE 14516
-#define SPELL_SHIELD_BLOCK 12169
-#define SPELL_SUMMON_EROZION_IMAGE 33954 //if thrall dies during escort?
+enum ThrallOldHillsbrad
+{
+ SAY_TH_START_EVENT_PART1 = 0,
+ SAY_TH_ARMORY = 1,
+ SAY_TH_SKARLOC_MEET = 2,
+ SAY_TH_SKARLOC_TAUNT = 3,
+ SAY_TH_START_EVENT_PART2 = 4,
+ SAY_TH_MOUNTS_UP = 5,
+ SAY_TH_CHURCH_END = 6,
+ SAY_TH_MEET_TARETHA = 7,
+ SAY_TH_EPOCH_WONDER = 8,
+ SAY_TH_EPOCH_KILL_TARETHA = 9,
+ SAY_TH_EVENT_COMPLETE = 10,
+
+ SAY_TH_RANDOM_LOW_HP = 11,
+ SAY_TH_RANDOM_DIE = 12,
+ SAY_TH_RANDOM_AGGRO = 13,
+ SAY_TH_RANDOM_KILL = 14,
+ SAY_TH_LEAVE_COMBAT = 15,
+
+ //Taretha texts
+ SAY_TA_FREE = 0,
+ SAY_TA_ESCAPED = 1,
+
+ //Misc for Thrall
+ SPELL_STRIKE = 14516,
+ SPELL_SHIELD_BLOCK = 12169,
+ SPELL_SUMMON_EROZION_IMAGE = 33954, //if thrall dies during escort?
+
+ THRALL_WEAPON_ITEM = 927,
+ THRALL_WEAPON_INFO = 218169346,
+ THRALL_SHIELD_ITEM = 2129,
+ THRALL_SHIELD_INFO = 234948100,
+ THRALL_MODEL_UNEQUIPPED = 17292,
+ THRALL_MODEL_EQUIPPED = 18165,
+
+ //Misc Creature entries
+ ENTRY_ARMORER = 18764,
+ ENTRY_SCARLOC = 17862,
+
+ MOB_ENTRY_RIFLE = 17820,
+ MOB_ENTRY_WARDEN = 17833,
+ MOB_ENTRY_VETERAN = 17860,
+ MOB_ENTRY_WATCHMAN = 17814,
+ MOB_ENTRY_SENTRY = 17815,
+
+ MOB_ENTRY_BARN_GUARDSMAN = 18092,
+ MOB_ENTRY_BARN_PROTECTOR = 18093,
+ MOB_ENTRY_BARN_LOOKOUT = 18094,
+
+ MOB_ENTRY_CHURCH_GUARDSMAN = 23175,
+ MOB_ENTRY_CHURCH_PROTECTOR = 23179,
+ MOB_ENTRY_CHURCH_LOOKOUT = 23177,
+
+ MOB_ENTRY_INN_GUARDSMAN = 23176,
+ MOB_ENTRY_INN_PROTECTOR = 23180,
+ MOB_ENTRY_INN_LOOKOUT = 23178,
+
+ SKARLOC_MOUNT = 18798,
+ SKARLOC_MOUNT_MODEL = 18223,
+ EROZION_ENTRY = 18723,
+ ENTRY_EPOCH = 18096,
+
+ GOSSIP_ID_START = 9568,
+ GOSSIP_ID_SKARLOC1 = 9614, //I'm glad Taretha is alive. We now must find a way to free her...
+ GOSSIP_ID_SKARLOC2 = 9579, //What do you mean by this? Is Taretha in danger?
+ GOSSIP_ID_SKARLOC3 = 9580,
+ GOSSIP_ID_TARREN = 9597, //tarren mill is beyond these trees
+ GOSSIP_ID_COMPLETE = 9578 //Thank you friends, I owe my freedom to you. Where is Taretha? I hoped to see her
+};
#define SPEED_WALK (0.5f)
#define SPEED_RUN (1.0f)
#define SPEED_MOUNT (1.6f)
-#define THRALL_WEAPON_ITEM 927
-#define THRALL_WEAPON_INFO 218169346
-#define THRALL_SHIELD_ITEM 2129
-#define THRALL_SHIELD_INFO 234948100
-#define THRALL_MODEL_UNEQUIPPED 17292
-#define THRALL_MODEL_EQUIPPED 18165
-
-//Misc Creature entries
-#define ENTRY_ARMORER 18764
-#define ENTRY_SCARLOC 17862
-
-#define MOB_ENTRY_RIFLE 17820
-#define MOB_ENTRY_WARDEN 17833
-#define MOB_ENTRY_VETERAN 17860
-#define MOB_ENTRY_WATCHMAN 17814
-#define MOB_ENTRY_SENTRY 17815
-
-#define MOB_ENTRY_BARN_GUARDSMAN 18092
-#define MOB_ENTRY_BARN_PROTECTOR 18093
-#define MOB_ENTRY_BARN_LOOKOUT 18094
-
-#define MOB_ENTRY_CHURCH_GUARDSMAN 23175
-#define MOB_ENTRY_CHURCH_PROTECTOR 23179
-#define MOB_ENTRY_CHURCH_LOOKOUT 23177
-
-#define MOB_ENTRY_INN_GUARDSMAN 23176
-#define MOB_ENTRY_INN_PROTECTOR 23180
-#define MOB_ENTRY_INN_LOOKOUT 23178
-
-#define SKARLOC_MOUNT 18798
-#define SKARLOC_MOUNT_MODEL 18223
-#define EROZION_ENTRY 18723
-#define ENTRY_EPOCH 18096
-
//gossip items
-#define GOSSIP_ID_START 9568
-#define GOSSIP_ID_SKARLOC1 9614 //I'm glad Taretha is alive. We now must find a way to free her...
#define GOSSIP_ITEM_SKARLOC1 "Taretha cannot see you, Thrall."
-#define GOSSIP_ID_SKARLOC2 9579 //What do you mean by this? Is Taretha in danger?
#define GOSSIP_ITEM_SKARLOC2 "The situation is rather complicated, Thrall. It would be best for you to head into the mountains now, before more of Blackmoore's men show up. We'll make sure Taretha is safe."
-#define GOSSIP_ID_SKARLOC3 9580
-
-#define GOSSIP_ID_TARREN 9597 //tarren mill is beyond these trees
#define GOSSIP_ITEM_TARREN "We're ready, Thrall."
-
-#define GOSSIP_ID_COMPLETE 9578 //Thank you friends, I owe my freedom to you. Where is Taretha? I hoped to see her
-
#define GOSSIP_ITEM_WALKING "[PH] Start walking."
class npc_thrall_old_hillsbrad : public CreatureScript
@@ -215,7 +205,7 @@ public:
instance->SetData(TYPE_THRALL_PART1, IN_PROGRESS);
}
- DoScriptText(SAY_TH_START_EVENT_PART1, creature);
+ creature->AI()->Talk(SAY_TH_START_EVENT_PART1);
if (npc_escortAI* pEscortAI = CAST_AI(npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, creature->AI()))
pEscortAI->Start(true, true, player->GetGUID());
@@ -236,7 +226,7 @@ public:
if (instance)
instance->SetData(TYPE_THRALL_PART2, IN_PROGRESS);
- DoScriptText(SAY_TH_START_EVENT_PART2, creature);
+ creature->AI()->Talk(SAY_TH_START_EVENT_PART2);
CAST_AI(npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, creature->AI())->StartWP();
break;
@@ -311,7 +301,7 @@ public:
me->SummonCreature(18764, 2181.87f, 112.46f, 89.45f, 0.26f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
break;
case 9:
- DoScriptText(SAY_TH_ARMORY, me);
+ Talk(SAY_TH_ARMORY);
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID, THRALL_WEAPON_ITEM);
//me->SetUInt32Value(UNIT_VIRTUAL_ITEM_INFO, THRALL_WEAPON_INFO);
//me->SetUInt32Value(UNIT_VIRTUAL_ITEM_INFO+1, 781);
@@ -344,7 +334,7 @@ public:
me->SummonCreature(MOB_ENTRY_VETERAN, 2104.18f, 194.82f, 65.18f, 5.75f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
break;
case 29:
- DoScriptText(SAY_TH_SKARLOC_MEET, me);
+ Talk(SAY_TH_SKARLOC_MEET);
me->SummonCreature(ENTRY_SCARLOC, 2036.48f, 271.22f, 63.43f, 5.27f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
//temporary, skarloc should rather be triggered to walk up to thrall
break;
@@ -354,7 +344,7 @@ public:
SetRun(false);
break;
case 31:
- DoScriptText(SAY_TH_MOUNTS_UP, me);
+ Talk(SAY_TH_MOUNTS_UP);
DoMount();
SetRun();
break;
@@ -400,7 +390,7 @@ public:
me->SummonCreature(MOB_ENTRY_CHURCH_GUARDSMAN, 2627.22f, 649.00f, 56.03f, 4.34f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 5000);
break;
case 84:
- DoScriptText(SAY_TH_CHURCH_END, me);
+ Talk(SAY_TH_CHURCH_END);
SetRun();
break;
case 91:
@@ -416,20 +406,20 @@ public:
case 94:
if (uint64 TarethaGUID = instance->GetData64(DATA_TARETHA))
{
- if (Unit* Taretha = Unit::GetUnit(*me, TarethaGUID))
- DoScriptText(SAY_TA_ESCAPED, Taretha, me);
+ if (Creature* Taretha = Creature::GetCreature(*me, TarethaGUID))
+ Taretha->AI()->Talk(SAY_TA_ESCAPED, me->GetGUID());
}
break;
case 95:
- DoScriptText(SAY_TH_MEET_TARETHA, me);
+ Talk(SAY_TH_MEET_TARETHA);
instance->SetData(TYPE_THRALL_PART3, DONE);
SetEscortPaused(true);
break;
case 96:
- DoScriptText(SAY_TH_EPOCH_WONDER, me);
+ Talk(SAY_TH_EPOCH_WONDER);
break;
case 97:
- DoScriptText(SAY_TH_EPOCH_KILL_TARETHA, me);
+ Talk(SAY_TH_EPOCH_KILL_TARETHA);
SetRun();
break;
case 98:
@@ -485,7 +475,7 @@ public:
}
if (HasEscortState(STATE_ESCORT_ESCORTING))
{
- DoScriptText(RAND(SAY_TH_LEAVE_COMBAT1, SAY_TH_LEAVE_COMBAT2, SAY_TH_LEAVE_COMBAT3), me);
+ Talk(SAY_TH_LEAVE_COMBAT);
}
}
void StartWP()
@@ -505,7 +495,7 @@ public:
}
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_TH_RANDOM_AGGRO1, SAY_TH_RANDOM_AGGRO2, SAY_TH_RANDOM_AGGRO3, SAY_TH_RANDOM_AGGRO4), me);
+ Talk(SAY_TH_RANDOM_AGGRO);
if (me->IsMounted())
{
DoUnmount();
@@ -532,7 +522,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_TH_RANDOM_KILL1, SAY_TH_RANDOM_KILL2, SAY_TH_RANDOM_KILL3), me);
+ Talk(SAY_TH_RANDOM_KILL);
}
void JustDied(Unit* slayer)
{
@@ -543,7 +533,7 @@ public:
if (slayer == me)
return;
- DoScriptText(RAND(SAY_TH_RANDOM_DIE1, SAY_TH_RANDOM_DIE2), me);
+ Talk(SAY_TH_RANDOM_DIE);
}
void UpdateAI(const uint32 diff)
@@ -556,7 +546,7 @@ public:
//TODO: add his abilities'n-crap here
if (!LowHp && HealthBelowPct(20))
{
- DoScriptText(RAND(SAY_TH_RANDOM_LOW_HP1, SAY_TH_RANDOM_LOW_HP2), me);
+ Talk(SAY_TH_RANDOM_LOW_HP);
LowHp = true;
}
}
@@ -567,10 +557,13 @@ public:
/*######
## npc_taretha
######*/
+enum Taretha
+{
+ GOSSIP_ID_EPOCH1 = 9610, //Thank you for helping Thrall escape, friends. Now I only hope
+ GOSSIP_ID_EPOCH2 = 9613 //Yes, friends. This man was no wizard of
+};
-#define GOSSIP_ID_EPOCH1 9610 //Thank you for helping Thrall escape, friends. Now I only hope
#define GOSSIP_ITEM_EPOCH1 "Strange wizard?"
-#define GOSSIP_ID_EPOCH2 9613 //Yes, friends. This man was no wizard of
#define GOSSIP_ITEM_EPOCH2 "We'll get you out. Taretha. Don't worry. I doubt the wizard would wander too far away."
class npc_taretha : public CreatureScript
@@ -638,7 +631,7 @@ public:
switch (waypointId)
{
case 6:
- DoScriptText(SAY_TA_FREE, me);
+ Talk(SAY_TA_FREE);
break;
case 7:
me->HandleEmoteCommand(EMOTE_ONESHOT_CHEER);
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
index 44f9aa1184a..b3690ab14c7 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
@@ -26,16 +26,19 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#define SAY_AGGRO -1129000
-#define SAY_SUMMON60 -1129001
-#define SAY_SUMMON30 -1129002
-#define SAY_HP -1129003
-#define SAY_KILL -1129004
-
-#define SPELL_AMNENNARSWRATH 13009
-#define SPELL_FROSTBOLT 15530
-#define SPELL_FROST_NOVA 15531
-#define SPELL_FROST_SPECTRES 12642
+enum AmnennarTheColdbringer
+{
+ SAY_AGGRO = 0,
+ SAY_SUMMON60 = 1,
+ SAY_SUMMON30 = 2,
+ SAY_HP = 3,
+ SAY_KILL = 4,
+
+ SPELL_AMNENNARSWRATH = 13009,
+ SPELL_FROSTBOLT = 15530,
+ SPELL_FROST_NOVA = 15531,
+ SPELL_FROST_SPECTRES = 12642
+};
class boss_amnennar_the_coldbringer : public CreatureScript
{
@@ -70,12 +73,12 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_KILL, me);
+ Talk(SAY_KILL);
}
void UpdateAI(const uint32 diff)
@@ -105,20 +108,20 @@ public:
if (!Spectrals60 && HealthBelowPct(60))
{
- DoScriptText(SAY_SUMMON60, me);
+ Talk(SAY_SUMMON60);
DoCast(me->getVictim(), SPELL_FROST_SPECTRES);
Spectrals60 = true;
}
if (!Hp && HealthBelowPct(50))
{
- DoScriptText(SAY_HP, me);
+ Talk(SAY_HP);
Hp = true;
}
if (!Spectrals30 && HealthBelowPct(30))
{
- DoScriptText(SAY_SUMMON30, me);
+ Talk(SAY_SUMMON30);
DoCast(me->getVictim(), SPELL_FROST_SPECTRES);
Spectrals30 = true;
}
diff --git a/src/server/scripts/Kalimdor/ashenvale.cpp b/src/server/scripts/Kalimdor/ashenvale.cpp
index 0e44da371d6..40ac1609fee 100644
--- a/src/server/scripts/Kalimdor/ashenvale.cpp
+++ b/src/server/scripts/Kalimdor/ashenvale.cpp
@@ -97,7 +97,7 @@ class npc_torek : public CreatureScript
me->SummonCreature(ENTRY_SILVERWING_WARRIOR, 1778.73f, -2049.50f, 109.83f, 1.67f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
break;
case 20:
- DoScriptText(SAY_WIN, me, player);
+ Talk(SAY_WIN, player->GetGUID());
Completed = true;
player->GroupEventHappens(QUEST_TOREK_ASSULT, me);
break;
@@ -269,16 +269,16 @@ class npc_ruul_snowhoof : public CreatureScript
enum Muglash
{
- SAY_MUG_START1 = -1800054,
- SAY_MUG_START2 = -1800055,
- SAY_MUG_BRAZIER = -1800056,
- SAY_MUG_BRAZIER_WAIT = -1800057,
- SAY_MUG_ON_GUARD = -1800058,
- SAY_MUG_REST = -1800059,
- SAY_MUG_DONE = -1800060,
- SAY_MUG_GRATITUDE = -1800061,
- SAY_MUG_PATROL = -1800062,
- SAY_MUG_RETURN = -1800063,
+ SAY_MUG_START1 = 0,
+ SAY_MUG_START2 = 1,
+ SAY_MUG_BRAZIER = 2,
+ SAY_MUG_BRAZIER_WAIT = 3,
+ SAY_MUG_ON_GUARD = 4,
+ SAY_MUG_REST = 5,
+ SAY_MUG_DONE = 6,
+ SAY_MUG_GRATITUDE = 7,
+ SAY_MUG_PATROL = 8,
+ SAY_MUG_RETURN = 9,
QUEST_VORSHA = 6641,
@@ -337,10 +337,10 @@ class npc_muglash : public CreatureScript
switch (waypointId)
{
case 0:
- DoScriptText(SAY_MUG_START2, me, player);
+ Talk(SAY_MUG_START2, player->GetGUID());
break;
case 24:
- DoScriptText(SAY_MUG_BRAZIER, me, player);
+ Talk(SAY_MUG_BRAZIER, player->GetGUID());
if (GameObject* go = GetClosestGameObjectWithEntry(me, GO_NAGA_BRAZIER, INTERACTION_DISTANCE*2))
{
@@ -349,14 +349,14 @@ class npc_muglash : public CreatureScript
}
break;
case 25:
- DoScriptText(SAY_MUG_GRATITUDE, me);
+ Talk(SAY_MUG_GRATITUDE);
player->GroupEventHappens(QUEST_VORSHA, me);
break;
case 26:
- DoScriptText(SAY_MUG_PATROL, me);
+ Talk(SAY_MUG_PATROL);
break;
case 27:
- DoScriptText(SAY_MUG_RETURN, me);
+ Talk(SAY_MUG_RETURN);
break;
}
}
@@ -368,7 +368,7 @@ class npc_muglash : public CreatureScript
if (HasEscortState(STATE_ESCORT_PAUSED))
{
if (urand(0, 1))
- DoScriptText(SAY_MUG_ON_GUARD, me, player);
+ Talk(SAY_MUG_ON_GUARD, player->GetGUID());
return;
}
}
@@ -406,7 +406,7 @@ class npc_muglash : public CreatureScript
break;
case 4:
SetEscortPaused(false);
- DoScriptText(SAY_MUG_DONE, me);
+ Talk(SAY_MUG_DONE);
break;
}
}
@@ -445,7 +445,7 @@ class npc_muglash : public CreatureScript
{
if (npc_muglashAI* pEscortAI = CAST_AI(npc_muglashAI, creature->AI()))
{
- DoScriptText(SAY_MUG_START1, creature);
+ creature->AI()->Talk(SAY_MUG_START1);
creature->setFaction(113);
pEscortAI->Start(true, false, player->GetGUID());
@@ -466,7 +466,7 @@ class go_naga_brazier : public GameObjectScript
{
if (npc_muglash::npc_muglashAI* pEscortAI = CAST_AI(npc_muglash::npc_muglashAI, creature->AI()))
{
- DoScriptText(SAY_MUG_BRAZIER_WAIT, creature);
+ creature->AI()->Talk(SAY_MUG_BRAZIER_WAIT);
pEscortAI->IsBrazierExtinguished = true;
return false;
diff --git a/src/server/scripts/Kalimdor/azshara.cpp b/src/server/scripts/Kalimdor/azshara.cpp
index 213918db338..b38d1ac2c3b 100644
--- a/src/server/scripts/Kalimdor/azshara.cpp
+++ b/src/server/scripts/Kalimdor/azshara.cpp
@@ -195,12 +195,10 @@ enum RizzleSprysprocketData
SPELL_PERIODIC_DEPTH_CHARGE = 39912,
SPELL_GIVE_SOUTHFURY_MOONSTONE = 39886,
- SAY_RIZZLE_START = -1000351,
- MSG_ESCAPE_NOTICE = -1000352,
- SAY_RIZZLE_GRENADE = -1000353,
- SAY_RIZZLE_GRENADE_BACKFIRE = -1000354, // Not used
- SAY_RIZZLE_FINAL = -1000355,
- SAY_RIZZLE_FINAL2 = -1000356, // Not used
+ SAY_RIZZLE_START = 0,
+ SAY_RIZZLE_GRENADE = 1,
+ SAY_RIZZLE_FINAL = 2,
+ MSG_ESCAPE_NOTICE = 3
};
#define GOSSIP_GET_MOONSTONE "Hand over the Southfury moonstone and I'll let you go."
@@ -366,7 +364,7 @@ public:
if (!player)
return;
- SendText(MSG_ESCAPE_NOTICE, player);
+ Talk(MSG_ESCAPE_NOTICE, player->GetGUID());
DoCast(me, SPELL_PERIODIC_DEPTH_CHARGE);
me->SetUnitMovementFlags(MOVEMENTFLAG_HOVER | MOVEMENTFLAG_SWIMMING);
me->SetSpeed(MOVE_RUN, 0.85f, true);
@@ -389,7 +387,7 @@ public:
Player* player = Unit::GetPlayer(*me, PlayerGUID);
if (player)
{
- DoScriptText(SAY_RIZZLE_GRENADE, me, player);
+ Talk(SAY_RIZZLE_GRENADE, player->GetGUID());
DoCast(player, SPELL_RIZZLE_FROST_GRENADE, true);
}
GrenadeTimer = 30000;
@@ -406,7 +404,7 @@ public:
if (me->IsWithinDist(player, 10) && me->GetPositionX() > player->GetPositionX() && !Reached)
{
- DoScriptText(SAY_RIZZLE_FINAL, me);
+ Talk(SAY_RIZZLE_FINAL);
me->SetUInt32Value(UNIT_NPC_FLAGS, 1);
me->setFaction(35);
me->GetMotionMaster()->MoveIdle();
@@ -434,7 +432,7 @@ public:
if (who->GetTypeId() == TYPEID_PLAYER && CAST_PLR(who)->GetQuestStatus(QUEST_CHASING_THE_MOONSTONE) == QUEST_STATUS_INCOMPLETE)
{
PlayerGUID = who->GetGUID();
- DoScriptText(SAY_RIZZLE_START, me);
+ Talk(SAY_RIZZLE_START);
DoCast(who, SPELL_RIZZLE_BLACKJACK, false);
return;
}
diff --git a/src/server/scripts/Kalimdor/desolace.cpp b/src/server/scripts/Kalimdor/desolace.cpp
index 30a87ef0197..8c56714e614 100644
--- a/src/server/scripts/Kalimdor/desolace.cpp
+++ b/src/server/scripts/Kalimdor/desolace.cpp
@@ -40,9 +40,7 @@ EndContentData */
enum DyingKodo
{
// signed for 9999
- SAY_SMEED_HOME_1 = -1000348,
- SAY_SMEED_HOME_2 = -1000349,
- SAY_SMEED_HOME_3 = -1000350,
+ SAY_SMEED_HOME = 0,
QUEST_KODO = 5561,
@@ -134,7 +132,8 @@ public:
if (me->IsWithinDistInMap(who, 10.0f))
{
- DoScriptText(RAND(SAY_SMEED_HOME_1, SAY_SMEED_HOME_2, SAY_SMEED_HOME_3), who);
+ if (Creature* talker = who->ToCreature())
+ talker->AI()->Talk(SAY_SMEED_HOME);
//spell have no implemented effect (dummy), so useful to notify spellHit
DoCast(me, SPELL_KODO_KOMBO_GOSSIP, true);
diff --git a/src/server/scripts/Kalimdor/durotar.cpp b/src/server/scripts/Kalimdor/durotar.cpp
index 83111829c9e..04e65693154 100644
--- a/src/server/scripts/Kalimdor/durotar.cpp
+++ b/src/server/scripts/Kalimdor/durotar.cpp
@@ -28,7 +28,7 @@
enum LazyPeonYells
{
- SAY_SPELL_HIT = -1000600 //Ow! OK, I''ll get back to work, $N!'
+ SAY_SPELL_HIT = 0
};
enum LazyPeon
@@ -77,7 +77,7 @@ public:
&& CAST_PLR(caster)->GetQuestStatus(QUEST_LAZY_PEONS) == QUEST_STATUS_INCOMPLETE)
{
caster->ToPlayer()->KilledMonsterCredit(me->GetEntry(), me->GetGUID());
- DoScriptText(SAY_SPELL_HIT, me, caster);
+ Talk(SAY_SPELL_HIT, caster->GetGUID());
me->RemoveAllAuras();
if (GameObject* Lumberpile = me->FindNearestGameObject(GO_LUMBERPILE, 20))
me->GetMotionMaster()->MovePoint(1, Lumberpile->GetPositionX()-1, Lumberpile->GetPositionY(), Lumberpile->GetPositionZ());
diff --git a/src/server/scripts/Kalimdor/moonglade.cpp b/src/server/scripts/Kalimdor/moonglade.cpp
index 6d93e074e79..9485048da8c 100644
--- a/src/server/scripts/Kalimdor/moonglade.cpp
+++ b/src/server/scripts/Kalimdor/moonglade.cpp
@@ -275,14 +275,8 @@ enum ClintarSpirit
{
ASPECT_RAVEN = 22915,
- //from -1000292 to -1000287 are signed for 7806. but all this texts ids wrong.
- CLINTAR_SPIRIT_SAY_START = -1000286,
- CLINTAR_SPIRIT_SAY_UNDER_ATTACK_1 = -1000287,
- CLINTAR_SPIRIT_SAY_UNDER_ATTACK_2 = -1000288,
- CLINTAR_SPIRIT_SAY_GET_ONE = -1000289,
- CLINTAR_SPIRIT_SAY_GET_TWO = -1000290,
- CLINTAR_SPIRIT_SAY_GET_THREE = -1000291,
- CLINTAR_SPIRIT_SAY_GET_FINAL = -1000292
+ // Texts for EnterCombat, the event and the end of the event are missing
+ CLINTAR_SPIRIT_SAY_START = 0,
};
class npc_clintar_spirit : public CreatureScript
@@ -350,15 +344,6 @@ public:
npc_escortAI::EnterEvadeMode();
}
- void EnterCombat(Unit* who)
- {
- switch (urand(0, 1))
- {
- case 0: DoScriptText(CLINTAR_SPIRIT_SAY_UNDER_ATTACK_1, me, who); break;
- case 1: DoScriptText(CLINTAR_SPIRIT_SAY_UNDER_ATTACK_2, me, who); break;
- }
- }
-
void StartEvent(Player* player)
{
if (player && player->GetQuestStatus(10965) == QUEST_STATUS_INCOMPLETE)
@@ -410,7 +395,7 @@ public:
switch (Step)
{
case 0:
- me->Say(CLINTAR_SPIRIT_SAY_START, 0, PlayerGUID);
+ Talk(CLINTAR_SPIRIT_SAY_START, PlayerGUID);
EventTimer = 8000;
Step = 1;
break;
@@ -429,7 +414,7 @@ public:
break;
case 1:
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0);
- DoScriptText(CLINTAR_SPIRIT_SAY_GET_ONE, me, player);
+ // Needs text
EventOnWait = false;
break;
}
@@ -452,7 +437,7 @@ public:
switch (Step)
{
case 0:
- DoScriptText(CLINTAR_SPIRIT_SAY_GET_TWO, me, player);
+ // Needs text
EventTimer = 15000;
Step = 1;
break;
@@ -496,7 +481,7 @@ public:
switch (Step)
{
case 0:
- DoScriptText(CLINTAR_SPIRIT_SAY_GET_THREE, me, player);
+ // Needs text
EventTimer = 4000;
Step = 1;
break;
@@ -510,7 +495,7 @@ public:
{
case 0:
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, 2);
- DoScriptText(CLINTAR_SPIRIT_SAY_GET_FINAL, me, player);
+ // Needs text
player->CompleteQuest(10965);
EventTimer = 1500;
Step = 1;
diff --git a/src/server/scripts/Kalimdor/silithus.cpp b/src/server/scripts/Kalimdor/silithus.cpp
index df7d3b1ee89..f9b16b907eb 100644
--- a/src/server/scripts/Kalimdor/silithus.cpp
+++ b/src/server/scripts/Kalimdor/silithus.cpp
@@ -230,56 +230,56 @@ public:
####*/
enum EternalBoard
{
- QUEST_A_PAWN_ON_THE_ETERNAL_BOARD = 8519,
-
- FACTION_HOSTILE = 14,
- FACTION_FRIENDLY = 35,
-
- C_ANACHRONOS = 15381,
- C_FANDRAL_STAGHELM = 15382,
- C_ARYGOS = 15380,
- C_MERITHRA = 15378,
- C_CAELESTRASZ = 15379,
-
- ANACHRONOS_SAY_1 = -1350000,
- ANACHRONOS_SAY_2 = -1350001,
- ANACHRONOS_SAY_3 = -1350002,
- ANACHRONOS_SAY_4 = -1350003,
- ANACHRONOS_SAY_5 = -1350004,
- ANACHRONOS_SAY_6 = -1350005,
- ANACHRONOS_SAY_7 = -1350006,
- ANACHRONOS_SAY_8 = -1350007,
- ANACHRONOS_SAY_9 = -1350008,
- ANACHRONOS_SAY_10 = -1350009,
- ANACHRONOS_EMOTE_1 = -1350010,
- ANACHRONOS_EMOTE_2 = -1350011,
- ANACHRONOS_EMOTE_3 = -1350012,
-
- FANDRAL_SAY_1 = -1350013,
- FANDRAL_SAY_2 = -1350014,
- FANDRAL_SAY_3 = -1350015,
- FANDRAL_SAY_4 = -1350016,
- FANDRAL_SAY_5 = -1350017,
- FANDRAL_SAY_6 = -1350018,
- FANDRAL_EMOTE_1 = -1350019,
- FANDRAL_EMOTE_2 = -1350020,
-
- CAELESTRASZ_SAY_1 = -1350021,
- CAELESTRASZ_SAY_2 = -1350022,
- CAELESTRASZ_YELL_1 = -1350023,
-
- ARYGOS_SAY_1 = -1350024,
- ARYGOS_YELL_1 = -1350025,
- ARYGOS_EMOTE_1 = -1350026,
-
- MERITHRA_SAY_1 = -1350027,
- MERITHRA_SAY_2 = -1350028,
- MERITHRA_YELL_1 = -1350029,
- MERITHRA_EMOTE_1 = -1350030,
-
- GO_GATE_OF_AHN_QIRAJ = 176146,
- GO_GLYPH_OF_AHN_QIRAJ = 176148,
- GO_ROOTS_OF_AHN_QIRAJ = 176147
+ QUEST_A_PAWN_ON_THE_ETERNAL_BOARD = 8519,
+
+ FACTION_HOSTILE = 14,
+ FACTION_FRIENDLY = 35,
+
+ C_ANACHRONOS = 15381,
+ C_FANDRAL_STAGHELM = 15382,
+ C_ARYGOS = 15380,
+ C_MERITHRA = 15378,
+ C_CAELESTRASZ = 15379,
+
+ ANACHRONOS_SAY_1 = 0,
+ ANACHRONOS_SAY_2 = 1,
+ ANACHRONOS_SAY_3 = 2,
+ ANACHRONOS_SAY_4 = 3,
+ ANACHRONOS_SAY_5 = 4,
+ ANACHRONOS_SAY_6 = 5,
+ ANACHRONOS_SAY_7 = 6,
+ ANACHRONOS_SAY_8 = 7,
+ ANACHRONOS_SAY_9 = 8,
+ ANACHRONOS_SAY_10 = 9,
+ ANACHRONOS_EMOTE_1 = 10,
+ ANACHRONOS_EMOTE_2 = 11,
+ ANACHRONOS_EMOTE_3 = 12,
+
+ FANDRAL_SAY_1 = 0,
+ FANDRAL_SAY_2 = 1,
+ FANDRAL_SAY_3 = 2,
+ FANDRAL_SAY_4 = 3,
+ FANDRAL_SAY_5 = 4,
+ FANDRAL_SAY_6 = 5,
+ FANDRAL_EMOTE_1 = 6,
+ FANDRAL_EMOTE_2 = 7,
+
+ CAELESTRASZ_SAY_1 = 0,
+ CAELESTRASZ_SAY_2 = 1,
+ CAELESTRASZ_YELL_1 = 2,
+
+ ARYGOS_SAY_1 = 0,
+ ARYGOS_YELL_1 = 1,
+ ARYGOS_EMOTE_1 = 2,
+
+ MERITHRA_SAY_1 = 0,
+ MERITHRA_SAY_2 = 1,
+ MERITHRA_YELL_1 = 2,
+ MERITHRA_EMOTE_1 = 3,
+
+ GO_GATE_OF_AHN_QIRAJ = 176146,
+ GO_GLYPH_OF_AHN_QIRAJ = 176148,
+ GO_ROOTS_OF_AHN_QIRAJ = 176147
};
/*#####
# Quest: A Pawn on the Eternal Board
@@ -530,10 +530,10 @@ public:
if (!player)
return;
- Unit* Fandral = player->FindNearestCreature(C_FANDRAL_STAGHELM, 100.0f, me);
- Unit* Arygos = player->FindNearestCreature(C_ARYGOS, 100.0f, me);
- Unit* Caelestrasz = player->FindNearestCreature(C_CAELESTRASZ, 100.0f, me);
- Unit* Merithra = player->FindNearestCreature(C_MERITHRA, 100.0f, me);
+ Creature* Fandral = player->FindNearestCreature(C_FANDRAL_STAGHELM, 100.0f, me);
+ Creature* Arygos = player->FindNearestCreature(C_ARYGOS, 100.0f, me);
+ Creature* Caelestrasz = player->FindNearestCreature(C_CAELESTRASZ, 100.0f, me);
+ Creature* Merithra = player->FindNearestCreature(C_MERITHRA, 100.0f, me);
if (!Fandral || !Arygos || !Caelestrasz || !Merithra)
return;
@@ -544,35 +544,35 @@ public:
switch (AnimationCount)
{
case 0:
- DoScriptText(ANACHRONOS_SAY_1, me, Fandral);
+ Talk(ANACHRONOS_SAY_1,Fandral->GetGUID());
break;
case 1:
Fandral->SetTarget(me->GetGUID());
- DoScriptText(FANDRAL_SAY_1, Fandral, me);
+ Fandral->AI()->Talk(FANDRAL_SAY_1, me->GetGUID());
break;
case 2:
Fandral->SetTarget(0);
- DoScriptText(MERITHRA_EMOTE_1, Merithra);
+ Merithra->AI()->Talk(MERITHRA_EMOTE_1);
break;
case 3:
- DoScriptText(MERITHRA_SAY_1, Merithra);
+ Merithra->AI()->Talk(MERITHRA_SAY_1);
break;
case 4:
- DoScriptText(ARYGOS_EMOTE_1, Arygos);
+ Arygos->AI()->Talk(ARYGOS_EMOTE_1);
break;
case 5:
Caelestrasz->SetTarget(Fandral->GetGUID());
- DoScriptText(CAELESTRASZ_SAY_1, Caelestrasz);
+ Caelestrasz->AI()->Talk(CAELESTRASZ_SAY_1);
break;
case 6:
- DoScriptText(MERITHRA_SAY_2, Merithra);
+ Merithra->AI()->Talk(MERITHRA_SAY_2);
break;
case 7:
Caelestrasz->SetTarget(0);
Merithra->GetMotionMaster()->MoveCharge(-8065, 1530, 2.61f, 10);
break;
case 8:
- DoScriptText(MERITHRA_YELL_1, Merithra);
+ Merithra->AI()->Talk(MERITHRA_YELL_1);
break;
case 9:
Merithra->CastSpell(Merithra, 25105, true);
@@ -591,7 +591,7 @@ public:
case 13:
break;
case 14:
- DoScriptText(ARYGOS_SAY_1, Arygos);
+ Arygos->AI()->Talk(ARYGOS_SAY_1);
Merithra->SetVisible(false);
break;
case 15:
@@ -599,7 +599,7 @@ public:
Merithra->GetMotionMaster()->MoveCharge(-8034.535f, 1535.14f, 2.61f, 42);
break;
case 16:
- DoScriptText(ARYGOS_YELL_1, Arygos);
+ Arygos->AI()->Talk(ARYGOS_YELL_1);
break;
case 17:
Arygos->CastSpell(Arygos, 25107, true);
@@ -618,7 +618,7 @@ public:
case 21:
break;
case 22:
- DoScriptText(CAELESTRASZ_SAY_2, Caelestrasz, Fandral);
+ Caelestrasz->AI()->Talk(CAELESTRASZ_SAY_2, Fandral->GetGUID());
break;
case 23:
Caelestrasz->GetMotionMaster()->MoveCharge(-8065, 1530, 2.61f, 10);
@@ -626,7 +626,7 @@ public:
Arygos->GetMotionMaster()->MoveCharge(-8034.535f, 1535.14f, 2.61f, 10);
break;
case 24:
- DoScriptText(CAELESTRASZ_YELL_1, Caelestrasz);
+ Caelestrasz->AI()->Talk(CAELESTRASZ_YELL_1);
break;
case 25:
Caelestrasz->CastSpell(Caelestrasz, 25106, true);
@@ -640,16 +640,16 @@ public:
Caelestrasz->CastSpell(Caelestrasz, 54293, false);
break;
case 28:
- DoScriptText(ANACHRONOS_SAY_2, me, Fandral);
+ Talk(ANACHRONOS_SAY_2, Fandral->GetGUID());
break;
case 29:
Caelestrasz->GetMotionMaster()->MoveCharge(-8095, 1530, 50, 42);
- DoScriptText(FANDRAL_SAY_2, Fandral, me);
+ Fandral->AI()->Talk(FANDRAL_SAY_2);
break;
case 30:
break;
case 31:
- DoScriptText(ANACHRONOS_SAY_3, me, Fandral);
+ Talk(ANACHRONOS_SAY_3, Fandral->GetGUID());
break;
case 32:
Caelestrasz->SetVisible(false);
@@ -658,7 +658,7 @@ public:
me->GetMotionMaster()->MoveCharge(-8113, 1525, 2.77f, 8);
break;//both run to the gate
case 33:
- DoScriptText(ANACHRONOS_SAY_4, me);
+ Talk(ANACHRONOS_SAY_4);
Caelestrasz->GetMotionMaster()->MoveCharge(-8050, 1473, 65, 15);
break; //Text: sands will stop
case 34:
@@ -678,43 +678,43 @@ public:
me->SummonGameObject(GO_GLYPH_OF_AHN_QIRAJ, -8130, 1525, 17.5f, 0, 0, 0, 0, 0, 0);
break;
case 39:
- DoScriptText(ANACHRONOS_SAY_5, me, Fandral);
+ Talk(ANACHRONOS_SAY_5, Fandral->GetGUID());
break;
case 40:
Fandral->CastSpell(me, 25167, true);
break;
case 41:
Fandral->SummonGameObject(GO_ROOTS_OF_AHN_QIRAJ, -8130, 1525, 17.5f, 0, 0, 0, 0, 0, 0);
- DoScriptText(FANDRAL_SAY_3, Fandral);
+ Fandral->AI()->Talk(FANDRAL_SAY_3);
break;
case 42:
me->CastStop();
- DoScriptText(FANDRAL_EMOTE_1, Fandral);
+ Fandral->AI()->Talk(FANDRAL_EMOTE_1);
break;
case 43:
Fandral->CastStop();
break;
case 44:
- DoScriptText(ANACHRONOS_SAY_6, me);
+ Talk(ANACHRONOS_SAY_6);
break;
case 45:
- DoScriptText(ANACHRONOS_SAY_7, me);
+ Talk(ANACHRONOS_SAY_7);
break;
case 46:
- DoScriptText(ANACHRONOS_SAY_8, me);
+ Talk(ANACHRONOS_SAY_8);
me->GetMotionMaster()->MoveCharge(-8110, 1527, 2.77f, 4);
break;
case 47:
- DoScriptText(ANACHRONOS_EMOTE_1, me);
+ Talk(ANACHRONOS_EMOTE_1);
break;
case 48:
- DoScriptText(FANDRAL_SAY_4, Fandral, me);
+ Fandral->AI()->Talk(FANDRAL_SAY_4, me->GetGUID());
break;
case 49:
- DoScriptText(FANDRAL_SAY_5, Fandral, me);
+ Fandral->AI()->Talk(FANDRAL_SAY_5, me->GetGUID());
break;
case 50:
- DoScriptText(FANDRAL_EMOTE_2, Fandral);
+ Fandral->AI()->Talk(FANDRAL_EMOTE_2);
Fandral->CastSpell(-8127, 1525, 17.5f, 33806, true);
break;
case 51:
@@ -734,19 +734,19 @@ public:
}
case 52:
Fandral->GetMotionMaster()->MoveCharge(-8028.75f, 1538.795f, 2.61f, 4);
- DoScriptText(ANACHRONOS_SAY_9, me, Fandral);
+ Fandral->AI()->Talk(ANACHRONOS_SAY_9, me->GetGUID());
break;
case 53:
- DoScriptText(FANDRAL_SAY_6, Fandral);
+ Fandral->AI()->Talk(FANDRAL_SAY_6);
break;
case 54:
- DoScriptText(ANACHRONOS_EMOTE_2, me);
+ Talk(ANACHRONOS_EMOTE_2);
break;
case 55:
Fandral->SetVisible(false);
break;
case 56:
- DoScriptText(ANACHRONOS_EMOTE_3, me);
+ Talk(ANACHRONOS_EMOTE_3);
me->GetMotionMaster()->MoveCharge(-8116, 1522, 3.65f, 4);
break;
case 57:
@@ -760,7 +760,7 @@ public:
break;
case 60:
if (player)
- DoScriptText(ANACHRONOS_SAY_10, me, player);
+ Talk(ANACHRONOS_SAY_10, player->GetGUID());
me->GetMotionMaster()->MoveCharge(-8113.46f, 1524.16f, 2.89f, 4);
break;
case 61:
@@ -782,7 +782,7 @@ public:
me->SetVisible(false);
if (Creature* AnachronosQuestTrigger = (Unit::GetCreature(*me, AnachronosQuestTriggerGUID)))
{
- DoScriptText(ARYGOS_YELL_1, me);
+ Talk(ARYGOS_YELL_1);
AnachronosQuestTrigger->AI()->EnterEvadeMode();
eventEnd=true;
}
@@ -1054,7 +1054,7 @@ public:
{
if (!Announced && AnnounceTimer <= diff)
{
- DoScriptText(WavesInfo[WaveCount].WaveTextId, me);
+ Talk(WavesInfo[WaveCount].WaveTextId);
Announced = true;
} else AnnounceTimer -= diff;
diff --git a/src/server/scripts/Kalimdor/teldrassil.cpp b/src/server/scripts/Kalimdor/teldrassil.cpp
index 6c1993d6447..dfd42d132d8 100644
--- a/src/server/scripts/Kalimdor/teldrassil.cpp
+++ b/src/server/scripts/Kalimdor/teldrassil.cpp
@@ -38,8 +38,8 @@ EndContentData */
enum Mist
{
- SAY_AT_HOME = -1000323,
- EMOTE_AT_HOME = -1000324,
+ SAY_AT_HOME = 0,
+ EMOTE_AT_HOME = 1,
QUEST_MIST = 938,
NPC_ARYNIA = 3519,
FACTION_DARNASSUS = 79
@@ -78,7 +78,7 @@ public:
{
if (me->IsWithinDistInMap(who, 10.0f))
{
- DoScriptText(SAY_AT_HOME, who);
+ Talk(SAY_AT_HOME, who->GetGUID());
DoComplete();
}
}
@@ -86,7 +86,7 @@ public:
void DoComplete()
{
- DoScriptText(EMOTE_AT_HOME, me);
+ Talk(EMOTE_AT_HOME);
Player* player = GetLeaderForFollower();
if (player && player->GetQuestStatus(QUEST_MIST) == QUEST_STATUS_INCOMPLETE)
diff --git a/src/server/scripts/Kalimdor/the_barrens.cpp b/src/server/scripts/Kalimdor/the_barrens.cpp
index 8a24f696a23..9417e7993f7 100644
--- a/src/server/scripts/Kalimdor/the_barrens.cpp
+++ b/src/server/scripts/Kalimdor/the_barrens.cpp
@@ -83,17 +83,14 @@ public:
enum Gilthares
{
- SAY_GIL_START = -1000370,
- SAY_GIL_AT_LAST = -1000371,
- SAY_GIL_PROCEED = -1000372,
- SAY_GIL_FREEBOOTERS = -1000373,
- SAY_GIL_AGGRO_1 = -1000374,
- SAY_GIL_AGGRO_2 = -1000375,
- SAY_GIL_AGGRO_3 = -1000376,
- SAY_GIL_AGGRO_4 = -1000377,
- SAY_GIL_ALMOST = -1000378,
- SAY_GIL_SWEET = -1000379,
- SAY_GIL_FREED = -1000380,
+ SAY_GIL_START = 0,
+ SAY_GIL_AT_LAST = 1,
+ SAY_GIL_PROCEED = 2,
+ SAY_GIL_FREEBOOTERS = 3,
+ SAY_GIL_AGGRO = 4,
+ SAY_GIL_ALMOST = 5,
+ SAY_GIL_SWEET = 6,
+ SAY_GIL_FREED = 7,
QUEST_FREE_FROM_HOLD = 898,
AREA_MERCHANT_COAST = 391,
@@ -112,7 +109,7 @@ public:
creature->setFaction(FACTION_ESCORTEE);
creature->SetStandState(UNIT_STAND_STATE_STAND);
- DoScriptText(SAY_GIL_START, creature, player);
+ creature->AI()->Talk(SAY_GIL_START, player->GetGUID());
if (npc_giltharesAI* pEscortAI = CAST_AI(npc_gilthares::npc_giltharesAI, creature->AI()))
pEscortAI->Start(false, false, player->GetGUID(), quest);
@@ -140,22 +137,22 @@ public:
switch (waypointId)
{
case 16:
- DoScriptText(SAY_GIL_AT_LAST, me, player);
+ Talk(SAY_GIL_AT_LAST, player->GetGUID());
break;
case 17:
- DoScriptText(SAY_GIL_PROCEED, me, player);
+ Talk(SAY_GIL_PROCEED, player->GetGUID());
break;
case 18:
- DoScriptText(SAY_GIL_FREEBOOTERS, me, player);
+ Talk(SAY_GIL_FREEBOOTERS, player->GetGUID());
break;
case 37:
- DoScriptText(SAY_GIL_ALMOST, me, player);
+ Talk(SAY_GIL_ALMOST,player->GetGUID());
break;
case 47:
- DoScriptText(SAY_GIL_SWEET, me, player);
+ Talk(SAY_GIL_SWEET, player->GetGUID());
break;
case 53:
- DoScriptText(SAY_GIL_FREED, me, player);
+ Talk(SAY_GIL_FREED, player->GetGUID());
player->GroupEventHappens(QUEST_FREE_FROM_HOLD, me);
break;
}
@@ -171,7 +168,7 @@ public:
if (who->GetTypeId() != TYPEID_PLAYER && me->GetAreaId() == AREA_MERCHANT_COAST)
{
//appears to be pretty much random (possible only if escorter not in combat with who yet?)
- DoScriptText(RAND(SAY_GIL_AGGRO_1, SAY_GIL_AGGRO_2, SAY_GIL_AGGRO_3, SAY_GIL_AGGRO_4), me, who);
+ Talk(SAY_GIL_AGGRO, who->GetGUID());
}
}
};
@@ -324,11 +321,11 @@ enum TwiggyFlathead
NPC_BIG_WILL = 6238,
NPC_AFFRAY_CHALLENGER = 6240,
- SAY_BIG_WILL_READY = -1000123,
- SAY_TWIGGY_FLATHEAD_BEGIN = -1000124,
- SAY_TWIGGY_FLATHEAD_FRAY = -1000125,
- SAY_TWIGGY_FLATHEAD_DOWN = -1000126,
- SAY_TWIGGY_FLATHEAD_OVER = -1000127,
+ SAY_BIG_WILL_READY = 0,
+ SAY_TWIGGY_FLATHEAD_BEGIN = 0,
+ SAY_TWIGGY_FLATHEAD_FRAY = 1,
+ SAY_TWIGGY_FLATHEAD_DOWN = 2,
+ SAY_TWIGGY_FLATHEAD_OVER = 3
};
Position const AffrayChallengerLoc[6] =
@@ -412,7 +409,7 @@ public:
return;
if (!pWarrior->isAlive() && pWarrior->GetQuestStatus(1719) == QUEST_STATUS_INCOMPLETE) {
- DoScriptText(SAY_TWIGGY_FLATHEAD_DOWN, me);
+ Talk(SAY_TWIGGY_FLATHEAD_DOWN);
pWarrior->FailQuest(1719);
for (uint8 i = 0; i < 6; ++i) // unsummon challengers
@@ -441,7 +438,7 @@ public:
if (x >= -1684 && x <= -1674 && y >= -4334 && y <= -4324) {
pWarrior->AreaExploredOrEventHappens(1719);
- DoScriptText(SAY_TWIGGY_FLATHEAD_BEGIN, me, pWarrior);
+ Talk(SAY_TWIGGY_FLATHEAD_BEGIN, pWarrior->GetGUID());
for (uint8 i = 0; i < 6; ++i)
{
@@ -470,7 +467,7 @@ public:
Creature* creature = Unit::GetCreature((*me), AffrayChallenger[i]);
if ((!creature || (!creature->isAlive())) && !ChallengerDown[i])
{
- DoScriptText(SAY_TWIGGY_FLATHEAD_DOWN, me);
+ Talk(SAY_TWIGGY_FLATHEAD_DOWN);
ChallengerDown[i] = true;
}
}
@@ -482,7 +479,7 @@ public:
{
if (Wave < 6 && AffrayChallenger[Wave] && !EventBigWill)
{
- DoScriptText(SAY_TWIGGY_FLATHEAD_FRAY, me);
+ Talk(SAY_TWIGGY_FLATHEAD_FRAY);
Creature* creature = Unit::GetCreature((*me), AffrayChallenger[Wave]);
if (creature && (creature->isAlive()))
{
@@ -512,7 +509,7 @@ public:
Creature* creature = Unit::GetCreature((*me), BigWill);
if (!creature || !creature->isAlive())
{
- DoScriptText(SAY_TWIGGY_FLATHEAD_OVER, me);
+ Talk(SAY_TWIGGY_FLATHEAD_OVER);
Reset();
}
}
@@ -530,14 +527,14 @@ public:
enum Wizzlecrank
{
- SAY_START = -1000298,
- SAY_STARTUP1 = -1000299,
- SAY_STARTUP2 = -1000300,
- SAY_MERCENARY = -1000301,
- SAY_PROGRESS_1 = -1000302,
- SAY_PROGRESS_2 = -1000303,
- SAY_PROGRESS_3 = -1000304,
- SAY_END = -1000305,
+ SAY_MERCENARY = 0,
+ SAY_START = 0,
+ SAY_STARTUP1 = 1,
+ SAY_STARTUP2 = 2,
+ SAY_PROGRESS_1 = 3,
+ SAY_PROGRESS_2 = 4,
+ SAY_PROGRESS_3 = 5,
+ SAY_END = 6,
QUEST_ESCAPE = 863,
FACTION_RATCHET = 637,
@@ -581,7 +578,7 @@ public:
switch (waypointId)
{
case 0:
- DoScriptText(SAY_STARTUP1, me);
+ Talk(SAY_STARTUP1);
break;
case 9:
SetRun(false);
@@ -589,7 +586,7 @@ public:
case 17:
if (Creature* temp = me->SummonCreature(NPC_MERCENARY, 1128.489f, -3037.611f, 92.701f, 1.472f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000))
{
- DoScriptText(SAY_MERCENARY, temp);
+ temp->AI()->Talk(SAY_MERCENARY);
me->SummonCreature(NPC_MERCENARY, 1160.172f, -2980.168f, 97.313f, 3.690f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000);
}
break;
@@ -609,10 +606,10 @@ public:
switch (PointId)
{
case 9:
- DoScriptText(SAY_STARTUP2, me, player);
+ Talk(SAY_STARTUP2, player->GetGUID());
break;
case 18:
- DoScriptText(SAY_PROGRESS_1, me, player);
+ Talk(SAY_PROGRESS_1, player->GetGUID());
SetRun();
break;
}
@@ -638,13 +635,13 @@ public:
switch (PostEventCount)
{
case 0:
- DoScriptText(SAY_PROGRESS_2, me);
+ Talk(SAY_PROGRESS_2);
break;
case 1:
- DoScriptText(SAY_PROGRESS_3, me);
+ Talk(SAY_PROGRESS_3);
break;
case 2:
- DoScriptText(SAY_END, me);
+ Talk(SAY_END);
break;
case 3:
if (Player* player = GetPlayerForEscort())
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp
index 8d4b84337df..0094412895c 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp
@@ -149,7 +149,7 @@ class boss_steelbreaker : public CreatureScript
me->RemoveAllAuras();
}
- void EnterCombat(Unit* who)
+ void EnterCombat(Unit* /*who*/)
{
_EnterCombat();
Talk(SAY_STEELBREAKER_AGGRO);
@@ -280,7 +280,7 @@ class boss_runemaster_molgeim : public CreatureScript
me->RemoveAllAuras();
}
- void EnterCombat(Unit* who)
+ void EnterCombat(Unit* /*who*/)
{
_EnterCombat();
Talk(SAY_MOLGEIM_AGGRO);
@@ -432,7 +432,7 @@ class boss_stormcaller_brundir : public CreatureScript
me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_STUN, false); // Reset immumity, Brundir should be stunnable by default
}
- void EnterCombat(Unit* who)
+ void EnterCombat(Unit* /*who*/)
{
_EnterCombat();
Talk(SAY_BRUNDIR_AGGRO);
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
index bfe158051b1..bd063877d39 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
@@ -76,16 +76,12 @@ enum AuriayaEvents
enum AuriayaYells
{
- // Yells
- SAY_AGGRO = -1603050,
- SAY_SLAY_1 = -1603051,
- SAY_SLAY_2 = -1603052,
- SAY_DEATH = -1603053,
- SAY_BERSERK = -1603054,
-
- // Emotes
- EMOTE_FEAR = -1603055,
- EMOTE_DEFENDER = -1603056,
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_DEATH = 2,
+ SAY_BERSERK = 3,
+ EMOTE_FEAR = 4,
+ EMOTE_DEFENDER = 5
};
enum AuriayaActions
@@ -121,7 +117,7 @@ class boss_auriaya : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
_EnterCombat();
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_SCREECH, urand(45000, 65000));
events.ScheduleEvent(EVENT_BLAST, urand(20000, 25000));
@@ -131,9 +127,10 @@ class boss_auriaya : public CreatureScript
events.ScheduleEvent(EVENT_BERSERK, 600000);
}
- void KilledUnit(Unit* /*who*/)
+ void KilledUnit(Unit* who)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
}
void JustSummoned(Creature* summoned)
@@ -206,8 +203,8 @@ class boss_auriaya : public CreatureScript
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
_JustDied();
+ Talk(SAY_DEATH);
}
void UpdateAI(uint32 const diff)
@@ -229,7 +226,7 @@ class boss_auriaya : public CreatureScript
events.ScheduleEvent(EVENT_SCREECH, urand(40000, 60000));
break;
case EVENT_TERRIFYING:
- DoScriptText(EMOTE_FEAR, me);
+ Talk(EMOTE_FEAR);
DoCast(SPELL_TERRIFYING_SCREECH);
events.ScheduleEvent(EVENT_TERRIFYING, urand(20000, 30000));
break;
@@ -238,7 +235,7 @@ class boss_auriaya : public CreatureScript
events.ScheduleEvent(EVENT_BLAST, urand(25000, 35000));
break;
case EVENT_DEFENDER:
- DoScriptText(EMOTE_DEFENDER, me);
+ Talk(EMOTE_DEFENDER);
DoCast(SPELL_DEFENDER_TRIGGER);
if (Creature* trigger = me->FindNearestCreature(NPC_FERAL_DEFENDER_TRIGGER, 15.0f, true))
DoCast(trigger, SPELL_ACTIVATE_DEFENDER, true);
@@ -262,7 +259,7 @@ class boss_auriaya : public CreatureScript
break;
case EVENT_BERSERK:
DoCast(me, SPELL_BERSERK, true);
- DoScriptText(SAY_BERSERK, me);
+ Talk(SAY_BERSERK);
events.CancelEvent(EVENT_BERSERK);
break;
}
@@ -296,17 +293,17 @@ class npc_auriaya_seeping_trigger : public CreatureScript
instance = me->GetInstanceScript();
}
- void Reset()
- {
- me->DespawnOrUnsummon(600000);
- DoCast(me, SPELL_SEEPING_ESSENCE);
- }
+ void Reset()
+ {
+ me->DespawnOrUnsummon(600000);
+ DoCast(me, SPELL_SEEPING_ESSENCE);
+ }
- void UpdateAI(uint32 const /*diff*/)
- {
- if (instance->GetBossState(BOSS_AURIAYA) != IN_PROGRESS)
- me->DespawnOrUnsummon();
- }
+ void UpdateAI(uint32 const /*diff*/)
+ {
+ if (instance->GetBossState(BOSS_AURIAYA) != IN_PROGRESS)
+ me->DespawnOrUnsummon();
+ }
private:
InstanceScript* instance;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
index a26f5763472..5699616563a 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -141,9 +141,6 @@ enum Vehicles
VEHICLE_DEMOLISHER = 33109,
};
-#define EMOTE_PURSUE "Flame Leviathan pursues $N."
-#define EMOTE_OVERLOAD "Flame Leviathan's circuits overloaded."
-#define EMOTE_REPAIR "Automatic repair sequence initiated."
#define DATA_SHUTOUT 29112912 // 2911, 2912 are achievement IDs
#define DATA_ORBIT_ACHIEVEMENTS 1
#define VEHICLE_SPAWNS 5
@@ -151,22 +148,21 @@ enum Vehicles
enum Yells
{
- SAY_AGGRO = -1603060,
- SAY_SLAY = -1603061,
- SAY_DEATH = -1603062,
- SAY_TARGET_1 = -1603063,
- SAY_TARGET_2 = -1603064,
- SAY_TARGET_3 = -1603065,
- SAY_HARDMODE = -1603066,
- SAY_TOWER_NONE = -1603067,
- SAY_TOWER_FROST = -1603068,
- SAY_TOWER_FLAME = -1603069,
- SAY_TOWER_NATURE = -1603070,
- SAY_TOWER_STORM = -1603071,
- SAY_PLAYER_RIDING = -1603072,
- SAY_OVERLOAD_1 = -1603073,
- SAY_OVERLOAD_2 = -1603074,
- SAY_OVERLOAD_3 = -1603075,
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_DEATH = 2,
+ SAY_TARGET = 3,
+ SAY_HARDMODE = 4,
+ SAY_TOWER_NONE = 5,
+ SAY_TOWER_FROST = 6,
+ SAY_TOWER_FLAME = 7,
+ SAY_TOWER_NATURE = 8,
+ SAY_TOWER_STORM = 9,
+ SAY_PLAYER_RIDING = 10,
+ SAY_OVERLOAD = 11,
+ EMOTE_PURSUE = 12,
+ EMOTE_OVERLOAD = 13,
+ EMOTE_REPAIR = 14
};
enum MiscellanousData
@@ -179,15 +175,8 @@ enum MiscellanousData
FOUR_SEATS = 4,
};
-Position const Center[]=
-{
- {354.8771f, -12.90240f, 409.803650f, 0.0f},
-};
-
-Position const InfernoStart[]=
-{
- {390.93f, -13.91f, 409.81f, 0.0f},
-};
+Position const Center = { 354.8771f, -12.90240f, 409.803650f, 0.0f };
+Position const InfernoStart = { 390.93f, -13.91f, 409.81f, 0.0f };
Position const PosSiege[VEHICLE_SPAWNS] =
{
@@ -320,12 +309,12 @@ class boss_flame_leviathan : public CreatureScript
}
if (!towerOfLife && !towerOfFrost && !towerOfFlames && !towerOfStorms)
- DoScriptText(SAY_TOWER_NONE, me);
+ Talk(SAY_TOWER_NONE);
else
- DoScriptText(SAY_HARDMODE, me);
+ Talk(SAY_HARDMODE);
}
else
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void JustDied(Unit* /*killer*/)
@@ -334,7 +323,7 @@ class boss_flame_leviathan : public CreatureScript
// Set Field Flags 67108928 = 64 | 67108864 = UNIT_FLAG_UNK_6 | UNIT_FLAG_SKINNABLE
// Set DynFlags 12
// Set NPCFlags 0
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
void SpellHit(Unit* /*caster*/, SpellInfo const* spell)
@@ -397,7 +386,7 @@ class boss_flame_leviathan : public CreatureScript
switch (eventId)
{
case EVENT_PURSUE:
- DoScriptText(RAND(SAY_TARGET_1, SAY_TARGET_2, SAY_TARGET_3), me);
+ Talk(SAY_TARGET);
DoCast(SPELL_PURSUED); // Will select target in spellscript
events.ScheduleEvent(EVENT_PURSUE, 35*IN_MILLISECONDS);
break;
@@ -420,8 +409,8 @@ class boss_flame_leviathan : public CreatureScript
events.ScheduleEvent(EVENT_SUMMON, 2*IN_MILLISECONDS);
break;
case EVENT_SHUTDOWN:
- DoScriptText(RAND(SAY_OVERLOAD_1, SAY_OVERLOAD_2, SAY_OVERLOAD_3), me);
- me->MonsterTextEmote(EMOTE_OVERLOAD, 0, true);
+ Talk(SAY_OVERLOAD);
+ Talk(EMOTE_OVERLOAD);
me->CastSpell(me, SPELL_SYSTEMS_SHUTDOWN, true);
if (Shutout)
Shutout = false;
@@ -429,7 +418,7 @@ class boss_flame_leviathan : public CreatureScript
events.DelayEvents(20 * IN_MILLISECONDS, 0);
break;
case EVENT_REPAIR:
- me->MonsterTextEmote(EMOTE_REPAIR, 0, true);
+ Talk(EMOTE_REPAIR);
me->ClearUnitState(UNIT_STATE_STUNNED | UNIT_STATE_ROOT);
events.ScheduleEvent(EVENT_SHUTDOWN, 150*IN_MILLISECONDS);
events.CancelEvent(EVENT_REPAIR);
@@ -440,12 +429,12 @@ class boss_flame_leviathan : public CreatureScript
if (Creature* thorim = DoSummon(NPC_THORIM_BEACON, me, float(urand(20, 60)), 20000, TEMPSUMMON_TIMED_DESPAWN))
thorim->GetMotionMaster()->MoveRandom(100);
}
- DoScriptText(SAY_TOWER_STORM, me);
+ Talk(SAY_TOWER_STORM);
events.CancelEvent(EVENT_THORIM_S_HAMMER);
break;
case EVENT_MIMIRON_S_INFERNO: // Tower of Flames
- me->SummonCreature(NPC_MIMIRON_BEACON, InfernoStart->GetPositionX(), InfernoStart->GetPositionY(), InfernoStart->GetPositionZ());
- DoScriptText(SAY_TOWER_FLAME, me);
+ me->SummonCreature(NPC_MIMIRON_BEACON, InfernoStart);
+ Talk(SAY_TOWER_FLAME);
events.CancelEvent(EVENT_MIMIRON_S_INFERNO);
break;
case EVENT_HODIR_S_FURY: // Tower of Frost
@@ -454,11 +443,11 @@ class boss_flame_leviathan : public CreatureScript
if (Creature* hodir = DoSummon(NPC_HODIR_BEACON, me, 50, 0))
hodir->GetMotionMaster()->MoveRandom(100);
}
- DoScriptText(SAY_TOWER_FROST, me);
+ Talk(SAY_TOWER_FROST);
events.CancelEvent(EVENT_HODIR_S_FURY);
break;
case EVENT_FREYA_S_WARD: // Tower of Nature
- DoScriptText(SAY_TOWER_NATURE, me);
+ Talk(SAY_TOWER_NATURE);
for (int32 i = 0; i < 4; ++i)
me->SummonCreature(NPC_FREYA_BEACON, FreyaBeacons[i]);
@@ -529,8 +518,8 @@ class boss_flame_leviathan : public CreatureScript
case ACTION_MOVE_TO_CENTER_POSITION: // Triggered by 2 Collossus near door
if (!me->isDead())
{
- me->SetHomePosition(Center->GetPositionX(), Center->GetPositionY(), Center->GetPositionZ(), 0);
- me->GetMotionMaster()->MoveCharge(Center->GetPositionX(), Center->GetPositionY(), Center->GetPositionZ()); //position center
+ me->SetHomePosition(Center);
+ me->GetMotionMaster()->MoveCharge(Center.GetPositionX(), Center.GetPositionY(), Center.GetPositionZ()); // position center
me->SetReactState(REACT_AGGRESSIVE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_STUNNED);
return;
@@ -593,8 +582,8 @@ class boss_flame_leviathan_seat : public CreatureScript
{
if (!apply)
return;
- else
- DoScriptText(SAY_PLAYER_RIDING, me);
+ else if (Creature* leviathan = me->GetVehicleCreatureBase())
+ leviathan->AI()->Talk(SAY_PLAYER_RIDING);
if (Creature* turret = me->GetVehicleKit()->GetPassenger(SEAT_TURRET)->ToCreature())
{
@@ -887,7 +876,7 @@ class npc_colossus : public CreatureScript
void JustDied(Unit* /*killer*/)
{
- if (me->GetHomePosition().IsInDist(Center, 50.f))
+ if (me->GetHomePosition().IsInDist(&Center, 50.f))
instance->SetData(DATA_COLOSSUS, instance->GetData(DATA_COLOSSUS)+1);
}
@@ -1700,7 +1689,7 @@ class spell_pursue : public SpellScriptLoader
{
if (IS_PLAYER_GUID(itr->second.Passenger))
{
- caster->MonsterTextEmote(EMOTE_PURSUE, itr->second.Passenger, true);
+ caster->AI()->Talk(EMOTE_PURSUE, itr->second.Passenger);
return;
}
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
index f60922c426c..ac7c4ce8da5 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
@@ -27,34 +27,23 @@
enum FreyaYells
{
// Freya
- SAY_AGGRO = -1603180,
- SAY_AGGRO_WITH_ELDER = -1603181,
- SAY_SLAY_1 = -1603182,
- SAY_SLAY_2 = -1603183,
- SAY_DEATH = -1603184,
- SAY_BERSERK = -1603185,
- SAY_SUMMON_CONSERVATOR = -1603186,
- SAY_SUMMON_TRIO = -1603187,
- SAY_SUMMON_LASHERS = -1603188,
- SAY_YS_HELP = -1603189,
-
- // Elder Brightleaf
- SAY_BRIGHTLEAF_AGGRO = -1603190,
- SAY_BRIGHTLEAF_SLAY_1 = -1603191,
- SAY_BRIGHTLEAF_SLAY_2 = -1603192,
- SAY_BRIGHTLEAF_DEATH = -1603193,
-
- // Elder Ironbranch
- SAY_IRONBRANCH_AGGRO = -1603194,
- SAY_IRONBRANCH_SLAY_1 = -1603195,
- SAY_IRONBRANCH_SLAY_2 = -1603196,
- SAY_IRONBRANCH_DEATH = -1603197,
-
- // Elder Stonebark
- SAY_STONEBARK_AGGRO = -1603198,
- SAY_STONEBARK_SLAY_1 = -1603199,
- SAY_STONEBARK_SLAY_2 = -1603200,
- SAY_STONEBARK_DEATH = -1603201,
+ SAY_AGGRO = 0,
+ SAY_AGGRO_WITH_ELDER = 1,
+ SAY_SLAY = 2,
+ SAY_DEATH = 3,
+ SAY_BERSERK = 4,
+ SAY_SUMMON_CONSERVATOR = 5,
+ SAY_SUMMON_TRIO = 6,
+ SAY_SUMMON_LASHERS = 7,
+ EMOTE_LIFEBINDERS_GIFT = 8,
+ EMOTE_ALLIES_OF_NATURE = 9,
+ EMOTE_GROUND_TREMOR = 10,
+ EMOTE_IRON_ROOTS = 11,
+
+ // Elder Brightleaf / Elder Ironbranch / Elder Stonebark
+ SAY_ELDER_AGGRO = 0,
+ SAY_ELDER_SLAY = 1,
+ SAY_ELDER_DEATH = 2
};
enum FreyaSpells
@@ -143,7 +132,7 @@ enum FreyaSpells
// Nature Bomb
SPELL_NATURE_BOMB = 64587,
SPELL_OBJECT_BOMB = 64600,
- SPELL_SUMMON_NATURE_BOMB = 64606,
+ SPELL_SUMMON_NATURE_BOMB = 64604,
// Unstable Sun Beam
SPELL_UNSTABLE_SUN_BEAM = 62211,
@@ -316,9 +305,10 @@ class boss_freya : public CreatureScript
random[n] = false;
}
- void KilledUnit(Unit* /*who*/)
+ void KilledUnit(Unit* who)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
}
void DamageTaken(Unit* who, uint32& damage)
@@ -369,9 +359,9 @@ class boss_freya : public CreatureScript
}
if (elderCount == 0)
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
else
- DoScriptText(SAY_AGGRO_WITH_ELDER, me);
+ Talk(SAY_AGGRO_WITH_ELDER);
me->CastCustomSpell(SPELL_ATTUNED_TO_NATURE, SPELLVALUE_AURA_STACK, 150, me, true);
@@ -409,7 +399,7 @@ class boss_freya : public CreatureScript
switch (eventId)
{
case EVENT_ENRAGE:
- DoScriptText(SAY_BERSERK, me);
+ Talk(SAY_BERSERK);
DoCast(me, SPELL_ENRAGE);
break;
case EVENT_SUNBEAM:
@@ -418,17 +408,9 @@ class boss_freya : public CreatureScript
events.ScheduleEvent(EVENT_SUNBEAM, urand(10000, 15000));
break;
case EVENT_NATURE_BOMB:
- {
- // On every player
- std::list<Player*> PlayerList;
- Trinity::AnyPlayerInObjectRangeCheck checker(me, 50.0f);
- Trinity::PlayerListSearcher<Trinity::AnyPlayerInObjectRangeCheck> searcher(me, PlayerList, checker);
- me->VisitNearbyWorldObject(50.0f, searcher);
- for (std::list<Player*>::const_iterator itr = PlayerList.begin(); itr != PlayerList.end(); ++itr)
- (*itr)->CastSpell(*itr, SPELL_SUMMON_NATURE_BOMB, true);
+ DoCastAOE(SPELL_SUMMON_NATURE_BOMB, true);
events.ScheduleEvent(EVENT_NATURE_BOMB, urand(10000, 12000));
break;
- }
case EVENT_UNSTABLE_ENERGY:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
DoCast(target, SPELL_FREYA_UNSTABLE_SUNBEAM, true);
@@ -442,15 +424,18 @@ class boss_freya : public CreatureScript
events.ScheduleEvent(EVENT_NATURE_BOMB, urand(10000, 20000));
break;
case EVENT_EONAR_GIFT:
+ Talk(EMOTE_LIFEBINDERS_GIFT);
DoCast(me, SPELL_SUMMON_EONAR_GIFT);
events.ScheduleEvent(EVENT_EONAR_GIFT, urand(40000, 50000));
break;
case EVENT_STRENGTHENED_IRON_ROOTS:
+ Talk(EMOTE_IRON_ROOTS);
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true, -SPELL_ROOTS_FREYA))
target->CastSpell(target, SPELL_ROOTS_FREYA, true); // This must be casted by Target self
events.ScheduleEvent(EVENT_STRENGTHENED_IRON_ROOTS, urand(12000, 20000));
break;
case EVENT_GROUND_TREMOR:
+ Talk(EMOTE_GROUND_TREMOR);
DoCastAOE(SPELL_FREYA_GROUND_TREMOR);
events.ScheduleEvent(EVENT_GROUND_TREMOR, urand(25000, 28000));
break;
@@ -573,20 +558,21 @@ class boss_freya : public CreatureScript
switch (GetWaveId())
{
case 0:
- DoScriptText(SAY_SUMMON_LASHERS, me);
+ Talk(SAY_SUMMON_LASHERS);
for (uint8 n = 0; n < 10; ++n)
DoCast(SPELL_SUMMON_LASHERS);
break;
case 1:
- DoScriptText(SAY_SUMMON_TRIO, me);
+ Talk(SAY_SUMMON_TRIO);
DoCast(SPELL_SUMMON_TRIO);
trioWaveCount++;
break;
case 2:
- DoScriptText(SAY_SUMMON_CONSERVATOR, me);
+ Talk(SAY_SUMMON_CONSERVATOR);
DoCast(SPELL_SUMMON_ANCIENT_CONSERVATOR);
break;
}
+ Talk(EMOTE_ALLIES_OF_NATURE);
waveCount++;
}
@@ -602,7 +588,7 @@ class boss_freya : public CreatureScript
me->CastSpell((Unit*)NULL, summonSpell[me->GetMap()->GetDifficulty()][elderCount], true);
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
me->SetReactState(REACT_PASSIVE);
_JustDied();
me->RemoveAllAuras();
@@ -705,17 +691,18 @@ class boss_elder_brightleaf : public CreatureScript
lumberjack = false;
}
- void KilledUnit(Unit* /*who*/)
+ void KilledUnit(Unit* who)
{
- DoScriptText(RAND(SAY_BRIGHTLEAF_SLAY_1, SAY_BRIGHTLEAF_SLAY_2), me);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_ELDER_SLAY);
}
void JustDied(Unit* killer)
{
_JustDied();
- DoScriptText(SAY_BRIGHTLEAF_DEATH, me);
+ Talk(SAY_ELDER_DEATH);
- if (killer && killer->GetTypeId() == TYPEID_PLAYER)
+ if (killer->GetTypeId() == TYPEID_PLAYER)
{
if (Creature* Ironbranch = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_IRONBRANCH)))
Ironbranch->AI()->DoAction(ACTION_ELDER_DEATH);
@@ -729,7 +716,7 @@ class boss_elder_brightleaf : public CreatureScript
{
_EnterCombat();
if (!me->HasAura(SPELL_DRAINED_OF_POWER))
- DoScriptText(SAY_BRIGHTLEAF_AGGRO, me);
+ Talk(SAY_ELDER_AGGRO);
}
void UpdateAI(uint32 const diff)
@@ -825,17 +812,18 @@ class boss_elder_stonebark : public CreatureScript
lumberjack = false;
}
- void KilledUnit(Unit* /*who*/)
+ void KilledUnit(Unit* who)
{
- DoScriptText(RAND(SAY_STONEBARK_SLAY_1, SAY_STONEBARK_SLAY_2), me);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_ELDER_SLAY);
}
void JustDied(Unit* killer)
{
_JustDied();
- DoScriptText(SAY_STONEBARK_DEATH, me);
+ Talk(SAY_ELDER_DEATH);
- if (killer && killer->GetTypeId() == TYPEID_PLAYER)
+ if (killer->GetTypeId() == TYPEID_PLAYER)
{
if (Creature* Ironbranch = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_IRONBRANCH)))
Ironbranch->AI()->DoAction(ACTION_ELDER_DEATH);
@@ -849,7 +837,7 @@ class boss_elder_stonebark : public CreatureScript
{
_EnterCombat();
if (!me->HasAura(SPELL_DRAINED_OF_POWER))
- DoScriptText(SAY_STONEBARK_AGGRO, me);
+ Talk(SAY_ELDER_AGGRO);
}
void DamageTaken(Unit* who, uint32& damage)
@@ -951,17 +939,18 @@ class boss_elder_ironbranch : public CreatureScript
lumberjack = false;
}
- void KilledUnit(Unit* /*who*/)
+ void KilledUnit(Unit* who)
{
- DoScriptText(RAND(SAY_IRONBRANCH_SLAY_1, SAY_IRONBRANCH_SLAY_2), me);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_ELDER_SLAY);
}
void JustDied(Unit* killer)
{
_JustDied();
- DoScriptText(SAY_IRONBRANCH_DEATH, me);
+ Talk(SAY_ELDER_DEATH);
- if (killer && killer->GetTypeId() == TYPEID_PLAYER)
+ if (killer->GetTypeId() == TYPEID_PLAYER)
{
if (Creature* Brightleaf = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_BRIGHTLEAF)))
Brightleaf->AI()->DoAction(ACTION_ELDER_DEATH);
@@ -975,7 +964,7 @@ class boss_elder_ironbranch : public CreatureScript
{
_EnterCombat();
if (!me->HasAura(SPELL_DRAINED_OF_POWER))
- DoScriptText(SAY_IRONBRANCH_AGGRO, me);
+ Talk(SAY_ELDER_AGGRO);
}
void UpdateAI(uint32 const diff)
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
index 1232c1b9051..43d203daedf 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
@@ -24,21 +24,22 @@
enum VezaxYells
{
- SAY_AGGRO = -1603290,
- SAY_SLAY_1 = -1603291,
- SAY_SLAY_2 = -1603292,
- SAY_SURGE_OF_DARKNESS = -1603293,
- SAY_DEATH = -1603294,
- SAY_BERSERK = -1603295,
- SAY_HARDMODE = -1603296,
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_SURGE_OF_DARKNESS = 2,
+ SAY_DEATH = 3,
+ SAY_BERSERK = 4,
+ SAY_HARDMODE = 5,
};
enum VezaxEmotes
{
- EMOTE_VAPORS = -1603289,
- EMOTE_ANIMUS = -1603297,
- EMOTE_BARRIER = -1603298,
- EMOTE_SURGE_OF_DARKNESS = -1603299,
+ EMOTE_ANIMUS = 6,
+ EMOTE_BARRIER = 7,
+ EMOTE_SURGE_OF_DARKNESS = 8,
+
+ // Saronite Vapor
+ EMOTE_VAPORS = 9
};
enum VezaxSpells
@@ -122,7 +123,7 @@ class boss_general_vezax : public CreatureScript
{
_EnterCombat();
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
DoCast(me, SPELL_AURA_OF_DESPAIR);
CheckShamanisticRage();
@@ -173,8 +174,8 @@ class boss_general_vezax : public CreatureScript
break;
}
case EVENT_SURGE_OF_DARKNESS:
- DoScriptText(EMOTE_SURGE_OF_DARKNESS, me);
- DoScriptText(SAY_SURGE_OF_DARKNESS, me);
+ Talk(EMOTE_SURGE_OF_DARKNESS);
+ Talk(SAY_SURGE_OF_DARKNESS);
DoCast(me, SPELL_SURGE_OF_DARKNESS);
events.ScheduleEvent(EVENT_SURGE_OF_DARKNESS, urand(50000, 70000));
break;
@@ -183,8 +184,8 @@ class boss_general_vezax : public CreatureScript
events.ScheduleEvent(EVENT_SARONITE_VAPORS, urand(30000, 35000));
if (++vaporCount == 6 && smellSaronite)
{
- DoScriptText(SAY_HARDMODE, me);
- DoScriptText(EMOTE_BARRIER, me);
+ Talk(SAY_HARDMODE);
+ Talk(EMOTE_BARRIER);
summons.DespawnAll();
DoCast(me, SPELL_SARONITE_BARRIER);
DoCast(SPELL_SUMMON_SARONITE_ANIMUS);
@@ -194,7 +195,7 @@ class boss_general_vezax : public CreatureScript
}
break;
case EVENT_BERSERK:
- DoScriptText(SAY_BERSERK, me);
+ Talk(SAY_BERSERK);
DoCast(me, SPELL_BERSERK);
break;
}
@@ -209,15 +210,16 @@ class boss_general_vezax : public CreatureScript
shadowDodger = false;
}
- void KilledUnit(Unit* /*who*/)
+ void KilledUnit(Unit* who)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
_JustDied();
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_AURA_OF_DESPAIR);
}
@@ -316,7 +318,6 @@ class boss_saronite_animus : public CreatureScript
boss_saronite_animusAI(Creature* creature) : ScriptedAI(creature)
{
instance = me->GetInstanceScript();
- DoScriptText(EMOTE_BARRIER, me);
}
void Reset()
@@ -378,7 +379,7 @@ class npc_saronite_vapors : public CreatureScript
{
npc_saronite_vaporsAI(Creature* creature) : ScriptedAI(creature)
{
- DoScriptText(EMOTE_VAPORS, me);
+ Talk(EMOTE_VAPORS);
instance = me->GetInstanceScript();
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true);
me->ApplySpellImmune(0, IMMUNITY_ID, 49560, true); // Death Grip jump effect
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
index c9fe1c5b707..ae865ded40a 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
@@ -32,18 +32,15 @@
enum HodirYells
{
- SAY_AGGRO = -1603210,
- SAY_SLAY_1 = -1603211,
- SAY_SLAY_2 = -1603212,
- SAY_FLASH_FREEZE = -1603213,
- SAY_STALACTITE = -1603214,
- SAY_DEATH = -1603215,
- SAY_BERSERK = -1603216,
- SAY_YS_HELP = -1603217,
- SAY_HARD_MODE_FAILED = -1603218,
-
- EMOTE_FREEZE = -1603209,
- EMOTE_BLOWS = -1603219,
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_FLASH_FREEZE = 2,
+ SAY_STALACTITE = 3,
+ SAY_DEATH = 4,
+ SAY_BERSERK = 5,
+ SAY_HARD_MODE_FAILED = 6,
+ EMOTE_FREEZE = 7,
+ EMOTE_BLOWS = 8
};
enum HodirSpells
@@ -329,7 +326,7 @@ class boss_hodir : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
_EnterCombat();
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
DoCast(me, SPELL_BITING_COLD, true);
gettingColdInHereTimer = 1000;
@@ -346,10 +343,10 @@ class boss_hodir : public CreatureScript
events.ScheduleEvent(EVENT_BERSERK, 480000);
}
- void KilledUnit(Unit* /*who*/)
+ void KilledUnit(Unit* who)
{
- if (!urand(0, 3))
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
}
void DamageTaken(Unit* /*who*/, uint32& damage)
@@ -357,7 +354,7 @@ class boss_hodir : public CreatureScript
if (damage >= me->GetHealth())
{
damage = 0;
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (iCouldSayThatThisCacheWasRare)
instance->SetData(DATA_HODIR_RARE_CACHE, 1);
@@ -404,8 +401,8 @@ class boss_hodir : public CreatureScript
events.ScheduleEvent(EVENT_ICICLE, RAID_MODE(5500, 3500));
break;
case EVENT_FLASH_FREEZE:
- DoScriptText(SAY_FLASH_FREEZE, me);
- DoScriptText(EMOTE_FREEZE, me);
+ Talk(SAY_FLASH_FREEZE);
+ Talk(EMOTE_FREEZE);
for (uint8 n = 0; n < RAID_MODE(2, 3); ++n)
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
target->CastSpell(target, SPELL_ICICLE_SNOWDRIFT, true);
@@ -424,19 +421,19 @@ class boss_hodir : public CreatureScript
break;
}
case EVENT_BLOWS:
- DoScriptText(SAY_STALACTITE, me);
- DoScriptText(EMOTE_BLOWS, me);
+ Talk(SAY_STALACTITE);
+ Talk(EMOTE_BLOWS);
DoCast(me, SPELL_FROZEN_BLOWS);
events.ScheduleEvent(EVENT_BLOWS, urand(60000, 65000));
break;
case EVENT_RARE_CACHE:
- DoScriptText(SAY_HARD_MODE_FAILED, me);
+ Talk(SAY_HARD_MODE_FAILED);
iCouldSayThatThisCacheWasRare = false;
instance->SetData(DATA_HODIR_RARE_CACHE, 0);
events.CancelEvent(EVENT_RARE_CACHE);
break;
case EVENT_BERSERK:
- DoScriptText(SAY_BERSERK, me);
+ Talk(SAY_BERSERK);
DoCast(me, SPELL_BERSERK, true);
events.CancelEvent(EVENT_BERSERK);
break;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
index c0fb4e3ecc8..8f68542d462 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
@@ -24,16 +24,14 @@
enum Yells
{
- SAY_AGGRO = -1603220,
- SAY_SLAY_1 = -1603221,
- SAY_SLAY_2 = -1603222,
- SAY_DEATH = -1603223,
- SAY_SUMMON = -1603224,
- SAY_SLAG_POT = -1603225,
- SAY_SCORCH_1 = -1603226,
- SAY_SCORCH_2 = -1603227,
- SAY_BERSERK = -1603228,
- EMOTE_JETS = -1603229,
+ SAY_AGGRO = 0,
+ SAY_SUMMON = 1,
+ SAY_SLAG_POT = 2,
+ SAY_SCORCH = 3,
+ SAY_SLAY = 4,
+ SAY_BERSERK = 5,
+ SAY_DEATH = 6,
+ EMOTE_JETS = 7
};
enum Spells
@@ -135,7 +133,7 @@ class boss_ignis : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
_EnterCombat();
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_JET, 30000);
events.ScheduleEvent(EVENT_SCORCH, 25000);
events.ScheduleEvent(EVENT_SLAG_POT, 35000);
@@ -151,7 +149,7 @@ class boss_ignis : public CreatureScript
void JustDied(Unit* /*killer*/)
{
_JustDied();
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
uint32 GetData(uint32 type) const
@@ -162,10 +160,10 @@ class boss_ignis : public CreatureScript
return 0;
}
- void KilledUnit(Unit* /*victim*/)
+ void KilledUnit(Unit* who)
{
- if (!urand(0, 4))
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
}
void JustSummoned(Creature* summon)
@@ -217,7 +215,7 @@ class boss_ignis : public CreatureScript
case EVENT_SLAG_POT:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
{
- DoScriptText(SAY_SLAG_POT, me);
+ Talk(SAY_SLAG_POT);
_slagPotGUID = target->GetGUID();
DoCast(target, SPELL_GRAB);
events.DelayEvents(3000);
@@ -252,14 +250,14 @@ class boss_ignis : public CreatureScript
}
break;
case EVENT_SCORCH:
- DoScriptText(RAND(SAY_SCORCH_1, SAY_SCORCH_2), me);
+ Talk(SAY_SCORCH);
if (Unit* target = me->getVictim())
me->SummonCreature(NPC_GROUND_SCORCH, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 45000);
DoCast(SPELL_SCORCH);
events.ScheduleEvent(EVENT_SCORCH, 25000);
break;
case EVENT_CONSTRUCT:
- DoScriptText(SAY_SUMMON, me);
+ Talk(SAY_SUMMON);
DoSummon(NPC_IRON_CONSTRUCT, ConstructSpawnPosition[urand(0, CONSTRUCT_SPAWN_POINTS - 1)], 30000, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT);
DoCast(SPELL_STRENGHT);
DoCast(me, SPELL_ACTIVATE_CONSTRUCT);
@@ -267,7 +265,7 @@ class boss_ignis : public CreatureScript
break;
case EVENT_BERSERK:
DoCast(me, SPELL_BERSERK, true);
- DoScriptText(SAY_BERSERK, me);
+ Talk(SAY_BERSERK);
break;
}
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
index 9c77bb298a5..0e4d5026caf 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
@@ -76,15 +76,15 @@ enum Events
enum Yells
{
- SAY_AGGRO = -1603230,
- SAY_SLAY_1 = -1603231,
- SAY_SLAY_2 = -1603232,
- SAY_LEFT_ARM_GONE = -1603233,
- SAY_RIGHT_ARM_GONE = -1603234,
- SAY_SHOCKWAVE = -1603235,
- SAY_GRAB_PLAYER = -1603236,
- SAY_DEATH = -1603237,
- SAY_BERSERK = -1603238,
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_LEFT_ARM_GONE = 2,
+ SAY_RIGHT_ARM_GONE = 3,
+ SAY_SHOCKWAVE = 4,
+ SAY_GRAB_PLAYER = 5,
+ SAY_DEATH = 6,
+ SAY_BERSERK = 7,
+ EMOTE_STONE_GRIP = 8
};
class boss_kologarn : public CreatureScript
@@ -113,7 +113,7 @@ class boss_kologarn : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_MELEE_CHECK, 6000);
events.ScheduleEvent(EVENT_SMASH, 5000);
@@ -138,7 +138,7 @@ class boss_kologarn : public CreatureScript
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
DoCast(SPELL_KOLOGARN_PACIFY);
me->GetMotionMaster()->MoveTargetedHome();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -146,9 +146,10 @@ class boss_kologarn : public CreatureScript
_JustDied();
}
- void KilledUnit(Unit* /*who*/)
+ void KilledUnit(Unit* who)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
}
void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply)
@@ -160,7 +161,7 @@ class boss_kologarn : public CreatureScript
if (!apply && isEncounterInProgress)
{
who->ToCreature()->DisappearAndDie();
- DoScriptText(SAY_LEFT_ARM_GONE, me);
+ Talk(SAY_LEFT_ARM_GONE);
events.ScheduleEvent(EVENT_RESPAWN_LEFT_ARM, 40000);
}
}
@@ -171,7 +172,7 @@ class boss_kologarn : public CreatureScript
if (!apply && isEncounterInProgress)
{
who->ToCreature()->DisappearAndDie();
- DoScriptText(SAY_RIGHT_ARM_GONE, me);
+ Talk(SAY_RIGHT_ARM_GONE);
events.ScheduleEvent(EVENT_RESPAWN_RIGHT_ARM, 40000);
}
}
@@ -272,7 +273,7 @@ class boss_kologarn : public CreatureScript
break;
case EVENT_ENRAGE:
DoCast(SPELL_BERSERK);
- DoScriptText(SAY_BERSERK, me);
+ Talk(SAY_BERSERK);
break;
case EVENT_RESPAWN_LEFT_ARM:
case EVENT_RESPAWN_RIGHT_ARM:
@@ -290,7 +291,8 @@ class boss_kologarn : public CreatureScript
if (right)
{
DoCast(SPELL_STONE_GRIP);
- DoScriptText(SAY_GRAB_PLAYER, me);
+ Talk(SAY_GRAB_PLAYER);
+ Talk(EMOTE_STONE_GRIP);
}
events.ScheduleEvent(EVENT_STONE_GRIP, 25 * IN_MILLISECONDS);
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
index 6a4a5255293..b5c907af7f0 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
@@ -35,8 +35,7 @@ enum Yells
SAY_V07TRON_ACTIVATE = 11,
SAY_V07TRON_SLAY = 12,
SAY_V07TRON_DEATH = 13,
- SAY_BERSERK = 14,
- SAY_YS_HELP = 15
+ SAY_BERSERK = 14
};
enum Spells
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
index 5ea2678adfe..9643b2ec9ab 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
@@ -27,15 +27,22 @@
enum Says
{
- SAY_GREET = -1603260,
- SAY_GROUND_PHASE = -1603261,
- SAY_AGGRO_1 = -1603262,
- SAY_AGGRO_2 = -1603263,
- SAY_AGGRO_3 = -1603264,
- SAY_TURRETS = -1603265,
- EMOTE_HARPOON = -1603266,
- EMOTE_BREATH = -1603267,
- EMOTE_PERMA = -1603268,
+ // Expedition Commander
+ SAY_INTRO = 0,
+ SAY_GROUND_PHASE = 1,
+ SAY_AGGRO_2 = 2,
+
+ // Expedition Engineer
+ SAY_AGGRO_1 = 0,
+ SAY_AGGRO_3 = 1,
+ SAY_TURRETS = 2, // unused
+
+ // Razorscale Controller
+ EMOTE_HARPOON = 0,
+
+ // Razorscale
+ EMOTE_PERMA = 0,
+ EMOTE_BREATH = 1
};
enum Spells
@@ -245,7 +252,7 @@ class boss_razorscale_controller : public CreatureScript
switch (eventId)
{
case EVENT_BUILD_HARPOON_1:
- DoScriptText(EMOTE_HARPOON, me);
+ Talk(EMOTE_HARPOON);
if (GameObject* Harpoon = me->SummonGameObject(GO_RAZOR_HARPOON_1, PosHarpoon[0].GetPositionX(), PosHarpoon[0].GetPositionY(), PosHarpoon[0].GetPositionZ(), 4.790f, 0.0f, 0.0f, 0.0f, 0.0f, uint32(me->GetRespawnTime())))
{
if (GameObject* BrokenHarpoon = Harpoon->FindNearestGameObject(GO_RAZOR_BROKEN_HARPOON, 5.0f)) //only nearest broken harpoon
@@ -255,7 +262,7 @@ class boss_razorscale_controller : public CreatureScript
}
return;
case EVENT_BUILD_HARPOON_2:
- DoScriptText(EMOTE_HARPOON, me);
+ Talk(EMOTE_HARPOON);
if (GameObject* Harpoon = me->SummonGameObject(GO_RAZOR_HARPOON_2, PosHarpoon[1].GetPositionX(), PosHarpoon[1].GetPositionY(), PosHarpoon[1].GetPositionZ(), 4.659f, 0, 0, 0, 0, uint32(me->GetRespawnTime())))
{
if (GameObject* BrokenHarpoon = Harpoon->FindNearestGameObject(GO_RAZOR_BROKEN_HARPOON, 5.0f))
@@ -264,7 +271,7 @@ class boss_razorscale_controller : public CreatureScript
}
return;
case EVENT_BUILD_HARPOON_3:
- DoScriptText(EMOTE_HARPOON, me);
+ Talk(EMOTE_HARPOON);
if (GameObject* Harpoon = me->SummonGameObject(GO_RAZOR_HARPOON_3, PosHarpoon[2].GetPositionX(), PosHarpoon[2].GetPositionY(), PosHarpoon[2].GetPositionZ(), 5.382f, 0, 0, 0, 0, uint32(me->GetRespawnTime())))
{
if (GameObject* BrokenHarpoon = Harpoon->FindNearestGameObject(GO_RAZOR_BROKEN_HARPOON, 5.0f))
@@ -274,7 +281,7 @@ class boss_razorscale_controller : public CreatureScript
}
return;
case EVENT_BUILD_HARPOON_4:
- DoScriptText(EMOTE_HARPOON, me);
+ Talk(EMOTE_HARPOON);
if (GameObject* Harpoon = me->SummonGameObject(GO_RAZOR_HARPOON_4, PosHarpoon[3].GetPositionX(), PosHarpoon[3].GetPositionY(), PosHarpoon[3].GetPositionZ(), 4.266f, 0, 0, 0, 0, uint32(me->GetRespawnTime())))
{
if (GameObject* BrokenHarpoon = Harpoon->FindNearestGameObject(GO_RAZOR_BROKEN_HARPOON, 5.0f))
@@ -444,7 +451,7 @@ class boss_razorscale : public CreatureScript
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED);
me->RemoveAllAuras();
me->SetReactState(REACT_AGGRESSIVE);
- DoScriptText(EMOTE_BREATH, me, 0);
+ Talk(EMOTE_BREATH);
DoCastAOE(SPELL_FLAMEBREATH);
events.CancelEvent(EVENT_BREATH);
return;
@@ -468,7 +475,7 @@ class boss_razorscale : public CreatureScript
events.ScheduleEvent(EVENT_FLAME, 10000, 0, PHASE_PERMAGROUND);
return;
case EVENT_BREATH:
- me->MonsterTextEmote(EMOTE_BREATH, 0, true);
+ Talk(EMOTE_BREATH);
DoCastVictim(SPELL_FLAMEBREATH);
events.ScheduleEvent(EVENT_BREATH, 20000, 0, PHASE_PERMAGROUND);
return;
@@ -522,7 +529,7 @@ class boss_razorscale : public CreatureScript
void EnterPermaGround()
{
- me->MonsterTextEmote(EMOTE_PERMA, 0, true);
+ Talk(EMOTE_PERMA);
phase = PHASE_PERMAGROUND;
events.SetPhase(PHASE_PERMAGROUND);
me->SetCanFly(false);
@@ -608,7 +615,7 @@ class npc_expedition_commander : public CreatureScript
{
if (!Greet && me->IsWithinDistInMap(who, 10.0f) && who->GetTypeId() == TYPEID_PLAYER)
{
- DoScriptText(SAY_GREET, me);
+ Talk(SAY_INTRO);
Greet = true;
}
}
@@ -623,7 +630,7 @@ class npc_expedition_commander : public CreatureScript
switch (action)
{
case ACTION_GROUND_PHASE:
- DoScriptText(SAY_GROUND_PHASE, me);
+ Talk(SAY_GROUND_PHASE);
break;
case ACTION_COMMANDER_RESET:
summons.clear();
@@ -653,7 +660,7 @@ class npc_expedition_commander : public CreatureScript
Engineer[n]->SetHomePosition(PosEngRepair[n]);
Engineer[n]->GetMotionMaster()->MoveTargetedHome();
}
- Engineer[0]->MonsterYell(SAY_AGGRO_3, LANG_UNIVERSAL, 0);
+ Engineer[0]->AI()->Talk(SAY_AGGRO_3);
Phase = 3;
AttackStartTimer = 14000;
break;
@@ -672,7 +679,7 @@ class npc_expedition_commander : public CreatureScript
Engineer[n]->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING);
for (uint8 n = 0; n < 4; ++n)
Defender[n]->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY2H);
- me->MonsterYell(SAY_AGGRO_2, LANG_UNIVERSAL, 0);
+ Talk(SAY_AGGRO_2);
AttackStartTimer = 16000;
Phase = 5;
break;
@@ -682,7 +689,7 @@ class npc_expedition_commander : public CreatureScript
Razorscale->AI()->DoAction(ACTION_EVENT_START);
me->SetInCombatWith(Razorscale);
}
- Engineer[0]->MonsterYell(SAY_AGGRO_1, LANG_UNIVERSAL, 0);
+ Engineer[0]->AI()->Talk(SAY_AGGRO_1);
Phase = 6;
break;
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
index 084cd3e0f86..0d4e3aad132 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
@@ -21,83 +21,80 @@
enum Yells
{
- SAY_AGGRO_1 = -1603270,
- SAY_AGGRO_2 = -1603271,
- SAY_SPECIAL_1 = -1603272,
- SAY_SPECIAL_2 = -1603273,
- SAY_SPECIAL_3 = -1603274,
- SAY_JUMPDOWN = -1603275,
- SAY_SLAY_1 = -1603276,
- SAY_SLAY_2 = -1603277,
- SAY_BERSERK = -1603278,
- SAY_WIPE = -1603279,
- SAY_DEATH = -1603280,
- SAY_END_NORMAL_1 = -1603281,
- SAY_END_NORMAL_2 = -1603282,
- SAY_END_NORMAL_3 = -1603283,
- SAY_END_HARD_1 = -1603284,
- SAY_END_HARD_2 = -1603285,
- SAY_END_HARD_3 = -1603286,
- SAY_YS_HELP = -1603287,
+ SAY_AGGRO = 0,
+ SAY_SPECIAL_1 = 1,
+ SAY_SPECIAL_2 = 2,
+ SAY_SPECIAL_3 = 3,
+ SAY_JUMPDOWN = 4,
+ SAY_SLAY = 5,
+ SAY_BERSERK = 6,
+ SAY_WIPE = 7,
+ SAY_DEATH = 8,
+ SAY_END_NORMAL_1 = 9,
+ SAY_END_NORMAL_2 = 10,
+ SAY_END_NORMAL_3 = 11,
+ SAY_END_HARD_1 = 12,
+ SAY_END_HARD_2 = 13,
+ SAY_END_HARD_3 = 14
};
class boss_thorim : public CreatureScript
{
-public:
- boss_thorim() : CreatureScript("boss_thorim") { }
+ public:
+ boss_thorim() : CreatureScript("boss_thorim") { }
- CreatureAI* GetAI(Creature* creature) const
- {
- return GetUlduarAI<boss_thorimAI>(creature);
- }
-
- struct boss_thorimAI : public BossAI
- {
- boss_thorimAI(Creature* creature) : BossAI(creature, BOSS_THORIM)
+ struct boss_thorimAI : public BossAI
{
- }
+ boss_thorimAI(Creature* creature) : BossAI(creature, BOSS_THORIM)
+ {
+ }
- void Reset()
- {
- _Reset();
- }
+ void Reset()
+ {
+ _Reset();
+ }
- void EnterEvadeMode()
- {
- DoScriptText(SAY_WIPE, me);
- _EnterEvadeMode();
- }
+ void EnterEvadeMode()
+ {
+ DoScriptText(SAY_WIPE, me);
+ _EnterEvadeMode();
+ }
- void KilledUnit(Unit* /*victim*/)
- {
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
- }
+ void KilledUnit(Unit* who)
+ {
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
+ }
- void JustDied(Unit* /*killer*/)
- {
- DoScriptText(SAY_DEATH, me);
- _JustDied();
- }
+ void JustDied(Unit* /*killer*/)
+ {
+ DoScriptText(SAY_DEATH, me);
+ _JustDied();
+ }
- void EnterCombat(Unit* /*who*/)
- {
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2), me);
- _EnterCombat();
- }
+ void EnterCombat(Unit* /*who*/)
+ {
+ Talk(SAY_AGGRO);
+ _EnterCombat();
+ }
- void UpdateAI(const uint32 diff)
- {
- if (!UpdateVictim())
- return;
- //SPELLS TODO:
+ void UpdateAI(uint32 const diff)
+ {
+ if (!UpdateVictim())
+ return;
+ //SPELLS TODO:
- //
- DoMeleeAttackIfReady();
+ //
+ DoMeleeAttackIfReady();
- EnterEvadeIfOutOfCombatArea(diff);
- }
- };
+ EnterEvadeIfOutOfCombatArea(diff);
+ }
+ };
+ CreatureAI* GetAI(Creature* creature) const
+ {
+ return GetUlduarAI<boss_thorimAI>(creature);
+ }
};
void AddSC_boss_thorim()
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
index 30f60da178a..09ab35d6589 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
@@ -157,15 +157,18 @@ enum XT002Data
enum Yells
{
- SAY_AGGRO = -1603300,
- SAY_HEART_OPENED = -1603301,
- SAY_HEART_CLOSED = -1603302,
- SAY_TYMPANIC_TANTRUM = -1603303,
- SAY_SLAY_1 = -1603304,
- SAY_SLAY_2 = -1603305,
- SAY_BERSERK = -1603306,
- SAY_DEATH = -1603307,
- SAY_SUMMON = -1603308,
+ SAY_AGGRO = 0,
+ SAY_HEART_OPENED = 1,
+ SAY_HEART_CLOSED = 2,
+ SAY_TYMPANIC_TANTRUM = 3,
+ SAY_SLAY = 4,
+ SAY_BERSERK = 5,
+ SAY_DEATH = 6,
+ SAY_SUMMON = 7,
+ EMOTE_HEART_OPENED = 8,
+ EMOTE_HEART_CLOSED = 9,
+ EMOTE_TYMPANIC_TANTRUM = 10,
+ EMOTE_SCRAPBOT = 11
};
enum AchievementCredits
@@ -223,7 +226,7 @@ class boss_xt002 : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
_EnterCombat();
events.ScheduleEvent(EVENT_ENRAGE, TIMER_ENRAGE);
@@ -248,14 +251,15 @@ class boss_xt002 : public CreatureScript
}
}
- void KilledUnit(Unit* /*victim*/)
+ void KilledUnit(Unit* who)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
_JustDied();
}
@@ -292,7 +296,8 @@ class boss_xt002 : public CreatureScript
events.ScheduleEvent(EVENT_GRAVITY_BOMB, TIMER_GRAVITY_BOMB);
break;
case EVENT_TYMPANIC_TANTRUM:
- DoScriptText(SAY_TYMPANIC_TANTRUM, me);
+ Talk(SAY_TYMPANIC_TANTRUM);
+ Talk(EMOTE_TYMPANIC_TANTRUM);
DoCast(SPELL_TYMPANIC_TANTRUM);
events.ScheduleEvent(EVENT_TYMPANIC_TANTRUM, urand(TIMER_TYMPANIC_TANTRUM_MIN, TIMER_TYMPANIC_TANTRUM_MAX));
break;
@@ -300,7 +305,7 @@ class boss_xt002 : public CreatureScript
SetPhaseOne();
break;
case EVENT_ENRAGE:
- DoScriptText(SAY_BERSERK, me);
+ Talk(SAY_BERSERK);
DoCast(me, SPELL_ENRAGE);
break;
case EVENT_ENTER_HARD_MODE:
@@ -325,6 +330,7 @@ class boss_xt002 : public CreatureScript
if (me->GetHealthPct() > (25 * (4 - _heartExposed)))
++_heartExposed;
+ Talk(EMOTE_SCRAPBOT);
_healthRecovered = true;
}
}
@@ -359,7 +365,8 @@ class boss_xt002 : public CreatureScript
void ExposeHeart()
{
- DoScriptText(SAY_HEART_OPENED, me);
+ Talk(SAY_HEART_OPENED);
+ Talk(EMOTE_HEART_OPENED);
DoCast(me, SPELL_SUBMERGE); // WIll make creature untargetable
me->AttackStop();
@@ -391,7 +398,8 @@ class boss_xt002 : public CreatureScript
void SetPhaseOne()
{
- DoScriptText(SAY_HEART_CLOSED, me);
+ Talk(SAY_HEART_CLOSED);
+ Talk(EMOTE_HEART_CLOSED);
DoCast(me, SPELL_STAND);
me->SetReactState(REACT_AGGRESSIVE);
@@ -928,7 +936,8 @@ class spell_xt002_heart_overload_periodic : public SpellScriptLoader
}
}
- DoScriptText(SAY_SUMMON, caster->GetVehicleBase());
+ if (Creature* base = caster->GetVehicleCreatureBase())
+ base->AI()->Talk(SAY_SUMMON);
}
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp
index 58ba125b994..20d6a7a40da 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp
@@ -43,18 +43,6 @@ enum Sara
enum YoggSaron_Yells
{
- SAY_PHASE2_1 = -1603330,
- SAY_PHASE2_2 = -1603331,
- SAY_PHASE2_3 = -1603332,
- SAY_PHASE2_4 = -1603333,
- SAY_PHASE2_5 = -1603334,
- SAY_PHASE3 = -1603335,
- SAY_VISION = -1603336,
- SAY_SLAY_1 = -1603337,
- SAY_SLAY_2 = -1603338,
- WHISP_INSANITY_1 = -1603339,
- WHISP_INSANITY_2 = -1603340,
- SAY_DEATH = -1603341,
};
enum