aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2012_11_16_03_world_creature_text.sql140
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp86
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp90
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp27
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp94
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp33
-rw-r--r--src/server/scripts/EasternKingdoms/hinterlands.cpp50
8 files changed, 321 insertions, 209 deletions
diff --git a/sql/updates/world/2012_11_16_03_world_creature_text.sql b/sql/updates/world/2012_11_16_03_world_creature_text.sql
index c84f25b97b9..ea0a508fb05 100644
--- a/sql/updates/world/2012_11_16_03_world_creature_text.sql
+++ b/sql/updates/world/2012_11_16_03_world_creature_text.sql
@@ -285,3 +285,143 @@ INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probab
(24891,0,0,"I need... your help... Cannot... resist him... much longer...",14,12428,100,'kalecgos SAY_GOOD_AGGRO'),
(24891,1,0,"Aaahhh! Help me, before I lose my mind!",14,12429,100,'kalecgos SAY_GOOD_NEAR_DEATH'),
(24891,2,0,"Hurry! There is not much of me left!",14,12430,100,'kalecgos SAY_GOOD_NEAR_DEATH2');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1580065 AND -1580044;
+DELETE FROM `creature_text` WHERE `entry` IN (24882,24895);
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(24882,0,0,"Puny lizard! Death is the only answer you'll find here!",14,12458,100,'brutallus YELL_INTRO'),
+(24882,1,0,"Grah! Your magic is weak!",14,12459,100,'brutallus YELL_INTRO_BREAK_ICE'),
+(24882,2,0,"I will crush you!",14,12460,100,'brutallus YELL_INTRO_CHARGE'),
+(24882,3,0,"That was fun.",14,12461,100,'brutallus YELL_INTRO_KILL_MADRIGOSA'),
+(24882,4,0,"Come, try your luck!",14,12462,100,'brutallus YELL_INTRO_TAUNT'),
+(24882,5,0,"Ahh! More lambs to the slaughter!",14,12463,100,'brutallus YELL_AGGRO'),
+(24882,6,0,"Perish, insect!",14,12464,100,'brutallus YELL_KILL1'),
+(24882,6,1,"You are meat!",14,12465,100,'brutallus YELL_KILL2'),
+(24882,6,2,"Too easy!",14,12466,100,'brutallus YELL_KILL3'),
+(24882,7,0,"Bring the fight to me!",14,12467,100,'brutallus YELL_LOVE1'),
+(24882,7,1,"Another day, another glorious battle!",14,12468,100,'brutallus YELL_LOVE2'),
+(24882,7,2,"I live for this!",14,12469,100,'brutallus YELL_LOVE3'),
+(24882,8,0,"So much for a real challenge... Die!",14,12470,100,'brutallus YELL_BERSERK'),
+(24882,9,0,"Gah! Well done... Now... this gets... interesting...",14,12471,100,'brutallus YELL_DEATH'),
+(24895,0,0,"Hold, friends! There is information to be had before this devil meets his fate!",14,12472,100,'madrigosa YELL_MADR_ICE_BARRIER'),
+(24895,1,0,"Where is Anveena, demon? What has become of Kalec?",14,12473,100,'madrigosa YELL_MADR_INTRO'),
+(24895,2,0,"You will tell me where they are!",14,12474,100,'madrigosa YELL_MADR_ICE_BLOCK'),
+(24895,3,0,"Speak, I grow weary of asking!",14,12475,100,'madrigosa YELL_MADR_TRAP'),
+(24895,4,0,"Malygos, my lord! I did my best!",14,12476,100,'madrigosa YELL_MADR_DEATH');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1580065 AND -1580044;
+DELETE FROM `creature_text` WHERE `entry` IN (25166,25165);
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES
+(25165,0,0,14,12484,100,"eredar - YELL_INTRO_SAC_1","Misery..."),
+(25165,1,0,14,0,100,"eredar - YELL_INTRO_SAC_3","Confusion..."),
+(25165,2,0,14,0,100,"eredar - YELL_INTRO_SAC_5","Mistrust..."),
+(25165,3,0,14,0,100,"eredar - YELL_INTRO_SAC_7","These are the hallmarks..."),
+(25165,4,0,14,0,100,"eredar - YELL_SAC_DEAD","I... fade."),
+(25165,5,0,41,0,100,"eredar - EMOTE_SHADOW_NOVA","%s directs Shadow Nova at $N"),
+(25165,6,0,14,0,100,"eredar - YELL_ENRAGE","Time is a luxury you no longer possess!"),
+(25165,7,0,14,12488,100,"eredar - YELL_SISTER_ALYTHESS_DEAD","Alythess! Your fire burns within me!"),
+(25165,8,0,14,12486,100,"eredar - YELL_SAC_KILL_1","Shadow engulf."),
+(25165,8,1,14,12487,100,"eredar - YELL_SAC_KILL_2","Ee-nok Kryul!"),
+(25165,9,0,14,12485,100,"eredar - YELL_SHADOW_NOVA","Shadow to the aid of fire!"),
+(25166,0,0,14,0,100,"eredar - YELL_INTRO_ALY_2","Depravity..."),
+(25166,1,0,14,0,100,"eredar - YELL_INTRO_ALY_4","Hatred..."),
+(25166,2,0,14,0,100,"eredar - YELL_INTRO_ALY_6","Chaos..."),
+(25166,3,0,14,0,100,"eredar - YELL_INTRO_ALY_8","These are the pillars..."),
+(25166,4,0,41,0,100,"eredar - EMOTE_CONFLAGRATION","%s directs Conflagration at $N"),
+(25166,5,0,14,12490,100,"eredar - YELL_ALY_KILL_1","Fire consume."),
+(25166,5,1,14,12491,100,"eredar - YELL_ALY_KILL_2","Ed-ir Halach!"),
+(25166,6,0,14,12494,100,"eredar - YELL_ALY_DEAD","De-ek Anur!"),
+(25166,7,0,14,12492,100,"eredar - YELL_SISTER_SACROLASH_DEAD","Sacrolash!"),
+(25166,8,0,14,12489,100,"eredar - YELL_CANFLAGRATION","Fire to the aid of shadow!"),
+(25166,9,0,14,12493,100,"eredar - YELL_BERSERK","Your luck has run its curse!");
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1580098 AND -1580066;
+DELETE FROM `creature_text` WHERE `entry` IN (25608,25319,25315,26046);
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES
+(25608,0,0,14,12495,100,"KJ - SAY_KJ_OFFCOMBAT1","All my plans have led to this!"),
+(25608,0,1,14,12496,100,"KJ - SAY_KJ_OFFCOMBAT2","Stay on task! Do not waste time!"),
+(25608,0,2,14,12497,100,"KJ - SAY_KJ_OFFCOMBAT3","I have waited long enough!"),
+(25608,0,3,14,12498,100,"KJ - SAY_KJ_OFFCOMBAT4","Fail me and suffer for eternity!"),
+(25608,0,4,14,12499,100,"KJ - SAY_KJ_OFFCOMBAT5","Drain the girl! Drain her power until there is nothing but a vacant shell!"),
+(25319,0,0,14,12449,100,"KJ - SAY_KALECGOS_ENCOURAGE","Strike now, heroes, while he is weakened! Vanquish the Deceiver!"),
+(25319,1,0,14,12440,100,"KJ - SAY_KALECGOS_READY1","I will channel my power into the orbs, be ready!"),
+(25319,2,0,14,12441,100,"KJ - SAY_KALECGOS_READY2","I have empowered another orb! Use it quickly!"),
+(25319,3,0,14,12442,100,"KJ - SAY_KALECGOS_READY3","Another orb is ready! Make haste!"),
+(25319,4,0,14,12443,100,"KJ - SAY_KALECGOS_READY4","I have channeled all I can! The power is in your hands!"),
+(25319,5,0,14,12445,100,"KJ - SAY_KALECGOS_AWAKEN","Anveena, you must awaken, this world needs you!"),
+(25319,6,0,14,12446,100,"KJ - SAY_KALECGOS_LETGO","You must let go! You must become what you were always meant to be! The time is now, Anveena!"),
+(25319,7,0,14,12447,100,"KJ - SAY_KALECGOS_FOCUS","Anveena, I love you! Focus on my voice, come back for me now! Only you can cleanse the Sunwell!"),
+(25319,8,0,14,12448,100,"KJ - SAY_KALECGOS_FATE","Yes, Anveena! Let fate embrace you now!"),
+(25319,9,0,14,12450,100,"KJ - SAY_KALECGOS_GOODBYE","Goodbye, Anveena, my love. Few will remember your name, yet this day you change the course of destiny. What was once corrupt is now pure. Heroes, do not let her sacrifice be in vain."),
+(25319,10,0,14,12438,100,"KJ - SAY_KALECGOS_JOIN","You are not alone. The Blue Dragonflight shall help you vanquish the Deceiver."),
+(25315,0,0,14,12527,100,"KJ - SAY_KJ_DEATH","Nooooooooooooo!"),
+(25315,1,0,14,12501,100,"KJ - SAY_KJ_SLAY1","Another step towards destruction!"),
+(25315,1,1,14,12502,100,"KJ - SAY_KJ_SLAY2","Anak-ky'ri!"),
+(25315,2,0,14,12503,100,"KJ - SAY_KJ_REFLECTION1","Who can you trust?"),
+(25315,2,1,14,12504,100,"KJ - SAY_KJ_REFLECTION2","The enemy is among you."),
+(25315,3,0,14,12500,100,"KJ - SAY_KJ_EMERGE","The expendible have perished... So be it! Now I shall succeed where Sargeras could not! I will bleed this wretched world and secure my place as the true master of the Burning Legion. The end has come! Let the unraveling of this world commence!"),
+(25315,4,0,14,12505,100,"KJ - SAY_KJ_DARKNESS1","Chaos!"),
+(25315,4,1,14,12506,100,"KJ - SAY_KJ_DARKNESS2","Destruction!"),
+(25315,4,2,14,12507,100,"KJ - SAY_KJ_DARKNESS3","Oblivion!"),
+(25315,5,0,14,12508,100,"KJ - SAY_KJ_PHASE3","I will not be denied! This world shall fall!"),
+(25315,6,0,14,12509,100,"KJ - SAY_KJ_PHASE4","Do not harbor false hope. You cannot win!"),
+(25315,7,0,14,12510,100,"KJ - SAY_KJ_PHASE5","Aggghh! The powers of the Sunwell... turned... against me! What have you done? WHAT HAVE YOU DONE?"),
+(25315,8,0,41,0,100,"KJ - EMOTE_KJ_DARKNESS","%s begins to channel dark energy"),
+(26046,0,0,14,12511,100,"KJ - SAY_ANVEENA_IMPRISONED","I serve only the Master now."),
+(26046,1,0,14,12512,100,"KJ - SAY_ANVEENA_LOST","But I'm... lost... I cannot find my way back!"),
+(26046,2,0,14,12513,100,"KJ - SAY_ANVEENA_KALEC","Kalec... Kalec?"),
+(26046,3,0,14,12514,100,"KJ - SAY_ANVEENA_GOODBYE","The nightmare is over, the spell is broken! Goodbye, Kalec, my love!");
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1580043 AND -1580036;
+DELETE FROM `creature_text` WHERE `entry`=25038;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES
+(25038,0,0,14,12477,100,"felmyst - YELL_BIRTH","Glory to Kil'jaeden! Death to all who oppose!"),
+(25038,1,0,14,12480,100,"felmyst - YELL_KILL1","I kill for the master!"),
+(25038,1,1,14,12481,100,"felmyst - YELL_KILL2","The end has come!"),
+(25038,2,0,14,12478,100,"felmyst - YELL_BREATH","Choke on your final breath!"),
+(25038,3,0,14,12479,100,"felmyst - YELL_TAKEOFF","I am stronger than ever before!"),
+(25038,4,0,14,12482,100,"felmyst - YELL_BERSERK","No more hesitation! Your fates are written!"),
+(25038,5,0,14,12483,100,"felmyst - YELL_DEATH","Kil'jaeden... will... prevail..."),
+(25038,6,0,14,12439,100,"felmyst - YELL_KALECGOS","Madrigosa deserved a far better fate. You did what had to be done, but this battle is far from over.");
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000292 AND -1000287;
+DELETE FROM `creature_text` WHERE `entry`=7806;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES
+(7806,0,0,12,0,100,"oox SAY_OOX_START","Emergency power activated! Initializing ambulanory motor! CLUCK!"),
+(7806,1,0,12,0,100,"oox SAY_OOX_AGGRO1","Physical threat detected! Evasive action! CLUCK!"),
+(7806,1,1,12,0,100,"oox SAY_OOX_AGGRO2","Thread analyzed! Activating combat plan beta! CLUCK!"),
+(7806,2,0,12,0,100,"oox SAY_OOX_AMBUSH","CLUCK! Sensors detect spatial anomaly - danger imminent! CLUCK!"),
+(7806,3,0,12,0,100,"oox SAY_OOX_AMBUSH_REPLY","No one challanges the Wastewander nomads - not even robotic chickens! ATTACK!"),
+(7806,4,0,12,0,100,"oox SAY_OOX_END","Cloaking systems online! CLUCK! Engaging cloak for transport to Booty Bay!");
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000409 AND -1000403;
+DELETE FROM `creature_text` WHERE `entry` IN (2691,7780);
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES
+(2691,0,0,12,0,100,"SAY_RIN_BY_OUTRUNNER","Attack my sisters! The troll must not escape!"),
+(7780,0,0,12,0,100,"SAY_RIN_FREE","Rin'ji is free!"),
+(7780,1,0,12,0,100,"SAY_RIN_HELP_1","Rin'ji needs help!"),
+(7780,1,1,12,0,100,"SAY_RIN_HELP_2","Rin'ji is being attacked!"),
+(7780,2,0,12,0,100,"SAY_RIN_COMPLETE","Rin'ji can see road now, $n. Rin'ji knows the way home."),
+(7780,3,0,12,0,100,"SAY_RIN_PROGRESS_1","Rin'ji will tell you secret now... $n, should go to the Overlook Cliffs. Rin'ji hid something on island there"),
+(7780,4,0,12,0,100,"SAY_RIN_PROGRESS_2","You find it, you keep it! Don't tell no one that Rin'ji talked to you!");
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1568009 AND -1568000;
+DELETE FROM `creature_text` WHERE `entry`=23578;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES
+(23578,0,0,14,12031,100,"janalai SAY_AGGRO","Spirits of da wind be your doom!"),
+(23578,1,0,14,12032,100,"janalai SAY_FIRE_BOMBS","I burn ya now!"),
+(23578,2,0,14,12033,100,"janalai SAY_SUMMON_HATCHER","Where ma hatcha? Get to work on dem eggs!"),
+(23578,3,0,14,12034,100,"janalai SAY_ALL_EGGS","I show you strength... in numbers."),
+(23578,4,0,14,12035,100,"janalai SAY_BERSERK","You done run outta time!"),
+(23578,5,0,14,12036,100,"janalai SAY_SLAY_1","It all be over now, mon!"),
+(23578,5,1,14,12037,100,"janalai SAY_SLAY_2","Tazaga-choo!"),
+(23578,6,0,14,12038,100,"janalai SAY_DEATH","Zul'jin... got a surprise for you..."),
+(23578,7,0,14,12039,100,"janalai SAY_EVENT_STRANGERS","Come, strangers. The spirit of the dragonhawk hot be hungry for worthy souls."),
+(23578,8,0,14,12040,100,"janalai SAY_EVENT_FRIENDS","Come, friends. Your bodies gonna feed ma hatchlings, and your souls are going to feed me with power!");
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1469006 AND -1469004;
+DELETE FROM `creature_text` WHERE `entry`=10162;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES
+(10162,0,0,12,0,100,"victor_nefarius SAY_GAMESBEGIN_1","In this world where time is your enemy, it is my greatest ally. This grand game of life that you think you play in fact plays you. To that I say..."),
+(10162,1,0,14,8280,100,"victor_nefarius SAY_GAMESBEGIN_2","Let the games begin!"),
+(10162,2,0,14,8279,100,"victor_nefarius SAY_VAEL_INTRO","Ah, the heroes. You are persistent, aren't you. Your allied attempted to match his power against mine, and had to pay the price. Now he shall serve me, by slaughtering you. Get up little red wyrm and destroy them!");
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp
index a93519bcbe7..1335f189286 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp
@@ -30,9 +30,9 @@ EndScriptData */
enum Says
{
- SAY_GAMESBEGIN_1 = -1469004,
- SAY_GAMESBEGIN_2 = -1469005,
- SAY_VAEL_INTRO = -1469006 //when he corrupts Vaelastrasz
+ SAY_GAMESBEGIN_1 = 0,
+ SAY_GAMESBEGIN_2 = 1,
+ //SAY_VAEL_INTRO = 2, Not used - when he corrupts Vaelastrasz
};
#define GOSSIP_ITEM_1 "I've made no mistakes."
@@ -101,7 +101,7 @@ public:
break;
case GOSSIP_ACTION_INFO_DEF+3:
player->CLOSE_GOSSIP_MENU();
- DoScriptText(SAY_GAMESBEGIN_1, creature);
+ creature->AI()->Talk(SAY_GAMESBEGIN_1);
CAST_AI(boss_victor_nefarius::boss_victor_nefariusAI, creature->AI())->BeginEvent(player);
break;
}
@@ -238,7 +238,7 @@ public:
void BeginEvent(Player* target)
{
- DoScriptText(SAY_GAMESBEGIN_2, me);
+ Talk(SAY_GAMESBEGIN_2);
//Trinity::Singleton<MapManager>::Instance().GetMap(me->GetMapId(), me)->GetPlayers().begin();
/*
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
index c763cb69dec..3e9d2e991fc 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
@@ -28,41 +28,37 @@ EndScriptData */
enum Quotes
{
- YELL_INTRO = -1580017,
- YELL_INTRO_BREAK_ICE = -1580018,
- YELL_INTRO_CHARGE = -1580019,
- YELL_INTRO_KILL_MADRIGOSA = -1580020,
- YELL_INTRO_TAUNT = -1580021,
-
- YELL_MADR_ICE_BARRIER = -1580031,
- YELL_MADR_INTRO = -1580032,
- YELL_MADR_ICE_BLOCK = -1580033,
- YELL_MADR_TRAP = -1580034,
- YELL_MADR_DEATH = -1580035,
-
- YELL_AGGRO = -1580022,
- YELL_KILL1 = -1580023,
- YELL_KILL2 = -1580024,
- YELL_KILL3 = -1580025,
- YELL_LOVE1 = -1580026,
- YELL_LOVE2 = -1580027,
- YELL_LOVE3 = -1580028,
- YELL_BERSERK = -1580029,
- YELL_DEATH = -1580030
+ YELL_INTRO = 0,
+ YELL_INTRO_BREAK_ICE = 1,
+ YELL_INTRO_CHARGE = 2,
+ YELL_INTRO_KILL_MADRIGOSA = 3,
+ YELL_INTRO_TAUNT = 4,
+
+ YELL_AGGRO = 5,
+ YELL_KILL = 6,
+ YELL_LOVE = 7,
+ YELL_BERSERK = 8,
+ YELL_DEATH = 9,
+
+ YELL_MADR_ICE_BARRIER = 0,
+ YELL_MADR_INTRO = 1,
+ YELL_MADR_ICE_BLOCK = 2,
+ YELL_MADR_TRAP = 3,
+ YELL_MADR_DEATH = 4,
};
enum Spells
{
- SPELL_METEOR_SLASH = 45150,
- SPELL_BURN = 46394,
- SPELL_STOMP = 45185,
- SPELL_BERSERK = 26662,
- SPELL_DUAL_WIELD = 42459,
-
- SPELL_INTRO_FROST_BLAST = 45203,
- SPELL_INTRO_FROSTBOLT = 44843,
- SPELL_INTRO_ENCAPSULATE = 45665,
- SPELL_INTRO_ENCAPSULATE_CHANELLING = 45661
+ SPELL_METEOR_SLASH = 45150,
+ SPELL_BURN = 46394,
+ SPELL_STOMP = 45185,
+ SPELL_BERSERK = 26662,
+ SPELL_DUAL_WIELD = 42459,
+
+ SPELL_INTRO_FROST_BLAST = 45203,
+ SPELL_INTRO_FROSTBOLT = 44843,
+ SPELL_INTRO_ENCAPSULATE = 45665,
+ SPELL_INTRO_ENCAPSULATE_CHANELLING = 45661
};
#define FELMYST 25038
@@ -122,7 +118,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- DoScriptText(YELL_AGGRO, me);
+ Talk(YELL_AGGRO);
if (instance)
instance->SetData(DATA_BRUTALLUS_EVENT, IN_PROGRESS);
@@ -130,12 +126,12 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(YELL_KILL1, YELL_KILL2, YELL_KILL3), me);
+ Talk(YELL_KILL);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(YELL_DEATH, me);
+ Talk(YELL_DEATH);
if (instance)
{
@@ -199,19 +195,19 @@ public:
switch (IntroPhase)
{
case 0:
- DoScriptText(YELL_MADR_ICE_BARRIER, Madrigosa);
+ Madrigosa->AI()->Talk(YELL_MADR_ICE_BARRIER);
IntroPhaseTimer = 7000;
++IntroPhase;
break;
case 1:
me->SetInFront(Madrigosa);
Madrigosa->SetInFront(me);
- DoScriptText(YELL_MADR_INTRO, Madrigosa, me);
+ Madrigosa->AI()->Talk(YELL_MADR_INTRO, me->GetGUID());
IntroPhaseTimer = 9000;
++IntroPhase;
break;
case 2:
- DoScriptText(YELL_INTRO, me, Madrigosa);
+ Talk(YELL_INTRO, Madrigosa->GetGUID());
IntroPhaseTimer = 13000;
++IntroPhase;
break;
@@ -225,32 +221,32 @@ public:
++IntroPhase;
break;
case 4:
- DoScriptText(YELL_INTRO_BREAK_ICE, me);
+ Talk(YELL_INTRO_BREAK_ICE);
IntroPhaseTimer = 6000;
++IntroPhase;
break;
case 5:
Madrigosa->CastSpell(me, SPELL_INTRO_ENCAPSULATE_CHANELLING, false);
- DoScriptText(YELL_MADR_TRAP, Madrigosa);
+ Madrigosa->AI()->Talk(YELL_MADR_TRAP);
DoCast(me, SPELL_INTRO_ENCAPSULATE);
IntroPhaseTimer = 11000;
++IntroPhase;
break;
case 6:
- DoScriptText(YELL_INTRO_CHARGE, me);
+ Talk(YELL_INTRO_CHARGE);
IntroPhaseTimer = 5000;
++IntroPhase;
break;
case 7:
me->Kill(Madrigosa);
- DoScriptText(YELL_MADR_DEATH, Madrigosa);
+ Madrigosa->AI()->Talk(YELL_MADR_DEATH);
me->SetFullHealth();
me->AttackStop();
IntroPhaseTimer = 4000;
++IntroPhase;
break;
case 8:
- DoScriptText(YELL_INTRO_KILL_MADRIGOSA, me);
+ Talk(YELL_INTRO_KILL_MADRIGOSA);
me->SetOrientation(0.14f);
me->StopMoving();
Madrigosa->setDeathState(CORPSE);
@@ -258,7 +254,7 @@ public:
++IntroPhase;
break;
case 9:
- DoScriptText(YELL_INTRO_TAUNT, me);
+ Talk(YELL_INTRO_TAUNT);
IntroPhaseTimer = 5000;
++IntroPhase;
break;
@@ -316,7 +312,7 @@ public:
if (StompTimer <= diff)
{
- DoScriptText(RAND(YELL_LOVE1, YELL_LOVE2, YELL_LOVE3), me);
+ Talk(YELL_LOVE);
DoCast(me->getVictim(), SPELL_STOMP);
StompTimer = 30000;
} else StompTimer -= diff;
@@ -336,7 +332,7 @@ public:
if (BerserkTimer < diff && !Enraged)
{
- DoScriptText(YELL_BERSERK, me);
+ Talk(YELL_BERSERK);
DoCast(me, SPELL_BERSERK);
Enraged = true;
} else BerserkTimer -= diff;
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
index 95dde4f0ada..23a83a7ee8f 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
@@ -28,35 +28,27 @@ EndScriptData */
enum Quotes
{
- //Alytesh
- YELL_CANFLAGRATION = -1580044,
- YELL_SISTER_SACROLASH_DEAD = -1580045,
- YELL_ALY_KILL_1 = -1580046,
- YELL_ALY_KILL_2 = -1580047,
- YELL_ALY_DEAD = -1580048,
- YELL_BERSERK = -1580049,
-
- //Sacrolash
- YELL_SHADOW_NOVA = -1580050,
- YELL_SISTER_ALYTHESS_DEAD = -1580051,
- YELL_SAC_KILL_1 = -1580052,
- YELL_SAC_KILL_2 = -1580053,
- SAY_SAC_DEAD = -1580054,
- YELL_ENRAGE = -1580055,
-
- //Intro
- YELL_INTRO_SAC_1 = -1580056,
- YELL_INTRO_ALY_2 = -1580057,
- YELL_INTRO_SAC_3 = -1580058,
- YELL_INTRO_ALY_4 = -1580059,
- YELL_INTRO_SAC_5 = -1580060,
- YELL_INTRO_ALY_6 = -1580061,
- YELL_INTRO_SAC_7 = -1580062,
- YELL_INTRO_ALY_8 = -1580063,
-
- //Emote
- EMOTE_SHADOW_NOVA = -1580064,
- EMOTE_CONFLAGRATION = -1580065
+ YELL_INTRO_SAC_1 = 0,
+ YELL_INTRO_SAC_3 = 1,
+ YELL_INTRO_SAC_5 = 2,
+ YELL_INTRO_SAC_7 = 3,
+ YELL_SAC_DEAD = 4,
+ EMOTE_SHADOW_NOVA = 5,
+ YELL_ENRAGE = 6,
+ YELL_SISTER_ALYTHESS_DEAD = 7,
+ YELL_SAC_KILL = 8,
+ YELL_SHADOW_NOVA = 9,
+
+ YELL_INTRO_ALY_2 = 0,
+ YELL_INTRO_ALY_4 = 1,
+ YELL_INTRO_ALY_6 = 2,
+ YELL_INTRO_ALY_8 = 3,
+ EMOTE_CONFLAGRATION = 4,
+ YELL_ALY_KILL = 5,
+ YELL_ALY_DEAD = 6,
+ YELL_SISTER_SACROLASH_DEAD = 7,
+ YELL_CANFLAGRATION = 8,
+ YELL_BERSERK = 9,
};
enum Spells
@@ -165,7 +157,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
if (rand()%4 == 0)
- DoScriptText(RAND(YELL_SAC_KILL_1, YELL_SAC_KILL_2), me);
+ Talk(YELL_SAC_KILL);
}
void JustDied(Unit* /*killer*/)
@@ -173,7 +165,7 @@ public:
// only if ALY death
if (SisterDeath)
{
- DoScriptText(SAY_SAC_DEAD, me);
+ Talk(YELL_SAC_DEAD);
if (instance)
instance->SetData(DATA_EREDAR_TWINS_EVENT, DONE);
@@ -235,7 +227,7 @@ public:
Temp = Unit::GetUnit(*me, instance->GetData64(DATA_ALYTHESS));
if (Temp && Temp->isDead())
{
- DoScriptText(YELL_SISTER_ALYTHESS_DEAD, me);
+ Talk(YELL_SISTER_ALYTHESS_DEAD);
DoCast(me, SPELL_EMPOWER);
me->InterruptSpell(CURRENT_GENERIC_SPELL);
SisterDeath = true;
@@ -275,8 +267,8 @@ public:
if (!SisterDeath)
{
if (target)
- DoScriptText(EMOTE_SHADOW_NOVA, me, target);
- DoScriptText(YELL_SHADOW_NOVA, me);
+ Talk(EMOTE_SHADOW_NOVA, target->GetGUID());
+ Talk(YELL_SHADOW_NOVA);
}
ShadownovaTimer = 30000+(rand()%5000);
}
@@ -324,7 +316,7 @@ public:
if (EnrageTimer < diff && !Enraged)
{
me->InterruptSpell(CURRENT_GENERIC_SPELL);
- DoScriptText(YELL_ENRAGE, me);
+ Talk(YELL_ENRAGE);
DoCast(me, SPELL_ENRAGE);
Enraged = true;
} else EnrageTimer -= diff;
@@ -457,7 +449,7 @@ public:
{
if (rand()%4 == 0)
{
- DoScriptText(RAND(YELL_ALY_KILL_1, YELL_ALY_KILL_2), me);
+ Talk(YELL_ALY_KILL);
}
}
@@ -465,7 +457,7 @@ public:
{
if (SisterDeath)
{
- DoScriptText(YELL_ALY_DEAD, me);
+ Talk(YELL_ALY_DEAD);
if (instance)
instance->SetData(DATA_EREDAR_TWINS_EVENT, DONE);
@@ -528,24 +520,24 @@ public:
case 0: return 0;
case 1:
if (Sacrolash)
- DoScriptText(YELL_INTRO_SAC_1, Sacrolash);
+ Sacrolash->AI()->Talk(YELL_INTRO_SAC_1);
return 1000;
- case 2: DoScriptText(YELL_INTRO_ALY_2, me); return 1000;
+ case 2: Talk(YELL_INTRO_ALY_2); return 1000;
case 3:
if (Sacrolash)
- DoScriptText(YELL_INTRO_SAC_3, Sacrolash);
+ Sacrolash->AI()->Talk(YELL_INTRO_SAC_3);
return 2000;
- case 4: DoScriptText(YELL_INTRO_ALY_4, me); return 1000;
+ case 4: Talk(YELL_INTRO_ALY_4); return 1000;
case 5:
if (Sacrolash)
- DoScriptText(YELL_INTRO_SAC_5, Sacrolash);
+ Sacrolash->AI()->Talk(YELL_INTRO_SAC_5);
return 2000;
- case 6: DoScriptText(YELL_INTRO_ALY_6, me); return 1000;
+ case 6: Talk(YELL_INTRO_ALY_6); return 1000;
case 7:
if (Sacrolash)
- DoScriptText(YELL_INTRO_SAC_7, Sacrolash);
+ Sacrolash->AI()->Talk(YELL_INTRO_SAC_7);
return 3000;
- case 8: DoScriptText(YELL_INTRO_ALY_8, me); return 900000;
+ case 8: Talk(YELL_INTRO_ALY_8); return 900000;
}
return 10000;
}
@@ -568,7 +560,7 @@ public:
Temp = Unit::GetUnit(*me, instance->GetData64(DATA_SACROLASH));
if (Temp && Temp->isDead())
{
- DoScriptText(YELL_SISTER_SACROLASH_DEAD, me);
+ Talk(YELL_SISTER_SACROLASH_DEAD);
DoCast(me, SPELL_EMPOWER);
me->InterruptSpell(CURRENT_GENERIC_SPELL);
SisterDeath = true;
@@ -622,8 +614,8 @@ public:
if (!SisterDeath)
{
if (target)
- DoScriptText(EMOTE_CONFLAGRATION, me, target);
- DoScriptText(YELL_CANFLAGRATION, me);
+ Talk(EMOTE_CONFLAGRATION, target->GetGUID());
+ Talk(YELL_CANFLAGRATION);
}
BlazeTimer = 4000;
@@ -661,7 +653,7 @@ public:
if (EnrageTimer < diff && !Enraged)
{
me->InterruptSpell(CURRENT_GENERIC_SPELL);
- DoScriptText(YELL_BERSERK, me);
+ Talk(YELL_BERSERK);
DoCast(me, SPELL_ENRAGE);
Enraged = true;
} else EnrageTimer -= diff;
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
index bc841d76714..89f541304cd 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
@@ -31,14 +31,13 @@ EndScriptData */
enum Yells
{
- YELL_BIRTH = -1580036,
- YELL_KILL1 = -1580037,
- YELL_KILL2 = -1580038,
- YELL_BREATH = -1580039,
- YELL_TAKEOFF = -1580040,
- YELL_BERSERK = -1580041,
- YELL_DEATH = -1580042,
- YELL_KALECGOS = -1580043, // after felmyst's death spawned and say this
+ YELL_BIRTH = 0,
+ YELL_KILL1 = 1,
+ YELL_BREATH = 2,
+ YELL_TAKEOFF = 3,
+ YELL_BERSERK = 4,
+ YELL_DEATH = 5,
+ //YELL_KALECGOS = 6, Not used. After felmyst's death spawned and say this
};
enum Spells
@@ -181,17 +180,17 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(YELL_KILL1, YELL_KILL2), me);
+ Talk(YELL_KILL);
}
void JustRespawned()
{
- DoScriptText(YELL_BIRTH, me);
+ Talk(YELL_BIRTH);
}
void JustDied(Unit* /*killer*/)
{
- DoScriptText(YELL_DEATH, me);
+ Talk(YELL_DEATH);
if (instance)
instance->SetData(DATA_FELMYST_EVENT, DONE);
@@ -279,7 +278,7 @@ public:
me->GetMotionMaster()->Clear(false);
me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
me->StopMoving();
- DoScriptText(YELL_TAKEOFF, me);
+ Talk(YELL_TAKEOFF);
events.ScheduleEvent(EVENT_FLIGHT_SEQUENCE, 2000);
break;
case 1:
@@ -424,7 +423,7 @@ public:
switch (events.ExecuteEvent())
{
case EVENT_BERSERK:
- DoScriptText(YELL_BERSERK, me);
+ Talk(YELL_BERSERK);
DoCast(me, SPELL_BERSERK, true);
events.ScheduleEvent(EVENT_BERSERK, 10000);
break;
@@ -459,7 +458,7 @@ public:
switch (events.ExecuteEvent())
{
case EVENT_BERSERK:
- DoScriptText(YELL_BERSERK, me);
+ Talk(YELL_BERSERK);
DoCast(me, SPELL_BERSERK, true);
break;
case EVENT_FLIGHT_SEQUENCE:
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
index ce8338e2b2d..c2552963b0e 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
@@ -33,46 +33,34 @@ EndScriptData */
/*** Speech and sounds***/
enum Yells
{
- // These are used throughout Sunwell and Magisters(?). Players can hear this while running through the instances.
- SAY_KJ_OFFCOMBAT1 = -1580066,
- SAY_KJ_OFFCOMBAT2 = -1580067,
- SAY_KJ_OFFCOMBAT3 = -1580068,
- SAY_KJ_OFFCOMBAT4 = -1580069,
- SAY_KJ_OFFCOMBAT5 = -1580070,
-
- // Encounter speech and sounds
- SAY_KJ_EMERGE = -1580071,
- SAY_KJ_SLAY1 = -1580072,
- SAY_KJ_SLAY2 = -1580073,
- SAY_KJ_REFLECTION1 = -1580074,
- SAY_KJ_REFLECTION2 = -1580075,
- SAY_KJ_DARKNESS1 = -1580076,
- SAY_KJ_DARKNESS2 = -1580077,
- SAY_KJ_DARKNESS3 = -1580078,
- SAY_KJ_PHASE3 = -1580079,
- SAY_KJ_PHASE4 = -1580080,
- SAY_KJ_PHASE5 = -1580081,
- SAY_KJ_DEATH = -1580093,
- EMOTE_KJ_DARKNESS = -1580094,
-
- /*** Kalecgos - Anveena speech at the beginning of Phase 5; Anveena's sacrifice ***/
- SAY_KALECGOS_AWAKEN = -1580082,
- SAY_ANVEENA_IMPRISONED = -1580083,
- SAY_KALECGOS_LETGO = -1580084,
- SAY_ANVEENA_LOST = -1580085,
- SAY_KALECGOS_FOCUS = -1580086,
- SAY_ANVEENA_KALEC = -1580087,
- SAY_KALECGOS_FATE = -1580088,
- SAY_ANVEENA_GOODBYE = -1580089,
- SAY_KALECGOS_GOODBYE = -1580090,
- SAY_KALECGOS_ENCOURAGE = -1580091,
-
- /*** Kalecgos says throughout the fight ***/
- SAY_KALECGOS_JOIN = -1580092,
- SAY_KALEC_ORB_READY1 = -1580095,
- SAY_KALEC_ORB_READY2 = -1580096,
- SAY_KALEC_ORB_READY3 = -1580097,
- SAY_KALEC_ORB_READY4 = -1580098
+ SAY_KJ_OFFCOMBAT = 0,
+
+ SAY_KALECGOS_ENCOURAGE = 0,
+ SAY_KALECGOS_READY1 = 1,
+ SAY_KALECGOS_READY2 = 2,
+ SAY_KALECGOS_READY3 = 3,
+ SAY_KALECGOS_READY4 = 4,
+ SAY_KALECGOS_AWAKEN = 5,
+ SAY_KALECGOS_LETGO = 6,
+ SAY_KALECGOS_FOCUS = 7,
+ SAY_KALECGOS_FATE = 8,
+ SAY_KALECGOS_GOODBYE = 9,
+ SAY_KALECGOS_JOIN = 10,
+
+ SAY_KJ_DEATH = 0,
+ SAY_KJ_SLAY = 1,
+ SAY_KJ_REFLECTION = 2,
+ SAY_KJ_EMERGE = 3,
+ SAY_KJ_DARKNESS = 4,
+ SAY_KJ_PHASE3 = 5,
+ SAY_KJ_PHASE4 = 6,
+ SAY_KJ_PHASE5 = 7,
+ EMOTE_KJ_DARKNESS = 8,
+
+ SAY_ANVEENA_IMPRISONED = 0,
+ SAY_ANVEENA_LOST = 1,
+ SAY_ANVEENA_KALEC = 2,
+ SAY_ANVEENA_GOODBYE = 3,
};
/*** Spells used during the encounter ***/
@@ -322,7 +310,7 @@ public:
pOrb->Refresh();
}
}
- DoScriptText(SAY_KALECGOS_ENCOURAGE, me);
+ Talk(SAY_KALECGOS_ENCOURAGE);
}
else
{
@@ -338,10 +326,10 @@ public:
++EmpowerCount;
switch (EmpowerCount)
{
- case 1: DoScriptText(SAY_KALEC_ORB_READY1, me); break;
- case 2: DoScriptText(SAY_KALEC_ORB_READY2, me); break;
- case 3: DoScriptText(SAY_KALEC_ORB_READY3, me); break;
- case 4: DoScriptText(SAY_KALEC_ORB_READY4, me); break;
+ case 1: Talk(SAY_KALECGOS_READY1); break;
+ case 2: Talk(SAY_KALECGOS_READY2); break;
+ case 3: Talk(SAY_KALECGOS_READY3); break;
+ case 4: Talk(SAY_KALECGOS_READY4); break;
}
}
}
@@ -469,7 +457,7 @@ public:
if (uiRandomSayTimer < diff)
{
if (instance && instance->GetData(DATA_MURU_EVENT) != DONE && instance->GetData(DATA_KILJAEDEN_EVENT) == NOT_STARTED)
- DoScriptText(RAND(SAY_KJ_OFFCOMBAT1, SAY_KJ_OFFCOMBAT2, SAY_KJ_OFFCOMBAT3, SAY_KJ_OFFCOMBAT4, SAY_KJ_OFFCOMBAT5), me);
+ Talk(SAY_KJ_OFFCOMBAT);
uiRandomSayTimer = 30000;
} else uiRandomSayTimer -= diff;
@@ -613,7 +601,7 @@ public:
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_KJ_DEATH, me);
+ Talk(SAY_KJ_DEATH);
summons.DespawnAll();
if (instance)
@@ -622,7 +610,7 @@ public:
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_KJ_SLAY1, SAY_KJ_SLAY2), me);
+ Talk(SAY_KJ_SLAY);
}
void EnterEvadeMode()
@@ -657,7 +645,7 @@ public:
void CastSinisterReflection()
{
- DoScriptText(RAND(SAY_KJ_REFLECTION1, SAY_KJ_REFLECTION2), me);
+ Talk(SAY_KJ_REFLECTION);
for (uint8 i = 0; i < 4; ++i)
{
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true, -SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT))
@@ -717,8 +705,8 @@ public:
{
SpeechTimer = 0;
if (instance)
- if (Creature* pSpeechCreature = Unit::GetCreature(*me, instance->GetData64(Speeches[speechCount].creature)))
- DoScriptText(Speeches[speechCount].textid, pSpeechCreature);
+ if (Creature* speechCreature = Unit::GetCreature(*me, instance->GetData64(Speeches[speechCount].creature)))
+ speechCreature->AI()->Talk(Speeches[speechCount].textid);
if (speechCount == 12)
if (Creature* pAnveena = Unit::GetCreature(*me, instance->GetData64(DATA_ANVEENA)))
pAnveena->CastSpell(me, SPELL_SACRIFICE_OF_ANVEENA, false);
@@ -799,7 +787,7 @@ public:
// Begins to channel for 8 seconds, then deals 50'000 damage to all raid members.
if (!IsInDarkness)
{
- DoScriptText(EMOTE_KJ_DARKNESS, me);
+ Talk(EMOTE_KJ_DARKNESS);
DoCastAOE(SPELL_DARKNESS_OF_A_THOUSAND_SOULS, false);
ChangeTimers(true, 9000);
Timer[TIMER_DARKNESS] = 8750;
@@ -813,7 +801,7 @@ public:
Timer[TIMER_DARKNESS] = (Phase == PHASE_SACRIFICE) ? 15000 : urand(40000, 70000);
IsInDarkness = false;
DoCastAOE(SPELL_DARKNESS_OF_A_THOUSAND_SOULS_DAMAGE);
- DoScriptText(RAND(SAY_KJ_DARKNESS1, SAY_KJ_DARKNESS2, SAY_KJ_DARKNESS3), me);
+ Talk(SAY_KJ_DARKNESS);
}
Timer[TIMER_SOUL_FLAY] = 9000;
}
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
index 8a102757036..ed10dec97dd 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
@@ -31,16 +31,15 @@ EndScriptData */
enum eEnums
{
- SAY_AGGRO = -1568000,
- SAY_FIRE_BOMBS = -1568001,
- SAY_SUMMON_HATCHER = -1568002,
- SAY_ALL_EGGS = -1568003,
- SAY_BERSERK = -1568004,
- SAY_SLAY_1 = -1568005,
- SAY_SLAY_2 = -1568006,
- SAY_DEATH = -1568007,
- SAY_EVENT_STRANGERS = -1568008,
- SAY_EVENT_FRIENDS = -1568009,
+ SAY_AGGRO = 0,
+ SAY_FIRE_BOMBS = 1,
+ SAY_SUMMON_HATCHER = 2,
+ SAY_ALL_EGGS = 3,
+ SAY_BERSERK = 4,
+ SAY_SLAY = 5,
+ SAY_DEATH = 6,
+ SAY_EVENT_STRANGERS = 7,
+ SAY_EVENT_FRIENDS = 8,
// Jan'alai
SPELL_FLAME_BREATH = 43140,
@@ -163,7 +162,7 @@ class boss_janalai : public CreatureScript
void JustDied(Unit* /*killer*/)
{
- DoScriptText(SAY_DEATH, me);
+ Talk(SAY_DEATH);
if (instance)
instance->SetData(DATA_JANALAIEVENT, DONE);
@@ -171,7 +170,7 @@ class boss_janalai : public CreatureScript
void KilledUnit(Unit* /*victim*/)
{
- DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
+ Talk(SAY_SLAY);
}
void EnterCombat(Unit* /*who*/)
@@ -179,7 +178,7 @@ class boss_janalai : public CreatureScript
if (instance)
instance->SetData(DATA_JANALAIEVENT, IN_PROGRESS);
- DoScriptText(SAY_AGGRO, me);
+ Talk(SAY_AGGRO);
// DoZoneInCombat();
}
@@ -352,7 +351,7 @@ class boss_janalai : public CreatureScript
}
else
{
- DoScriptText(SAY_BERSERK, me);
+ Talk(SAY_BERSERK);
DoCast(me, SPELL_BERSERK, true);
EnrageTimer = 300000;
}
@@ -360,7 +359,7 @@ class boss_janalai : public CreatureScript
if (BombTimer <= diff)
{
- DoScriptText(SAY_FIRE_BOMBS, me);
+ Talk(SAY_FIRE_BOMBS);
me->AttackStop();
me->GetMotionMaster()->Clear();
@@ -393,7 +392,7 @@ class boss_janalai : public CreatureScript
{
if (HealthBelowPct(35))
{
- DoScriptText(SAY_ALL_EGGS, me);
+ Talk(SAY_ALL_EGGS);
me->AttackStop();
me->GetMotionMaster()->Clear();
@@ -407,7 +406,7 @@ class boss_janalai : public CreatureScript
{
if (HatchAllEggs(0))
{
- DoScriptText(SAY_SUMMON_HATCHER, me);
+ Talk(SAY_SUMMON_HATCHER);
me->SummonCreature(MOB_AMANI_HATCHER, hatcherway[0][0][0], hatcherway[0][0][1], hatcherway[0][0][2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
me->SummonCreature(MOB_AMANI_HATCHER, hatcherway[1][0][0], hatcherway[1][0][1], hatcherway[1][0][2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
HatcherTimer = 90000;
diff --git a/src/server/scripts/EasternKingdoms/hinterlands.cpp b/src/server/scripts/EasternKingdoms/hinterlands.cpp
index fc7f52ae9b5..544ea0fd175 100644
--- a/src/server/scripts/EasternKingdoms/hinterlands.cpp
+++ b/src/server/scripts/EasternKingdoms/hinterlands.cpp
@@ -39,11 +39,11 @@ EndContentData */
enum eOOX
{
- SAY_OOX_START = -1000287,
- SAY_OOX_AGGRO1 = -1000288,
- SAY_OOX_AGGRO2 = -1000289,
- SAY_OOX_AMBUSH = -1000290,
- SAY_OOX_END = -1000292,
+ SAY_OOX_START = 0,
+ SAY_OOX_AGGRO = 1,
+ SAY_OOX_AMBUSH = 3,
+ SAY_OOX_AMBUSH_REPLY = 4,
+ SAY_OOX_END = 5,
QUEST_RESQUE_OOX_09 = 836,
@@ -70,7 +70,7 @@ public:
else if (player->GetTeam() == HORDE)
creature->setFaction(FACTION_ESCORTEE_H);
- DoScriptText(SAY_OOX_START, creature, player);
+ creature->AI()->Talk(SAY_OOX_START, player->GetGUID());
if (npc_00x09hlAI* pEscortAI = CAST_AI(npc_00x09hl::npc_00x09hlAI, creature->AI()))
pEscortAI->Start(false, false, player->GetGUID(), quest);
@@ -94,13 +94,13 @@ public:
switch (waypointId)
{
case 26:
- DoScriptText(SAY_OOX_AMBUSH, me);
+ Talk(SAY_OOX_AMBUSH);
break;
case 43:
- DoScriptText(SAY_OOX_AMBUSH, me);
+ Talk(SAY_OOX_AMBUSH);
break;
case 64:
- DoScriptText(SAY_OOX_END, me);
+ Talk(SAY_OOX_END);
if (Player* player = GetPlayerForEscort())
player->GroupEventHappens(QUEST_RESQUE_OOX_09, me);
break;
@@ -137,10 +137,7 @@ public:
if (who->GetEntry() == NPC_MARAUDING_OWL || who->GetEntry() == NPC_VILE_AMBUSHER)
return;
- if (rand()%1)
- DoScriptText(SAY_OOX_AGGRO1, me);
- else
- DoScriptText(SAY_OOX_AGGRO2, me);
+ Talk(SAY_OOX_AGGRO);
}
void JustSummoned(Creature* summoned)
@@ -156,13 +153,13 @@ public:
enum eRinji
{
- SAY_RIN_FREE = -1000403, //from here
- SAY_RIN_BY_OUTRUNNER = -1000404,
- SAY_RIN_HELP_1 = -1000405,
- SAY_RIN_HELP_2 = -1000406, //to here, are used also by 6182 but this is wrong...
- SAY_RIN_COMPLETE = -1000407,
- SAY_RIN_PROGRESS_1 = -1000408,
- SAY_RIN_PROGRESS_2 = -1000409,
+ SAY_RIN_BY_OUTRUNNER = 0,
+
+ SAY_RIN_FREE = 0, //from here
+ SAY_RIN_HELP = 1,
+ SAY_RIN_COMPLETE = 2,
+ SAY_RIN_PROGRESS_1 = 3,
+ SAY_RIN_PROGRESS_2 = 4,
QUEST_RINJI_TRAPPED = 2742,
NPC_RANGER = 2694,
@@ -243,7 +240,8 @@ public:
{
if (who->GetEntry() == NPC_OUTRUNNER && !m_bIsByOutrunner)
{
- DoScriptText(SAY_RIN_BY_OUTRUNNER, who);
+ if (Creature* talker = who->ToCreature())
+ talker->AI()->Talk(SAY_RIN_BY_OUTRUNNER);
m_bIsByOutrunner = true;
}
@@ -251,7 +249,7 @@ public:
return;
//only if attacked and escorter is not in combat?
- DoScriptText(RAND(SAY_RIN_HELP_1, SAY_RIN_HELP_2), me);
+ Talk(SAY_RIN_HELP);
}
}
@@ -287,7 +285,7 @@ public:
switch (waypointId)
{
case 1:
- DoScriptText(SAY_RIN_FREE, me, player);
+ Talk(SAY_RIN_FREE, player->GetGUID());
break;
case 7:
DoSpawnAmbush(true);
@@ -296,7 +294,7 @@ public:
DoSpawnAmbush(false);
break;
case 17:
- DoScriptText(SAY_RIN_COMPLETE, me, player);
+ Talk(SAY_RIN_COMPLETE, player->GetGUID());
player->GroupEventHappens(QUEST_RINJI_TRAPPED, me);
SetRun();
m_uiPostEventCount = 1;
@@ -320,11 +318,11 @@ public:
switch (m_uiPostEventCount)
{
case 1:
- DoScriptText(SAY_RIN_PROGRESS_1, me, player);
+ Talk(SAY_RIN_PROGRESS_1, player->GetGUID());
++m_uiPostEventCount;
break;
case 2:
- DoScriptText(SAY_RIN_PROGRESS_2, me, player);
+ Talk(SAY_RIN_PROGRESS_2, player->GetGUID());
m_uiPostEventCount = 0;
break;
}