aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Battlegrounds/BattlegroundMgr.cpp4
-rwxr-xr-xsrc/server/game/Chat/Channels/Channel.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp28
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp9
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp56
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp88
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp30
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp59
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp40
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp539
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp302
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/ghostlands.cpp36
-rw-r--r--src/server/scripts/EasternKingdoms/silvermoon_city.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/stormwind_city.cpp60
-rw-r--r--src/server/scripts/EasternKingdoms/swamp_of_sorrows.cpp25
-rw-r--r--src/server/scripts/EasternKingdoms/westfall.cpp40
-rw-r--r--src/server/scripts/World/boss_emerald_dragons.cpp2
29 files changed, 720 insertions, 708 deletions
diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.cpp b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
index 0604cadd5ee..a0f95e1eaef 100755
--- a/src/server/game/Battlegrounds/BattlegroundMgr.cpp
+++ b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
@@ -700,8 +700,8 @@ void BattlegroundMgr::CreateInitialBattlegrounds()
data.MaxPlayersPerTeam = fields[2].GetUInt16();
data.LevelMin = fields[3].GetUInt8();
data.LevelMax = fields[4].GetUInt8();
- uint8 spawn = fields[9].GetUInt8();
- data.StartMaxDist = float(spawn * spawn);
+ float dist = fields[9].GetFloat();
+ data.StartMaxDist = dist * dist;
data.scriptId = sObjectMgr->GetScriptId(fields[11].GetCString());
data.BattlegroundName = bl->name[sWorld->GetDefaultDbcLocale()];
diff --git a/src/server/game/Chat/Channels/Channel.cpp b/src/server/game/Chat/Channels/Channel.cpp
index cba38a3ebf1..8ce7d7d2139 100755
--- a/src/server/game/Chat/Channels/Channel.cpp
+++ b/src/server/game/Chat/Channels/Channel.cpp
@@ -297,7 +297,7 @@ void Channel::KickOrBan(Player const* player, std::string const& badname, bool b
SendToOne(&data, good);
return;
}
-
+
Player* bad = sObjectAccessor->FindPlayerByName(badname);
uint64 victim = bad ? bad->GetGUID() : 0;
if (!victim || !IsOn(victim))
@@ -403,7 +403,7 @@ void Channel::Password(Player const* player, std::string const& pass)
SendToOne(&data, guid);
return;
}
-
+
if (!playersStore[guid].IsModerator() && !AccountMgr::IsGMAccount(player->GetSession()->GetSecurity()))
{
WorldPacket data;
@@ -497,7 +497,7 @@ void Channel::SetOwner(Player const* player, std::string const& newname)
Player* newp = sObjectAccessor->FindPlayerByName(newname);
uint64 victim = newp ? newp->GetGUID() : 0;
-
+
if (!victim || !IsOn(victim) ||
(newp->GetTeam() != player->GetTeam() && !sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHANNEL)))
{
@@ -615,7 +615,7 @@ void Channel::Say(uint64 guid, std::string const& what, uint32 lang)
SendToOne(&data, guid);
return;
}
-
+
if (playersStore[guid].IsMuted())
{
WorldPacket data;
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp
index fdb6a5da320..af61c723ca3 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp
@@ -22,8 +22,8 @@ enum Yells
{
YELL_AGGRO = 0,
YELL_EVADE = 1,
- YELL_RESPAWN1 = -1810010, // no creature_text
- YELL_RESPAWN2 = -1810011, // no creature_text
+ //YELL_RESPAWN1 = -1810010, // Missing in database
+ //YELL_RESPAWN2 = -1810011, // Missing in database
YELL_RANDOM = 2,
YELL_SPELL = 3,
};
@@ -64,12 +64,6 @@ public:
Talk(YELL_AGGRO);
}
- void JustRespawned()
- {
- Reset();
- DoScriptText(RAND(YELL_RESPAWN1, YELL_RESPAWN2), me);
- }
-
void UpdateAI(const uint32 diff)
{
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
index b5283900eb0..5b5787b2ab8 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
@@ -101,12 +101,12 @@ public:
// npc_grimstone
enum GrimstoneTexts
{
- SCRIPT_TEXT1 = -1230003,
- SCRIPT_TEXT2 = -1230004,
- SCRIPT_TEXT3 = -1230005,
- SCRIPT_TEXT4 = -1230006,
- SCRIPT_TEXT5 = -1230007,
- SCRIPT_TEXT6 = -1230008
+ SAY_TEXT1 = 0,
+ SAY_TEXT2 = 1,
+ SAY_TEXT3 = 2,
+ SAY_TEXT4 = 3,
+ SAY_TEXT5 = 4,
+ SAY_TEXT6 = 5
};
//TODO: implement quest part of event (different end boss)
@@ -186,12 +186,12 @@ public:
switch (waypointId)
{
case 0:
- DoScriptText(SCRIPT_TEXT1, me);//2
+ Talk(SAY_TEXT1);
CanWalk = false;
Event_Timer = 5000;
break;
case 1:
- DoScriptText(SCRIPT_TEXT2, me);//4
+ Talk(SAY_TEXT2);
CanWalk = false;
Event_Timer = 5000;
break;
@@ -199,10 +199,10 @@ public:
CanWalk = false;
break;
case 3:
- DoScriptText(SCRIPT_TEXT3, me);//5
+ Talk(SAY_TEXT3);
break;
case 4:
- DoScriptText(SCRIPT_TEXT4, me);//6
+ Talk(SAY_TEXT4);
CanWalk = false;
Event_Timer = 5000;
break;
@@ -272,7 +272,7 @@ public:
switch (EventPhase)
{
case 0:
- DoScriptText(SCRIPT_TEXT5, me);//1
+ Talk(SAY_TEXT5);
HandleGameObject(DATA_ARENA4, false);
Start(false, false);
CanWalk = true;
@@ -307,7 +307,7 @@ public:
case 7:
me->SetVisible(true);
HandleGameObject(DATA_ARENA1, false);
- DoScriptText(SCRIPT_TEXT6, me);//4
+ Talk(SAY_TEXT6);
CanWalk = true;
Event_Timer = 0;
break;
@@ -1178,7 +1178,7 @@ public:
// npc_rocknot
enum RocknotSays
{
- SAY_GOT_BEER = -1230000
+ SAY_GOT_BEER = 0
};
enum RocknotSpells
@@ -1215,7 +1215,7 @@ public:
//keep track of amount in instance script, returns SPECIAL if amount ok and event in progress
if (instance->GetData(TYPE_BAR) == SPECIAL)
{
- DoScriptText(SAY_GOT_BEER, creature);
+ creature->AI()->Talk(SAY_GOT_BEER);
creature->CastSpell(creature, SPELL_DRUNKEN_RAGE, false);
if (npc_escortAI* escortAI = CAST_AI(npc_rocknot::npc_rocknotAI, creature->AI()))
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
index 204fa3177e7..bad4d8735b7 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
@@ -22,8 +22,8 @@
enum Yells
{
- SAY_AGGRO = -1230001,
- SAY_SLAY = -1230002
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1
};
enum Spells
@@ -63,13 +63,13 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
me->CallForHelp(VISIBLE_RANGE);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_SLAY, me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp
index 40f8b2507e3..2aab7739d8d 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp
@@ -19,10 +19,11 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-enum Spells
+enum Grizzle
{
- SPELL_GROUNDTREMOR = 6524,
- SPELL_FRENZY = 28371
+ SPELL_GROUNDTREMOR = 6524,
+ SPELL_FRENZY = 28371,
+ EMOTE_FRENZY_KILL = 0
};
class boss_grizzle : public CreatureScript
@@ -69,7 +70,7 @@ public:
if (Frenzy_Timer <= diff)
{
DoCast(me, SPELL_FRENZY);
- DoScriptText(EMOTE_GENERIC_FRENZY_KILL, me);
+ Talk(EMOTE_FRENZY_KILL);
Frenzy_Timer = 15000;
} else Frenzy_Timer -= diff;
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp
index ceca6330152..d05b6220441 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp
@@ -28,8 +28,8 @@ EndScriptData */
enum Say
{
- SAY_AGGRO = -1469000,
- SAY_LEASH = -1469001
+ SAY_AGGRO = 0,
+ SAY_LEASH = 1,
};
enum Spells
@@ -69,7 +69,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
DoZoneInCombat();
}
@@ -110,7 +110,7 @@ public:
} else KnockBack_Timer -= diff;
if (EnterEvadeIfOutOfCombatArea(diff))
- DoScriptText(SAY_LEASH, me);
+ Talk(SAY_LEASH);
DoMeleeAttackIfReady();
}
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp
index 9beb3bb10fe..8f12ab3f2e8 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp
@@ -28,8 +28,8 @@ EndScriptData */
enum Emotes
{
- EMOTE_FRENZY = -1469002,
- EMOTE_SHIMMER = -1469003
+ EMOTE_FRENZY = 0,
+ EMOTE_SHIMMER = 1,
};
enum Spells
@@ -219,7 +219,7 @@ public:
DoCast(me, spell);
CurrentVurln_Spell = spell;
- DoScriptText(EMOTE_SHIMMER, me);
+ Talk(EMOTE_SHIMMER);
Shimmer_Timer = 45000;
} else Shimmer_Timer -= diff;
@@ -280,7 +280,7 @@ public:
if (Frenzy_Timer <= diff)
{
DoCast(me, SPELL_FRENZY);
- DoScriptText(EMOTE_FRENZY, me);
+ Talk(EMOTE_FRENZY);
Frenzy_Timer = urand(10000, 15000);
} else Frenzy_Timer -= diff;
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp
index e84ccd0e160..b191d2fbb02 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp
@@ -28,7 +28,7 @@ EndScriptData */
enum Emotes
{
- EMOTE_FRENZY = -1469031
+ EMOTE_FRENZY = 0,
};
enum Spells
@@ -93,7 +93,7 @@ public:
//Frenzy_Timer
if (Frenzy_Timer <= diff)
{
- DoScriptText(EMOTE_FRENZY, me);
+ Talk(EMOTE_FRENZY);
DoCast(me, SPELL_FRENZY);
Frenzy_Timer = urand(8000, 10000);
} else Frenzy_Timer -= diff;
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp
index 787fbe5312b..5a3c72054b4 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp
@@ -28,22 +28,20 @@ EndScriptData */
enum Say
{
- SAY_AGGRO = -1469007,
- SAY_XHEALTH = -1469008,
- SAY_SHADOWFLAME = -1469009,
- SAY_RAISE_SKELETONS = -1469010,
- SAY_SLAY = -1469011,
- SAY_DEATH = -1469012,
-
- SAY_MAGE = -1469013,
- SAY_WARRIOR = -1469014,
- SAY_DRUID = -1469015,
- SAY_PRIEST = -1469016,
- SAY_PALADIN = -1469017,
- SAY_SHAMAN = -1469018,
- SAY_WARLOCK = -1469019,
- SAY_HUNTER = -1469020,
- SAY_ROGUE = -1469021
+ SAY_RANDOM = 0,
+ SAY_RAISE_SKELETONS = 1,
+ SAY_SLAY = 2,
+ SAY_DEATH = 3,
+
+ SAY_MAGE = 4,
+ SAY_WARRIOR = 5,
+ SAY_DRUID = 6,
+ SAY_PRIEST = 7,
+ SAY_PALADIN = 8,
+ SAY_SHAMAN = 9,
+ SAY_WARLOCK = 10,
+ SAY_HUNTER = 11,
+ SAY_ROGUE = 12,
};
enum Spells
@@ -109,17 +107,17 @@ public:
if (rand()%5)
return;
- DoScriptText(SAY_SLAY, me, Victim);
+ Talk(SAY_SLAY, Victim->GetGUID());
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
void EnterCombat(Unit* who)
{
- DoScriptText(RAND(SAY_XHEALTH, SAY_AGGRO, SAY_SHADOWFLAME), me);
+ Talk(SAY_RANDOM);
DoCast(who, SPELL_SHADOWFLAME_INITIAL);
DoZoneInCombat();
@@ -184,39 +182,39 @@ public:
switch (urand(0, 8))
{
case 0:
- DoScriptText(SAY_MAGE, me);
+ Talk(SAY_MAGE);
DoCast(me, SPELL_MAGE);
break;
case 1:
- DoScriptText(SAY_WARRIOR, me);
+ Talk(SAY_WARRIOR);
DoCast(me, SPELL_WARRIOR);
break;
case 2:
- DoScriptText(SAY_DRUID, me);
+ Talk(SAY_DRUID);
DoCast(me, SPELL_DRUID);
break;
case 3:
- DoScriptText(SAY_PRIEST, me);
+ Talk(SAY_PRIEST);
DoCast(me, SPELL_PRIEST);
break;
case 4:
- DoScriptText(SAY_PALADIN, me);
+ Talk(SAY_PALADIN);
DoCast(me, SPELL_PALADIN);
break;
case 5:
- DoScriptText(SAY_SHAMAN, me);
+ Talk(SAY_SHAMAN);
DoCast(me, SPELL_SHAMAN);
break;
case 6:
- DoScriptText(SAY_WARLOCK, me);
+ Talk(SAY_WARLOCK);
DoCast(me, SPELL_WARLOCK);
break;
case 7:
- DoScriptText(SAY_HUNTER, me);
+ Talk(SAY_HUNTER);
DoCast(me, SPELL_HUNTER);
break;
case 8:
- DoScriptText(SAY_ROGUE, me);
+ Talk(SAY_ROGUE);
DoCast(me, SPELL_ROGUE);
break;
}
@@ -228,7 +226,7 @@ public:
if (!Phase3 && HealthBelowPct(20))
{
Phase3 = true;
- DoScriptText(SAY_RAISE_SKELETONS, me);
+ Talk(SAY_RAISE_SKELETONS);
}
DoMeleeAttackIfReady();
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp
index 04eca3586cc..577516383b2 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp
@@ -30,10 +30,10 @@ EndScriptData */
enum Say
{
- SAY_EGGS_BROKEN1 = -1469022,
- SAY_EGGS_BROKEN2 = -1469023,
- SAY_EGGS_BROKEN3 = -1469024,
- SAY_DEATH = -1469025
+ SAY_EGGS_BROKEN1 = 0,
+ SAY_EGGS_BROKEN2 = 1,
+ SAY_EGGS_BROKEN3 = 2,
+ SAY_DEATH = 3,
};
enum Spells
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp
index 359f218cd5c..6ffe30d2c50 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp
@@ -30,11 +30,11 @@ EndScriptData */
enum Says
{
- SAY_LINE1 = -1469026,
- SAY_LINE2 = -1469027,
- SAY_LINE3 = -1469028,
- SAY_HALFLIFE = -1469029,
- SAY_KILLTARGET = -1469030
+ SAY_LINE1 = 0,
+ SAY_LINE2 = 1,
+ SAY_LINE3 = 2,
+ SAY_HALFLIFE = 3,
+ SAY_KILLTARGET = 4
};
#define GOSSIP_ITEM "Start Event <Needs Gossip Text>"
@@ -130,7 +130,7 @@ public:
PlayerGUID = target->GetGUID();
//10 seconds
- DoScriptText(SAY_LINE1, me);
+ Talk(SAY_LINE1);
SpeechTimer = 10000;
SpeechNum = 0;
@@ -144,7 +144,7 @@ public:
if (rand()%5)
return;
- DoScriptText(SAY_KILLTARGET, me, victim);
+ Talk(SAY_KILLTARGET, victim->GetGUID());
}
void EnterCombat(Unit* /*who*/)
@@ -167,13 +167,13 @@ public:
{
case 0:
//16 seconds till next line
- DoScriptText(SAY_LINE2, me);
+ Talk(SAY_LINE2);
SpeechTimer = 16000;
++SpeechNum;
break;
case 1:
//This one is actually 16 seconds but we only go to 10 seconds because he starts attacking after he says "I must fight this!"
- DoScriptText(SAY_LINE3, me);
+ Talk(SAY_LINE3);
SpeechTimer = 10000;
++SpeechNum;
break;
@@ -198,7 +198,7 @@ public:
// Yell if hp lower than 15%
if (HealthBelowPct(15) && !HasYelled)
{
- DoScriptText(SAY_HALFLIFE, me);
+ Talk(SAY_HALFLIFE);
HasYelled = true;
}
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
index f107fd7c5ec..712f7fbe8c5 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
@@ -35,7 +35,7 @@ enum eSpels
EQUIP_SWORD = 5191,
EQUIP_MACE = 7230,
- SAY_AGGRO = -1036001
+ SAY_AGGRO = 0,
};
class boss_mr_smite : public CreatureScript
@@ -82,7 +82,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
bool bCheckChances()
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
index eec520f04e2..22a26fd4389 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
@@ -29,45 +29,55 @@ EndScriptData */
#include "WorldPacket.h"
#include "Opcodes.h"
-#define SAY_AGGRO -1585023 //This yell should be done when the room is cleared. For now, set it as a movelineofsight yell.
-#define SAY_PHOENIX -1585024
-#define SAY_FLAMESTRIKE -1585025
-#define SAY_GRAVITY_LAPSE -1585026
-#define SAY_TIRED -1585027
-#define SAY_RECAST_GRAVITY -1585028
-#define SAY_DEATH -1585029
+enum Says
+{
+ SAY_AGGRO = 0, //This yell should be done when the room is cleared. For now, set it as a movelineofsight yell.
+ SAY_PHOENIX = 1,
+ SAY_FLAMESTRIKE = 2,
+ SAY_GRAVITY_LAPSE = 3,
+ SAY_TIRED = 4,
+ SAY_RECAST_GRAVITY = 5,
+ SAY_DEATH = 6
+};
-/*** Spells ***/
-// Phase 1 spells
-#define SPELL_FIREBALL_NORMAL 44189 // Deals 2700-3300 damage at current target
-#define SPELL_FIREBALL_HEROIC 46164 // 4950-6050
+enum Spells
+{
+ // Phase 1 spells
+ SPELL_FIREBALL_NORMAL = 44189, // Deals 2700-3300 damage at current target
+ SPELL_FIREBALL_HEROIC = 46164, // 4950-6050
-#define SPELL_PHOENIX 44194 // Summons a phoenix (Doesn't work?)
-#define SPELL_PHOENIX_BURN 44197 // A spell Phoenix uses to damage everything around
-#define SPELL_REBIRTH_DMG 44196 // DMG if a Phoenix rebirth happen
+ SPELL_PHOENIX = 44194, // Summons a phoenix (Doesn't work?)
+ SPELL_PHOENIX_BURN = 44197, // A spell Phoenix uses to damage everything around
+ SPELL_REBIRTH_DMG = 44196, // DMG if a Phoenix rebirth happen
-#define SPELL_FLAMESTRIKE1_NORMAL 44190 // Damage part
-#define SPELL_FLAMESTRIKE1_HEROIC 46163 // Heroic damage part
-#define SPELL_FLAMESTRIKE2 44191 // Flamestrike indicator before the damage
-#define SPELL_FLAMESTRIKE3 44192 // Summons the trigger + animation (projectile)
+ SPELL_FLAMESTRIKE1_NORMAL = 44190, // Damage part
+ SPELL_FLAMESTRIKE1_HEROIC = 46163, // Heroic damage part
+ SPELL_FLAMESTRIKE2 = 44191, // Flamestrike indicator before the damage
+ SPELL_FLAMESTRIKE3 = 44192, // Summons the trigger + animation (projectile)
-#define SPELL_SHOCK_BARRIER 46165 // Heroic only; 10k damage shield, followed by Pyroblast
-#define SPELL_PYROBLAST 36819 // Heroic only; 45-55k fire damage
+ SPELL_SHOCK_BARRIER = 46165, // Heroic only; 10k damage shield, followed by Pyroblast
+ SPELL_PYROBLAST = 36819, // Heroic only; 45-55k fire damage
// Phase 2 spells
-#define SPELL_GRAVITY_LAPSE_INITIAL 44224 // Cast at the beginning of every Gravity Lapse
-#define SPELL_GRAVITY_LAPSE_CHANNEL 44251 // Channeled; blue beam animation to every enemy in range
-#define SPELL_TELEPORT_CENTER 44218 // Should teleport people to the center. Requires DB entry in spell_target_position.
-#define SPELL_GRAVITY_LAPSE_FLY 44227 // Hastens flyspeed and allows flying for 1 minute. For some reason removes 44226.
-#define SPELL_GRAVITY_LAPSE_DOT 44226 // Knocks up in the air and applies a 300 DPS DoT.
-#define SPELL_ARCANE_SPHERE_PASSIVE 44263 // Passive auras on Arcane Spheres
-#define SPELL_POWER_FEEDBACK 44233 // Stuns him, making him take 50% more damage for 10 seconds. Cast after Gravity Lapse
-
-/*** Creatures ***/
-#define CREATURE_PHOENIX 24674
-#define CREATURE_PHOENIX_EGG 24675
-#define CREATURE_ARCANE_SPHERE 24708
+ SPELL_GRAVITY_LAPSE_INITIAL = 44224, // Cast at the beginning of every Gravity Lapse
+ SPELL_GRAVITY_LAPSE_CHANNEL = 44251, // Channeled; blue beam animation to every enemy in range
+ SPELL_TELEPORT_CENTER = 44218, // Should teleport people to the center. Requires DB entry in spell_target_position.
+ SPELL_GRAVITY_LAPSE_FLY = 44227, // Hastens flyspeed and allows flying for 1 minute. For some reason removes 44226.
+ SPELL_GRAVITY_LAPSE_DOT = 44226, // Knocks up in the air and applies a 300 DPS DoT.
+ SPELL_ARCANE_SPHERE_PASSIVE = 44263, // Passive auras on Arcane Spheres
+ SPELL_POWER_FEEDBACK = 44233 // Stuns him, making him take 50% more damage for 10 seconds. Cast after Gravity Lapse
+};
+
+
+
+enum Creatures
+{
+ CREATURE_PHOENIX = 24674,
+ CREATURE_PHOENIX_EGG = 24675,
+ CREATURE_ARCANE_SPHERE = 24708
+};
+
/** Locations **/
float KaelLocations[3][2]=
@@ -146,7 +156,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (!instance)
return;
@@ -176,7 +186,7 @@ public:
{
if (!HasTaunted && me->IsWithinDistInMap(who, 40.0f))
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
HasTaunted = true;
}
@@ -315,7 +325,7 @@ public:
Phoenix->AI()->AttackStart(target);
}
- DoScriptText(SAY_PHOENIX, me);
+ Talk(SAY_PHOENIX);
PhoenixTimer = 60000;
} else PhoenixTimer -= diff;
@@ -327,7 +337,7 @@ public:
me->InterruptSpell(CURRENT_CHANNELED_SPELL);
me->InterruptSpell(CURRENT_GENERIC_SPELL);
DoCast(target, SPELL_FLAMESTRIKE3, true);
- DoScriptText(SAY_FLAMESTRIKE, me);
+ Talk(SAY_FLAMESTRIKE);
}
FlameStrikeTimer = urand(15000, 25000);
} else FlameStrikeTimer -= diff;
@@ -357,14 +367,14 @@ public:
case 0:
if (FirstGravityLapse) // Different yells at 50%, and at every following Gravity Lapse
{
- DoScriptText(SAY_GRAVITY_LAPSE, me);
+ Talk(SAY_GRAVITY_LAPSE);
FirstGravityLapse = false;
if (instance)
instance->SetData(DATA_KAELTHAS_STATUES, 1);
}
else
- DoScriptText(SAY_RECAST_GRAVITY, me);
+ Talk(SAY_RECAST_GRAVITY);
DoCast(me, SPELL_GRAVITY_LAPSE_INITIAL);
GravityLapseTimer = 2000 + diff;// Don't interrupt the visual spell
@@ -407,7 +417,7 @@ public:
case 4:
me->InterruptNonMeleeSpells(false);
- DoScriptText(SAY_TIRED, me);
+ Talk(SAY_TIRED);
DoCast(me, SPELL_POWER_FEEDBACK);
RemoveGravityLapse();
GravityLapseTimer = 10000;
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
index 2af417381a5..b2cf2336024 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
@@ -34,25 +34,25 @@ struct Speech
static Speech LackeyDeath[]=
{
- {-1585013},
- {-1585014},
- {-1585015},
- {-1585016},
+ {1},
+ {2},
+ {3},
+ {4},
};
static Speech PlayerDeath[]=
{
- {-1585017},
- {-1585018},
- {-1585019},
- {-1585020},
- {-1585021},
+ {5},
+ {6},
+ {7},
+ {8},
+ {9},
};
enum eEnums
{
- SAY_AGGRO = -1585012,
- SAY_DEATH = -1585022,
+ SAY_AGGRO = 0,
+ SAY_DEATH = 10,
SPELL_DISPEL_MAGIC = 27609,
SPELL_FLASH_HEAL = 17843,
@@ -144,7 +144,7 @@ public:
void EnterCombat(Unit* who)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
for (uint8 i = 0; i < MAX_ACTIVE_LACKEY; ++i)
{
@@ -216,7 +216,7 @@ public:
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
- DoScriptText(PlayerDeath[PlayersKilled].id, me);
+ Talk(PlayerDeath[PlayersKilled].id);
if (PlayersKilled < 4)
++PlayersKilled;
@@ -224,7 +224,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (!instance)
return;
@@ -415,7 +415,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
return;
//should delrissa really yell if dead?
- DoScriptText(LackeyDeath[uiLackeyDeathCount].id, pDelrissa);
+ pDelrissa->AI()->Talk(LackeyDeath[uiLackeyDeathCount].id);
instance->SetData(DATA_DELRISSA_DEATH_COUNT, SPECIAL);
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
index 7b79c18239e..4d9bd1f2192 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
@@ -27,30 +27,37 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "magisters_terrace.h"
-#define SAY_AGGRO -1585000
-#define SAY_ENERGY -1585001
-#define SAY_EMPOWERED -1585002
-#define SAY_KILL_1 -1585003
-#define SAY_KILL_2 -1585004
-#define SAY_DEATH -1585005
-#define EMOTE_CRYSTAL -1585006
-
-//Crystal effect spells
-#define SPELL_FEL_CRYSTAL_COSMETIC 44374
-#define SPELL_FEL_CRYSTAL_DUMMY 44329
-#define SPELL_FEL_CRYSTAL_VISUAL 44355
-#define SPELL_MANA_RAGE 44320 // This spell triggers 44321, which changes scale and regens mana Requires an entry in spell_script_target
+enum Says
+{
+ SAY_AGGRO = 0,
+ SAY_ENERGY = 1,
+ SAY_EMPOWERED = 2,
+ SAY_KILL = 3,
+ SAY_DEATH = 4,
+ EMOTE_CRYSTAL = 5
+};
-//Selin's spells
-#define SPELL_DRAIN_LIFE 44294
-#define SPELL_FEL_EXPLOSION 44314
+enum Spells
+{
+ //Crystal effect spells
+ SPELL_FEL_CRYSTAL_COSMETIC = 44374,
+ SPELL_FEL_CRYSTAL_DUMMY = 44329,
+ SPELL_FEL_CRYSTAL_VISUAL = 44355,
+ SPELL_MANA_RAGE = 44320, // This spell triggers 44321, which changes scale and regens mana Requires an entry in spell_script_target
-#define SPELL_DRAIN_MANA 46153 // Heroic only
+ //Selin's spells
+ SPELL_DRAIN_LIFE = 44294,
+ SPELL_FEL_EXPLOSION = 44314,
-#define CRYSTALS_NUMBER 5
-#define DATA_CRYSTALS 6
+ SPELL_DRAIN_MANA = 46153 // Heroic only
+};
-#define CREATURE_FEL_CRYSTAL 24722
+enum Misc
+{
+ CRYSTALS_NUMBER = 5,
+ DATA_CRYSTALS = 6,
+ CREATURE_FEL_CRYSTAL = 24722
+};
class boss_selin_fireheart : public CreatureScript
{
@@ -161,8 +168,8 @@ public:
}
if (CrystalChosen)
{
- DoScriptText(SAY_ENERGY, me);
- DoScriptText(EMOTE_CRYSTAL, me);
+ Talk(SAY_ENERGY);
+ Talk(EMOTE_CRYSTAL);
CrystalChosen->CastSpell(CrystalChosen, SPELL_FEL_CRYSTAL_COSMETIC, true);
@@ -192,14 +199,14 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_SELIN_EVENT, IN_PROGRESS);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
+ Talk(SAY_KILL);
}
void MovementInform(uint32 type, uint32 id)
@@ -226,7 +233,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (!instance)
return;
@@ -293,7 +300,7 @@ public:
IsDraining = false;
DrainingCrystal = false;
- DoScriptText(SAY_EMPOWERED, me);
+ Talk(SAY_EMPOWERED);
Unit* CrystalChosen = Unit::GetUnit(*me, CrystalGUID);
if (CrystalChosen && CrystalChosen->isAlive())
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
index 34682683ee3..31821623878 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
@@ -29,11 +29,11 @@ EndScriptData */
enum eEnums
{
- SAY_AGGRO = -1585007,
- SAY_ENERGY = -1585008,
- SAY_OVERLOAD = -1585009,
- SAY_KILL = -1585010,
- EMOTE_DISCHARGE_ENERGY = -1585011,
+ SAY_AGGRO = 0,
+ SAY_ENERGY = 1,
+ SAY_OVERLOAD = 2,
+ SAY_KILL = 3,
+ EMOTE_DISCHARGE_ENERGY = 4,
//is this text for real?
//#define SAY_DEATH "What...happen...ed."
@@ -99,7 +99,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_KILL, me);
+ Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
@@ -110,7 +110,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_VEXALLUS_EVENT, IN_PROGRESS);
@@ -144,8 +144,8 @@ public:
else
++IntervalHealthAmount;
- DoScriptText(SAY_ENERGY, me);
- DoScriptText(EMOTE_DISCHARGE_ENERGY, me);
+ Talk(SAY_ENERGY);
+ Talk(EMOTE_DISCHARGE_ENERGY);
if (IsHeroic())
{
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp
index fa99078cedb..5e5cc0ffab8 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp
@@ -30,7 +30,7 @@ EndScriptData */
enum Texts
{
- EMOTE_LOWHP = -1409002,
+ EMOTE_LOWHP = 0,
};
enum Spells
@@ -149,7 +149,7 @@ class mob_core_rager : public CreatureScript
if (pGolemagg->isAlive())
{
me->AddAura(SPELL_GOLEMAGG_TRUST, me);
- DoScriptText(EMOTE_LOWHP, me);
+ Talk(EMOTE_LOWHP);
me->SetFullHealth();
}
}
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp
index 9d48d04cf07..edd8905ff4a 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp
@@ -29,17 +29,17 @@ EndScriptData */
enum Texts
{
- SAY_REINFORCEMENTS1 = -1409013,
- SAY_REINFORCEMENTS2 = -1409014,
- SAY_HAND = -1409015,
- SAY_WRATH = -1409016,
- SAY_KILL = -1409017,
- SAY_MAGMABURST = -1409018,
- SAY_SUMMON_MAJ = -1409008,
- SAY_ARRIVAL1_RAG = -1409009,
- SAY_ARRIVAL2_MAJ = -1409010,
- SAY_ARRIVAL3_RAG = -1409011,
- SAY_ARRIVAL5_RAG = -1409012,
+ SAY_SUMMON_MAJ = 0,
+ SAY_ARRIVAL1_RAG = 1,
+ SAY_ARRIVAL2_MAJ = 2,
+ SAY_ARRIVAL3_RAG = 3,
+ SAY_ARRIVAL5_RAG = 4,
+ SAY_REINFORCEMENTS1 = 5,
+ SAY_REINFORCEMENTS2 = 6,
+ SAY_HAND = 7,
+ SAY_WRATH = 8,
+ SAY_KILL = 9,
+ SAY_MAGMABURST = 10
};
enum Spells
@@ -112,7 +112,7 @@ class boss_ragnaros : public CreatureScript
void KilledUnit(Unit* /*victim*/)
{
if (urand(0, 99) < 25)
- DoScriptText(SAY_KILL, me);
+ Talk(SAY_KILL);
}
void UpdateAI(const uint32 diff)
@@ -137,16 +137,16 @@ class boss_ragnaros : public CreatureScript
switch (eventId)
{
case EVENT_INTRO_1:
- DoScriptText(SAY_ARRIVAL1_RAG, me);
+ Talk(SAY_ARRIVAL1_RAG);
break;
case EVENT_INTRO_2:
- DoScriptText(SAY_ARRIVAL3_RAG, me);
+ Talk(SAY_ARRIVAL3_RAG);
break;
case EVENT_INTRO_3:
me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACK1H);
break;
case EVENT_INTRO_4:
- DoScriptText(SAY_ARRIVAL5_RAG, me);
+ Talk(SAY_ARRIVAL5_RAG);
if (instance)
if (Creature* executus = Unit::GetCreature(*me, instance->GetData64(BOSS_MAJORDOMO_EXECUTUS)))
me->Kill(executus);
@@ -205,13 +205,13 @@ class boss_ragnaros : public CreatureScript
case EVENT_WRATH_OF_RAGNAROS:
DoCastVictim(SPELL_WRATH_OF_RAGNAROS);
if (urand(0, 1))
- DoScriptText(SAY_WRATH, me);
+ Talk(SAY_WRATH);
events.ScheduleEvent(EVENT_WRATH_OF_RAGNAROS, 25000);
break;
case EVENT_HAND_OF_RAGNAROS:
DoCast(me, SPELL_HAND_OF_RAGNAROS);
if (urand(0, 1))
- DoScriptText(SAY_HAND, me);
+ Talk(SAY_HAND);
events.ScheduleEvent(EVENT_HAND_OF_RAGNAROS, 20000);
break;
case EVENT_LAVA_BURST:
@@ -229,7 +229,7 @@ class boss_ragnaros : public CreatureScript
if (!_hasYelledMagmaBurst)
{
//Say our dialog
- DoScriptText(SAY_MAGMABURST, me);
+ Talk(SAY_MAGMABURST);
_hasYelledMagmaBurst = true;
}
}
@@ -256,7 +256,7 @@ class boss_ragnaros : public CreatureScript
if (!_hasSubmergedOnce)
{
- DoScriptText(SAY_REINFORCEMENTS1, me);
+ Talk(SAY_REINFORCEMENTS1);
// summon 8 elementals
for (uint8 i = 0; i < 8; ++i)
@@ -272,7 +272,7 @@ class boss_ragnaros : public CreatureScript
}
else
{
- DoScriptText(SAY_REINFORCEMENTS2, me);
+ Talk(SAY_REINFORCEMENTS2);
for (uint8 i = 0; i < 8; ++i)
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index 7a6e9aab31d..78fc8d127b2 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -25,28 +25,27 @@
// texts signed for creature 28939 but used for 28939, 28940, 28610
enum win_friends
{
- SAY_PERSUADE1 = -1609501,
- SAY_PERSUADE2 = -1609502,
- SAY_PERSUADE3 = -1609503,
- SAY_PERSUADE4 = -1609504,
- SAY_PERSUADE5 = -1609505,
- SAY_PERSUADE6 = -1609506,
- SAY_PERSUADE7 = -1609507,
- SAY_CRUSADER1 = -1609508,
- SAY_CRUSADER2 = -1609509,
- SAY_CRUSADER3 = -1609510,
- SAY_CRUSADER4 = -1609511,
- SAY_CRUSADER5 = -1609512,
- SAY_CRUSADER6 = -1609513,
- SAY_PERSUADED1 = -1609514,
- SAY_PERSUADED2 = -1609515,
- SAY_PERSUADED3 = -1609516,
- SAY_PERSUADED4 = -1609517,
- SAY_PERSUADED5 = -1609518,
- SAY_PERSUADED6 = -1609519,
- SPELL_PERSUASIVE_STRIKE = 52781
+ SAY_CRUSADER = 1,
+ SAY_PERSUADED1 = 2,
+ SAY_PERSUADED2 = 3,
+ SAY_PERSUADED3 = 4,
+ SAY_PERSUADED4 = 5,
+ SAY_PERSUADED6 = 6,
+ SPELL_PERSUASIVE_STRIKE = 52781,
+ SPELL_THREAT_PULSE = 58111,
+ QUEST_HOW_TO_WIN_FRIENDS = 12720,
};
+#define SAY_PERSUADED5 "LIES! The pain you are about to endure will be talked about for years to come!"
+
+#define SAY_PERSUADE1 "I'll tear the secrets from your soul! Tell me about the \"Crimson Dawn\" and your life may be spared!"
+#define SAY_PERSUADE2 "Tell me what you know about \"Crimson Dawn\" or the beatings will continue!"
+#define SAY_PERSUADE3 "I'm through being courteous with your kind, human! What is the \"Crimson Dawn\"?"
+#define SAY_PERSUADE4 "Is your life worth so little? Just tell me what I need to know about \"Crimson Dawn\" and I'll end your suffering quickly."
+#define SAY_PERSUADE5 "I can keep this up for a very long time, Scarlet dog! Tell me about the \"Crimson Dawn\"!"
+#define SAY_PERSUADE6 "What is the \"Crimson Dawn\"?"
+#define SAY_PERSUADE7 "\"Crimson Dawn\"! What is it! Speak!"
+
class npc_crusade_persuaded : public CreatureScript
{
public:
@@ -61,97 +60,119 @@ public:
{
npc_crusade_persuadedAI(Creature* creature) : ScriptedAI(creature) {}
- uint32 uiSpeech_timer;
- uint32 uiSpeech_counter;
- uint64 uiPlayerGUID;
+ uint32 speechTimer;
+ uint32 speechCounter;
+ uint64 playerGUID;
void Reset()
{
- uiSpeech_timer = 0;
- uiSpeech_counter = 0;
- uiPlayerGUID = 0;
+ speechTimer = 0;
+ speechCounter = 0;
+ playerGUID = 0;
me->SetReactState(REACT_AGGRESSIVE);
me->RestoreFaction();
}
void SpellHit(Unit* caster, const SpellInfo* spell)
{
- if (spell->Id == SPELL_PERSUASIVE_STRIKE && caster->GetTypeId() == TYPEID_PLAYER && me->isAlive() && !uiSpeech_counter)
+ if (spell->Id == SPELL_PERSUASIVE_STRIKE && caster->GetTypeId() == TYPEID_PLAYER && me->isAlive() && !speechCounter)
{
- if (CAST_PLR(caster)->GetQuestStatus(12720) == QUEST_STATUS_INCOMPLETE)
+ if (Player* player = caster->ToPlayer())
{
- uiPlayerGUID = caster->GetGUID();
- uiSpeech_timer = 1000;
- uiSpeech_counter = 1;
- me->setFaction(caster->getFaction());
- me->CombatStop(true);
- me->GetMotionMaster()->MoveIdle();
- me->SetReactState(REACT_PASSIVE);
- DoCastAOE(58111, true);
-
- DoScriptText(RAND(SAY_PERSUADE1, SAY_PERSUADE2, SAY_PERSUADE3,
- SAY_PERSUADE4, SAY_PERSUADE5, SAY_PERSUADE6,
- SAY_PERSUADE7), caster);
-
- DoScriptText(RAND(SAY_CRUSADER1, SAY_CRUSADER2, SAY_CRUSADER3,
- SAY_CRUSADER4, SAY_CRUSADER5, SAY_CRUSADER6), me);
+ if (player->GetQuestStatus(QUEST_HOW_TO_WIN_FRIENDS) == QUEST_STATUS_INCOMPLETE)
+ {
+ playerGUID = player->GetGUID();
+ speechTimer = 1000;
+ speechCounter = 1;
+ me->setFaction(player->getFaction());
+ me->CombatStop(true);
+ me->GetMotionMaster()->MoveIdle();
+ me->SetReactState(REACT_PASSIVE);
+ DoCastAOE(SPELL_THREAT_PULSE, true);
+
+ switch (urand(1, 7))
+ {
+ case 1:
+ player->Say(SAY_PERSUADE1, LANG_UNIVERSAL);
+ break;
+ case 2:
+ player->Say(SAY_PERSUADE2, LANG_UNIVERSAL);
+ break;
+ case 3:
+ player->Say(SAY_PERSUADE3, LANG_UNIVERSAL);
+ break;
+ case 4:
+ player->Say(SAY_PERSUADE4, LANG_UNIVERSAL);
+ break;
+ case 5:
+ player->Say(SAY_PERSUADE5, LANG_UNIVERSAL);
+ break;
+ case 6:
+ player->Say(SAY_PERSUADE6, LANG_UNIVERSAL);
+ break;
+ case 7:
+ player->Say(SAY_PERSUADE7, LANG_UNIVERSAL);
+ break;
+ }
+ Talk(SAY_CRUSADER);
+ }
}
}
}
void UpdateAI(const uint32 diff)
{
- if (uiSpeech_counter)
+ if (speechCounter)
{
- if (uiSpeech_timer <= diff)
+ if (speechTimer <= diff)
{
- Player* player = Unit::GetPlayer(*me, uiPlayerGUID);
+ Player* player = Unit::GetPlayer(*me, playerGUID);
if (!player)
{
EnterEvadeMode();
return;
}
- switch (uiSpeech_counter)
+ switch (speechCounter)
{
case 1:
- DoScriptText(SAY_PERSUADED1, me);
- uiSpeech_timer = 8000;
+ Talk(SAY_PERSUADED1);
+ speechTimer = 8000;
break;
case 2:
- DoScriptText(SAY_PERSUADED2, me);
- uiSpeech_timer = 8000;
+ Talk(SAY_PERSUADED2);
+ speechTimer = 8000;
break;
case 3:
- DoScriptText(SAY_PERSUADED3, me);
- uiSpeech_timer = 8000;
+ Talk(SAY_PERSUADED3);
+ speechTimer = 8000;
break;
case 4:
- DoScriptText(SAY_PERSUADED4, me);
- uiSpeech_timer = 8000;
+ Talk(SAY_PERSUADED4);
+ speechTimer = 8000;
break;
case 5:
- DoScriptText(SAY_PERSUADED5, player);
- uiSpeech_timer = 8000;
+ player->Say(SAY_PERSUADED5, LANG_UNIVERSAL);
+ speechTimer = 8000;
break;
case 6:
- DoScriptText(SAY_PERSUADED6, me);
+ Talk(SAY_PERSUADED6);
player->Kill(me);
- //me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- //me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- uiSpeech_counter = 0;
- player->GroupEventHappens(12720, me);
+ speechCounter = 0;
+ player->GroupEventHappens(QUEST_HOW_TO_WIN_FRIENDS, me);
return;
}
- ++uiSpeech_counter;
- DoCastAOE(58111, true);
- } else uiSpeech_timer -= diff;
+ ++speechCounter;
+ DoCastAOE(SPELL_THREAT_PULSE, true);
+
+ } else
+ speechTimer -= diff;
return;
}
@@ -171,16 +192,16 @@ public:
enum eKoltira
{
- SAY_BREAKOUT1 = -1609561,
- SAY_BREAKOUT2 = -1609562,
- SAY_BREAKOUT3 = -1609563,
- SAY_BREAKOUT4 = -1609564,
- SAY_BREAKOUT5 = -1609565,
- SAY_BREAKOUT6 = -1609566,
- SAY_BREAKOUT7 = -1609567,
- SAY_BREAKOUT8 = -1609568,
- SAY_BREAKOUT9 = -1609569,
- SAY_BREAKOUT10 = -1609570,
+ SAY_BREAKOUT1 = 0,
+ SAY_BREAKOUT2 = 1,
+ SAY_BREAKOUT3 = 2,
+ SAY_BREAKOUT4 = 3,
+ SAY_BREAKOUT5 = 4,
+ SAY_BREAKOUT6 = 5,
+ SAY_BREAKOUT7 = 6,
+ SAY_BREAKOUT8 = 7,
+ SAY_BREAKOUT9 = 8,
+ SAY_BREAKOUT10 = 9,
SPELL_KOLTIRA_TRANSFORM = 52899,
SPELL_ANTI_MAGIC_ZONE = 52894,
@@ -247,7 +268,7 @@ public:
switch (waypointId)
{
case 0:
- DoScriptText(SAY_BREAKOUT1, me);
+ Talk(SAY_BREAKOUT1);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
break;
case 1:
@@ -262,7 +283,7 @@ public:
case 3:
SetEscortPaused(true);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- DoScriptText(SAY_BREAKOUT2, me);
+ Talk(SAY_BREAKOUT2);
DoCast(me, SPELL_ANTI_MAGIC_ZONE); // cast again that makes bubble up
break;
case 4:
@@ -306,22 +327,22 @@ public:
switch (m_uiWave)
{
case 0:
- DoScriptText(SAY_BREAKOUT3, me);
+ Talk(SAY_BREAKOUT3);
SummonAcolyte(3);
m_uiWave_Timer = 20000;
break;
case 1:
- DoScriptText(SAY_BREAKOUT4, me);
+ Talk(SAY_BREAKOUT4);
SummonAcolyte(3);
m_uiWave_Timer = 20000;
break;
case 2:
- DoScriptText(SAY_BREAKOUT5, me);
+ Talk(SAY_BREAKOUT5);
SummonAcolyte(4);
m_uiWave_Timer = 20000;
break;
case 3:
- DoScriptText(SAY_BREAKOUT6, me);
+ Talk(SAY_BREAKOUT6);
me->SummonCreature(NPC_HIGH_INQUISITOR_VALROTH, 1642.329f, -6045.818f, 127.583f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000);
m_uiWave_Timer = 1000;
break;
@@ -331,7 +352,7 @@ public:
if (!temp || !temp->isAlive())
{
- DoScriptText(SAY_BREAKOUT8, me);
+ Talk(SAY_BREAKOUT8);
m_uiWave_Timer = 5000;
}
else
@@ -342,13 +363,13 @@ public:
break;
}
case 5:
- DoScriptText(SAY_BREAKOUT9, me);
+ Talk(SAY_BREAKOUT9);
me->RemoveAurasDueToSpell(SPELL_ANTI_MAGIC_ZONE);
// i do not know why the armor will also be removed
m_uiWave_Timer = 2500;
break;
case 6:
- DoScriptText(SAY_BREAKOUT10, me);
+ Talk(SAY_BREAKOUT10);
SetEscortPaused(false);
break;
}
@@ -366,8 +387,8 @@ public:
//Scarlet courier
enum ScarletCourierEnum
{
- SAY_TREE1 = -1609531,
- SAY_TREE2 = -1609532,
+ SAY_TREE1 = 0,
+ SAY_TREE2 = 1,
SPELL_SHOOT = 52818,
GO_INCONSPICUOUS_TREE = 191144,
NPC_SCARLET_COURIER = 29076
@@ -399,7 +420,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_TREE2, me);
+ Talk(SAY_TREE2);
me->Dismount();
uiStage = 0;
}
@@ -425,7 +446,7 @@ public:
me->SetWalk(true);
if (GameObject* tree = me->FindNearestGameObject(GO_INCONSPICUOUS_TREE, 40.0f))
{
- DoScriptText(SAY_TREE1, me);
+ Talk(SAY_TREE1);
float x, y, z;
tree->GetContactPoint(me, x, y, z);
me->GetMotionMaster()->MovePoint(1, x, y, z);
@@ -455,12 +476,10 @@ public:
enum valroth
{
- SAY_VALROTH1 = -1609581,
- SAY_VALROTH2 = -1609582,
- SAY_VALROTH3 = -1609583,
- SAY_VALROTH4 = -1609584,
- SAY_VALROTH5 = -1609585,
- SAY_VALROTH6 = -1609586,
+ //SAY_VALROTH1 = 0, Unused
+ SAY_VALROTH_AGGRO = 1,
+ SAY_VALROTH_RAND = 2,
+ SAY_VALROTH_DEATH = 3,
SPELL_RENEW = 38210,
SPELL_INQUISITOR_PENANCE = 52922,
SPELL_VALROTH_SMITE = 52926,
@@ -494,7 +513,7 @@ public:
void EnterCombat(Unit* who)
{
- DoScriptText(SAY_VALROTH2, me);
+ Talk(SAY_VALROTH_AGGRO);
DoCast(who, SPELL_VALROTH_SMITE);
}
@@ -527,12 +546,12 @@ public:
void Shout()
{
if (rand()%100 < 15)
- DoScriptText(RAND(SAY_VALROTH3, SAY_VALROTH4, SAY_VALROTH5), me);
+ Talk(SAY_VALROTH_RAND);
}
void JustDied(Unit* killer)
{
- DoScriptText(SAY_VALROTH6, me);
+ Talk(SAY_VALROTH_DEATH);
killer->CastSpell(me, SPELL_SUMMON_VALROTH_REMAINS, true);
}
};
@@ -545,60 +564,60 @@ public:
//used by 29032, 29061, 29065, 29067, 29068, 29070, 29074, 29072, 29073, 29071 but signed for 29032
enum SpecialSurprise
{
- SAY_EXEC_START_1 = -1609025, // speech for all
- SAY_EXEC_START_2 = -1609026,
- SAY_EXEC_START_3 = -1609027,
- SAY_EXEC_PROG_1 = -1609028,
- SAY_EXEC_PROG_2 = -1609029,
- SAY_EXEC_PROG_3 = -1609030,
- SAY_EXEC_PROG_4 = -1609031,
- SAY_EXEC_PROG_5 = -1609032,
- SAY_EXEC_PROG_6 = -1609033,
- SAY_EXEC_PROG_7 = -1609034,
- SAY_EXEC_NAME_1 = -1609035,
- SAY_EXEC_NAME_2 = -1609036,
- SAY_EXEC_RECOG_1 = -1609037,
- SAY_EXEC_RECOG_2 = -1609038,
- SAY_EXEC_RECOG_3 = -1609039,
- SAY_EXEC_RECOG_4 = -1609040,
- SAY_EXEC_RECOG_5 = -1609041,
- SAY_EXEC_RECOG_6 = -1609042,
- SAY_EXEC_NOREM_1 = -1609043,
- SAY_EXEC_NOREM_2 = -1609044,
- SAY_EXEC_NOREM_3 = -1609045,
- SAY_EXEC_NOREM_4 = -1609046,
- SAY_EXEC_NOREM_5 = -1609047,
- SAY_EXEC_NOREM_6 = -1609048,
- SAY_EXEC_NOREM_7 = -1609049,
- SAY_EXEC_NOREM_8 = -1609050,
- SAY_EXEC_NOREM_9 = -1609051,
- SAY_EXEC_THINK_1 = -1609052,
- SAY_EXEC_THINK_2 = -1609053,
- SAY_EXEC_THINK_3 = -1609054,
- SAY_EXEC_THINK_4 = -1609055,
- SAY_EXEC_THINK_5 = -1609056,
- SAY_EXEC_THINK_6 = -1609057,
- SAY_EXEC_THINK_7 = -1609058,
- SAY_EXEC_THINK_8 = -1609059,
- SAY_EXEC_THINK_9 = -1609060,
- SAY_EXEC_THINK_10 = -1609061,
- SAY_EXEC_LISTEN_1 = -1609062,
- SAY_EXEC_LISTEN_2 = -1609063,
- SAY_EXEC_LISTEN_3 = -1609064,
- SAY_EXEC_LISTEN_4 = -1609065,
- SAY_PLAGUEFIST = -1609066,
- SAY_EXEC_TIME_1 = -1609067,
- SAY_EXEC_TIME_2 = -1609068,
- SAY_EXEC_TIME_3 = -1609069,
- SAY_EXEC_TIME_4 = -1609070,
- SAY_EXEC_TIME_5 = -1609071,
- SAY_EXEC_TIME_6 = -1609072,
- SAY_EXEC_TIME_7 = -1609073,
- SAY_EXEC_TIME_8 = -1609074,
- SAY_EXEC_TIME_9 = -1609075,
- SAY_EXEC_TIME_10 = -1609076,
- SAY_EXEC_WAITING = -1609077,
- EMOTE_DIES = -1609078,
+ SAY_EXEC_START_1 = 0, // speech for all
+ SAY_EXEC_START_2 = 1,
+ SAY_EXEC_START_3 = 2,
+ SAY_EXEC_PROG_1 = 3,
+ SAY_EXEC_PROG_2 = 4,
+ SAY_EXEC_PROG_3 = 5,
+ SAY_EXEC_PROG_4 = 6,
+ SAY_EXEC_PROG_5 = 7,
+ SAY_EXEC_PROG_6 = 8,
+ SAY_EXEC_PROG_7 = 9,
+ SAY_EXEC_NAME_1 = 10,
+ SAY_EXEC_NAME_2 = 11,
+ SAY_EXEC_RECOG_1 = 12,
+ SAY_EXEC_RECOG_2 = 13,
+ SAY_EXEC_RECOG_3 = 14,
+ SAY_EXEC_RECOG_4 = 15,
+ SAY_EXEC_RECOG_5 = 16,
+ SAY_EXEC_RECOG_6 = 17,
+ SAY_EXEC_NOREM_1 = 18,
+ SAY_EXEC_NOREM_2 = 19,
+ SAY_EXEC_NOREM_3 = 20,
+ SAY_EXEC_NOREM_4 = 21,
+ SAY_EXEC_NOREM_5 = 22,
+ SAY_EXEC_NOREM_6 = 23,
+ SAY_EXEC_NOREM_7 = 24,
+ SAY_EXEC_NOREM_8 = 25,
+ SAY_EXEC_NOREM_9 = 26,
+ SAY_EXEC_THINK_1 = 27,
+ SAY_EXEC_THINK_2 = 28,
+ SAY_EXEC_THINK_3 = 29,
+ SAY_EXEC_THINK_4 = 30,
+ SAY_EXEC_THINK_5 = 31,
+ SAY_EXEC_THINK_6 = 32,
+ SAY_EXEC_THINK_7 = 33,
+ SAY_EXEC_THINK_8 = 34,
+ SAY_EXEC_THINK_9 = 35,
+ SAY_EXEC_THINK_10 = 36,
+ SAY_EXEC_LISTEN_1 = 37,
+ SAY_EXEC_LISTEN_2 = 38,
+ SAY_EXEC_LISTEN_3 = 39,
+ SAY_EXEC_LISTEN_4 = 40,
+ SAY_PLAGUEFIST = 41,
+ SAY_EXEC_TIME_1 = 42,
+ SAY_EXEC_TIME_2 = 43,
+ SAY_EXEC_TIME_3 = 44,
+ SAY_EXEC_TIME_4 = 45,
+ SAY_EXEC_TIME_5 = 46,
+ SAY_EXEC_TIME_6 = 47,
+ SAY_EXEC_TIME_7 = 48,
+ SAY_EXEC_TIME_8 = 49,
+ SAY_EXEC_TIME_9 = 50,
+ SAY_EXEC_TIME_10 = 51,
+ SAY_EXEC_WAITING = 52,
+ EMOTE_DIES = 53,
NPC_PLAGUEFIST = 29053
};
@@ -709,28 +728,28 @@ public:
case RACE_HUMAN:
switch (ExecuteSpeech_Counter)
{
- case 0: DoScriptText(SAY_EXEC_START_1, me, player); break;
+ case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break;
case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
- case 2: DoScriptText(SAY_EXEC_PROG_5, me, player); break;
- case 3: DoScriptText(SAY_EXEC_NAME_1, me, player); break;
- case 4: DoScriptText(SAY_EXEC_RECOG_1, me, player); break;
- case 5: DoScriptText(SAY_EXEC_NOREM_5, me, player); break;
- case 6: DoScriptText(SAY_EXEC_THINK_7, me, player); break;
- case 7: DoScriptText(SAY_EXEC_LISTEN_1, me, player); break;
+ case 2: Talk(SAY_EXEC_PROG_5, player->GetGUID()); break;
+ case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break;
+ case 4: Talk(SAY_EXEC_RECOG_1, player->GetGUID()); break;
+ case 5: Talk(SAY_EXEC_NOREM_5, player->GetGUID()); break;
+ case 6: Talk(SAY_EXEC_THINK_7, player->GetGUID()); break;
+ case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break;
case 8:
if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
- DoScriptText(SAY_PLAGUEFIST, Plaguefist, player);
+ Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID());
break;
case 9:
- DoScriptText(SAY_EXEC_TIME_6, me, player);
+ Talk(SAY_EXEC_TIME_6, player->GetGUID());
me->SetStandState(UNIT_STAND_STATE_KNEEL);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10:
- DoScriptText(SAY_EXEC_WAITING, me, player);
+ Talk(SAY_EXEC_WAITING, player->GetGUID());
break;
case 11:
- DoScriptText(EMOTE_DIES, me);
+ Talk(EMOTE_DIES);
me->setDeathState(JUST_DIED);
me->SetHealth(0);
return;
@@ -739,28 +758,28 @@ public:
case RACE_ORC:
switch (ExecuteSpeech_Counter)
{
- case 0: DoScriptText(SAY_EXEC_START_1, me, player); break;
+ case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break;
case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
- case 2: DoScriptText(SAY_EXEC_PROG_6, me, player); break;
- case 3: DoScriptText(SAY_EXEC_NAME_1, me, player); break;
- case 4: DoScriptText(SAY_EXEC_RECOG_1, me, player); break;
- case 5: DoScriptText(SAY_EXEC_NOREM_7, me, player); break;
- case 6: DoScriptText(SAY_EXEC_THINK_8, me, player); break;
- case 7: DoScriptText(SAY_EXEC_LISTEN_1, me, player); break;
+ case 2: Talk(SAY_EXEC_PROG_6, player->GetGUID()); break;
+ case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break;
+ case 4: Talk(SAY_EXEC_RECOG_1, player->GetGUID()); break;
+ case 5: Talk(SAY_EXEC_NOREM_7, player->GetGUID()); break;
+ case 6: Talk(SAY_EXEC_THINK_8, player->GetGUID()); break;
+ case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break;
case 8:
if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
- DoScriptText(SAY_PLAGUEFIST, Plaguefist, player);
+ Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID());
break;
case 9:
- DoScriptText(SAY_EXEC_TIME_8, me, player);
+ Talk(SAY_EXEC_TIME_8, player->GetGUID());
me->SetStandState(UNIT_STAND_STATE_KNEEL);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10:
- DoScriptText(SAY_EXEC_WAITING, me, player);
+ Talk(SAY_EXEC_WAITING, player->GetGUID());
break;
case 11:
- DoScriptText(EMOTE_DIES, me);
+ Talk(EMOTE_DIES);
me->setDeathState(JUST_DIED);
me->SetHealth(0);
return;
@@ -769,28 +788,28 @@ public:
case RACE_DWARF:
switch (ExecuteSpeech_Counter)
{
- case 0: DoScriptText(SAY_EXEC_START_2, me, player); break;
+ case 0: Talk(SAY_EXEC_START_2, player->GetGUID()); break;
case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
- case 2: DoScriptText(SAY_EXEC_PROG_2, me, player); break;
- case 3: DoScriptText(SAY_EXEC_NAME_1, me, player); break;
- case 4: DoScriptText(SAY_EXEC_RECOG_3, me, player); break;
- case 5: DoScriptText(SAY_EXEC_NOREM_2, me, player); break;
- case 6: DoScriptText(SAY_EXEC_THINK_5, me, player); break;
- case 7: DoScriptText(SAY_EXEC_LISTEN_2, me, player); break;
+ case 2: Talk(SAY_EXEC_PROG_2, player->GetGUID()); break;
+ case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break;
+ case 4: Talk(SAY_EXEC_RECOG_3, player->GetGUID()); break;
+ case 5: Talk(SAY_EXEC_NOREM_2, player->GetGUID()); break;
+ case 6: Talk(SAY_EXEC_THINK_5, player->GetGUID()); break;
+ case 7: Talk(SAY_EXEC_LISTEN_2, player->GetGUID()); break;
case 8:
if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
- DoScriptText(SAY_PLAGUEFIST, Plaguefist, player);
+ Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID());
break;
case 9:
- DoScriptText(SAY_EXEC_TIME_3, me, player);
+ Talk(SAY_EXEC_TIME_3, player->GetGUID());
me->SetStandState(UNIT_STAND_STATE_KNEEL);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10:
- DoScriptText(SAY_EXEC_WAITING, me, player);
+ Talk(SAY_EXEC_WAITING, player->GetGUID());
break;
case 11:
- DoScriptText(EMOTE_DIES, me);
+ Talk(EMOTE_DIES);
me->setDeathState(JUST_DIED);
me->SetHealth(0);
return;
@@ -799,28 +818,28 @@ public:
case RACE_NIGHTELF:
switch (ExecuteSpeech_Counter)
{
- case 0: DoScriptText(SAY_EXEC_START_1, me, player); break;
+ case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break;
case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
- case 2: DoScriptText(SAY_EXEC_PROG_5, me, player); break;
- case 3: DoScriptText(SAY_EXEC_NAME_1, me, player); break;
- case 4: DoScriptText(SAY_EXEC_RECOG_1, me, player); break;
- case 5: DoScriptText(SAY_EXEC_NOREM_6, me, player); break;
- case 6: DoScriptText(SAY_EXEC_THINK_2, me, player); break;
- case 7: DoScriptText(SAY_EXEC_LISTEN_1, me, player); break;
+ case 2: Talk(SAY_EXEC_PROG_5, player->GetGUID()); break;
+ case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break;
+ case 4: Talk(SAY_EXEC_RECOG_1, player->GetGUID()); break;
+ case 5: Talk(SAY_EXEC_NOREM_6, player->GetGUID()); break;
+ case 6: Talk(SAY_EXEC_THINK_2, player->GetGUID()); break;
+ case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break;
case 8:
if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
- DoScriptText(SAY_PLAGUEFIST, Plaguefist, player);
+ Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID());
break;
case 9:
- DoScriptText(SAY_EXEC_TIME_7, me, player);
+ Talk(SAY_EXEC_TIME_7, player->GetGUID());
me->SetStandState(UNIT_STAND_STATE_KNEEL);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10:
- DoScriptText(SAY_EXEC_WAITING, me, player);
+ Talk(SAY_EXEC_WAITING, player->GetGUID());
break;
case 11:
- DoScriptText(EMOTE_DIES, me);
+ Talk(EMOTE_DIES);
me->setDeathState(JUST_DIED);
me->SetHealth(0);
return;
@@ -829,28 +848,28 @@ public:
case RACE_UNDEAD_PLAYER:
switch (ExecuteSpeech_Counter)
{
- case 0: DoScriptText(SAY_EXEC_START_1, me, player); break;
+ case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break;
case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
- case 2: DoScriptText(SAY_EXEC_PROG_3, me, player); break;
- case 3: DoScriptText(SAY_EXEC_NAME_1, me, player); break;
- case 4: DoScriptText(SAY_EXEC_RECOG_4, me, player); break;
- case 5: DoScriptText(SAY_EXEC_NOREM_3, me, player); break;
- case 6: DoScriptText(SAY_EXEC_THINK_1, me, player); break;
- case 7: DoScriptText(SAY_EXEC_LISTEN_3, me, player); break;
+ case 2: Talk(SAY_EXEC_PROG_3, player->GetGUID()); break;
+ case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break;
+ case 4: Talk(SAY_EXEC_RECOG_4, player->GetGUID()); break;
+ case 5: Talk(SAY_EXEC_NOREM_3, player->GetGUID()); break;
+ case 6: Talk(SAY_EXEC_THINK_1, player->GetGUID()); break;
+ case 7: Talk(SAY_EXEC_LISTEN_3, player->GetGUID()); break;
case 8:
if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
- DoScriptText(SAY_PLAGUEFIST, Plaguefist, player);
+ Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID());
break;
case 9:
- DoScriptText(SAY_EXEC_TIME_4, me, player);
+ Talk(SAY_EXEC_TIME_4, player->GetGUID());
me->SetStandState(UNIT_STAND_STATE_KNEEL);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10:
- DoScriptText(SAY_EXEC_WAITING, me, player);
+ Talk(SAY_EXEC_WAITING, player->GetGUID());
break;
case 11:
- DoScriptText(EMOTE_DIES, me);
+ Talk(EMOTE_DIES);
me->setDeathState(JUST_DIED);
me->SetHealth(0);
return;
@@ -859,28 +878,28 @@ public:
case RACE_TAUREN:
switch (ExecuteSpeech_Counter)
{
- case 0: DoScriptText(SAY_EXEC_START_1, me, player); break;
+ case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break;
case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
- case 2: DoScriptText(SAY_EXEC_PROG_1, me, player); break;
- case 3: DoScriptText(SAY_EXEC_NAME_1, me, player); break;
- case 4: DoScriptText(SAY_EXEC_RECOG_5, me, player); break;
- case 5: DoScriptText(SAY_EXEC_NOREM_8, me, player); break;
- case 6: DoScriptText(SAY_EXEC_THINK_9, me, player); break;
- case 7: DoScriptText(SAY_EXEC_LISTEN_1, me, player); break;
+ case 2: Talk(SAY_EXEC_PROG_1, player->GetGUID()); break;
+ case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break;
+ case 4: Talk(SAY_EXEC_RECOG_5, player->GetGUID()); break;
+ case 5: Talk(SAY_EXEC_NOREM_8, player->GetGUID()); break;
+ case 6: Talk(SAY_EXEC_THINK_9, player->GetGUID()); break;
+ case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break;
case 8:
if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
- DoScriptText(SAY_PLAGUEFIST, Plaguefist, player);
+ Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID());
break;
case 9:
- DoScriptText(SAY_EXEC_TIME_9, me, player);
+ Talk(SAY_EXEC_TIME_9, player->GetGUID());
me->SetStandState(UNIT_STAND_STATE_KNEEL);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10:
- DoScriptText(SAY_EXEC_WAITING, me, player);
+ Talk(SAY_EXEC_WAITING, player->GetGUID());
break;
case 11:
- DoScriptText(EMOTE_DIES, me);
+ Talk(EMOTE_DIES);
me->setDeathState(JUST_DIED);
me->SetHealth(0);
return;
@@ -889,28 +908,28 @@ public:
case RACE_GNOME:
switch (ExecuteSpeech_Counter)
{
- case 0: DoScriptText(SAY_EXEC_START_1, me, player); break;
+ case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break;
case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
- case 2: DoScriptText(SAY_EXEC_PROG_4, me, player); break;
- case 3: DoScriptText(SAY_EXEC_NAME_1, me, player); break;
- case 4: DoScriptText(SAY_EXEC_RECOG_1, me, player); break;
- case 5: DoScriptText(SAY_EXEC_NOREM_4, me, player); break;
- case 6: DoScriptText(SAY_EXEC_THINK_6, me, player); break;
- case 7: DoScriptText(SAY_EXEC_LISTEN_1, me, player); break;
+ case 2: Talk(SAY_EXEC_PROG_4, player->GetGUID()); break;
+ case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break;
+ case 4: Talk(SAY_EXEC_RECOG_1, player->GetGUID()); break;
+ case 5: Talk(SAY_EXEC_NOREM_4, player->GetGUID()); break;
+ case 6: Talk(SAY_EXEC_THINK_6, player->GetGUID()); break;
+ case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break;
case 8:
if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
- DoScriptText(SAY_PLAGUEFIST, Plaguefist, player);
+ Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID());
break;
case 9:
- DoScriptText(SAY_EXEC_TIME_5, me, player);
+ Talk(SAY_EXEC_TIME_5, player->GetGUID());
me->SetStandState(UNIT_STAND_STATE_KNEEL);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10:
- DoScriptText(SAY_EXEC_WAITING, me, player);
+ Talk(SAY_EXEC_WAITING, player->GetGUID());
break;
case 11:
- DoScriptText(EMOTE_DIES, me);
+ Talk(EMOTE_DIES);
me->setDeathState(JUST_DIED);
me->SetHealth(0);
return;
@@ -919,28 +938,28 @@ public:
case RACE_TROLL:
switch (ExecuteSpeech_Counter)
{
- case 0: DoScriptText(SAY_EXEC_START_3, me, player); break;
+ case 0: Talk(SAY_EXEC_START_3, player->GetGUID()); break;
case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
- case 2: DoScriptText(SAY_EXEC_PROG_7, me, player); break;
- case 3: DoScriptText(SAY_EXEC_NAME_2, me, player); break;
- case 4: DoScriptText(SAY_EXEC_RECOG_6, me, player); break;
- case 5: DoScriptText(SAY_EXEC_NOREM_9, me, player); break;
- case 6: DoScriptText(SAY_EXEC_THINK_10, me, player); break;
- case 7: DoScriptText(SAY_EXEC_LISTEN_4, me, player); break;
+ case 2: Talk(SAY_EXEC_PROG_7, player->GetGUID()); break;
+ case 3: Talk(SAY_EXEC_NAME_2, player->GetGUID()); break;
+ case 4: Talk(SAY_EXEC_RECOG_6, player->GetGUID()); break;
+ case 5: Talk(SAY_EXEC_NOREM_9, player->GetGUID()); break;
+ case 6: Talk(SAY_EXEC_THINK_10, player->GetGUID()); break;
+ case 7: Talk(SAY_EXEC_LISTEN_4, player->GetGUID()); break;
case 8:
if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
- DoScriptText(SAY_PLAGUEFIST, Plaguefist, player);
+ Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID());
break;
case 9:
- DoScriptText(SAY_EXEC_TIME_10, me, player);
+ Talk(SAY_EXEC_TIME_10, player->GetGUID());
me->SetStandState(UNIT_STAND_STATE_KNEEL);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10:
- DoScriptText(SAY_EXEC_WAITING, me, player);
+ Talk(SAY_EXEC_WAITING, player->GetGUID());
break;
case 11:
- DoScriptText(EMOTE_DIES, me);
+ Talk(EMOTE_DIES);
me->setDeathState(JUST_DIED);
me->SetHealth(0);
return;
@@ -949,28 +968,28 @@ public:
case RACE_BLOODELF:
switch (ExecuteSpeech_Counter)
{
- case 0: DoScriptText(SAY_EXEC_START_1, me, player); break;
+ case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break;
case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
- case 2: DoScriptText(SAY_EXEC_PROG_1, me, player); break;
- case 3: DoScriptText(SAY_EXEC_NAME_1, me, player); break;
- case 4: DoScriptText(SAY_EXEC_RECOG_1, me, player); break;
+ case 2: Talk(SAY_EXEC_PROG_1, player->GetGUID()); break;
+ case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break;
+ case 4: Talk(SAY_EXEC_RECOG_1, player->GetGUID()); break;
//case 5: //unknown
- case 6: DoScriptText(SAY_EXEC_THINK_3, me, player); break;
- case 7: DoScriptText(SAY_EXEC_LISTEN_1, me, player); break;
+ case 6: Talk(SAY_EXEC_THINK_3, player->GetGUID()); break;
+ case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break;
case 8:
if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
- DoScriptText(SAY_PLAGUEFIST, Plaguefist, player);
+ Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID());
break;
case 9:
- DoScriptText(SAY_EXEC_TIME_1, me, player);
+ Talk(SAY_EXEC_TIME_1, player->GetGUID());
me->SetStandState(UNIT_STAND_STATE_KNEEL);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10:
- DoScriptText(SAY_EXEC_WAITING, me, player);
+ Talk(SAY_EXEC_WAITING, player->GetGUID());
break;
case 11:
- DoScriptText(EMOTE_DIES, me);
+ Talk(EMOTE_DIES);
me->setDeathState(JUST_DIED);
me->SetHealth(0);
return;
@@ -979,28 +998,28 @@ public:
case RACE_DRAENEI:
switch (ExecuteSpeech_Counter)
{
- case 0: DoScriptText(SAY_EXEC_START_1, me, player); break;
+ case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break;
case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
- case 2: DoScriptText(SAY_EXEC_PROG_1, me, player); break;
- case 3: DoScriptText(SAY_EXEC_NAME_1, me, player); break;
- case 4: DoScriptText(SAY_EXEC_RECOG_2, me, player); break;
- case 5: DoScriptText(SAY_EXEC_NOREM_1, me, player); break;
- case 6: DoScriptText(SAY_EXEC_THINK_4, me, player); break;
- case 7: DoScriptText(SAY_EXEC_LISTEN_1, me, player); break;
+ case 2: Talk(SAY_EXEC_PROG_1, player->GetGUID()); break;
+ case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break;
+ case 4: Talk(SAY_EXEC_RECOG_2, player->GetGUID()); break;
+ case 5: Talk(SAY_EXEC_NOREM_1, player->GetGUID()); break;
+ case 6: Talk(SAY_EXEC_THINK_4, player->GetGUID()); break;
+ case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break;
case 8:
if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
- DoScriptText(SAY_PLAGUEFIST, Plaguefist, player);
+ Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID());
break;
case 9:
- DoScriptText(SAY_EXEC_TIME_2, me, player);
+ Talk(SAY_EXEC_TIME_2, player->GetGUID());
me->SetStandState(UNIT_STAND_STATE_KNEEL);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10:
- DoScriptText(SAY_EXEC_WAITING, me, player);
+ Talk(SAY_EXEC_WAITING, player->GetGUID());
break;
case 11:
- DoScriptText(EMOTE_DIES, me);
+ Talk(EMOTE_DIES);
me->setDeathState(JUST_DIED);
me->SetHealth(0);
return;
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
index 686f5954e77..8f410cf62bc 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
@@ -51,93 +51,78 @@ enum mograine
WORLD_STATE_COUNTDOWN = 3603,
WORLD_STATE_EVENT_BEGIN = 3605,
- SAY_LIGHT_OF_DAWN01 = -1609201, // pre text
- SAY_LIGHT_OF_DAWN02 = -1609202,
- SAY_LIGHT_OF_DAWN03 = -1609203,
- SAY_LIGHT_OF_DAWN04 = -1609204, // intro
- SAY_LIGHT_OF_DAWN05 = -1609205,
- SAY_LIGHT_OF_DAWN06 = -1609206,
- SAY_LIGHT_OF_DAWN07 = -1609207, // During the fight - Korfax, Champion of the Light
- SAY_LIGHT_OF_DAWN08 = -1609208, // Lord Maxwell Tyrosus
- SAY_LIGHT_OF_DAWN09 = -1609209, // Highlord Darion Mograine
- SAY_LIGHT_OF_DAWN10 = -1609210,
- SAY_LIGHT_OF_DAWN11 = -1609211,
- SAY_LIGHT_OF_DAWN12 = -1609212,
- SAY_LIGHT_OF_DAWN13 = -1609213,
- SAY_LIGHT_OF_DAWN14 = -1609214,
- SAY_LIGHT_OF_DAWN15 = -1609215,
- SAY_LIGHT_OF_DAWN16 = -1609216,
- SAY_LIGHT_OF_DAWN17 = -1609217,
- SAY_LIGHT_OF_DAWN18 = -1609218,
- SAY_LIGHT_OF_DAWN19 = -1609219,
- SAY_LIGHT_OF_DAWN20 = -1609220,
- SAY_LIGHT_OF_DAWN21 = -1609221,
- SAY_LIGHT_OF_DAWN22 = -1609222,
- SAY_LIGHT_OF_DAWN23 = -1609223,
- SAY_LIGHT_OF_DAWN24 = -1609224,
- SAY_LIGHT_OF_DAWN25 = -1609225, // After the fight
- SAY_LIGHT_OF_DAWN26 = -1609226, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN27 = -1609227, // Highlord Darion Mograine
- SAY_LIGHT_OF_DAWN28 = -1609228, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN29 = -1609229, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN30 = -1609230, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN31 = -1609231, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN32 = -1609232, // Highlord Alexandros Mograine
- SAY_LIGHT_OF_DAWN33 = -1609233, // Highlord Darion Mograine
- SAY_LIGHT_OF_DAWN34 = -1609234, // Highlord Darion Mograine
- SAY_LIGHT_OF_DAWN35 = -1609235, // Darion Mograine
- SAY_LIGHT_OF_DAWN36 = -1609236, // Darion Mograine
- SAY_LIGHT_OF_DAWN37 = -1609237, // Highlord Alexandros Mograine
- SAY_LIGHT_OF_DAWN38 = -1609238, // Darion Mograine
- SAY_LIGHT_OF_DAWN39 = -1609239, // Highlord Alexandros Mograine
- SAY_LIGHT_OF_DAWN40 = -1609240, // Darion Mograine
- SAY_LIGHT_OF_DAWN41 = -1609241, // Highlord Alexandros Mograine
- SAY_LIGHT_OF_DAWN42 = -1609242, // Highlord Alexandros Mograine
- SAY_LIGHT_OF_DAWN43 = -1609243, // The Lich King
- SAY_LIGHT_OF_DAWN44 = -1609244, // Highlord Darion Mograine
- SAY_LIGHT_OF_DAWN45 = -1609245, // The Lich King
- SAY_LIGHT_OF_DAWN46 = -1609246, // The Lich King
- SAY_LIGHT_OF_DAWN47 = -1609247, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN48 = -1609248, // The Lich King
- SAY_LIGHT_OF_DAWN49 = -1609249, // The Lich King
- SAY_LIGHT_OF_DAWN50 = -1609250, // Lord Maxwell Tyrosus
- SAY_LIGHT_OF_DAWN51 = -1609251, // The Lich King
- SAY_LIGHT_OF_DAWN52 = -1609252, // Highlord Darion Mograine
- SAY_LIGHT_OF_DAWN53 = -1609253, // Highlord Darion Mograine
- SAY_LIGHT_OF_DAWN54 = -1609254, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN55 = -1609255, // The Lich King
- SAY_LIGHT_OF_DAWN56 = -1609256, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN57 = -1609257, // The Lich King
- SAY_LIGHT_OF_DAWN58 = -1609258, // The Lich King
- SAY_LIGHT_OF_DAWN59 = -1609259, // The Lich King
- SAY_LIGHT_OF_DAWN60 = -1609260, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN61 = -1609261, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN62 = -1609262, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN63 = -1609263, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN64 = -1609264, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN65 = -1609265, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN66 = -1609266, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN67 = -1609267, // Highlord Tirion Fordring
- SAY_LIGHT_OF_DAWN68 = -1609268, // Highlord Darion Mograine
-
- EMOTE_LIGHT_OF_DAWN01 = -1609269, // Emotes
- EMOTE_LIGHT_OF_DAWN02 = -1609270,
- EMOTE_LIGHT_OF_DAWN03 = -1609271,
- EMOTE_LIGHT_OF_DAWN04 = -1609272,
- EMOTE_LIGHT_OF_DAWN05 = -1609273,
- EMOTE_LIGHT_OF_DAWN06 = -1609274,
- EMOTE_LIGHT_OF_DAWN07 = -1609275,
- EMOTE_LIGHT_OF_DAWN08 = -1609276,
- EMOTE_LIGHT_OF_DAWN09 = -1609277,
- EMOTE_LIGHT_OF_DAWN10 = -1609278,
- EMOTE_LIGHT_OF_DAWN11 = -1609279,
- EMOTE_LIGHT_OF_DAWN12 = -1609280,
- EMOTE_LIGHT_OF_DAWN13 = -1609281,
- EMOTE_LIGHT_OF_DAWN14 = -1609282,
- EMOTE_LIGHT_OF_DAWN15 = -1609283,
- EMOTE_LIGHT_OF_DAWN16 = -1609284,
- EMOTE_LIGHT_OF_DAWN17 = -1609285,
- EMOTE_LIGHT_OF_DAWN18 = -1609286,
+ SAY_LIGHT_OF_DAWN01 = 0, // pre text
+ SAY_LIGHT_OF_DAWN02 = 1,
+ SAY_LIGHT_OF_DAWN03 = 2,
+ SAY_LIGHT_OF_DAWN04 = 3, // intro
+ SAY_LIGHT_OF_DAWN05 = 4,
+ SAY_LIGHT_OF_DAWN06 = 5,
+ SAY_LIGHT_OF_DAWN07 = 6, // During the fight - Korfax, Champion of the Light
+ SAY_LIGHT_OF_DAWN08 = 7, // Lord Maxwell Tyrosus
+ SAY_LIGHT_OF_DAWN09 = 8, // Highlord Darion Mograine
+ SAY_LIGHT_OF_DAWN25 = 24, // After the fight
+ SAY_LIGHT_OF_DAWN26 = 25, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN27 = 26, // Highlord Darion Mograine
+ SAY_LIGHT_OF_DAWN28 = 27, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN29 = 28, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN30 = 29, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN31 = 30, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN32 = 31, // Highlord Alexandros Mograine
+ SAY_LIGHT_OF_DAWN33 = 32, // Highlord Darion Mograine
+ SAY_LIGHT_OF_DAWN34 = 33, // Highlord Darion Mograine
+ SAY_LIGHT_OF_DAWN35 = 34, // Darion Mograine
+ SAY_LIGHT_OF_DAWN36 = 35, // Darion Mograine
+ SAY_LIGHT_OF_DAWN37 = 36, // Highlord Alexandros Mograine
+ SAY_LIGHT_OF_DAWN38 = 37, // Darion Mograine
+ SAY_LIGHT_OF_DAWN39 = 38, // Highlord Alexandros Mograine
+ SAY_LIGHT_OF_DAWN40 = 39, // Darion Mograine
+ SAY_LIGHT_OF_DAWN41 = 40, // Highlord Alexandros Mograine
+ SAY_LIGHT_OF_DAWN42 = 41, // Highlord Alexandros Mograine
+ SAY_LIGHT_OF_DAWN43 = 42, // The Lich King
+ SAY_LIGHT_OF_DAWN44 = 43, // Highlord Darion Mograine
+ SAY_LIGHT_OF_DAWN45 = 44, // The Lich King
+ SAY_LIGHT_OF_DAWN46 = 45, // The Lich King
+ SAY_LIGHT_OF_DAWN47 = 46, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN48 = 47, // The Lich King
+ SAY_LIGHT_OF_DAWN49 = 48, // The Lich King
+ SAY_LIGHT_OF_DAWN50 = 49, // Lord Maxwell Tyrosus
+ SAY_LIGHT_OF_DAWN51 = 50, // The Lich King
+ SAY_LIGHT_OF_DAWN52 = 51, // Highlord Darion Mograine
+ SAY_LIGHT_OF_DAWN53 = 52, // Highlord Darion Mograine
+ SAY_LIGHT_OF_DAWN54 = 53, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN55 = 54, // The Lich King
+ SAY_LIGHT_OF_DAWN56 = 55, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN57 = 56, // The Lich King
+ SAY_LIGHT_OF_DAWN58 = 57, // The Lich King
+ SAY_LIGHT_OF_DAWN59 = 58, // The Lich King
+ SAY_LIGHT_OF_DAWN60 = 59, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN61 = 60, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN62 = 61, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN63 = 62, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN64 = 63, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN65 = 64, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN66 = 65, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN67 = 66, // Highlord Tirion Fordring
+ SAY_LIGHT_OF_DAWN68 = 67, // Highlord Darion Mograine
+
+ EMOTE_LIGHT_OF_DAWN01 = 68, // Emotes
+ EMOTE_LIGHT_OF_DAWN02 = 69,
+ EMOTE_LIGHT_OF_DAWN03 = 70,
+ EMOTE_LIGHT_OF_DAWN04 = 71,
+ EMOTE_LIGHT_OF_DAWN05 = 72,
+ EMOTE_LIGHT_OF_DAWN06 = 73,
+ EMOTE_LIGHT_OF_DAWN07 = 74,
+ EMOTE_LIGHT_OF_DAWN08 = 75,
+ EMOTE_LIGHT_OF_DAWN09 = 76,
+ EMOTE_LIGHT_OF_DAWN10 = 77,
+ EMOTE_LIGHT_OF_DAWN11 = 78,
+ EMOTE_LIGHT_OF_DAWN12 = 79,
+ EMOTE_LIGHT_OF_DAWN13 = 80,
+ EMOTE_LIGHT_OF_DAWN14 = 81,
+ EMOTE_LIGHT_OF_DAWN15 = 82,
+ EMOTE_LIGHT_OF_DAWN16 = 83,
+ EMOTE_LIGHT_OF_DAWN17 = 84,
+ EMOTE_LIGHT_OF_DAWN18 = 85,
GO_LIGHT_OF_DAWN = 191330,
SPELL_THE_LIGHT_OF_DAWN_Q = 53606, // quest credit
@@ -512,9 +497,9 @@ public:
SetHoldState(true);
SpawnNPC();
if (Creature* temp = Unit::GetCreature(*me, uiKorfaxGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN07, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN07);
if (Creature* temp = Unit::GetCreature(*me, uiMaxwellGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN08, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN08);
for (uint8 i = 0; i < ENCOUNTER_GHOUL_NUMBER; ++i)
NPCChangeTarget(uiGhoulGUID[i]);
@@ -546,7 +531,7 @@ public:
{
//Unit* pTirion = Unit::GetCreature(*me, uiTirionGUID);
- DoScriptText(EMOTE_LIGHT_OF_DAWN05, me);
+ Talk(EMOTE_LIGHT_OF_DAWN05);
if (me->HasAura(SPELL_THE_LIGHT_OF_DAWN, 0))
me->RemoveAurasDueToSpell(SPELL_THE_LIGHT_OF_DAWN);
if (Creature* temp = Unit::GetCreature(*me, uiKoltiraGUID))
@@ -583,7 +568,7 @@ public:
}
break;
case 4:
- DoScriptText(SAY_LIGHT_OF_DAWN27, me);
+ Talk(SAY_LIGHT_OF_DAWN27);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
if (Creature* temp = Unit::GetCreature(*me, uiKoltiraGUID))
@@ -593,7 +578,7 @@ public:
SetHoldState(true);
break;
case 5:
- DoScriptText(SAY_LIGHT_OF_DAWN33, me);
+ Talk(SAY_LIGHT_OF_DAWN33);
SetHoldState(true);
break;
case 6:
@@ -609,7 +594,7 @@ public:
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(EQUIP_UNEQUIP));
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
me->CastSpell(temp, SPELL_ASHBRINGER, true);
- DoScriptText(EMOTE_LIGHT_OF_DAWN14, me);
+ Talk(EMOTE_LIGHT_OF_DAWN14);
SetHoldState(true);
break;
}
@@ -645,7 +630,7 @@ public:
break;
case 2:
- DoScriptText(SAY_LIGHT_OF_DAWN04, me);
+ Talk(SAY_LIGHT_OF_DAWN04);
if (Creature* pKoltira = GetClosestCreatureWithEntry(me, NPC_KOLTIRA_DEATHWEAVER, 50.0f))
uiKoltiraGUID = pKoltira->GetGUID();
if (Creature* pOrbaz = GetClosestCreatureWithEntry(me, NPC_ORBAZ_BLOODBANE, 50.0f))
@@ -656,7 +641,7 @@ public:
break;
case 3: // rise
- DoScriptText(SAY_LIGHT_OF_DAWN05, me);
+ Talk(SAY_LIGHT_OF_DAWN05);
JumpToNextStep(3000);
break;
@@ -734,7 +719,7 @@ public:
break;
case 8: // summon announce
- DoScriptText(SAY_LIGHT_OF_DAWN06, me);
+ Talk(SAY_LIGHT_OF_DAWN06);
JumpToNextStep(5000);
break;
@@ -773,34 +758,34 @@ public:
// ******* After battle *****************************************************************
case 11: // Tirion starts to speak
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN28, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN28);
JumpToNextStep(21000);
break;
case 12:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN29, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN29);
JumpToNextStep(13000);
break;
case 13:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN30, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN30);
JumpToNextStep(13000);
break;
case 14:
me->SetStandState(UNIT_STAND_STATE_STAND);
- DoScriptText(SAY_LIGHT_OF_DAWN31, me);
+ Talk(SAY_LIGHT_OF_DAWN31);
JumpToNextStep(7000);
break;
case 15: // summon gate
- if (Unit* temp = me->SummonCreature(NPC_HIGHLORD_ALEXANDROS_MOGRAINE, LightofDawnLoc[22].x, LightofDawnLoc[22].y, LightofDawnLoc[22].z, LightofDawnLoc[22].o, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000))
+ if (Creature* temp = me->SummonCreature(NPC_HIGHLORD_ALEXANDROS_MOGRAINE, LightofDawnLoc[22].x, LightofDawnLoc[22].y, LightofDawnLoc[22].z, LightofDawnLoc[22].o, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000))
{
temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
temp->CastSpell(temp, SPELL_ALEXANDROS_MOGRAINE_SPAWN, true);
- DoScriptText(EMOTE_LIGHT_OF_DAWN06, temp);
+ temp->AI()->Talk(EMOTE_LIGHT_OF_DAWN06);
uiAlexandrosGUID = temp->GetGUID();
}
JumpToNextStep(4000);
@@ -811,7 +796,7 @@ public:
{
temp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[23].x, LightofDawnLoc[23].y, LightofDawnLoc[23].z);
- DoScriptText(SAY_LIGHT_OF_DAWN32, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN32);
}
SetHoldState(false); // makes darion turns back
JumpToNextStep(5000);
@@ -819,14 +804,14 @@ public:
case 17:
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- DoScriptText(SAY_LIGHT_OF_DAWN34, me);
+ Talk(SAY_LIGHT_OF_DAWN34);
JumpToNextStep(5000);
break;
case 18: // Darion's spirit out
- if (Unit* temp = me->SummonCreature(NPC_DARION_MOGRAINE, LightofDawnLoc[24].x, LightofDawnLoc[24].y, LightofDawnLoc[24].z, LightofDawnLoc[24].o, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000))
+ if (Creature* temp = me->SummonCreature(NPC_DARION_MOGRAINE, LightofDawnLoc[24].x, LightofDawnLoc[24].y, LightofDawnLoc[24].z, LightofDawnLoc[24].o, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000))
{
- DoScriptText(SAY_LIGHT_OF_DAWN35, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN35);
temp->SetWalk(false);
uiDarionGUID = temp->GetGUID();
}
@@ -836,7 +821,7 @@ public:
case 19: // runs to father
if (Creature* temp = Unit::GetCreature(*me, uiDarionGUID))
{
- DoScriptText(EMOTE_LIGHT_OF_DAWN07, temp);
+ temp->AI()->Talk(EMOTE_LIGHT_OF_DAWN07);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[25].x, LightofDawnLoc[25].y, LightofDawnLoc[25].z);
}
JumpToNextStep(4000);
@@ -844,31 +829,31 @@ public:
case 20:
if (Creature* temp = Unit::GetCreature(*me, uiDarionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN36, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN36);
JumpToNextStep(4000);
break;
case 21:
if (Creature* temp = Unit::GetCreature(*me, uiDarionGUID))
- DoScriptText(EMOTE_LIGHT_OF_DAWN08, temp);
+ temp->AI()->Talk(EMOTE_LIGHT_OF_DAWN08);
JumpToNextStep(4000);
break;
case 22:
if (Creature* temp = Unit::GetCreature(*me, uiAlexandrosGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN37, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN37);
JumpToNextStep(8000);
break;
case 23:
if (Creature* temp = Unit::GetCreature(*me, uiDarionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN38, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN38);
JumpToNextStep(8000);
break;
case 24:
if (Creature* temp = Unit::GetCreature(*me, uiAlexandrosGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN39, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN39);
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID)) // Tirion moves forward here
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[1].x, LightofDawnLoc[1].y, LightofDawnLoc[1].z);
@@ -878,13 +863,13 @@ public:
case 25:
if (Creature* temp = Unit::GetCreature(*me, uiDarionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN40, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN40);
JumpToNextStep(11000);
break;
case 26:
if (Creature* temp = Unit::GetCreature(*me, uiAlexandrosGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN41, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN41);
JumpToNextStep(5000);
break;
@@ -896,14 +881,14 @@ public:
case 28:
if (Creature* temp = Unit::GetCreature(*me, uiAlexandrosGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN42, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN42);
JumpToNextStep(6000);
break;
case 29: // lich king spawns
- if (Unit* temp = me->SummonCreature(NPC_THE_LICH_KING, LightofDawnLoc[26].x, LightofDawnLoc[26].y, LightofDawnLoc[26].z, LightofDawnLoc[26].o, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000))
+ if (Creature* temp = me->SummonCreature(NPC_THE_LICH_KING, LightofDawnLoc[26].x, LightofDawnLoc[26].y, LightofDawnLoc[26].z, LightofDawnLoc[26].o, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000))
{
- DoScriptText(SAY_LIGHT_OF_DAWN43, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN43);
uiLichKingGUID = temp->GetGUID();
if (Unit* pAlex = Unit::GetCreature(*me, uiAlexandrosGUID))
temp->CastSpell(pAlex, SPELL_SOUL_FEAST_ALEX, false);
@@ -914,21 +899,21 @@ public:
case 30:
if (Creature* temp = Unit::GetCreature(*me, uiAlexandrosGUID)) // just hide him
{
- DoScriptText(EMOTE_LIGHT_OF_DAWN09, temp);
+ temp->AI()->Talk(EMOTE_LIGHT_OF_DAWN09);
temp->SetVisible(false);
}
if (Creature* temp = Unit::GetCreature(*me, uiLichKingGUID))
{
temp->InterruptNonMeleeSpells(false);
- DoScriptText(SAY_LIGHT_OF_DAWN45, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN45);
}
JumpToNextStep(3000);
break;
case 31:
me->SetStandState(UNIT_STAND_STATE_STAND);
- DoScriptText(EMOTE_LIGHT_OF_DAWN10, me);
- DoScriptText(SAY_LIGHT_OF_DAWN44, me);
+ Talk(EMOTE_LIGHT_OF_DAWN10);
+ Talk(SAY_LIGHT_OF_DAWN44);
JumpToNextStep(3000);
break;
@@ -952,7 +937,7 @@ public:
if (Creature* temp = Unit::GetCreature(*me, uiLichKingGUID))
{
temp->HandleEmoteCommand(EMOTE_ONESHOT_KICK);
- DoScriptText(SAY_LIGHT_OF_DAWN46, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN46);
}
me->SetSpeed(MOVE_RUN, 6.0f);
me->SetStandState(UNIT_STAND_STATE_DEAD);
@@ -967,33 +952,33 @@ public:
case 38:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN47, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN47);
JumpToNextStep(8000);
break;
case 39:
if (Creature* temp = Unit::GetCreature(*me, uiLichKingGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN48, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN48);
JumpToNextStep(15000);
break;
case 40:
if (Creature* temp = Unit::GetCreature(*me, uiLichKingGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN49, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN49);
JumpToNextStep(17000);
break;
case 41: // Lich king - Apocalypse
if (Creature* temp = Unit::GetCreature(*me, uiLichKingGUID))
{
- DoScriptText(EMOTE_LIGHT_OF_DAWN11, temp);
- DoScriptText(SAY_LIGHT_OF_DAWN51, temp);
- if (Unit* pTirion = Unit::GetCreature(*me, uiTirionGUID))
+ temp->AI()->Talk(EMOTE_LIGHT_OF_DAWN11);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN51);
+ if (Creature* pTirion = Unit::GetCreature(*me, uiTirionGUID))
{
pTirion->SetStandState(UNIT_STAND_STATE_KNEEL);
//temp->CastSpell(pTirion, SPELL_APOCALYPSE, false); // not working
temp->CastSpell(pTirion, SPELL_SOUL_FEAST_TIRION, false);
- DoScriptText(EMOTE_LIGHT_OF_DAWN12, pTirion);
+ pTirion->AI()->Talk(EMOTE_LIGHT_OF_DAWN12);
}
}
JumpToNextStep(2000);
@@ -1035,7 +1020,7 @@ public:
temp->SetWalk(false);
temp->SetSpeed(MOVE_RUN, 2.0f);
temp->GetMotionMaster()->MovePoint(0, fLichPositionX, fLichPositionY, fLichPositionZ);
- DoScriptText(SAY_LIGHT_OF_DAWN50, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN50);
}
if (Creature* temp = Unit::GetCreature(*me, uiKorfaxGUID))
{
@@ -1058,7 +1043,7 @@ public:
case 43: // They all got kicked
if (Creature* temp = Unit::GetCreature(*me, uiLichKingGUID))
- DoScriptText(EMOTE_LIGHT_OF_DAWN13, temp);
+ temp->AI()->Talk(EMOTE_LIGHT_OF_DAWN13);
if (Creature* temp = Unit::GetCreature(*me, uiMaxwellGUID))
{
@@ -1107,7 +1092,7 @@ public:
break;
case 45:
- DoScriptText(SAY_LIGHT_OF_DAWN52, me);
+ Talk(SAY_LIGHT_OF_DAWN52);
JumpToNextStep(5000);
break;
@@ -1115,14 +1100,14 @@ public:
me->SetSpeed(MOVE_RUN, 1.0f);
me->SetWalk(true);
me->SetStandState(UNIT_STAND_STATE_STAND);
- DoScriptText(SAY_LIGHT_OF_DAWN53, me);
+ Talk(SAY_LIGHT_OF_DAWN53);
SetHoldState(false); // Darion throws sword
JumpToNextStep(7000);
break;
case 47: // Ashbringer rebirth
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- DoScriptText(EMOTE_LIGHT_OF_DAWN15, me);
+ Talk(EMOTE_LIGHT_OF_DAWN15);
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
{
temp->SetStandState(UNIT_STAND_STATE_STAND);
@@ -1150,26 +1135,26 @@ public:
case 49:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN54, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN54);
JumpToNextStep(4000);
break;
case 50:
if (Creature* temp = Unit::GetCreature(*me, uiLichKingGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN55, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN55);
JumpToNextStep(5000);
break;
case 51:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN56, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN56);
JumpToNextStep(1000);
break;
case 52: // Tiron charges
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
{
- DoScriptText(EMOTE_LIGHT_OF_DAWN16, temp);
+ temp->AI()->Talk(EMOTE_LIGHT_OF_DAWN16);
temp->CastSpell(temp, SPELL_TIRION_CHARGE, false); // jumping charge
temp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY2H);
temp->SetSpeed(MOVE_RUN, 3.0f); // workarounds, make Tirion still running
@@ -1183,7 +1168,7 @@ public:
case 53:
if (Creature* temp = Unit::GetCreature(*me, uiLichKingGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN57, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN57);
JumpToNextStep(1000);
break;
@@ -1211,13 +1196,13 @@ public:
case 57:
if (Creature* temp = Unit::GetCreature(*me, uiLichKingGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN58, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN58);
JumpToNextStep(10000);
break;
case 58:
if (Creature* temp = Unit::GetCreature(*me, uiLichKingGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN59, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN59);
JumpToNextStep(10000);
break;
@@ -1236,7 +1221,7 @@ public:
case 60:
if (Creature* temp = Unit::GetCreature(*me, uiLichKingGUID)) // Lich king disappears here
{
- DoScriptText(EMOTE_LIGHT_OF_DAWN17, temp);
+ temp->AI()->Talk(EMOTE_LIGHT_OF_DAWN17);
temp->Kill(temp);
}
JumpToNextStep(10000);
@@ -1244,7 +1229,7 @@ public:
case 61:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN60, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN60);
JumpToNextStep(3000);
break;
@@ -1261,50 +1246,50 @@ public:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
{
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[8].x, LightofDawnLoc[8].y, LightofDawnLoc[8].z);
- DoScriptText(SAY_LIGHT_OF_DAWN61, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN61);
}
JumpToNextStep(15000);
break;
case 64:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN62, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN62);
JumpToNextStep(7000);
break;
case 65:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN63, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN63);
JumpToNextStep(10000);
break;
case 66:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN64, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN64);
JumpToNextStep(11000);
break;
case 67:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN65, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN65);
JumpToNextStep(10000);
break;
case 68:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN66, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN66);
JumpToNextStep(8000);
break;
case 69:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN67, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN67);
JumpToNextStep(10000);
break;
case 70:
me->SetStandState(UNIT_STAND_STATE_STAND);
- DoScriptText(SAY_LIGHT_OF_DAWN68, me);
+ Talk(SAY_LIGHT_OF_DAWN68);
JumpToNextStep(10000);
break;
@@ -1382,12 +1367,7 @@ public:
if (uiFight_speech <= diff)
{
- DoScriptText(RAND(SAY_LIGHT_OF_DAWN09, SAY_LIGHT_OF_DAWN10, SAY_LIGHT_OF_DAWN11,
- SAY_LIGHT_OF_DAWN12, SAY_LIGHT_OF_DAWN13, SAY_LIGHT_OF_DAWN14,
- SAY_LIGHT_OF_DAWN15, SAY_LIGHT_OF_DAWN16, SAY_LIGHT_OF_DAWN17,
- SAY_LIGHT_OF_DAWN18, SAY_LIGHT_OF_DAWN19, SAY_LIGHT_OF_DAWN20,
- SAY_LIGHT_OF_DAWN21, SAY_LIGHT_OF_DAWN22, SAY_LIGHT_OF_DAWN23,
- SAY_LIGHT_OF_DAWN24), me);
+ Talk(SAY_LIGHT_OF_DAWN09);
uiFight_speech = urand(15000, 20000);
} else uiFight_speech -= diff;
@@ -1420,11 +1400,11 @@ public:
if (uiFight_duration <= diff + 5000)
{
if (!uiTirionGUID)
- if (Unit* temp = me->SummonCreature(NPC_HIGHLORD_TIRION_FORDRING, LightofDawnLoc[0].x, LightofDawnLoc[0].y, LightofDawnLoc[0].z, 1.528f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 600000))
+ if (Creature* temp = me->SummonCreature(NPC_HIGHLORD_TIRION_FORDRING, LightofDawnLoc[0].x, LightofDawnLoc[0].y, LightofDawnLoc[0].z, 1.528f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 600000))
{
temp->setFaction(me->getFaction());
temp->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(EQUIP_UNEQUIP));
- DoScriptText(SAY_LIGHT_OF_DAWN25, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN25);
uiTirionGUID = temp->GetGUID();
}
}
@@ -1501,7 +1481,7 @@ public:
}
if (Creature* temp = Unit::GetCreature(*me, uiOrbazGUID))
- DoScriptText(EMOTE_LIGHT_OF_DAWN04, temp);
+ temp->AI()->Talk(EMOTE_LIGHT_OF_DAWN04);
if (Creature* temp = Unit::GetCreature(*me, uiThassarianGUID))
{
@@ -1516,7 +1496,7 @@ public:
}
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
- DoScriptText(SAY_LIGHT_OF_DAWN26, temp);
+ temp->AI()->Talk(SAY_LIGHT_OF_DAWN26);
SetHoldState(false);
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
index 5151268b70d..08aa86d6a06 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
@@ -29,6 +29,7 @@ EndScriptData */
enum eEnums
{
+ EMOTE_FRENZY_KILL = 0,
SPELL_REND = 16509,
SPELL_BACKHAND = 18103,
SPELL_FRENZY = 8269
@@ -103,7 +104,7 @@ public:
if (m_uiFrenzy_Timer <= uiDiff)
{
DoCast(me, SPELL_FRENZY);
- DoScriptText(EMOTE_GENERIC_FRENZY_KILL, me);
+ Talk(EMOTE_FRENZY_KILL);
m_uiFrenzy_Timer = 120000;
}
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
index 3c7771612e2..dd3e591bf61 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
@@ -28,6 +28,7 @@ EndScriptData */
enum eEnums
{
+ EMOTE_FRENZY_KILL = 0,
SPELL_FLAMESTRIKE = 18399,
SPELL_BLAST_WAVE = 16046,
SPELL_FIRESHIELD = 19626,
@@ -88,7 +89,7 @@ public:
if (m_uiFrenzy_Timer <= uiDiff)
{
DoCast(me, SPELL_FRENZY);
- DoScriptText(EMOTE_GENERIC_FRENZY_KILL, me);
+ Talk(EMOTE_FRENZY_KILL);
m_uiFrenzy_Timer = 24000;
}
diff --git a/src/server/scripts/EasternKingdoms/ghostlands.cpp b/src/server/scripts/EasternKingdoms/ghostlands.cpp
index 5d97735ab5d..ddd3b0f423a 100644
--- a/src/server/scripts/EasternKingdoms/ghostlands.cpp
+++ b/src/server/scripts/EasternKingdoms/ghostlands.cpp
@@ -111,18 +111,18 @@ public:
enum eEnums
{
- SAY_START = -1000140,
- SAY_PROGRESS1 = -1000141,
- SAY_PROGRESS2 = -1000142,
- SAY_PROGRESS3 = -1000143,
- SAY_END1 = -1000144,
- SAY_END2 = -1000145,
- SAY_CAPTAIN_ANSWER = -1000146,
+ SAY_START = 0,
+ SAY_PROGRESS1 = 1,
+ SAY_PROGRESS2 = 2,
+ SAY_PROGRESS3 = 3,
+ SAY_END1 = 4,
+ SAY_END2 = 5,
+ SAY_CAPTAIN_ANSWER = 0,
QUEST_ESCAPE_FROM_THE_CATACOMBS = 9212,
- GO_CAGE = 181152,
- NPC_CAPTAIN_HELIOS = 16220,
- FACTION_SMOON_E = 1603,
+ GO_CAGE = 181152,
+ NPC_CAPTAIN_HELIOS = 16220,
+ FACTION_SMOON_E = 1603
};
class npc_ranger_lilatha : public CreatureScript
@@ -146,18 +146,18 @@ public:
me->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
if (GameObject* Cage = me->FindNearestGameObject(GO_CAGE, 20))
Cage->SetGoState(GO_STATE_ACTIVE);
- DoScriptText(SAY_START, me, player);
+ Talk(SAY_START, player->GetGUID());
break;
case 5:
- DoScriptText(SAY_PROGRESS1, me, player);
+ Talk(SAY_PROGRESS1, player->GetGUID());
break;
case 11:
- DoScriptText(SAY_PROGRESS2, me, player);
+ Talk(SAY_PROGRESS2, player->GetGUID());
me->SetOrientation(4.762841f);
break;
case 18:
{
- DoScriptText(SAY_PROGRESS3, me, player);
+ Talk(SAY_PROGRESS3, player->GetGUID());
Creature* Summ1 = me->SummonCreature(16342, 7627.083984f, -7532.538086f, 152.128616f, 1.082733f, TEMPSUMMON_DEAD_DESPAWN, 0);
Creature* Summ2 = me->SummonCreature(16343, 7620.432129f, -7532.550293f, 152.454865f, 0.827478f, TEMPSUMMON_DEAD_DESPAWN, 0);
if (Summ1 && Summ2)
@@ -180,14 +180,14 @@ public:
break;
case 32:
me->SetOrientation(2.978281f);
- DoScriptText(SAY_END1, me, player);
+ Talk(SAY_END1, player->GetGUID());
break;
case 33:
me->SetOrientation(5.858011f);
- DoScriptText(SAY_END2, me, player);
- Unit* CaptainHelios = me->FindNearestCreature(NPC_CAPTAIN_HELIOS, 50);
+ Talk(SAY_END2, player->GetGUID());
+ Creature* CaptainHelios = me->FindNearestCreature(NPC_CAPTAIN_HELIOS, 50);
if (CaptainHelios)
- DoScriptText(SAY_CAPTAIN_ANSWER, CaptainHelios, player);
+ CaptainHelios->AI()->Talk(SAY_CAPTAIN_ANSWER, player->GetGUID());
break;
}
}
diff --git a/src/server/scripts/EasternKingdoms/silvermoon_city.cpp b/src/server/scripts/EasternKingdoms/silvermoon_city.cpp
index 28af25d39de..d8e9a9ae49a 100644
--- a/src/server/scripts/EasternKingdoms/silvermoon_city.cpp
+++ b/src/server/scripts/EasternKingdoms/silvermoon_city.cpp
@@ -37,7 +37,7 @@ EndContentData */
#######*/
enum eStillbladeData
{
- SAY_HEAL = -1000193,
+ SAY_HEAL = 0,
QUEST_REDEEMING_THE_DEAD = 9685,
SPELL_SHIMMERING_VESSEL = 31225,
@@ -98,7 +98,7 @@ public:
me->SetStandState(UNIT_STAND_STATE_STAND);
me->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0);
//me->RemoveAllAuras();
- DoScriptText(SAY_HEAL, me);
+ Talk(SAY_HEAL);
spellHit = true;
}
}
diff --git a/src/server/scripts/EasternKingdoms/stormwind_city.cpp b/src/server/scripts/EasternKingdoms/stormwind_city.cpp
index 188f2c77fa1..188b3dcd2b1 100644
--- a/src/server/scripts/EasternKingdoms/stormwind_city.cpp
+++ b/src/server/scripts/EasternKingdoms/stormwind_city.cpp
@@ -206,13 +206,13 @@ public:
enum eLordGregorLescovar
{
- SAY_LESCOVAR_2 = -1000457,
- SAY_GUARD_2 = -1000458,
- SAY_LESCOVAR_3 = -1000459,
- SAY_MARZON_1 = -1000460,
- SAY_LESCOVAR_4 = -1000461,
- SAY_TYRION_2 = -1000462,
- SAY_MARZON_2 = -1000463,
+ SAY_GUARD_2 = 0,
+ SAY_LESCOVAR_2 = 0,
+ SAY_LESCOVAR_3 = 1,
+ SAY_LESCOVAR_4 = 2,
+ SAY_MARZON_1 = 0,
+ SAY_MARZON_2 = 1,
+ SAY_TYRION_2 = 0,
NPC_STORMWIND_ROYAL = 1756,
NPC_MARZON_BLADE = 1755,
@@ -277,7 +277,7 @@ public:
{
case 14:
SetEscortPaused(true);
- DoScriptText(SAY_LESCOVAR_2, me);
+ Talk(SAY_LESCOVAR_2);
uiTimer = 3000;
uiPhase = 1;
break;
@@ -318,7 +318,7 @@ public:
{
case 1:
if (Creature* pGuard = me->FindNearestCreature(NPC_STORMWIND_ROYAL, 8.0f, true))
- DoScriptText(SAY_GUARD_2, pGuard);
+ pGuard->AI()->Talk(SAY_GUARD_2);
uiTimer = 3000;
uiPhase = 2;
break;
@@ -333,18 +333,18 @@ public:
uiPhase = 0;
break;
case 4:
- DoScriptText(SAY_LESCOVAR_3, me);
+ Talk(SAY_LESCOVAR_3);
uiTimer = 0;
uiPhase = 0;
break;
case 5:
if (Creature* pMarzon = Unit::GetCreature(*me, MarzonGUID))
- DoScriptText(SAY_MARZON_1, pMarzon);
+ pMarzon->AI()->Talk(SAY_MARZON_1);
uiTimer = 3000;
uiPhase = 6;
break;
case 6:
- DoScriptText(SAY_LESCOVAR_4, me);
+ Talk(SAY_LESCOVAR_4);
if (Player* player = GetPlayerForEscort())
player->AreaExploredOrEventHappens(QUEST_THE_ATTACK);
uiTimer = 2000;
@@ -352,7 +352,7 @@ public:
break;
case 7:
if (Creature* pTyrion = me->FindNearestCreature(NPC_TYRION, 20.0f, true))
- DoScriptText(SAY_TYRION_2, pTyrion);
+ pTyrion->AI()->Talk(SAY_TYRION_2);
if (Creature* pMarzon = Unit::GetCreature(*me, MarzonGUID))
pMarzon->setFaction(14);
me->setFaction(14);
@@ -400,7 +400,7 @@ public:
void EnterCombat(Unit* who)
{
- DoScriptText(SAY_MARZON_2, me);
+ Talk(SAY_MARZON_2);
if (me->isSummon())
{
@@ -464,14 +464,14 @@ public:
enum eTyrionSpybot
{
- SAY_QUEST_ACCEPT_ATTACK = -1000499,
- SAY_TYRION_1 = -1000450,
- SAY_SPYBOT_1 = -1000451,
- SAY_GUARD_1 = -1000452,
- SAY_SPYBOT_2 = -1000453,
- SAY_SPYBOT_3 = -1000454,
- SAY_LESCOVAR_1 = -1000455,
- SAY_SPYBOT_4 = -1000456,
+ SAY_QUEST_ACCEPT_ATTACK = 0,
+ SAY_SPYBOT_1 = 1,
+ SAY_SPYBOT_2 = 2,
+ SAY_SPYBOT_3 = 3,
+ SAY_SPYBOT_4 = 4,
+ SAY_TYRION_1 = 0,
+ SAY_GUARD_1 = 0,
+ SAY_LESCOVAR_1 = 0,
NPC_PRIESTESS_TYRIONA = 7779,
NPC_LORD_GREGOR_LESCOVAR = 1754,
@@ -511,13 +511,13 @@ public:
break;
case 5:
SetEscortPaused(true);
- DoScriptText(SAY_SPYBOT_1, me);
+ Talk(SAY_SPYBOT_1);
uiTimer = 2000;
uiPhase = 5;
break;
case 17:
SetEscortPaused(true);
- DoScriptText(SAY_SPYBOT_3, me);
+ Talk(SAY_SPYBOT_3);
uiTimer = 3000;
uiPhase = 8;
break;
@@ -533,13 +533,13 @@ public:
switch (uiPhase)
{
case 1:
- DoScriptText(SAY_QUEST_ACCEPT_ATTACK, me);
+ Talk(SAY_QUEST_ACCEPT_ATTACK);
uiTimer = 3000;
uiPhase = 2;
break;
case 2:
if (Creature* pTyrion = me->FindNearestCreature(NPC_TYRION, 10.0f))
- DoScriptText(SAY_TYRION_1, pTyrion);
+ pTyrion->AI()->Talk(SAY_TYRION_1);
uiTimer = 3000;
uiPhase = 3;
break;
@@ -555,12 +555,12 @@ public:
break;
case 5:
if (Creature* pGuard = me->FindNearestCreature(NPC_STORMWIND_ROYAL, 10.0f, true))
- DoScriptText(SAY_GUARD_1, pGuard);
+ pGuard->AI()->Talk(SAY_GUARD_1);
uiTimer = 3000;
uiPhase = 6;
break;
case 6:
- DoScriptText(SAY_SPYBOT_2, me);
+ Talk(SAY_SPYBOT_2);
uiTimer = 3000;
uiPhase = 7;
break;
@@ -571,12 +571,12 @@ public:
break;
case 8:
if (Creature* pLescovar = me->FindNearestCreature(NPC_LORD_GREGOR_LESCOVAR, 10.0f))
- DoScriptText(SAY_LESCOVAR_1, pLescovar);
+ pLescovar->AI()->Talk(SAY_LESCOVAR_1);
uiTimer = 3000;
uiPhase = 9;
break;
case 9:
- DoScriptText(SAY_SPYBOT_4, me);
+ Talk(SAY_SPYBOT_4);
uiTimer = 3000;
uiPhase = 10;
break;
diff --git a/src/server/scripts/EasternKingdoms/swamp_of_sorrows.cpp b/src/server/scripts/EasternKingdoms/swamp_of_sorrows.cpp
index 4997fc49da9..099bc0770b7 100644
--- a/src/server/scripts/EasternKingdoms/swamp_of_sorrows.cpp
+++ b/src/server/scripts/EasternKingdoms/swamp_of_sorrows.cpp
@@ -31,13 +31,12 @@ enum Galen
GO_GALENS_CAGE = 37118,
- SAY_PERIODIC = -1000500,
- SAY_QUEST_ACCEPTED = -1000501,
- SAY_ATTACKED_1 = -1000502,
- SAY_ATTACKED_2 = -1000503,
- SAY_QUEST_COMPLETE = -1000504,
- EMOTE_WHISPER = -1000505,
- EMOTE_DISAPPEAR = -1000506
+ SAY_PERIODIC = 0,
+ SAY_QUEST_ACCEPTED = 1,
+ SAY_ATTACKED = 2,
+ SAY_QUEST_COMPLETE = 3,
+ EMOTE_WHISPER = 4,
+ EMOTE_DISAPPEAR = 5,
};
class npc_galen_goodward : public CreatureScript
@@ -52,7 +51,7 @@ public:
{
CAST_AI(npc_galen_goodward::npc_galen_goodwardAI, creature->AI())->Start(false, false, player->GetGUID());
creature->setFaction(FACTION_ESCORT_N_NEUTRAL_ACTIVE);
- DoScriptText(SAY_QUEST_ACCEPTED, creature);
+ creature->AI()->Talk(SAY_QUEST_ACCEPTED);
}
return true;
}
@@ -81,7 +80,7 @@ public:
void EnterCombat(Unit* who)
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
- DoScriptText(RAND(SAY_ATTACKED_1, SAY_ATTACKED_2), me, who);
+ Talk(SAY_ATTACKED, who->GetGUID());
}
void WaypointStart(uint32 uiPointId)
@@ -103,7 +102,7 @@ public:
break;
}
case 21:
- DoScriptText(EMOTE_DISAPPEAR, me);
+ Talk(EMOTE_DISAPPEAR);
break;
}
}
@@ -120,8 +119,8 @@ public:
if (Player* player = GetPlayerForEscort())
{
me->SetFacingToObject(player);
- DoScriptText(SAY_QUEST_COMPLETE, me, player);
- DoScriptText(EMOTE_WHISPER, me, player);
+ Talk(SAY_QUEST_COMPLETE, player->GetGUID());
+ Talk(EMOTE_WHISPER, player->GetGUID());
player->GroupEventHappens(QUEST_GALENS_ESCAPE, me);
}
SetRun(true);
@@ -139,7 +138,7 @@ public:
if (m_uiPeriodicSay < uiDiff)
{
if (!HasEscortState(STATE_ESCORT_ESCORTING))
- DoScriptText(SAY_PERIODIC, me);
+ Talk(SAY_PERIODIC);
m_uiPeriodicSay = 15000;
}
else
diff --git a/src/server/scripts/EasternKingdoms/westfall.cpp b/src/server/scripts/EasternKingdoms/westfall.cpp
index c6cf1b4361c..16ba171928c 100644
--- a/src/server/scripts/EasternKingdoms/westfall.cpp
+++ b/src/server/scripts/EasternKingdoms/westfall.cpp
@@ -39,11 +39,11 @@ EndContentData */
enum eEnums
{
- SAY_DS_START = -1000293,
- SAY_DS_DOWN_1 = -1000294,
- SAY_DS_DOWN_2 = -1000295,
- SAY_DS_DOWN_3 = -1000296,
- SAY_DS_PROLOGUE = -1000297,
+ SAY_DS_START = 0,
+ SAY_DS_DOWN_1 = 1,
+ SAY_DS_DOWN_2 = 2,
+ SAY_DS_DOWN_3 = 3,
+ SAY_DS_PROLOGUE = 4,
SPELL_SHOOT = 6660,
QUEST_TOME_VALOR = 1651,
@@ -60,7 +60,7 @@ public:
{
if (quest->GetQuestId() == QUEST_TOME_VALOR)
{
- DoScriptText(SAY_DS_START, creature);
+ creature->AI()->Talk(SAY_DS_START);
if (npc_escortAI* pEscortAI = CAST_AI(npc_daphne_stilwell::npc_daphne_stilwellAI, creature->AI()))
pEscortAI->Start(true, true, player->GetGUID());
@@ -88,13 +88,13 @@ public:
switch (uiWPHolder)
{
case 7:
- DoScriptText(SAY_DS_DOWN_1, me);
+ Talk(SAY_DS_DOWN_1);
break;
case 8:
- DoScriptText(SAY_DS_DOWN_2, me);
+ Talk(SAY_DS_DOWN_2);
break;
case 9:
- DoScriptText(SAY_DS_DOWN_3, me);
+ Talk(SAY_DS_DOWN_3);
break;
}
}
@@ -143,7 +143,7 @@ public:
SetRun(false);
break;
case 11:
- DoScriptText(SAY_DS_PROLOGUE, me);
+ Talk(SAY_DS_PROLOGUE);
break;
case 13:
SetEquipmentSlots(true);
@@ -197,12 +197,14 @@ public:
/*######
## npc_defias_traitor
######*/
+enum DefiasSays
+{
+ SAY_START = 0,
+ SAY_PROGRESS = 1,
+ SAY_END = 2,
+ SAY_AGGRO = 3
+};
-#define SAY_START -1000101
-#define SAY_PROGRESS -1000102
-#define SAY_END -1000103
-#define SAY_AGGRO_1 -1000104
-#define SAY_AGGRO_2 -1000105
#define QUEST_DEFIAS_BROTHERHOOD 155
@@ -218,7 +220,7 @@ public:
if (npc_escortAI* pEscortAI = CAST_AI(npc_defias_traitor::npc_defias_traitorAI, creature->AI()))
pEscortAI->Start(true, true, player->GetGUID());
- DoScriptText(SAY_START, creature, player);
+ creature->AI()->Talk(SAY_START, player->GetGUID());
}
return true;
@@ -245,10 +247,10 @@ public:
SetRun(false);
break;
case 36:
- DoScriptText(SAY_PROGRESS, me, player);
+ Talk(SAY_PROGRESS, player->GetGUID());
break;
case 44:
- DoScriptText(SAY_END, me, player);
+ Talk(SAY_END, player->GetGUID());
player->GroupEventHappens(QUEST_DEFIAS_BROTHERHOOD, me);
break;
}
@@ -256,7 +258,7 @@ public:
void EnterCombat(Unit* who)
{
- DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2), me, who);
+ Talk(SAY_AGGRO, who->GetGUID());
}
void Reset() {}
diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp
index fc264d01fea..a8f65b0bc9b 100644
--- a/src/server/scripts/World/boss_emerald_dragons.cpp
+++ b/src/server/scripts/World/boss_emerald_dragons.cpp
@@ -366,7 +366,7 @@ class boss_lethon : public CreatureScript
{
Position targetPos;
target->GetPosition(&targetPos);
- me->SummonCreature(NPC_SPIRIT_SHADE, targetPos, NULL, 50000);
+ me->SummonCreature(NPC_SPIRIT_SHADE, targetPos, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 50000);
}
}