aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorGacko <gacko28@gmx.de>2012-11-20 13:26:17 +0100
committerGacko <gacko28@gmx.de>2012-11-20 18:08:18 +0100
commit9dc06f8bd9004c5a387287b1ef8612b12356d1ca (patch)
tree7d996f16b2f96912395c9a0d8f206dfdf8945548 /src/server/scripts
parent7bef4ce4014cc0ea967d3e80eda740b8c518653c (diff)
Core/DB: Some script to creature text conversions...
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp52
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp34
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp65
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp35
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp30
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp81
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp105
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp69
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp279
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp27
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp33
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp24
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp22
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp24
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp28
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp108
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/undercity.cpp8
22 files changed, 551 insertions, 523 deletions
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
index 2c7e1b9c48a..13c70630c7a 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
@@ -26,23 +26,27 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#define SAY_AGGRO -1532057
-#define SAY_SUMMON1 -1532058
-#define SAY_SUMMON2 -1532059
-#define SAY_EVOCATE -1532060
-#define SAY_ENRAGE -1532061
-#define SAY_KILL1 -1532062
-#define SAY_KILL2 -1532063
-#define SAY_DEATH -1532064
-
-//Flare spell info
-#define SPELL_ASTRAL_FLARE_PASSIVE 30234 //Visual effect + Flare damage
-
-//Curator spell info
-#define SPELL_HATEFUL_BOLT 30383
-#define SPELL_EVOCATION 30254
-#define SPELL_ENRAGE 30403 //Arcane Infusion: Transforms Curator and adds damage.
-#define SPELL_BERSERK 26662
+enum Curator
+{
+ SAY_AGGRO = 0,
+ SAY_SUMMON = 1,
+ SAY_EVOCATE = 2,
+ SAY_ENRAGE = 3,
+ SAY_KILL = 4,
+ SAY_DEATH = 5,
+
+ //Flare spell info
+ SPELL_ASTRAL_FLARE_PASSIVE = 30234, //Visual effect + Flare damage
+
+ //Curator spell info
+ SPELL_HATEFUL_BOLT = 30383,
+ SPELL_EVOCATION = 30254,
+ SPELL_ENRAGE = 30403, //Arcane Infusion: Transforms Curator and adds damage.
+ SPELL_BERSERK = 26662,
+};
+
+
+
class boss_curator : public CreatureScript
{
@@ -78,17 +82,17 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_KILL1, SAY_KILL2), me);
+ Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void UpdateAI(const uint32 diff)
@@ -109,7 +113,7 @@ public:
}
//may not be correct SAY (generic hard enrage)
- DoScriptText(SAY_ENRAGE, me);
+ Talk(SAY_ENRAGE);
me->InterruptNonMeleeSpells(true);
DoCast(me, SPELL_BERSERK);
@@ -151,7 +155,7 @@ public:
//if this get's us below 10%, then we evocate (the 10th should be summoned now)
if (me->GetPower(POWER_MANA)*100 / me->GetMaxPower(POWER_MANA) < 10)
{
- DoScriptText(SAY_EVOCATE, me);
+ Talk(SAY_EVOCATE);
me->InterruptNonMeleeSpells(false);
DoCast(me, SPELL_EVOCATION);
Evocating = true;
@@ -162,7 +166,7 @@ public:
{
if (urand(0, 1) == 0)
{
- DoScriptText(RAND(SAY_SUMMON1, SAY_SUMMON2), me);
+ Talk(SAY_SUMMON);
}
}
}
@@ -174,7 +178,7 @@ public:
{
Enraged = true;
DoCast(me, SPELL_ENRAGE);
- DoScriptText(SAY_ENRAGE, me);
+ Talk(SAY_ENRAGE);
}
}
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
index 5f974a890bf..026524108b3 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
@@ -26,19 +26,19 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#define SAY_AGGRO -1532018
-#define SAY_SLAY1 -1532019
-#define SAY_SLAY2 -1532020
-#define SAY_SLAY3 -1532021
-#define SAY_REPENTANCE1 -1532022
-#define SAY_REPENTANCE2 -1532023
-#define SAY_DEATH -1532024
-
-#define SPELL_REPENTANCE 29511
-#define SPELL_HOLYFIRE 29522
-#define SPELL_HOLYWRATH 32445
-#define SPELL_HOLYGROUND 29512
-#define SPELL_BERSERK 26662
+enum MaidenOfVirtue
+{
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_REPENTANCE = 2,
+ SAY_DEATH = 3,
+
+ SPELL_REPENTANCE = 29511,
+ SPELL_HOLYFIRE = 29522,
+ SPELL_HOLYWRATH = 32445,
+ SPELL_HOLYGROUND = 29512,
+ SPELL_BERSERK = 26662,
+};
class boss_maiden_of_virtue : public CreatureScript
{
@@ -76,17 +76,17 @@ public:
void KilledUnit(Unit* /*Victim*/)
{
if (urand(0, 1) == 0)
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
}
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void UpdateAI(const uint32 diff)
@@ -109,7 +109,7 @@ public:
if (Repentance_Timer <= diff)
{
DoCast(me->getVictim(), SPELL_REPENTANCE);
- DoScriptText(RAND(SAY_REPENTANCE1, SAY_REPENTANCE2), me);
+ Talk(SAY_REPENTANCE);
Repentance_Timer = urand(25000, 35000); //A little randomness on that spell
} else Repentance_Timer -= diff;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
index 580acf2c489..73fefe210df 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
@@ -27,26 +27,25 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "SpellInfo.h"
-#define SAY_MIDNIGHT_KILL -1532000
-#define SAY_APPEAR1 -1532001
-#define SAY_APPEAR2 -1532002
-#define SAY_APPEAR3 -1532003
-#define SAY_MOUNT -1532004
-#define SAY_KILL1 -1532005
-#define SAY_KILL2 -1532006
-#define SAY_DISARMED -1532007
-#define SAY_DEATH -1532008
-#define SAY_RANDOM1 -1532009
-#define SAY_RANDOM2 -1532010
-
-#define SPELL_SHADOWCLEAVE 29832
-#define SPELL_INTANGIBLE_PRESENCE 29833
-#define SPELL_BERSERKER_CHARGE 26561 //Only when mounted
-
-#define MOUNTED_DISPLAYID 16040
-
-//Attumen (TODO: Use the summoning spell instead of Creature id. It works, but is not convenient for us)
-#define SUMMON_ATTUMEN 15550
+enum Midnight
+{
+ SAY_MIDNIGHT_KILL = 0,
+ SAY_APPEAR = 1,
+ SAY_MOUNT = 2,
+ SAY_KILL = 3,
+ SAY_DISARMED = 4,
+ SAY_DEATH = 5,
+ SAY_RANDOM = 6,
+
+ SPELL_SHADOWCLEAVE = 29832,
+ SPELL_INTANGIBLE_PRESENCE = 29833,
+ SPELL_BERSERKER_CHARGE = 26561, //Only when mounted
+
+ MOUNTED_DISPLAYID = 16040,
+
+ //Attumen (TODO: Use the summoning spell instead of Creature id. It works, but is not convenient for us)
+ SUMMON_ATTUMEN = 15550,
+};
class boss_attumen : public CreatureScript
{
@@ -94,14 +93,14 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_KILL1, SAY_KILL2), me);
+ Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
- if (Unit* pMidnight = Unit::GetUnit(*me, Midnight))
- pMidnight->Kill(pMidnight);
+ Talk(SAY_DEATH);
+ if (Unit* midnight = Unit::GetUnit(*me, Midnight))
+ midnight->Kill(midnight);
}
void UpdateAI(const uint32 diff);
@@ -109,7 +108,7 @@ public:
void SpellHit(Unit* /*source*/, const SpellInfo* spell)
{
if (spell->Mechanic == MECHANIC_DISARM)
- DoScriptText(SAY_DISARMED, me);
+ Talk(SAY_DISARMED);
}
};
};
@@ -149,7 +148,7 @@ public:
if (Phase == 2)
{
if (Unit* unit = Unit::GetUnit(*me, Attumen))
- DoScriptText(SAY_MIDNIGHT_KILL, unit);
+ Talk(SAY_MIDNIGHT_KILL, unit->GetGUID());
}
}
@@ -161,12 +160,12 @@ public:
if (Phase == 1 && HealthBelowPct(95))
{
Phase = 2;
- if (Creature* pAttumen = me->SummonCreature(SUMMON_ATTUMEN, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 30000))
+ if (Creature* attumen = me->SummonCreature(SUMMON_ATTUMEN, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 30000))
{
- Attumen = pAttumen->GetGUID();
- pAttumen->AI()->AttackStart(me->getVictim());
- SetMidnight(pAttumen, me->GetGUID());
- DoScriptText(RAND(SAY_APPEAR1, SAY_APPEAR2, SAY_APPEAR3), pAttumen);
+ Attumen = attumen->GetGUID();
+ attumen->AI()->AttackStart(me->getVictim());
+ SetMidnight(attumen, me->GetGUID());
+ Talk(SAY_APPEAR, Attumen);
}
}
else if (Phase == 2 && HealthBelowPct(25))
@@ -204,7 +203,7 @@ public:
void Mount(Unit* pAttumen)
{
- DoScriptText(SAY_MOUNT, pAttumen);
+ Talk(SAY_MOUNT, pAttumen->GetGUID());
Phase = 3;
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
pAttumen->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -274,7 +273,7 @@ void boss_attumen::boss_attumenAI::UpdateAI(const uint32 diff)
if (RandomYellTimer <= diff)
{
- DoScriptText(RAND(SAY_RANDOM1, SAY_RANDOM2), me);
+ Talk(SAY_RANDOM);
RandomYellTimer = urand(30000, 60000);
} else RandomYellTimer -= diff;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
index 99f2cb51c85..38eb3289ec4 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
@@ -27,19 +27,20 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "karazhan.h"
-#define SAY_AGGRO -1532011
-#define SAY_SPECIAL_1 -1532012
-#define SAY_SPECIAL_2 -1532013
-#define SAY_KILL_1 -1532014
-#define SAY_KILL_2 -1532015
-#define SAY_KILL_3 -1532016
-#define SAY_DEATH -1532017
-
-#define SPELL_VANISH 29448
-#define SPELL_GARROTE 37066
-#define SPELL_BLIND 34694
-#define SPELL_GOUGE 29425
-#define SPELL_FRENZY 37023
+enum Moroes
+{
+ SAY_AGGRO = 0,
+ SAY_SPECIAL = 1,
+ SAY_KILL = 2,
+ SAY_DEATH = 3,
+
+ SPELL_VANISH = 29448,
+ SPELL_GARROTE = 37066,
+ SPELL_BLIND = 34694,
+ SPELL_GOUGE = 29425,
+ SPELL_FRENZY = 37023,
+};
+
#define POS_Z 81.73f
@@ -124,19 +125,19 @@ public:
{
StartEvent();
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
AddsAttack();
DoZoneInCombat();
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2, SAY_KILL_3), me);
+ Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(TYPE_MOROES, DONE);
@@ -294,7 +295,7 @@ public:
{
if (Wait_Timer <= diff)
{
- DoScriptText(RAND(SAY_SPECIAL_1, SAY_SPECIAL_2), me);
+ Talk(SAY_SPECIAL);
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
target->CastSpell(target, SPELL_GARROTE, true);
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
index c3e571ad376..37506d9fd0e 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
@@ -28,17 +28,21 @@ EndScriptData */
#include "karazhan.h"
#include "Player.h"
-#define EMOTE_PHASE_PORTAL -1532089
-#define EMOTE_PHASE_BANISH -1532090
-
-#define SPELL_NETHERBURN_AURA 30522
-#define SPELL_VOIDZONE 37063
-#define SPELL_NETHER_INFUSION 38688
-#define SPELL_NETHERBREATH 38523
-#define SPELL_BANISH_VISUAL 39833
-#define SPELL_BANISH_ROOT 42716
-#define SPELL_EMPOWERMENT 38549
-#define SPELL_NETHERSPITE_ROAR 38684
+enum Netherspite
+{
+ EMOTE_PHASE_PORTAL = 0,
+ EMOTE_PHASE_BANISH = 1,
+
+ SPELL_NETHERBURN_AURA = 30522,
+ SPELL_VOIDZONE = 37063,
+ SPELL_NETHER_INFUSION = 38688,
+ SPELL_NETHERBREATH = 38523,
+ SPELL_BANISH_VISUAL = 39833,
+ SPELL_BANISH_ROOT = 42716,
+ SPELL_EMPOWERMENT = 38549,
+ SPELL_NETHERSPITE_ROAR = 38684,
+};
+
const float PortalCoord[3][3] =
{
@@ -229,7 +233,7 @@ public:
PortalPhase = true;
PortalTimer = 10000;
EmpowermentTimer = 10000;
- DoScriptText(EMOTE_PHASE_PORTAL, me);
+ Talk(EMOTE_PHASE_PORTAL);
}
void SwitchToBanishPhase()
@@ -241,7 +245,7 @@ public:
DestroyPortals();
PhaseTimer = 30000;
PortalPhase = false;
- DoScriptText(EMOTE_PHASE_BANISH, me);
+ Talk(EMOTE_PHASE_BANISH);
for (int i=0; i<3; ++i)
me->RemoveAurasDueToSpell(NetherBuff[i]);
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
index 242940bd5e7..845a773c108 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
@@ -28,19 +28,6 @@ EndScriptData */
#include "karazhan.h"
#include "SpellInfo.h"
-#define SAY_AGGRO -1532091
-#define SAY_AXE_TOSS1 -1532092
-#define SAY_AXE_TOSS2 -1532093
-#define SAY_SPECIAL1 -1532094
-#define SAY_SPECIAL2 -1532095
-#define SAY_SPECIAL3 -1532096
-#define SAY_SLAY1 -1532097
-#define SAY_SLAY2 -1532098
-#define SAY_SLAY3 -1532099
-#define SAY_SUMMON1 -1532100
-#define SAY_SUMMON2 -1532101
-#define SAY_DEATH -1532102
-
// 18 Coordinates for Infernal spawns
struct InfernalPoint
{
@@ -71,31 +58,43 @@ static InfernalPoint InfernalPoints[] =
{-10935.7f, -1996.0f}
};
-#define TOTAL_INFERNAL_POINTS 18
-
//Enfeeble is supposed to reduce hp to 1 and then heal player back to full when it ends
//Along with reducing healing and regen while enfeebled to 0%
//This spell effect will only reduce healing
-
-#define SPELL_ENFEEBLE 30843 //Enfeeble during phase 1 and 2
-#define SPELL_ENFEEBLE_EFFECT 41624
-
-#define SPELL_SHADOWNOVA 30852 //Shadownova used during all phases
-#define SPELL_SW_PAIN 30854 //Shadow word pain during phase 1 and 3 (different targeting rules though)
-#define SPELL_THRASH_PASSIVE 12787 //Extra attack chance during phase 2
-#define SPELL_SUNDER_ARMOR 30901 //Sunder armor during phase 2
-#define SPELL_THRASH_AURA 12787 //Passive proc chance for thrash
-#define SPELL_EQUIP_AXES 30857 //Visual for axe equiping
-#define SPELL_AMPLIFY_DAMAGE 39095 //Amplifiy during phase 3
-#define SPELL_CLEAVE 30131 //Same as Nightbane.
-#define SPELL_HELLFIRE 30859 //Infenals' hellfire aura
-#define NETHERSPITE_INFERNAL 17646 //The netherspite infernal creature
-#define MALCHEZARS_AXE 17650 //Malchezar's axes (creatures), summoned during phase 3
-
-#define INFERNAL_MODEL_INVISIBLE 11686 //Infernal Effects
-#define SPELL_INFERNAL_RELAY 30834
-
-#define EQUIP_ID_AXE 33542 //Axes info
+enum PrinceMalchezaar
+{
+ SAY_AGGRO = 0,
+ SAY_AXE_TOSS1 = 1,
+ SAY_AXE_TOSS2 = 2,
+// SAY_SPECIAL1 = 3, Not used, needs to be implemented, but I don't know where it should be used.
+// SAY_SPECIAL2 = 4, Not used, needs to be implemented, but I don't know where it should be used.
+// SAY_SPECIAL3 = 5, Not used, needs to be implemented, but I don't know where it should be used.
+ SAY_SLAY = 6,
+ SAY_SUMMON = 7,
+ SAY_DEATH = 8,
+
+ TOTAL_INFERNAL_POINTS = 18,
+
+ SPELL_ENFEEBLE = 30843, //Enfeeble during phase 1 and 2
+ SPELL_ENFEEBLE_EFFECT = 41624,
+
+ SPELL_SHADOWNOVA = 30852, //Shadownova used during all phases
+ SPELL_SW_PAIN = 30854, //Shadow word pain during phase 1 and 3 (different targeting rules though)
+ SPELL_THRASH_PASSIVE = 12787, //Extra attack chance during phase 2
+ SPELL_SUNDER_ARMOR = 30901, //Sunder armor during phase 2
+ SPELL_THRASH_AURA = 12787, //Passive proc chance for thrash
+ SPELL_EQUIP_AXES = 30857, //Visual for axe equiping
+ SPELL_AMPLIFY_DAMAGE = 39095, //Amplifiy during phase 3
+ SPELL_CLEAVE = 30131, //Same as Nightbane.
+ SPELL_HELLFIRE = 30859, //Infenals' hellfire aura
+ NETHERSPITE_INFERNAL = 17646, //The netherspite infernal creature
+ MALCHEZARS_AXE = 17650, //Malchezar's axes (creatures), summoned during phase 3
+
+ INFERNAL_MODEL_INVISIBLE = 11686, //Infernal Effects
+ SPELL_INFERNAL_RELAY = 30834,
+
+ EQUIP_ID_AXE = 33542, //Axes info
+};
//---------Infernal code first
class netherspite_infernal : public CreatureScript
@@ -245,12 +244,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
AxesCleanup();
ClearWeapons();
@@ -266,7 +265,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
if (instance)
instance->HandleGameObject(instance->GetData64(DATA_GO_NETHER_DOOR), false); // Open the door leading further in
@@ -384,7 +383,7 @@ public:
DoCast(Infernal, SPELL_INFERNAL_RELAY);
}
- DoScriptText(RAND(SAY_SUMMON1, SAY_SUMMON2), me);
+ Talk(SAY_SUMMON);
}
void UpdateAI(const uint32 diff)
@@ -416,7 +415,7 @@ public:
DoCast(me, SPELL_EQUIP_AXES);
//text
- DoScriptText(SAY_AXE_TOSS1, me);
+ Talk(SAY_AXE_TOSS1);
//passive thrash aura
DoCast(me, SPELL_THRASH_AURA, true);
@@ -452,7 +451,7 @@ public:
//remove thrash
me->RemoveAurasDueToSpell(SPELL_THRASH_AURA);
- DoScriptText(SAY_AXE_TOSS2, me);
+ Talk(SAY_AXE_TOSS2);
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
for (uint8 i = 0; i < 2; ++i)
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
index 8eecc5618ee..843220663b7 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
@@ -29,51 +29,48 @@ EndScriptData */
#include "GameObject.h"
#include "SpellInfo.h"
-#define SAY_AGGRO1 -1532073
-#define SAY_AGGRO2 -1532074
-#define SAY_AGGRO3 -1532075
-#define SAY_FLAMEWREATH1 -1532076
-#define SAY_FLAMEWREATH2 -1532077
-#define SAY_BLIZZARD1 -1532078
-#define SAY_BLIZZARD2 -1532079
-#define SAY_EXPLOSION1 -1532080
-#define SAY_EXPLOSION2 -1532081
-#define SAY_DRINK -1532082 //Low Mana / AoE Pyroblast
-#define SAY_ELEMENTALS -1532083
-#define SAY_KILL1 -1532084
-#define SAY_KILL2 -1532085
-#define SAY_TIMEOVER -1532086
-#define SAY_DEATH -1532087
-#define SAY_ATIESH -1532088 //Atiesh is equipped by a raid member
-
-//Spells
-#define SPELL_FROSTBOLT 29954
-#define SPELL_FIREBALL 29953
-#define SPELL_ARCMISSLE 29955
-#define SPELL_CHAINSOFICE 29991
-#define SPELL_DRAGONSBREATH 29964
-#define SPELL_MASSSLOW 30035
-#define SPELL_FLAME_WREATH 29946
-#define SPELL_AOE_CS 29961
-#define SPELL_PLAYERPULL 32265
-#define SPELL_AEXPLOSION 29973
-#define SPELL_MASS_POLY 29963
-#define SPELL_BLINK_CENTER 29967
-#define SPELL_ELEMENTALS 29962
-#define SPELL_CONJURE 29975
-#define SPELL_DRINK 30024
-#define SPELL_POTION 32453
-#define SPELL_AOE_PYROBLAST 29978
-
-//Creature Spells
-#define SPELL_CIRCULAR_BLIZZARD 29951 //29952 is the REAL circular blizzard that leaves persistant blizzards that last for 10 seconds
-#define SPELL_WATERBOLT 31012
-#define SPELL_SHADOW_PYRO 29978
-
-//Creatures
-#define CREATURE_WATER_ELEMENTAL 17167
-#define CREATURE_SHADOW_OF_ARAN 18254
-#define CREATURE_ARAN_BLIZZARD 17161
+enum ShadeOfAran
+{
+ SAY_AGGRO = 0,
+ SAY_FLAMEWREATH = 1,
+ SAY_BLIZZARD = 2,
+ SAY_EXPLOSION = 3,
+ SAY_DRINK = 4,
+ SAY_ELEMENTALS = 5,
+ SAY_KILL = 6,
+ SAY_TIMEOVER = 7,
+ SAY_DEATH = 8,
+// SAY_ATIESH = 9, Unused
+
+ //Spells
+ SPELL_FROSTBOLT = 29954,
+ SPELL_FIREBALL = 29953,
+ SPELL_ARCMISSLE = 29955,
+ SPELL_CHAINSOFICE = 29991,
+ SPELL_DRAGONSBREATH = 29964,
+ SPELL_MASSSLOW = 30035,
+ SPELL_FLAME_WREATH = 29946,
+ SPELL_AOE_CS = 29961,
+ SPELL_PLAYERPULL = 32265,
+ SPELL_AEXPLOSION = 29973,
+ SPELL_MASS_POLY = 29963,
+ SPELL_BLINK_CENTER = 29967,
+ SPELL_ELEMENTALS = 29962,
+ SPELL_CONJURE = 29975,
+ SPELL_DRINK = 30024,
+ SPELL_POTION = 32453,
+ SPELL_AOE_PYROBLAST = 29978,
+
+ //Creature Spells
+ SPELL_CIRCULAR_BLIZZARD = 29951,
+ SPELL_WATERBOLT = 31012,
+ SPELL_SHADOW_PYRO = 29978,
+
+ //Creatures
+ CREATURE_WATER_ELEMENTAL = 17167,
+ CREATURE_SHADOW_OF_ARAN = 18254,
+ CREATURE_ARAN_BLIZZARD = 17161,
+};
enum SuperSpell
{
@@ -160,12 +157,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_KILL1, SAY_KILL2), me);
+ Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
{
@@ -176,7 +173,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me);
+ Talk(SAY_AGGRO);
if (instance)
{
@@ -264,7 +261,7 @@ public:
Drinking = true;
me->InterruptNonMeleeSpells(false);
- DoScriptText(SAY_DRINK, me);
+ Talk(SAY_DRINK);
if (!DrinkInturrupted)
{
@@ -384,7 +381,7 @@ public:
switch (LastSuperSpell)
{
case SUPER_AE:
- DoScriptText(RAND(SAY_EXPLOSION1, SAY_EXPLOSION2), me);
+ Talk(SAY_EXPLOSION);
DoCast(me, SPELL_BLINK_CENTER, true);
DoCast(me, SPELL_PLAYERPULL, true);
@@ -393,7 +390,7 @@ public:
break;
case SUPER_FLAME:
- DoScriptText(RAND(SAY_FLAMEWREATH1, SAY_FLAMEWREATH2), me);
+ Talk(SAY_FLAMEWREATH);
FlameWreathTimer = 20000;
FlameWreathCheckTime = 500;
@@ -406,7 +403,7 @@ public:
break;
case SUPER_BLIZZARD:
- DoScriptText(RAND(SAY_BLIZZARD1, SAY_BLIZZARD2), me);
+ Talk(SAY_BLIZZARD);
if (Creature* pSpawn = me->SummonCreature(CREATURE_ARAN_BLIZZARD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 25000))
{
@@ -432,7 +429,7 @@ public:
}
}
- DoScriptText(SAY_ELEMENTALS, me);
+ Talk(SAY_ELEMENTALS);
}
if (BerserkTimer <= diff)
@@ -446,7 +443,7 @@ public:
}
}
- DoScriptText(SAY_TIMEOVER, me);
+ Talk(SAY_TIMEOVER);
BerserkTimer = 60000;
} else BerserkTimer -= diff;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
index 688a678060f..cb5a1b7b914 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
@@ -28,35 +28,36 @@ EndScriptData */
#include "karazhan.h"
#include "PassiveAI.h"
-#define SAY_SLAY1 -1532065
-#define SAY_SLAY2 -1532066
-#define SAY_DEATH -1532067
-#define SAY_AGGRO -1532068
-#define SAY_SACRIFICE1 -1532069
-#define SAY_SACRIFICE2 -1532070
-#define SAY_SUMMON1 -1532071
-#define SAY_SUMMON2 -1532072
-
-#define SPELL_SUMMON_DEMONCHAINS 30120 // Summons demonic chains that maintain the ritual of sacrifice.
-#define SPELL_DEMON_CHAINS 30206 // Instant - Visual Effect
-#define SPELL_ENRAGE 23537 // Increases the caster's attack speed by 50% and the Physical damage it deals by 219 to 281 for 10 min.
-#define SPELL_SHADOW_BOLT 30055 // Hurls a bolt of dark magic at an enemy, inflicting Shadow damage.
-#define SPELL_SACRIFICE 30115 // Teleports and adds the debuff
-#define SPELL_BERSERK 32965 // Increases attack speed by 75%. Periodically casts Shadow Bolt Volley.
-#define SPELL_SUMMON_FIENDISIMP 30184 // Summons a Fiendish Imp.
-#define SPELL_SUMMON_IMP 30066 // Summons Kil'rek
-
-#define SPELL_FIENDISH_PORTAL 30171 // Opens portal and summons Fiendish Portal, 2 sec cast
-#define SPELL_FIENDISH_PORTAL_1 30179 // Opens portal and summons Fiendish Portal, instant cast
-
-#define SPELL_FIREBOLT 30050 // Blasts a target for 150 Fire damage.
-#define SPELL_BROKEN_PACT 30065 // All damage taken increased by 25%.
-#define SPELL_AMPLIFY_FLAMES 30053 // Increases the Fire damage taken by an enemy by 500 for 25 sec.
-
-#define CREATURE_DEMONCHAINS 17248
-#define CREATURE_FIENDISHIMP 17267
-#define CREATURE_PORTAL 17265
-#define CREATURE_KILREK 17229
+enum TerestianIllhoof
+{
+ SAY_SLAY = 1,
+ SAY_DEATH = 2,
+ SAY_AGGRO = 3,
+ SAY_SACRIFICE = 4,
+ SAY_SUMMON = 5,
+
+ SPELL_SUMMON_DEMONCHAINS = 30120, // Summons demonic chains that maintain the ritual of sacrifice.
+ SPELL_DEMON_CHAINS = 30206, // Instant - Visual Effect
+ SPELL_ENRAGE = 23537, // Increases the caster's attack speed by 50% and the Physical damage it deals by 219 to 281 for 10 min.
+ SPELL_SHADOW_BOLT = 30055, // Hurls a bolt of dark magic at an enemy, inflicting Shadow damage.
+ SPELL_SACRIFICE = 30115, // Teleports and adds the debuff
+ SPELL_BERSERK = 32965, // Increases attack speed by 75%. Periodically casts Shadow Bolt Volley.
+ SPELL_SUMMON_FIENDISIMP = 30184, // Summons a Fiendish Imp.
+ SPELL_SUMMON_IMP = 30066, // Summons Kil'rek
+
+ SPELL_FIENDISH_PORTAL = 30171, // Opens portal and summons Fiendish Portal, 2 sec cast
+ SPELL_FIENDISH_PORTAL_1 = 30179, // Opens portal and summons Fiendish Portal, instant cast
+
+ SPELL_FIREBOLT = 30050, // Blasts a target for 150 Fire damage.
+ SPELL_BROKEN_PACT = 30065, // All damage taken increased by 25%.
+ SPELL_AMPLIFY_FLAMES = 30053, // Increases the Fire damage taken by an enemy by 500 for 25 sec.
+
+ CREATURE_DEMONCHAINS = 17248,
+ CREATURE_FIENDISHIMP = 17267,
+ CREATURE_PORTAL = 17265,
+ CREATURE_KILREK = 17229,
+};
+
class mob_kilrek : public CreatureScript
{
@@ -319,7 +320,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void JustSummoned(Creature* summoned)
@@ -331,7 +332,7 @@ public:
if (summoned->GetUInt32Value(UNIT_CREATED_BY_SPELL) == SPELL_FIENDISH_PORTAL_1)
{
- DoScriptText(RAND(SAY_SUMMON1, SAY_SUMMON2), me);
+ Talk(SAY_SUMMON);
SummonedPortals = true;
}
}
@@ -339,7 +340,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
+ Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
@@ -355,7 +356,7 @@ public:
}
}
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(TYPE_TERESTIAN, DONE);
@@ -378,7 +379,7 @@ public:
{
CAST_AI(mob_demon_chain::mob_demon_chainAI, Chains->AI())->SacrificeGUID = target->GetGUID();
Chains->CastSpell(Chains, SPELL_DEMON_CHAINS, true);
- DoScriptText(RAND(SAY_SACRIFICE1, SAY_SACRIFICE2), me);
+ Talk(SAY_SACRIFICE);
SacrificeTimer = 30000;
}
}
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
index cd1a803e478..7053cbb3ed7 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
@@ -33,64 +33,69 @@ EndScriptData */
/***********************************/
/*** OPERA WIZARD OF OZ EVENT *****/
/*********************************/
+enum Says
+{
+ SAY_DOROTHEE_DEATH = 0,
+ SAY_DOROTHEE_SUMMON = 1,
+ SAY_DOROTHEE_TITO_DEATH = 2,
+ SAY_DOROTHEE_AGGRO = 3,
+
+ SAY_ROAR_AGGRO = 0,
+ SAY_ROAR_DEATH = 1,
+ SAY_ROAR_SLAY = 2,
+
+ SAY_STRAWMAN_AGGRO = 0,
+ SAY_STRAWMAN_DEATH = 1,
+ SAY_STRAWMAN_SLAY = 2,
+
+ SAY_TINHEAD_AGGRO = 0,
+ SAY_TINHEAD_DEATH = 1,
+ SAY_TINHEAD_SLAY = 2,
+ EMOTE_RUST = 3,
+
+ SAY_CRONE_AGGRO = 0,
+ SAY_CRONE_DEATH = 1,
+ SAY_CRONE_SLAY = 2,
+};
-#define SAY_DOROTHEE_DEATH -1532025
-#define SAY_DOROTHEE_SUMMON -1532026
-#define SAY_DOROTHEE_TITO_DEATH -1532027
-#define SAY_DOROTHEE_AGGRO -1532028
-
-#define SAY_ROAR_AGGRO -1532029
-#define SAY_ROAR_DEATH -1532030
-#define SAY_ROAR_SLAY -1532031
-
-#define SAY_STRAWMAN_AGGRO -1532032
-#define SAY_STRAWMAN_DEATH -1532033
-#define SAY_STRAWMAN_SLAY -1532034
-
-#define SAY_TINHEAD_AGGRO -1532035
-#define SAY_TINHEAD_DEATH -1532036
-#define SAY_TINHEAD_SLAY -1532037
-#define EMOTE_RUST -1532038
-
-#define SAY_CRONE_AGGRO -1532039
-#define SAY_CRONE_AGGRO2 -1532040
-#define SAY_CRONE_DEATH -1532041
-#define SAY_CRONE_SLAY -1532042
-
-/**** Spells ****/
-// Dorothee
-#define SPELL_WATERBOLT 31012
-#define SPELL_SCREAM 31013
-#define SPELL_SUMMONTITO 31014
-
-// Tito
-#define SPELL_YIPPING 31015
-
-// Strawman
-#define SPELL_BRAIN_BASH 31046
-#define SPELL_BRAIN_WIPE 31069
-#define SPELL_BURNING_STRAW 31075
-
-// Tinhead
-#define SPELL_CLEAVE 31043
-#define SPELL_RUST 31086
-
-// Roar
-#define SPELL_MANGLE 31041
-#define SPELL_SHRED 31042
-#define SPELL_FRIGHTENED_SCREAM 31013
-
-// Crone
-#define SPELL_CHAIN_LIGHTNING 32337
-
-// Cyclone
-#define SPELL_KNOCKBACK 32334
-#define SPELL_CYCLONE_VISUAL 32332
+enum Spells
+{
+ // Dorothee
+ SPELL_WATERBOLT = 31012,
+ SPELL_SCREAM = 31013,
+ SPELL_SUMMONTITO = 31014,
+
+ // Tito
+ SPELL_YIPPING = 31015,
+
+ // Strawman
+ SPELL_BRAIN_BASH = 31046,
+ SPELL_BRAIN_WIPE = 31069,
+ SPELL_BURNING_STRAW = 31075,
+
+ // Tinhead
+ SPELL_CLEAVE = 31043,
+ SPELL_RUST = 31086,
+
+ // Roar
+ SPELL_MANGLE = 31041,
+ SPELL_SHRED = 31042,
+ SPELL_FRIGHTENED_SCREAM = 31013,
+
+ // Crone
+ SPELL_CHAIN_LIGHTNING = 32337,
+
+ // Cyclone
+ SPELL_KNOCKBACK = 32334,
+ SPELL_CYCLONE_VISUAL = 32332,
+};
-/** Creature Entries **/
-#define CREATURE_TITO 17548
-#define CREATURE_CYCLONE 18412
-#define CREATURE_CRONE 18168
+enum Creatures
+{
+ CREATURE_TITO = 17548,
+ CREATURE_CYCLONE = 18412,
+ CREATURE_CRONE = 18168,
+};
void SummonCroneIfReady(InstanceScript* instance, Creature* creature)
{
@@ -148,7 +153,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_DOROTHEE_AGGRO, me);
+ Talk(SAY_DOROTHEE_AGGRO);
}
void JustReachedHome()
@@ -160,7 +165,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DOROTHEE_DEATH, me);
+ Talk(SAY_DOROTHEE_DEATH);
if (instance)
SummonCroneIfReady(instance, me);
@@ -253,7 +258,7 @@ public:
if (Dorothee && Dorothee->isAlive())
{
CAST_AI(boss_dorothee::boss_dorotheeAI, Dorothee->AI())->TitoDied = true;
- DoScriptText(SAY_DOROTHEE_TITO_DEATH, Dorothee);
+ Talk(SAY_DOROTHEE_TITO_DEATH, Dorothee->GetGUID());
}
}
}
@@ -278,7 +283,7 @@ void boss_dorothee::boss_dorotheeAI::SummonTito()
{
if (Creature* pTito = me->SummonCreature(CREATURE_TITO, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000))
{
- DoScriptText(SAY_DOROTHEE_SUMMON, me);
+ Talk(SAY_DOROTHEE_SUMMON);
CAST_AI(mob_tito::mob_titoAI, pTito->AI())->DorotheeGUID = me->GetGUID();
pTito->AI()->AttackStart(me->getVictim());
SummonedTito = true;
@@ -334,7 +339,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_STRAWMAN_AGGRO, me);
+ Talk(SAY_STRAWMAN_AGGRO);
}
void JustReachedHome()
@@ -357,7 +362,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_STRAWMAN_DEATH, me);
+ Talk(SAY_STRAWMAN_DEATH);
if (instance)
SummonCroneIfReady(instance, me);
@@ -365,7 +370,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_STRAWMAN_SLAY, me);
+ Talk(SAY_STRAWMAN_SLAY);
}
void UpdateAI(const uint32 diff)
@@ -436,7 +441,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_TINHEAD_AGGRO, me);
+ Talk(SAY_TINHEAD_AGGRO);
}
void JustReachedHome()
@@ -462,7 +467,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_TINHEAD_DEATH, me);
+ Talk(SAY_TINHEAD_DEATH);
if (instance)
SummonCroneIfReady(instance, me);
@@ -470,7 +475,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_TINHEAD_SLAY, me);
+ Talk(SAY_TINHEAD_SLAY);
}
void UpdateAI(const uint32 diff)
@@ -498,7 +503,7 @@ public:
if (RustTimer <= diff)
{
++RustCount;
- DoScriptText(EMOTE_RUST, me);
+ Talk(EMOTE_RUST);
DoCast(me, SPELL_RUST);
RustTimer = 6000;
} else RustTimer -= diff;
@@ -559,7 +564,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_ROAR_AGGRO, me);
+ Talk(SAY_ROAR_AGGRO);
}
void JustReachedHome()
@@ -569,7 +574,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_ROAR_DEATH, me);
+ Talk(SAY_ROAR_DEATH);
if (instance)
SummonCroneIfReady(instance, me);
@@ -577,7 +582,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_ROAR_SLAY, me);
+ Talk(SAY_ROAR_SLAY);
}
void UpdateAI(const uint32 diff)
@@ -650,16 +655,21 @@ public:
me->DespawnOrUnsummon();
}
+ void KilledUnit(Unit* /*victim*/)
+ {
+ Talk(SAY_CRONE_SLAY);
+ }
+
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(RAND(SAY_CRONE_AGGRO, SAY_CRONE_AGGRO2), me);
+ Talk(SAY_CRONE_AGGRO);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_CRONE_DEATH, me);
+ Talk(SAY_CRONE_DEATH);
if (instance)
{
@@ -744,22 +754,24 @@ public:
/**************************************/
/**** Opera Red Riding Hood Event* ***/
/************************************/
+enum RedRidingHood
+{
+ SAY_WOLF_AGGRO = 0,
+ SAY_WOLF_SLAY = 1,
+ SAY_WOLF_HOOD = 2,
+ SOUND_WOLF_DEATH = 9275,
-/**** Yells for the Wolf ****/
-#define SAY_WOLF_AGGRO -1532043
-#define SAY_WOLF_SLAY -1532044
-#define SAY_WOLF_HOOD -1532045
-#define SOUND_WOLF_DEATH 9275 //Only sound on death, no text.
+ SPELL_LITTLE_RED_RIDING_HOOD = 30768,
+ SPELL_TERRIFYING_HOWL = 30752,
+ SPELL_WIDE_SWIPE = 30761,
+
+ CREATURE_BIG_BAD_WOLF = 17521,
+};
-/**** Spells For The Wolf ****/
-#define SPELL_LITTLE_RED_RIDING_HOOD 30768
-#define SPELL_TERRIFYING_HOWL 30752
-#define SPELL_WIDE_SWIPE 30761
#define GOSSIP_GRANDMA "What phat lewtz you have grandmother?"
-/**** The Wolf's Entry* ***/
-#define CREATURE_BIG_BAD_WOLF 17521
+
class npc_grandmother : public CreatureScript
{
@@ -831,7 +843,12 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_WOLF_AGGRO, me);
+ Talk(SAY_WOLF_AGGRO);
+ }
+
+ void KilledUnit(Unit* /*victim*/)
+ {
+ Talk(SAY_WOLF_SLAY);
}
void JustReachedHome()
@@ -867,7 +884,7 @@ public:
{
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
{
- DoScriptText(SAY_WOLF_HOOD, me);
+ Talk(SAY_WOLF_HOOD);
DoCast(target, SPELL_LITTLE_RED_RIDING_HOOD, true);
TempThreat = DoGetThreat(target);
if (TempThreat)
@@ -917,41 +934,41 @@ public:
/******** Opera Romeo and Juliet Event* ******/
/********************************************/
-/**** Speech *****/
-#define SAY_JULIANNE_AGGRO -1532046
-#define SAY_JULIANNE_ENTER -1532047
-#define SAY_JULIANNE_DEATH01 -1532048
-#define SAY_JULIANNE_DEATH02 -1532049
-#define SAY_JULIANNE_RESURRECT -1532050
-#define SAY_JULIANNE_SLAY -1532051
-
-#define SAY_ROMULO_AGGRO -1532052
-#define SAY_ROMULO_DEATH -1532053
-#define SAY_ROMULO_ENTER -1532054
-#define SAY_ROMULO_RESURRECT -1532055
-#define SAY_ROMULO_SLAY -1532056
-
-/***** Spells For Julianne *****/
-#define SPELL_BLINDING_PASSION 30890
-#define SPELL_DEVOTION 30887
-#define SPELL_ETERNAL_AFFECTION 30878
-#define SPELL_POWERFUL_ATTRACTION 30889
-#define SPELL_DRINK_POISON 30907
-
-/***** Spells For Romulo ****/
-#define SPELL_BACKWARD_LUNGE 30815
-#define SPELL_DARING 30841
-#define SPELL_DEADLY_SWATHE 30817
-#define SPELL_POISON_THRUST 30822
-
-/**** Other Misc. Spells ****/
-#define SPELL_UNDYING_LOVE 30951
-#define SPELL_RES_VISUAL 24171
-
-/*** Misc. Information ****/
-#define CREATURE_ROMULO 17533
-#define ROMULO_X -10900
-#define ROMULO_Y -1758
+enum JulianneRomulo
+{
+ /**** Speech *****/
+ SAY_JULIANNE_AGGRO = 0,
+ SAY_JULIANNE_ENTER = 1,
+ SAY_JULIANNE_DEATH01 = 2,
+ SAY_JULIANNE_DEATH02 = 3,
+ SAY_JULIANNE_RESURRECT = 4,
+ SAY_JULIANNE_SLAY = 5,
+
+ SAY_ROMULO_AGGRO = 0,
+ SAY_ROMULO_DEATH = 1,
+ SAY_ROMULO_ENTER = 2,
+ SAY_ROMULO_RESURRECT = 3,
+ SAY_ROMULO_SLAY = 4,
+
+ SPELL_BLINDING_PASSION = 30890,
+ SPELL_DEVOTION = 30887,
+ SPELL_ETERNAL_AFFECTION = 30878,
+ SPELL_POWERFUL_ATTRACTION = 30889,
+ SPELL_DRINK_POISON = 30907,
+
+ SPELL_BACKWARD_LUNGE = 30815,
+ SPELL_DARING = 30841,
+ SPELL_DEADLY_SWATHE = 30817,
+ SPELL_POISON_THRUST = 30822,
+
+ SPELL_UNDYING_LOVE = 30951,
+ SPELL_RES_VISUAL = 24171,
+
+ CREATURE_ROMULO = 17533,
+ ROMULO_X = -10900,
+ ROMULO_Y = -1758,
+};
+
enum RAJPhase
{
@@ -1078,7 +1095,7 @@ public:
{
if (Spell->Id == SPELL_DRINK_POISON)
{
- DoScriptText(SAY_JULIANNE_DEATH01, me);
+ Talk(SAY_JULIANNE_DEATH01);
DrinkPoisonTimer = 2500;
}
}
@@ -1087,7 +1104,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_JULIANNE_DEATH02, me);
+ Talk(SAY_JULIANNE_DEATH02);
if (instance)
{
@@ -1101,7 +1118,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_JULIANNE_SLAY, me);
+ Talk(SAY_JULIANNE_SLAY);
}
void UpdateAI(const uint32 diff);
@@ -1172,7 +1189,7 @@ public:
if (Phase == PHASE_ROMULO)
{
- DoScriptText(SAY_ROMULO_DEATH, me);
+ Talk(SAY_ROMULO_DEATH);
PretendToDie(me);
IsFakingDeath = true;
Phase = PHASE_BOTH;
@@ -1219,7 +1236,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_ROMULO_AGGRO, me);
+ Talk(SAY_ROMULO_AGGRO);
if (JulianneGUID)
{
Creature* Julianne = (Unit::GetCreature((*me), JulianneGUID));
@@ -1241,7 +1258,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_ROMULO_DEATH, me);
+ Talk(SAY_ROMULO_DEATH);
if (instance)
{
@@ -1256,7 +1273,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_ROMULO_SLAY, me);
+ Talk(SAY_ROMULO_SLAY);
}
void UpdateAI(const uint32 diff)
@@ -1271,7 +1288,7 @@ public:
Creature* Julianne = (Unit::GetCreature((*me), JulianneGUID));
if (Julianne && CAST_AI(boss_julianne::boss_julianneAI, Julianne->AI())->IsFakingDeath)
{
- DoScriptText(SAY_ROMULO_RESURRECT, me);
+ Talk(SAY_ROMULO_RESURRECT);
Resurrect(Julianne);
CAST_AI(boss_julianne::boss_julianneAI, Julianne->AI())->IsFakingDeath = false;
JulianneDead = false;
@@ -1320,7 +1337,7 @@ void boss_julianne::boss_julianneAI::UpdateAI(const uint32 diff)
{
if (EntryYellTimer <= diff)
{
- DoScriptText(SAY_JULIANNE_ENTER, me);
+ Talk(SAY_JULIANNE_ENTER);
EntryYellTimer = 0;
} else EntryYellTimer -= diff;
}
@@ -1329,7 +1346,7 @@ void boss_julianne::boss_julianneAI::UpdateAI(const uint32 diff)
{
if (AggroYellTimer <= diff)
{
- DoScriptText(SAY_JULIANNE_AGGRO, me);
+ Talk(SAY_JULIANNE_AGGRO);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->setFaction(16);
AggroYellTimer = 0;
@@ -1391,7 +1408,7 @@ void boss_julianne::boss_julianneAI::UpdateAI(const uint32 diff)
Creature* Romulo = (Unit::GetCreature((*me), RomuloGUID));
if (Romulo && CAST_AI(boss_romulo::boss_romuloAI, Romulo->AI())->IsFakingDeath)
{
- DoScriptText(SAY_JULIANNE_RESURRECT, me);
+ Talk(SAY_JULIANNE_RESURRECT);
Resurrect(Romulo);
CAST_AI(boss_romulo::boss_romuloAI, Romulo->AI())->IsFakingDeath = false;
RomuloDead = false;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
index d2b83c6ac54..660b8f6c460 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
@@ -63,26 +63,26 @@ struct Dialogue
static Dialogue OzDialogue[]=
{
- {-1532103, 6000},
- {-1532104, 18000},
- {-1532105, 9000},
- {-1532106, 15000}
+ {0, 6000},
+ {1, 18000},
+ {2, 9000},
+ {3, 15000}
};
static Dialogue HoodDialogue[]=
{
- {-1532107, 6000},
- {-1532108, 10000},
- {-1532109, 14000},
- {-1532110, 15000}
+ {4, 6000},
+ {5, 10000},
+ {6, 14000},
+ {7, 15000}
};
static Dialogue RAJDialogue[]=
{
- {-1532111, 5000},
- {-1532112, 7000},
- {-1532113, 14000},
- {-1532114, 14000}
+ {8, 5000},
+ {9, 7000},
+ {10, 14000},
+ {11, 14000}
};
// Entries and spawn locations for creatures in Oz event
@@ -225,7 +225,8 @@ public:
}
if (text)
- DoScriptText(text, me);
+ CreatureAI::Talk(text);
+
}
void PrepareEncounter()
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
index c39a647d5e1..33335c32d05 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
@@ -28,8 +28,8 @@ EndScriptData */
enum eEnums
{
- SAY_AGGRO = -1189019,
- SAY_SPECIALAE = -1189020,
+ SAY_AGGRO = 0,
+ SAY_SPECIALAE = 1,
SPELL_POLYMORPH = 13323,
SPELL_AOESILENCE = 8988,
@@ -69,7 +69,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void UpdateAI(const uint32 diff)
@@ -93,7 +93,7 @@ public:
if (me->IsNonMeleeSpellCasted(false))
return;
- DoScriptText(SAY_SPECIALAE, me);
+ Talk(SAY_SPECIALAE);
DoCast(me, SPELL_ARCANEBUBBLE);
bCanDetonate = true;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
index ff1a0867de0..b97e1d15dc0 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
@@ -28,9 +28,9 @@ EndScriptData */
enum eEnums
{
- SAY_AGGRO = -1189016,
- SAY_HEALTH = -1189017,
- SAY_KILL = -1189018,
+ SAY_AGGRO = 0,
+ SAY_HEALTH = 1,
+ SAY_KILL = 2,
SPELL_FLAMESHOCK = 8053,
SPELL_SHADOWBOLT = 1106,
@@ -69,12 +69,12 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void KilledUnit(Unit* /*Victim*/)
{
- DoScriptText(SAY_KILL, me);
+ Talk(SAY_KILL);
}
void UpdateAI(const uint32 diff)
@@ -85,7 +85,7 @@ public:
//If we are <35% hp
if (!HpYell && !HealthAbovePct(35))
{
- DoScriptText(SAY_HEALTH, me);
+ Talk(SAY_HEALTH);
HpYell = true;
}
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
index fe67245b7a9..255b6d4bf85 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
@@ -34,13 +34,14 @@ EndScriptData */
//this texts are already used by 3975 and 3976
enum Says
{
- SAY_ENTRANCE = -1189001,
- SAY_REJOINED = -1189002,
- SAY_LOST_HEAD = -1189003,
- SAY_CONFLAGRATION = -1189004,
- SAY_SPROUTING_PUMPKINS = -1189005,
- SAY_PLAYER_DEATH = -1189006,
- SAY_DEATH = -1189007
+ SAY_LOST_HEAD = 0,
+ SAY_PLAYER_DEATH = 1,
+
+ SAY_ENTRANCE = 0,
+ SAY_REJOINED = 1,
+ SAY_CONFLAGRATION = 2,
+ SAY_SPROUTING_PUMPKINS = 3,
+ SAY_DEATH = 4,
};
uint32 RandomLaugh[] = {11965, 11975, 11976};
@@ -254,7 +255,14 @@ public:
void EnterCombat(Unit* /*who*/) {}
void SaySound(int32 textEntry, Unit* target = 0)
{
- DoScriptText(textEntry, me, target);
+ if (target)
+ {
+ Talk(textEntry, target->GetGUID());
+ }
+ else
+ {
+ Talk(textEntry);
+ }
//DoCast(me, SPELL_HEAD_SPEAKS, true);
Creature* speaker = DoSpawnCreature(HELPER, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN, 1000);
if (speaker)
@@ -519,7 +527,14 @@ public:
void SaySound(int32 textEntry, Unit* target = 0)
{
- DoScriptText(textEntry, me, target);
+ if (target)
+ {
+ Talk(textEntry, target->GetGUID());
+ }
+ else
+ {
+ Talk(textEntry);
+ }
laugh += 4000;
}
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
index dbbbb7fb0dd..8c1b22e9871 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
@@ -29,15 +29,11 @@ EndScriptData */
enum Says
{
- SAY_AGGRO = -1189000,
- SAY_WHIRLWIND = -1189001,
- SAY_ENRAGE = -1189002,
- SAY_KILL = -1189003
-};
-
-enum Emotes
-{
- EMOTE_ENRAGE = -1189004
+ SAY_AGGRO = 0,
+ SAY_WHIRLWIND = 1,
+ SAY_ENRAGE = 2,
+ SAY_KILL = 3,
+ EMOTE_ENRAGE = 4
};
enum Spells
@@ -82,13 +78,13 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
DoCast(me, SPELL_RUSHINGCHARGE);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_KILL, me);
+ Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
@@ -105,8 +101,8 @@ public:
//If we are <30% hp goes Enraged
if (!Enrage && !HealthAbovePct(30) && !me->IsNonMeleeSpellCasted(false))
{
- DoScriptText(EMOTE_ENRAGE, me);
- DoScriptText(SAY_ENRAGE, me);
+ Talk(EMOTE_ENRAGE);
+ Talk(SAY_ENRAGE);
DoCast(me, SPELL_FRENZY);
Enrage = true;
}
@@ -122,7 +118,7 @@ public:
// Whirlwind_Timer
if (Whirlwind_Timer <= diff)
{
- DoScriptText(SAY_WHIRLWIND, me);
+ Talk(SAY_WHIRLWIND);
DoCast(me->getVictim(), SPELL_WHIRLWIND);
Whirlwind_Timer = 30000;
}
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
index 9a66c9ba728..0d08431d39c 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
@@ -28,7 +28,7 @@ EndScriptData */
enum eEnums
{
- SAY_AGGRO = -1189021,
+ SAY_AGGRO = 0,
SPELL_SUMMONSCARLETHOUND = 17164,
SPELL_BLOODLUST = 6742
};
@@ -56,7 +56,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void UpdateAI(const uint32 diff)
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
index 07b5ec5d584..f0e7ac94703 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
@@ -29,11 +29,11 @@ EndScriptData */
enum Says
{
- SAY_AGGRO = -1189011,
- SAY_HEALTH1 = -1189012,
- SAY_HEALTH2 = -1189013,
- SAY_KILL = -1189014,
- SAY_TRIGGER_VORREL = -1189015
+ SAY_AGGRO = 0,
+ SAY_HEALTH1 = 1,
+ SAY_HEALTH2 = 2,
+ SAY_KILL = 3,
+ SAY_TRIGGER_VORREL = 0
};
enum Spells
@@ -71,12 +71,12 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void KilledUnit(Unit* /*Victim*/)
{
- DoScriptText(SAY_KILL, me);
+ Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
@@ -85,8 +85,8 @@ public:
return;
//Any other Actions to do with vorrel? setStandState?
- if (Unit* vorrel = Unit::GetUnit(*me, instance->GetData64(DATA_VORREL)))
- DoScriptText(SAY_TRIGGER_VORREL, vorrel);
+ if (Creature* vorrel = Creature::GetCreature(*me, instance->GetData64(DATA_VORREL)))
+ vorrel->AI()->Talk(SAY_TRIGGER_VORREL);
}
void UpdateAI(const uint32 diff)
@@ -97,13 +97,13 @@ public:
//If we are low on hp Do sayings
if (!Yell60 && !HealthAbovePct(60))
{
- DoScriptText(SAY_HEALTH1, me);
+ Talk(SAY_HEALTH1);
Yell60 = true;
}
if (!Yell30 && !HealthAbovePct(30))
{
- DoScriptText(SAY_HEALTH2, me);
+ Talk(SAY_HEALTH2);
Yell30 = true;
}
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
index 4b3c8f2160e..651ca453916 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
@@ -31,14 +31,14 @@ EndScriptData */
enum Says
{
//Mograine says
- SAY_MO_AGGRO = -1189005,
- SAY_MO_KILL = -1189006,
- SAY_MO_RESSURECTED = -1189007,
+ SAY_MO_AGGRO = 0,
+ SAY_MO_KILL = 1,
+ SAY_MO_RESSURECTED = 2,
//Whitemane says
- SAY_WH_INTRO = -1189008,
- SAY_WH_KILL = -1189009,
- SAY_WH_RESSURECT = -1189010,
+ SAY_WH_INTRO = 0,
+ SAY_WH_KILL = 1,
+ SAY_WH_RESSURECT = 2,
};
enum Spells
@@ -114,7 +114,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_MO_AGGRO, me);
+ Talk(SAY_MO_AGGRO);
DoCast(me, SPELL_RETRIBUTIONAURA);
me->CallForHelp(VISIBLE_RANGE);
@@ -122,7 +122,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_MO_KILL, me);
+ Talk(SAY_MO_KILL);
}
void DamageTaken(Unit* /*doneBy*/, uint32 &damage)
@@ -167,7 +167,7 @@ public:
//When hit with ressurection say text
if (spell->Id == SPELL_SCARLETRESURRECTION)
{
- DoScriptText(SAY_MO_RESSURECTED, me);
+ Talk(SAY_MO_RESSURECTED);
_bFakeDeath = false;
if (instance)
@@ -276,12 +276,12 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_WH_INTRO, me);
+ Talk(SAY_WH_INTRO);
}
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(SAY_WH_KILL, me);
+ Talk(SAY_WH_KILL);
}
void DamageTaken(Unit* /*attacker*/, uint32& damage)
@@ -303,7 +303,7 @@ public:
if (Unit* Mograine = Unit::GetUnit(*me, instance->GetData64(DATA_MOGRAINE)))
{
DoCast(Mograine, SPELL_SCARLETRESURRECTION);
- DoScriptText(SAY_WH_RESSURECT, me);
+ Talk(SAY_WH_RESSURECT);
_bCanResurrect = false;
}
}
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
index 509fcdd845e..84de4af1595 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
@@ -32,9 +32,9 @@ EndScriptData */
enum eEnums
{
- SAY_BOSS_DIE_AD = -1033007,
- SAY_BOSS_DIE_AS = -1033008,
- SAY_ARCHMAGE = -1033009,
+ SAY_BOSS_DIE_AD = 0,
+ SAY_BOSS_DIE_AS = 0,
+ SAY_ARCHMAGE = 0,
NPC_ASH = 3850,
NPC_ADA = 3849,
@@ -139,8 +139,8 @@ public:
if (pAda && pAda->isAlive() && pAsh && pAsh->isAlive())
{
- DoScriptText(SAY_BOSS_DIE_AD, pAda);
- DoScriptText(SAY_BOSS_DIE_AS, pAsh);
+ pAda->AI()->Talk(SAY_BOSS_DIE_AD);
+ pAsh->AI()->Talk(SAY_BOSS_DIE_AS);
}
}
@@ -257,7 +257,7 @@ public:
summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
summon->SetReactState(REACT_DEFENSIVE);
summon->CastSpell(summon, SPELL_ASHCROMBE_TELEPORT, true);
- DoScriptText(SAY_ARCHMAGE, summon);
+ summon->AI()->Talk(SAY_ARCHMAGE);
uiTimer = 2000;
uiPhase = 2;
break;
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
index 5fc41b3b267..c98148e645b 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
@@ -42,13 +42,13 @@ EndContentData */
enum eEnums
{
- SAY_FREE_AS = -1033000,
- SAY_OPEN_DOOR_AS = -1033001,
- SAY_POST_DOOR_AS = -1033002,
- SAY_FREE_AD = -1033003,
- SAY_OPEN_DOOR_AD = -1033004,
- SAY_POST1_DOOR_AD = -1033005,
- SAY_POST2_DOOR_AD = -1033006,
+ SAY_FREE_AS = 0,
+ SAY_OPEN_DOOR_AS = 1,
+ SAY_POST_DOOR_AS = 2,
+ SAY_FREE_AD = 0,
+ SAY_OPEN_DOOR_AD = 1,
+ SAY_POST1_DOOR_AD = 2,
+ SAY_POST2_DOOR_AD = 3,
SPELL_UNLOCK = 6421,
NPC_ASH = 3850,
@@ -110,15 +110,15 @@ public:
{
case 0:
if (uiNpcEntry == NPC_ASH)
- DoScriptText(SAY_FREE_AS, me);
+ Talk(SAY_FREE_AS);
else
- DoScriptText(SAY_FREE_AD, me);
+ Talk(SAY_FREE_AD);
break;
case 10:
if (uiNpcEntry == NPC_ASH)
- DoScriptText(SAY_OPEN_DOOR_AS, me);
+ Talk(SAY_OPEN_DOOR_AS);
else
- DoScriptText(SAY_OPEN_DOOR_AD, me);
+ Talk(SAY_OPEN_DOOR_AD);
break;
case 11:
if (uiNpcEntry == NPC_ASH)
@@ -126,16 +126,16 @@ public:
break;
case 12:
if (uiNpcEntry == NPC_ASH)
- DoScriptText(SAY_POST_DOOR_AS, me);
+ Talk(SAY_POST_DOOR_AS);
else
- DoScriptText(SAY_POST1_DOOR_AD, me);
+ Talk(SAY_POST1_DOOR_AD);
if (instance)
instance->SetData(TYPE_FREE_NPC, DONE);
break;
case 13:
if (uiNpcEntry != NPC_ASH)
- DoScriptText(SAY_POST2_DOOR_AD, me);
+ Talk(SAY_POST2_DOOR_AD);
break;
}
}
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
index 1239ca88d03..c7db80c7f22 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
@@ -31,60 +31,52 @@ EndScriptData */
enum Yells
{
- //Kalecgos dragon form
- SAY_EVIL_AGGRO = -1580000,
- SAY_EVIL_SPELL1 = -1580001,
- SAY_EVIL_SPELL2 = -1580002,
- SAY_EVIL_SLAY1 = -1580003,
- SAY_EVIL_SLAY2 = -1580004,
- SAY_EVIL_ENRAGE = -1580005,
-
- //Kalecgos humanoid form
- SAY_GOOD_AGGRO = -1580006,
- SAY_GOOD_NEAR_DEATH = -1580007,
- SAY_GOOD_NEAR_DEATH2 = -1580008,
- SAY_GOOD_PLRWIN = -1580009,
-
- //Sathrovarr
- SAY_SATH_AGGRO = -1580010,
- SAY_SATH_DEATH = -1580011,
- SAY_SATH_SPELL1 = -1580012,
- SAY_SATH_SPELL2 = -1580013,
- SAY_SATH_SLAY1 = -1580014,
- SAY_SATH_SLAY2 = -1580015,
- SAY_SATH_ENRAGE = -1580016,
+ SAY_SATH_AGGRO = 0,
+ SAY_SATH_SLAY = 1,
+ SAY_SATH_DEATH = 2,
+ SAY_SATH_SPELL1 = 3,
+ SAY_SATH_SPELL2 = 4,
+
+ SAY_EVIL_AGGRO = 0,
+ SAY_EVIL_SLAY = 1,
+ SAY_GOOD_PLRWIN = 2,
+ SAY_EVIL_ENRAGE = 3,
+
+ SAY_GOOD_AGGRO = 0,
+ SAY_GOOD_NEAR_DEATH = 1,
+ SAY_GOOD_NEAR_DEATH2 = 2,
};
enum Spells
{
- AURA_SUNWELL_RADIANCE = 45769,
- AURA_SPECTRAL_EXHAUSTION = 44867,
- AURA_SPECTRAL_REALM = 46021,
- AURA_SPECTRAL_INVISIBILITY = 44801,
- AURA_DEMONIC_VISUAL = 44800,
-
- SPELL_SPECTRAL_BLAST = 44869,
- SPELL_TELEPORT_SPECTRAL = 46019,
- SPELL_ARCANE_BUFFET = 45018,
- SPELL_FROST_BREATH = 44799,
- SPELL_TAIL_LASH = 45122,
-
- SPELL_BANISH = 44836,
- SPELL_TRANSFORM_KALEC = 44670,
- SPELL_ENRAGE = 44807,
-
- SPELL_CORRUPTION_STRIKE = 45029,
- SPELL_AGONY_CURSE = 45032,
- SPELL_SHADOW_BOLT = 45031,
-
- SPELL_HEROIC_STRIKE = 45026,
- SPELL_REVITALIZE = 45027
+ AURA_SUNWELL_RADIANCE = 45769,
+ AURA_SPECTRAL_EXHAUSTION = 44867,
+ AURA_SPECTRAL_REALM = 46021,
+ AURA_SPECTRAL_INVISIBILITY = 44801,
+ AURA_DEMONIC_VISUAL = 44800,
+
+ SPELL_SPECTRAL_BLAST = 44869,
+ SPELL_TELEPORT_SPECTRAL = 46019,
+ SPELL_ARCANE_BUFFET = 45018,
+ SPELL_FROST_BREATH = 44799,
+ SPELL_TAIL_LASH = 45122,
+
+ SPELL_BANISH = 44836,
+ SPELL_TRANSFORM_KALEC = 44670,
+ SPELL_ENRAGE = 44807,
+
+ SPELL_CORRUPTION_STRIKE = 45029,
+ SPELL_AGONY_CURSE = 45032,
+ SPELL_SHADOW_BOLT = 45031,
+
+ SPELL_HEROIC_STRIKE = 45026,
+ SPELL_REVITALIZE = 45027
};
enum SWPActions
{
- DO_ENRAGE = 1,
- DO_BANISH = 2,
+ DO_ENRAGE = 1,
+ DO_BANISH = 2,
};
#define GO_FAILED "You are unable to use this currently."
@@ -360,7 +352,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
me->SetStandState(UNIT_STAND_STATE_STAND);
- DoScriptText(SAY_EVIL_AGGRO, me);
+ Talk(SAY_EVIL_AGGRO);
DoZoneInCombat();
if (instance)
@@ -369,7 +361,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_EVIL_SLAY1, SAY_EVIL_SLAY2), me);
+ Talk(SAY_EVIL_SLAY);
}
void MovementInform(uint32 type, uint32 /*id*/)
@@ -408,7 +400,7 @@ public:
TalkTimer = 1000;
break;
case 2:
- DoScriptText(SAY_GOOD_PLRWIN, me);
+ Talk(SAY_GOOD_PLRWIN);
TalkTimer = 10000;
break;
case 3:
@@ -426,7 +418,7 @@ public:
switch (TalkSequence)
{
case 1:
- DoScriptText(SAY_EVIL_ENRAGE, me);
+ Talk(SAY_EVIL_ENRAGE);
TalkTimer = 3000;
break;
case 2:
@@ -505,20 +497,20 @@ public:
switch (YellSequence)
{
case 0:
- DoScriptText(SAY_GOOD_AGGRO, me);
+ Talk(SAY_GOOD_AGGRO);
++YellSequence;
break;
case 1:
if (HealthBelowPct(50))
{
- DoScriptText(SAY_GOOD_NEAR_DEATH, me);
+ Talk(SAY_GOOD_NEAR_DEATH);
++YellSequence;
}
break;
case 2:
if (HealthBelowPct(10))
{
- DoScriptText(SAY_GOOD_NEAR_DEATH2, me);
+ Talk(SAY_GOOD_NEAR_DEATH2);
++YellSequence;
}
break;
@@ -642,7 +634,7 @@ public:
me->AddThreat(Kalec, 100.0f);
Kalec->setActive(true);
}
- DoScriptText(SAY_SATH_AGGRO, me);
+ Talk(SAY_SATH_AGGRO);
}
void DamageTaken(Unit* done_by, uint32 &damage)
@@ -664,12 +656,12 @@ public:
EnterEvadeMode();
return;
}
- DoScriptText(RAND(SAY_SATH_SLAY1, SAY_SATH_SLAY2), me);
+ Talk(SAY_SATH_SLAY);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_SATH_DEATH, me);
+ Talk(SAY_SATH_DEATH);
me->SetPosition(me->GetPositionX(), me->GetPositionY(), DRAGON_REALM_Z, me->GetOrientation());
TeleportAllPlayersBack();
if (Creature* Kalecgos = Unit::GetCreature(*me, KalecgosGUID))
@@ -781,7 +773,7 @@ public:
if (ShadowBoltTimer <= diff)
{
- if (!(rand()%5))DoScriptText(SAY_SATH_SPELL1, me);
+ if (!(rand()%5))Talk(SAY_SATH_SPELL1);
DoCast(me, SPELL_SHADOW_BOLT);
ShadowBoltTimer = 7000+(rand()%3000);
} else ShadowBoltTimer -= diff;
@@ -796,7 +788,7 @@ public:
if (CorruptionStrikeTimer <= diff)
{
- if (!(rand()%5))DoScriptText(SAY_SATH_SPELL2, me);
+ if (!(rand()%5))Talk(SAY_SATH_SPELL2);
DoCast(me->getVictim(), SPELL_CORRUPTION_STRIKE);
CorruptionStrikeTimer = 13000;
} else CorruptionStrikeTimer -= diff;
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
index c05a36f93a7..1537f0eeb88 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
@@ -26,11 +26,13 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#define SAY_AGGRO -1070000
-
-#define SPELL_ARCINGSMASH 8374
-#define SPELL_KNOCKAWAY 10101
-#define SPELL_WSTOMP 11876
+enum Ironaya
+{
+ SAY_AGGRO = 0,
+ SPELL_ARCINGSMASH = 8374,
+ SPELL_KNOCKAWAY = 10101,
+ SPELL_WSTOMP = 11876,
+};
class boss_ironaya : public CreatureScript
{
@@ -58,7 +60,7 @@ class boss_ironaya : public CreatureScript
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
}
void UpdateAI(const uint32 uiDiff)
diff --git a/src/server/scripts/EasternKingdoms/undercity.cpp b/src/server/scripts/EasternKingdoms/undercity.cpp
index 6aaf2df0b22..05938452520 100644
--- a/src/server/scripts/EasternKingdoms/undercity.cpp
+++ b/src/server/scripts/EasternKingdoms/undercity.cpp
@@ -41,8 +41,8 @@ EndContentData */
enum Sylvanas
{
QUEST_JOURNEY_TO_UNDERCITY = 9180,
- SAY_LAMENT_END = -1000196,
- EMOTE_LAMENT_END = -1000197,
+ EMOTE_LAMENT_END = 0,
+ SAY_LAMENT_END = 1,
SOUND_CREDIT = 10896,
ENTRY_HIGHBORNE_LAMENTER = 21628,
@@ -153,8 +153,8 @@ public:
LamentEventTimer = 2000;
if (!me->HasAura(SPELL_SYLVANAS_CAST))
{
- DoScriptText(SAY_LAMENT_END, me);
- DoScriptText(EMOTE_LAMENT_END, me);
+ Talk(SAY_LAMENT_END);
+ Talk(EMOTE_LAMENT_END);
LamentEvent = false;
}
} else LamentEventTimer -= diff;