aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2012_11_16_03_world_creature_text.sql287
-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
23 files changed, 838 insertions, 523 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
new file mode 100644
index 00000000000..c84f25b97b9
--- /dev/null
+++ b/sql/updates/world/2012_11_16_03_world_creature_text.sql
@@ -0,0 +1,287 @@
+-- Undercity
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000197 AND -1000196;
+DELETE FROM `creature_text` WHERE `entry`=10181;
+INSERT INTO `creature_text`(`entry`,`groupid`,`text`,`type`,`probability`,`comment`) VALUES
+(10181,0,'%s kneels down and pick up the amulet.',16,100,'npc_lady_sylvanas_windrunner EMOTE_LAMENT_END'),
+(10181,1,'Belore...',14,100,'npc_lady_sylvanas_windrunner SAY_LAMENT_END');
+
+-- Ironaya
+DELETE FROM `script_texts` WHERE `entry`=-1070000;
+DELETE FROM `creature_text` WHERE `entry`=7228;
+INSERT INTO `creature_text`(`entry`,`groupid`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(7228,0,'None may steal the secrets of the makers!',14,5851,100,'ironaya SAY_AGGRO');
+
+-- Opera
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532028 AND -1532025;
+DELETE FROM `creature_text` WHERE `entry`=17535;
+INSERT INTO `creature_text`(`entry`,`groupid`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(17535,0,'Oh at last, at last. I can go home.',14,9190,100,'dorothee SAY_DOROTHEE_DEATH'),
+(17535,1,"Don't let them hurt us, Tito! Oh, you won't, will you?",14,9191,100,'dorothee SAY_DOROTHEE_SUMMON'),
+(17535,2,'Tito, oh Tito, no!',14,9192,100,'dorothee SAY_DOROTHEE_TITO_DEATH'),
+(17535,3,'Oh dear, we simply must find a way home! The old wizard could be our only hope! Strawman, Roar, Tinhead, will you... wait! Oh golly, look! We have visitors!',14,9195,100,'dorothee SAY_DOROTHEE_AGGRO');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532031 AND -1532029;
+DELETE FROM `creature_text` WHERE `entry`=17546;
+INSERT INTO `creature_text`(`entry`,`groupid`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(17546,0,"Wanna fight? Huh? Do ya? C'mon, I'll fight you with both claws behind my back!",14,9227,100,'roar SAY_ROAR_AGGRO'),
+(17546,1,"You didn't have to go and do that.",14,9229,100,'roar SAY_ROAR_DEATH'),
+(17546,2,"I think I'm going to go take fourty winks.",14,9230,100,'roar SAY_ROAR_SLAY');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532034 AND -1532032;
+DELETE FROM `creature_text` WHERE `entry`=17543;
+INSERT INTO `creature_text`(`entry`,`groupid`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(17543,0,"Now what should I do with you? I simply can't make up my mind.",14,9254,100,'strawman SAY_STRAWMAN_AGGRO'),
+(17543,1,"Don't let them make a mattress... out of me.",14,9256,100,'strawman SAY_STRAWMAN_DEATH'),
+(17543,2,"I guess I'm not a failure after all.",14,9257,100,'strawman SAY_STRAWMAN_SLAY');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532038 AND -1532035;
+DELETE FROM `creature_text` WHERE `entry`=17547;
+INSERT INTO `creature_text`(`entry`,`groupid`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(17547,0,"I could really use a heart. Say, can I have yours?",14,9268,100,'tinhead SAY_TINHEAD_AGGRO'),
+(17547,1,"Back to being an old rustbucket.",14,9270,100,'tinhead SAY_TINHEAD_DEATH'),
+(17547,2,"Guess I'm not so rusty, after all.",14,9271,100,'tinhead SAY_TINHEAD_SLAY'),
+(17547,3,"%s begins to rust.",16,0,100,'tinhead EMOTE_RUST');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532042 AND -1532039;
+DELETE FROM `creature_text` WHERE `entry`=18168;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(18168,0,0,"Woe to each and every one of you my pretties! <cackles>",14,9179,100,'crone SAY_CRONE_AGGRO'),
+(18168,0,1,"It will all be over soon! <cackles>",14,9307,100,'crone SAY_CRONE_AGGRO2'),
+(18168,1,0,"How could you? What a cruel, cruel world!",14,9178,100,'crone SAY_CRONE_DEATH'),
+(18168,2,0,"Fixed you, didn't I? <cackles>",14,9180,100,'crone SAY_CRONE_SLAY');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532045 AND -1532043;
+DELETE FROM `creature_text` WHERE `entry`=17521;
+INSERT INTO `creature_text`(`entry`,`groupid`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(17521,0,"All the better to own you with!",14,9276,100,'wolf SAY_WOLF_AGGRO'),
+(17521,1,"Mmmm... delicious.",14,9277,100,'SAY_WOLF_SLAY'),
+(17521,2,"Run away little girl, run away!",14,9278,100,'SAY_WOLF_HOOD');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532051 AND -1532046;
+DELETE FROM `creature_text` WHERE `entry`=17534;
+INSERT INTO `creature_text`(`entry`,`groupid`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(17534,0,"What devil art thou, that dost torment me thus?",14,9196,100,'julianne SAY_JULIANNE_AGGRO'),
+(17534,1,"Where is my lord? Where is my Romulo?",14,9199,100,'julianne SAY_JULIANNE_ENTER'),
+(17534,2,"Romulo, I come! Oh... this do I drink to thee!",14,9199,100,'julianne SAY_JULIANNE_DEATH01'),
+(17534,3,"Where is my Lord? Where is my Romulo? Ohh, happy dagger! This is thy sheath! There rust, and let me die!",14,9310,100,'julianne SAY_JULIANNE_DEATH02'),
+(17534,4,"Come, gentle night; and give me back my Romulo!",14,9200,100,'julianne SAY_JULIANNE_RESURRECT'),
+(17534,5,"Parting is such sweet sorrow.",14,9201,100,'julianne SAY_JULIANNE_SLAY');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532056 AND -1532052;
+DELETE FROM `creature_text` WHERE `entry`=17533;
+INSERT INTO `creature_text`(`entry`,`groupid`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(17533,0,"Wilt thou provoke me? Then have at thee, boy!",14,9233,100,'romulo SAY_ROMULO_AGGRO'),
+(17533,1,"Thou smilest... upon the stroke that... murders me.",14,9235,100,'romulo SAY_ROMULO_DEATH'),
+(17533,2,"This day's black fate on more days doth depend. This but begins the woe. Others must end.",14,9236,100,'romulo SAY_ROMULO_ENTER'),
+(17533,3,"Thou detestable maw, thou womb of death; I enforce thy rotten jaws to open!",14,9237,100,'romulo SAY_ROMULO_RESURRECT'),
+(17533,4,"How well my comfort is revived by this!",14,9238,100,'romulo SAY_ROMULO_SLAY');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532114 AND -1532103;
+DELETE FROM `creature_text` WHERE `entry`=16812;
+INSERT INTO `creature_text`(`entry`,`groupid`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(16812,0,"Welcome Ladies and Gentlemen, to this evening's presentation!",14,9174,100,'barnes OZ1'),
+(16812,1,"Tonight we plumb the depths of the human soul as we join a lost, lonely girl trying desperately -- with the help of her loyal companions -- to find her way home!",14,9338,100,'barnes OZ2'),
+(16812,2,"But she is pursued... by a wicked malevolent crone!",14,9339,100,'barnes OZ3'),
+(16812,3,"Will she survive? Will she prevail? Only time will tell. And now ... on with the show!",14,9340,100,'barnes OZ4'),
+(16812,4,"Good evening, Ladies and Gentlemen! Welcome to this evening's presentation!",14,9175,100,'barnes HOOD1'),
+(16812,5,"Tonight, things are not what they seem. For tonight, your eyes may not be trusted",14,9335,100,'barnes HOOD2'),
+(16812,6,"Take for instance, this quiet, elderly woman, waiting for a visit from her granddaughter. Surely there is nothing to fear from this sweet, grey-haired, old lady.",14,9336,100,'barnes HOOD3'),
+(16812,7,"But don't let me pull the wool over your eyes. See for yourself what lies beneath those covers! And now... on with the show!",14,9337,100,'barnes HOOD4'),
+(16812,8,"Welcome, Ladies and Gentlemen, to this evening's presentation!",14,9176,100,'barnes RAJ1'),
+(16812,9,"Tonight, we explore a tale of forbidden love!",14,9341,100,'barnes RAJ2'),
+(16812,10,"But beware, for not all love stories end happily, as you may find out. Sometimes, love pricks like a thorn.",14,9342,100,'barnes RAJ3'),
+(16812,11,"But don't take it from me, see for yourself what tragedy lies ahead when the paths of star-crossed lovers meet. And now...on with the show!",14,9343,100,'barnes RAJ4');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532102 AND -1532091;
+DELETE FROM `creature_text` WHERE `entry`=15690;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(15690,0,0,"Madness has brought you here to me. I shall be your undoing!",14,9218,100,'malchezaar SAY_AGGRO'),
+(15690,1,0,"Simple fools! Time is the fire in which you'll burn!",14,9220,100,'malchezaar SAY_AXE_TOSS1'),
+(15690,2,0,"I see the subtlety of conception is beyond primitives such as you.",14,9317,100,'malchezaar SAY_AXE_TOSS2'),
+(15690,3,0,"Who knows what secrets hide in the dark.",14,9223,100,'malchezaar SAY_SPECIAL1'),
+(15690,4,0,"The cerestial forces are mine to manipulate.",14,9320,100,'malchezaar SAY_SPECIAL2'),
+(15690,5,0,"How can you hope to withstand against such overwhelming power?",14,9321,100,'malchezaar SAY_SPECIAL3'),
+(15690,6,0,"Surely you did not think you could win.",14,9222,100,'malchezaar SAY_SLAY1'),
+(15690,6,1,"Your greed, your foolishness has brought you to this end.",14,9318,100,'malchezaar SAY_SLAY2'),
+(15690,6,2,"You are, but a plaything, unfit even to amuse.",14,9319,100,'malchezaar SAY_SLAY3'),
+(15690,7,0,"All realities, all dimensions are open to me!",14,9224,100,'malchezaar SAY_SUMMON1'),
+(15690,7,1,"You face not Malchezaar alone, but the legions I command!",14,9322,100,'malchezaar SAY_SUMMON2'),
+(15690,8,0,"I refuse to concede defeat. I am a prince of the Eredar! I am...",14,9221,100,'malchezaar SAY_DEATH');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532088 AND -1532073;
+DELETE FROM `creature_text` WHERE `entry`=16524;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(16524,0,0,"Please, no more. My son... he's gone mad!",14,9241,100,'aran SAY_AGGRO1'),
+(16524,0,1,"I'll not be tortured again!",14,9323,100,'aran SAY_AGGRO2'),
+(16524,0,2,"Who are you? What do you want? Stay away from me!",14,9324,100,'aran SAY_AGGRO3'),
+(16524,1,0,"I'll show you this beaten dog still has some teeth!",14,9245,100,'aran SAY_FLAMEWREATH1'),
+(16524,1,1,"Burn you hellish fiends!",14,9326,100,'aran SAY_FLAMEWREATH2'),
+(16524,2,0,"I'll freeze you all!",14,9246,100,'aran SAY_BLIZZARD1'),
+(16524,2,1,"Back to the cold dark with you!",14,9327,100,'aran SAY_BLIZZARD2'),
+(16524,3,0,"Yes, yes, my son is quite powerful... but I have powers of my own!",14,9242,100,'aran SAY_EXPLOSION1'),
+(16524,3,1,"I am not some simple jester! I am Nielas Aran!",14,9325,100,'aran SAY_EXPLOSION2'),
+(16524,4,0,"Surely you would not deny an old man a replenishing drink? No, no I thought not.",14,9248,100,'aran SAY_DRINK'),
+(16524,5,0,"I'm not finished yet! No, I have a few more tricks up me sleeve.",14,9251,100,'aran SAY_ELEMENTALS'),
+(16524,6,0,"I want this nightmare to be over!",14,9250,100,'aran SAY_KILL1'),
+(16524,6,1,"Torment me no more!",14,9328,100,'aran SAY_KILL2'),
+(16524,7,0,"You've wasted enough of my time. Let these games be finished!",14,9247,100,'aran SAY_TIMEOVER'),
+(16524,8,0,"At last... The nightmare is.. over...",14,9244,100,'aran SAY_DEATH'),
+(16524,9,0,"Where did you get that?! Did HE send you?!",14,9249,100,'aran SAY_ATIESH');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532072 AND -1532065;
+DELETE FROM `creature_text` WHERE `entry`=15688;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(15688,0,0,"Your blood will anoint my circle.",14,9264,100,'terestian SAY_SLAY1'),
+(15688,0,1,"The great one will be pleased.",14,9329,100,'terestian SAY_SLAY2'),
+(15688,1,0,"My life, is yours. Oh great one.",14,9262,100,'terestian SAY_DEATH'),
+(15688,2,0,"Ah, you're just in time. The rituals are about to begin.",14,9260,100,'terestian SAY_AGGRO'),
+(15688,3,0,"Please, accept this humble offering, oh great one.",14,9263,100,'terestian SAY_SACRIFICE1'),
+(15688,3,1,"Let the sacrifice serve his testament to my fealty.",14,9330,100,'terestian SAY_SACRIFICE2'),
+(15688,4,0,"Come, you dwellers in the dark. Rally to my call!",14,9265,100,'terestian SAY_SUMMON1'),
+(15688,4,1,"Gather, my pets. There is plenty for all.",14,9331,100,'terestian SAY_SUMMON2');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532017 AND -1532011;
+DELETE FROM `creature_text` WHERE `entry`=15687;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(15687,0,0,"Hmm, unannounced visitors? Preparations must be made.",14,9211,100,'moroes SAY_AGGRO'),
+(15687,1,0,"Now, where was I? Oh yes...",14,9215,100,'moroes SAY_SPECIAL_1'),
+(15687,1,1,"You rang?",14,9316,100,'moroes SAY_SPECIAL_2'),
+(15687,2,0,"One more for dinner this evening.",14,9214,100,'moroes SAY_KILL_1'),
+(15687,2,1,"Time... Never enough time.",14,9314,100,'moroes SAY_KILL_2'),
+(15687,2,2,"I've gone and made a mess.",14,9315,100,'moroes SAY_KILL_3'),
+(15687,3,0,"How terribly clumsy of me...",14,9213,100,'moroes SAY_DEATH');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532064 AND -1532057;
+DELETE FROM `creature_text` WHERE `entry`=15691;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(15691,0,0,"The Menagerie is for guests only.",14,9183,100,'curator SAY_AGGRO'),
+(15691,1,0,"Gallery rules will be strictly enforced.",14,9188,100,'curator SAY_SUMMON1'),
+(15691,1,1,"This curator is equipped for gallery protection.",14,9309,100,'curator SAY_SUMMON2'),
+(15691,2,0,"Your request cannot be processed.",14,9186,100,'curator SAY_EVOCATE'),
+(15691,3,0,"Failure to comply will result in offensive action.",14,9185,100,'curator SAY_ENRAGE'),
+(15691,4,0,"Do not touch the displays.",14,9187,100,'curator SAY_KILL1'),
+(15691,4,1,"You are not a guest.",14,9308,100,'curator SAY_KILL2'),
+(15691,5,0,"This Curator is no longer op... er... ation... al.",14,9184,100,'curator SAY_DEATH');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532010 AND -1532000;
+DELETE FROM `creature_text` WHERE `entry`=16151;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(16151,0,0,"Well done Midnight!",14,9173,100,'attumen SAY_MIDNIGHT_KILL'),
+(16151,1,0,"Cowards! Wretches!",14,9167,100,'attumen SAY_APPEAR1'),
+(16151,1,1,"Who dares attack the steed of the Huntsman?",14,9298,100,'attumen SAY_APPEAR2'),
+(16151,1,2,"Perhaps you would rather test yourselves against a more formidable opponent?!",14,9299,100,'attumen SAY_APPEAR3'),
+(16151,2,0,"Come, Midnight, let's disperse this petty rabble!",14,9168,100,'attumen SAY_MOUNT'),
+(16151,3,0,"It was... inevitable.",14,9169,100,'attumen SAY_KILL1'),
+(16151,3,1,"Another trophy to add to my collection!",14,9300,100,'attumen SAY_KILL2'),
+(16151,4,0,"Weapons are merely a convenience for a warrior of my skill!",14,9166,100,'attumen SAY_DISARMED'),
+(16151,5,0,"I always knew... someday I would become... the hunted.",14,9165,100,'attumen SAY_DEATH'),
+(16151,6,0,"Such easy sport.",14,9170,100,'attumen SAY_RANDOM1'),
+(16151,6,1,"Amateurs! Do not think you can best me! I kill for a living.",14,9304,100,'attumen SAY_RANDOM2');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1532024 AND -1532018;
+DELETE FROM `creature_text` WHERE `entry`=16457;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(16457,0,0,"Your behavior will not be tolerated!",14,9204,100,'maiden SAY_AGGRO'),
+(16457,1,0,"Ah ah ah...",14,9207,100,'maiden SAY_SLAY1'),
+(16457,1,1,"This is for the best.",14,9312,100,'maiden SAY_SLAY2'),
+(16457,1,2,"Impure thoughts lead to profane actions.",14,9311,100,'maiden SAY_SLAY3'),
+(16457,2,0,"Cast out your corrupt thoughts.",14,9313,100,'maiden SAY_REPENTANCE1'),
+(16457,2,1,"Your impurity must be cleansed.",14,9208,100,'maiden SAY_REPENTANCE2'),
+(16457,3,0,"Death comes. Will your conscience be clear?",14,9206,100,'maiden SAY_DEATH');
+
+DELETE FROM `script_texts` WHERE `entry`=-1189021;
+DELETE FROM `creature_text` WHERE `entry`=3974;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(3974,0,0,"Release the hounds!",14,5841,100,'loksey SAY_AGGRO');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1189007 AND -1189001;
+DELETE FROM `creature_text` WHERE `entry` IN (15688,23775);
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(23775,0,0,"Hah, is that all?",14,5831,100,'headless horseman SAY_LOST_HEAD'),
+(23775,1,0,"Unworthy!",14,5836,100,'headless horseman SAY_PLAYER_DEATH'),
+(23682,0,0,"Blades of Light!",14,5832,100,'headless horseman SAY_ENTRANCE'),
+(23682,1,0,"Light, give me strength!",14,5833,100,'headless horseman SAY_REJOINED'),
+(23682,2,0,"%s becomes enraged!",16,0,100,'headless horseman SAY_CONFLAGRATION'),
+(23682,3,0,"Infidels! They must be purified!",14,5835,100,'headless horseman SAY_SPROUTING_PUMPKINS'),
+(23682,4,0,"At your side, milady!",14,5837,100,'headless horseman SAY_DEATH');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1189004 AND -1189000;
+DELETE FROM `creature_text` WHERE `entry`=3975;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(3975,0,0,"Ah, I have been waiting for a real challenge!",14,5830,100,'herod SAY_AGGRO'),
+(3975,1,0,"Blades of Light!",14,5832,100,'herod SAY_WHIRLWIND'),
+(3975,2,0,"Light, give me strength!",14,5833,100,'herod SAY_ENRAGE'),
+(3975,3,0,"Hah, is that all?",14,5831,100,'herod SAY_KILL'),
+(3975,4,0,"%s becomes enraged!",16,0,100,'herod EMOTE_ENRAGE');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1189020 AND -1189019;
+DELETE FROM `creature_text` WHERE `entry`=6487;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(6487,0,0,"You will not defile these mysteries!",14,5842,100,'doan SAY_AGGRO'),
+(6487,1,0,"Burn in righteous fire!",14,5843,100,'doan SAY_SPECIALAE');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1189007 AND -1189005;
+DELETE FROM `creature_text` WHERE `entry`=3976;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(3976,0,0,"Infidels! They must be purified!",14,5835,100,'mograine SAY_MO_AGGRO'),
+(3976,1,0,"Unworthy!",14,5836,100,'mograine SAY_MO_KILL'),
+(3976,2,0,"At your side, milady!",14,5837,100,'mograine SAY_MO_RESSURECTED');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1189010 AND -1189008;
+DELETE FROM `creature_text` WHERE `entry`=3977;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(3977,0,0,"What, Mograine has fallen? You shall pay for this treachery!",14,5838,100,'whitemane SAY_WH_INTRO'),
+(3977,1,0,"The Light has spoken!",14,5839,100,'whitemane SAY_WH_KILL'),
+(3977,2,0,"Arise, my champion!",14,5840,100,'whitemane SAY_WH_RESSURECT');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1189018 AND -1189016;
+DELETE FROM `creature_text` WHERE `entry`=4543;
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(4543,0,0,"We hunger for vengeance.",14,5844,100,'thalnos SAY_AGGRO'),
+(4543,1,0,"No rest, for the angry dead.",14,5846,100,'thalnos SAY_HEALTH'),
+(4543,2,0,"More... More souls.",14,5845,100,'thalnos SAY_KILL');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1189015 AND -1189011;
+DELETE FROM `creature_text` WHERE `entry` IN (3983,3981);
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(3983,0,0,"Tell me... tell me everything!",14,5847,100,'vishas SAY_AGGRO'),
+(3983,1,0,"Naughty secrets!",14,5849,100,'vishas SAY_HEALTH1'),
+(3983,2,0,"I'll rip the secrets from your flesh!",14,5850,100,'vishas SAY_HEALTH2'),
+(3983,3,0,"Purged by pain!",14,5848,100,'vishas SAY_KILL'),
+(3981,0,0,"The monster got what he deserved.",12,0,100,'vishas SAY_TRIGGER_VORREL');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1033009 AND -1033007;
+DELETE FROM `creature_text` WHERE `entry` IN (3849,3850,4275);
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`language`,`emote`,`comment`) VALUES
+(3849,0,0,"About time someone killed the wretch.",12,0,100,1,1,'prisoner adamant SAY_BOSS_DIE_AD'),
+(3850,0,0,"For once I agree with you... scum.",12,0,100,7,1,'prisoner ashcrombe SAY_BOSS_DIE_AS'),
+(4275,0,0,"Who dares interfere with the Sons of Arugal?",14,0,100,0,0,'');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1033006 AND -1033000;
+DELETE FROM `creature_text` WHERE `entry` IN (3849,3850);
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`language`,`emote`,`comment`) VALUES
+(3850,0,0,"Follow me and I'll open the courtyard door for you.",14,0,100,7,1,'prisoner ashcrombe SAY_FREE_AS'),
+(3850,1,0,"I have just the spell to get this door open. Too bad the cell doors weren't locked so haphazardly.",14,0,100,7,1,'prisoner ashcrombe SAY_OPEN_DOOR_AS'),
+(3850,2,0,"There it is! Wide open. Good luck to you conquering what lies beyond. I must report back to the Kirin Tor at once!",14,0,100,7,1,'prisoner ashcrombe SAY_POST_DOOR_AS'),
+(3849,0,0,"Free from this wretched cell at last! Let me show you to the courtyard....",14,0,100,1,1,'prisoner adamant SAY_FREE_AD'),
+(3849,1,0,"You are indeed courageous for wanting to brave the horrors that lie beyond this door.",14,0,100,1,1,'prisoner adamant SAY_OPEN_DOOR_AD'),
+(3849,2,0,"There we go!",14,0,100,1,1,'prisoner adamant SAY_POST1_DOOR_AD'),
+(3849,3,0,"Good luck with Arugal. I must hurry back to Hadrec now.",14,0,100,1,1,'prisoner adamant SAY_POST2_DOOR_AD');
+
+DELETE FROM `script_texts` WHERE `entry` BETWEEN -1580016 AND -1580000;
+DELETE FROM `creature_text` WHERE `entry` IN (24892,24850,24891);
+INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`text`,`type`,`sound`,`probability`,`comment`) VALUES
+(24892,0,0,"There will be no reprieve. My work here is nearly finished.",14,12451,100,'sathrovarr SAY_SATH_AGGRO'),
+(24892,1,0,"Pitious mortal!",14,12455,100,'sathrovarr SAY_SATH_SLAY1'),
+(24892,1,1,"Haven't you heard? I always win!",14,12456,100,'sathrovarr SAY_SATH_SLAY2'),
+(24892,2,0,"I'm... never on... the losing... side...",14,12452,100,'sathrovarr SAY_SATH_DEATH'),
+(24892,3,0,"Your misery is my delight!",14,12453,100,'sathrovarr SAY_SATH_SPELL1'),
+(24892,4,0,"I will watch you bleed!",14,12454,100,'sathrovarr SAY_SATH_SPELL2'),
+(24850,0,0,"Aggh! No longer will I be a slave to Malygos! Challenge me and you will be destroyed!",14,12422,100,'kalecgos SAY_EVIL_AGGRO'),
+(24850,1,0,"In the name of Kil'jaeden!",14,12425,100,'kalecgos SAY_EVIL_SLAY1'),
+(24850,1,1,"You were warned!",14,12426,100,'kalecgos SAY_EVIL_SLAY2'),
+(24850,2,0,"I am forever in your debt. Once we have triumphed over Kil'jaeden, this entire world will be in your debt as well.",14,12431,100,'kalecgos SAY_GOOD_PLRWIN'),
+(24850,3,0,"My awakening is complete! You shall all perish!",14,12427,100,'kalecgos SAY_EVIL_ENRAGE'),
+(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');
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;