diff options
39 files changed, 1695 insertions, 1219 deletions
diff --git a/sql/updates/world/2012_12_01_02_world_creature_text.sql b/sql/updates/world/2012_12_01_02_world_creature_text.sql new file mode 100644 index 00000000000..6d4b50b9e88 --- /dev/null +++ b/sql/updates/world/2012_12_01_02_world_creature_text.sql @@ -0,0 +1,413 @@ +-- ------------------------------- -- +-- Creature text conversion part 4 -- +-- ------------------------------- -- + +-- kodo round +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000350 AND -1000348; +DELETE FROM `creature_text` WHERE `entry`=11596; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(11596,0,0,12,0,100,"kodo round SAY_SMEED_HOME_1","Ah...the wondrous sound of kodos. I love the way they make the ground shake... inspect the beast for me."), +(11596,0,1,12,0,100,"kodo round SAY_SMEED_HOME_2","Hey, look out with that kodo! You had better inspect that beast before I give you credit!"), +(11596,0,2,12,0,100,"kodo round SAY_SMEED_HOME_3","That kodo sure is a beauty. Wait a minute, where are my bifocals? Perhaps you should inspect the beast for me."); + +-- lazy peon +DELETE FROM `script_texts` WHERE `entry`=-1000600; +DELETE FROM `creature_text` WHERE `entry`=10556; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(10556,0,0,12,0,100,"lazy peon SAY_WP_0","Ow! OK, I'll get back to work, $N!"); + +-- amnennar +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1129004 AND -1129000; +DELETE FROM `creature_text` WHERE `entry`=7358; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(7358,0,0,14,5825,100,"amnennar SAY_AGGRO","You'll never leave this place... alive."), +(7358,1,0,14,5828,100,"amnennar SAY_SUMMON60","To me, my servants!"), +(7358,2,0,14,5829,100,"amnennar SAY_SUMMON30","Come, spirits, attend your master!"), +(7358,3,0,14,5827,100,"amnennar SAY_HP","I am the hand of the Lich King!"), +(7358,4,0,14,5826,100,"amnennar SAY_KILL","Too...easy!"); + +-- clintar +DELETE FROM `script_texts` WHERE `entry`=-1000286; +DELETE FROM `creature_text` WHERE `entry`=22916; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(22916,0,0,12,0,100,"clintar SAY_END","Lurosa, I am entrusting the Relics of Aviana to $N, who will take them to Morthis Whisperwing. I must return completely to the Emerald Dream now. Do not let $N fail!"); + +-- gilthares +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000380 AND -1000370; +DELETE FROM `creature_text` WHERE `entry`=3465; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(3465,0,0,12,0,100,"gilthares SAY_GIL_START","Stay close, $n. I'll need all the help I can get to break out of here. Let's go!"), +(3465,1,0,12,0,100,"gilthares SAY_GIL_AT_LAST","At last! Free from Northwatch Hold! I need a moment to catch my breath..."), +(3465,2,0,12,0,100,"gilthares SAY_GIL_PROCEED","Now I feel better. Let's get back to Ratchet. Come on, $n."), +(3465,3,0,12,0,100,"gilthares SAY_GIL_FREEBOOTERS","Looks like the Southsea Freeboters are heavily entrenched on the coast. This could get rough."), +(3465,4,0,12,0,100,"gilthares SAY_GIL_AGGRO_1","Help! $C attacking!"), +(3465,4,1,12,0,100,"gilthares SAY_GIL_AGGRO_2","$C heading this way fast! Time for revenge!"), +(3465,4,2,12,0,100,"gilthares SAY_GIL_AGGRO_3","$C coming right at us!"), +(3465,4,3,12,0,100,"gilthares SAY_GIL_AGGRO_4","Get this $C off of me!"), +(3465,5,0,12,0,100,"gilthares SAY_GIL_ALMOST","Almost back to Ratchet! Let's keep up the pace..."), +(3465,6,0,12,0,100,"gilthares SAY_GIL_SWEET","Ah, the sweet salt air of Ratchet."), +(3465,7,0,12,0,100,"gilthares SAY_GIL_FREED","Captain Brightsun, $N here has freed me! $N, I am certain the Captain will reward your bravery."); + +-- twiggy +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000380 AND -1000370; +DELETE FROM `creature_text` WHERE `entry` IN (6238,6248); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(6238,0,0,12,0,100,"big will SAY_BIG_WILL_READY","Ready when you are, $c."), +(6248,0,0,12,0,100,"twiggy SAY_TWIGGY_BEGIN","The Affray has begun. $n, get ready to fight!"), +(6248,1,0,12,0,100,"twiggy SAY_TWIGGY_FRAY","You! Enter the fray!"), +(6248,2,0,12,0,100,"twiggy SAY_TWIGGY_DOWN","Challenger is down!"), +(6248,3,0,12,0,100,"twiggy SAY_TWIGGY_OVER","The Affray is over."); + +-- wizzlecrank +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000305 AND -1000298; +DELETE FROM `creature_text` WHERE `entry` IN (3282,3439); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(3439,0,0,12,0,100,"wizzlecrank SAY_START","Alright, alright I think I can figure out how to operate this thing..."), +(3439,1,0,12,0,100,"wizzlecrank SAY_STARTUP1","Arrrgh! This isn't right!"), +(3439,2,0,12,0,100,"wizzlecrank SAY_STARTUP2","Okay, I think I've got it, now. Follow me, $n!"), +(3282,0,0,14,0,100,"wizzlecrank SAY_MERCENARY","There's the stolen shredder! Stop it or Lugwizzle will have our hides!"), +(3439,3,0,12,0,100,"wizzlecrank SAY_PROGRESS_1","Looks like we're out of woods, eh? Wonder what this does..."), +(3439,4,0,12,0,100,"wizzlecrank SAY_PROGRESS_2","Come on, don't break down on me now!"), +(3439,5,0,12,0,100,"wizzlecrank SAY_PROGRESS_3","That was a close one! Well, let's get going, it's still a ways to Ratchet!"), +(3439,6,0,12,0,100,"wizzlecrank SAY_END","Hmm... I don't think this blinking red light is a good thing..."); + +-- muglash +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1800063 AND -1800054; +DELETE FROM `creature_text` WHERE `entry`=12717; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(12717,0,0,12,0,100,"muglash SAY_MUG_START1","Are you sure that you are ready? If we do not have a group of your allies to aid us, we will surely fail."), +(12717,1,0,12,0,100,"muglash SAY_MUG_START2","This will be a though fight, $N. Follow me closely."), +(12717,2,0,12,0,100,"muglash SAY_MUG_BRAZIER","This is the brazier, $N. Put it out. Vorsha is a beast, worthy of praise from no one!"), +(12717,3,0,12,0,100,"muglash SAY_MUG_BRAZIER_WAIT","Now we must wait. It won't be long before the naga realize what we have done."), +(12717,4,0,12,0,100,"muglash SAY_MUG_ON_GUARD","Be on your guard, $N!"), +(12717,5,0,12,0,100,"muglash SAY_MUG_REST","Perhaps we will get a moment to rest. But I will not give up until we have faced off against Vorsha!"), +(12717,6,0,12,0,100,"muglash SAY_MUG_DONE","We have done it!"), +(12717,7,0,12,0,100,"muglash SAY_MUG_GRATITUDE","You have my deepest gratitude. I thank you."), +(12717,8,0,12,0,100,"muglash SAY_MUG_PATROL","I am going to patrol the area for a while longer and ensure that things are truly safe."), +(12717,9,0,12,0,100,"muglash SAY_MUG_RETURN","Please return to Zoram'gar and report our success to the Warsong runner."); + +-- jaina hyjal +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1534008 AND -1534000; +DELETE FROM `creature_text` WHERE `entry`=17772; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17772,0,0,14,11007,100,"jaina hyjal ATTACKED 1","I'm in jeopardy, help me if you can!"), +(17772,0,1,14,11049,100,"jaina hyjal ATTACKED 2","They've broken through!"), +(17772,1,0,14,11006,100,"jaina hyjal BEGIN","Don't give up! We must prevail!"), +(17772,2,0,14,11008,100,"jaina hyjal INCOMING","Stay alert! Another wave approaches."), +(17772,3,0,14,11050,100,"jaina hyjal RALLY 1","Hold them back as long as possible."), +(17772,3,1,14,11051,100,"jaina hyjal RALLY 2","We must hold strong!"), +(17772,4,0,14,11009,100,"jaina hyjal FAILURE","We are lost. Fall back!"), +(17772,5,0,14,11011,100,"jaina hyjal SUCCESS","We have won valuable time. Now we must pull back!"), +(17772,6,0,14,11010,100,"jaina hyjal DEATH","I did... my best."); + +-- thrall hyjal +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1534017 AND -1534009; +DELETE FROM `creature_text` WHERE `entry`=17852; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17852,0,0,14,11031,100,"thrall hyjal ATTACKED 1","I will lie down for no one!"), +(17852,0,1,14,11061,100,"thrall hyjal ATTACKED 2","Bring the fight to me and pay with your lives!"), +(17852,1,0,14,11030,100,"thrall hyjal BEGIN","Hold them back! Do not falter!"), +(17852,2,0,14,11032,100,"thrall hyjal INCOMING","Make ready for another wave! LOK-TAR OGAR!"), +(17852,3,0,14,11059,100,"thrall hyjal RALLY 1","Victory or death!"), +(17852,3,1,14,11060,100,"thrall hyjal RALLY 2","Do not give an inch of ground!"), +(17852,4,0,14,11033,100,"thrall hyjal FAILURE","It is over. Withdraw! We have failed."), +(17852,5,0,14,11035,100,"thrall hyjal SUCCESS","We have played our part and done well. It is up to the others now."), +(17852,6,0,14,11034,100,"thrall hyjal DEATH","Uraaa..."); + +-- lieutenant drake +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1560012 AND -1560006; +DELETE FROM `creature_text` WHERE `entry`=17848; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17848,0,0,14,10428,100,"lieutenant drake SAY_ENTER","You there, fetch water quickly! Get these flames out before they spread to the rest of the keep! Hurry, damn you!"), +(17848,1,0,14,10429,100,"lieutenant drake SAY_AGGRO","I know what you're up to, and I mean to put an end to it, permanently!"), +(17848,2,0,14,10432,100,"lieutenant drake SAY_SLAY1","No more middling for you."), +(17848,2,1,14,10433,100,"lieutenant drake SAY_SLAY2","You will not interfere!"), +(17848,3,0,14,10430,100,"lieutenant drake SAY_MORTAL","Time to bleed!"), +(17848,4,0,14,10431,100,"lieutenant drake SAY_SHOUT","Run, you blasted cowards!"), +(17848,5,0,14,10434,100,"lieutenant drake SAY_DEATH","Thrall... must not... go free."); + +-- thrall hillsbrad +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1560049 AND -1560023; +DELETE FROM `creature_text` WHERE `entry` IN (17876,18887); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17876,0,0,14,10465,100,"thrall hillsbrad SAY_TH_START_EVENT_PART1","Very well then. Let's go!"), +(17876,1,0,12,0,100,"thrall hillsbrad SAY_TH_ARMORY","As long as we're going with a new plan, I may aswell pick up a weapon and some armor."), +(17876,2,0,12,10466,100,"thrall hillsbrad SAY_TH_SKARLOC_MEET","A rider approaches!"), +(17876,3,0,14,10467,100,"thrall hillsbrad SAY_TH_SKARLOC_TAUNT","I'll never be chained again!"), +(17876,4,0,14,10468,100,"thrall hillsbrad SAY_TH_START_EVENT_PART2","Very well. Tarren Mill lies just west of here. Since time is of the essence..."), +(17876,5,0,12,10469,100,"thrall hillsbrad SAY_TH_MOUNTS_UP","Let's ride!"), +(17876,6,0,12,0,100,"thrall hillsbrad SAY_TH_CHURCH_END","Taretha must be in the inn. Let's go."), +(17876,7,0,12,0,100,"thrall hillsbrad SAY_TH_MEET_TARETHA","Taretha! What foul magic is this?"), +(17876,8,0,14,10470,100,"thrall hillsbrad SAY_TH_EPOCH_WONDER","Who or what was that?"), +(17876,9,0,14,10471,100,"thrall hillsbrad SAY_TH_EPOCH_KILL_TARETHA","No!"), +(17876,10,0,14,10472,100,"thrall hillsbrad SAY_TH_EVENT_COMPLETE","Goodbye, Taretha. I will never forget your kindness."), +(17876,11,0,14,10458,100,"thrall hillsbrad SAY_TH_RANDOM_LOW_HP1","Things are looking grim..."), +(17876,11,1,14,10459,100,"thrall hillsbrad SAY_TH_RANDOM_LOW_HP2","I will fight to the last!"), +(17876,12,0,14,10460,100,"thrall hillsbrad SAY_TH_RANDOM_DIE1","Taretha..."), +(17876,12,1,14,10461,100,"thrall hillsbrad SAY_TH_RANDOM_DIE2","A good day...to die..."), +(17876,13,0,14,10448,100,"thrall hillsbrad SAY_TH_RANDOM_AGGRO1","I have earned my freedom!"), +(17876,13,1,14,10449,100,"thrall hillsbrad SAY_TH_RANDOM_AGGRO2","This day is long overdue. Out of my way!"), +(17876,13,2,14,10450,100,"thrall hillsbrad SAY_TH_RANDOM_AGGRO3","I am a slave no longer!"), +(17876,13,3,14,10451,100,"thrall hillsbrad SAY_TH_RANDOM_AGGRO4","Blackmoore has much to answer for!"), +(17876,14,0,14,10452,100,"thrall hillsbrad SAY_TH_RANDOM_KILL1","You have forced my hand!"), +(17876,14,1,14,10453,100,"thrall hillsbrad SAY_TH_RANDOM_KILL2","It should not have come to this!"), +(17876,14,2,14,10454,100,"thrall hillsbrad SAY_TH_RANDOM_KILL3","I did not ask for this!"), +(17876,15,0,14,10455,100,"thrall hillsbrad SAY_TH_LEAVE_COMBAT1","I am truly in your debt, strangers."), +(17876,15,1,14,10456,100,"thrall hillsbrad SAY_TH_LEAVE_COMBAT2","Thank you, strangers. You have given me hope."), +(17876,15,2,14,10457,100,"thrall hillsbrad SAY_TH_LEAVE_COMBAT3","I will not waste this chance. I will seek out my destiny."), +(18887,0,0,12,0,100,"taretha SAY_TA_FREE","I'm free! Thank you all!"), +(18887,1,0,12,0,100,"taretha SAY_TA_ESCAPED","Thrall, you escaped!"); + +-- skarloc +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1560005 AND -1560000; +DELETE FROM `creature_text` WHERE `entry`=17862; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17862,0,0,14,10406,100,"skarloc SAY_ENTER","Thrall! You didn't really think you would escape did you? You and your allies shall answer to Blackmoore - after I've had my fun!"), +(17862,1,0,14,10407,100,"skarloc SAY_TAUNT1","You're a slave. That's all you'll ever be."), +(17862,2,0,14,10408,100,"skarloc SAY_TAUNT2","I don't know what Blackmoore sees in you. For my money, you're just another ignorant savage!"), +(17862,3,0,14,10409,100,"skarloc SAY_SLAY1","Thrall will never be free!"), +(17862,3,1,14,10410,100,"skarloc SAY_SLAY2","Did you really think you would leave here alive?"), +(17862,4,0,14,10411,100,"skarloc SAY_DEATH","Guards! Urgh..Guards..!"); + +-- epoch hunter +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1560022 AND -1560013; +DELETE FROM `creature_text` WHERE `entry`=18096; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18096,0,0,14,10418,100,"epoch hunter SAY_ENTER1","Thrall! Come outside and face your fate!"), +(18096,0,1,14,10419,100,"epoch hunter SAY_ENTER2","Taretha's life hangs in the balance. Surely you care for her. Surely you wish to save her..."), +(18096,0,2,14,10420,100,"epoch hunter SAY_ENTER3","Ah, there you are. I had hoped to accomplish this with a bit of subtlety, but I suppose direct confrontation was inevitable. Your future, Thrall, must not come to pass and so...you and your troublesome friends must die!"), +(18096,1,0,14,10421,100,"epoch hunter SAY_AGGRO1","Enough! I will erase your very existence!"), +(18096,1,1,14,10422,100,"epoch hunter SAY_AGGRO2","You cannot fight fate!"), +(18096,2,0,14,10425,100,"epoch hunter SAY_SLAY1","You are...irrelevant."), +(18096,2,1,14,10426,100,"epoch hunter SAY_SLAY2","Thrall will remain a slave. Taretha will die. You have failed."), +(18096,3,0,14,10423,100,"epoch hunter SAY_BREATH1","Not so fast!"), +(18096,3,1,14,10424,100,"epoch hunter SAY_BREATH2","Struggle as much as you like!"), +(18096,4,0,14,10427,100,"epoch hunter SAY_DEATH","No!...The master... will not... be pleased."); + +-- meathook +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1595031 AND -1595026; +DELETE FROM `creature_text` WHERE `entry`=26529; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(26529,0,0,14,13428,100,"meathook SAY_AGGRO","Play time!"), +(26529,1,0,14,13430,100,"meathook SAY_SLAY_1","Boring..."), +(26529,1,1,14,13431,100,"meathook SAY_SLAY_2","Why you stop moving?"), +(26529,1,2,14,13432,100,"meathook SAY_SLAY_3","Get up! Me not done!"), +(26529,2,0,14,13429,100,"meathook SAY_SPAWN","New toys!"), +(26529,3,0,14,13433,100,"meathook SAY_DEATH","This... not fun..."); + +-- epoch +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1595008 AND -1595000; +DELETE FROM `creature_text` WHERE `entry`=26532; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(26532,0,0,14,13408,100,"epoch SAY_INTRO | culling SAY_PHASE314","Prince Arthas Menethil, on this day, a powerful darkness has taken hold of your soul. The death you are destined to visit upon others will this day be your own."), +(26532,1,0,14,13409,100,"epoch SAY_AGGRO","We'll see about that, young prince."), +(26532,2,0,14,13410,100,"epoch SAY_TIME_WARP_1","Tick tock, tick tock..."), +(26532,2,1,14,13411,100,"epoch SAY_TIME_WARP_2","Not quick enough!"), +(26532,2,2,14,13412,100,"epoch SAY_TIME_WARP_3","Let's get this over with. "), +(26532,3,0,14,13413,100,"epoch SAY_SLAY_1","There is no future for you."), +(26532,3,1,14,13414,100,"epoch SAY_SLAY_2","This is the hour of our greatest triumph!"), +(26532,3,2,14,13415,100,"epoch SAY_SLAY_3","You were destined to fail."), +(26532,4,0,12,13416,100,"epoch SAY_DEATH",""); + +-- salramm +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1595044 AND -1595032; +DELETE FROM `creature_text` WHERE `entry`=26530; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(26530,0,0,14,13472,100,"salramm SAY_AGGRO","Ah, the entertainment has arrived!"), +(26530,1,0,14,13471,100,"salramm SAY_SPAWN","You are too late, champion of Lordaeron. The dead shall have their day."), +(26530,2,0,14,13473,100,"salramm SAY_SLAY_1","The fun is just beginning!"), +(26530,2,1,14,13474,100,"salramm SAY_SLAY_2","Aah, quality materials!"), +(26530,2,2,14,13475,100,"salramm SAY_SLAY_3","Don't worry, I'll make good use of you."), +(26530,3,0,14,13483,100,"salramm SAY_DEATH","You only advance... the master's plan..."), +(26530,4,0,14,13478,100,"salramm SAY_EXPLODE_GHOUL_1","BOOM! Hahahahah..."), +(26530,4,1,14,13479,100,"salramm SAY_EXPLODE_GHOUL_2","Blood... destruction... EXHILARATING!"), +(26530,5,0,14,13480,100,"salramm SAY_STEAL_FLESH_1","I want a sample..."), +(26530,5,1,14,13481,100,"salramm SAY_STEAL_FLESH_2","Such strength... it must be mine!"), +(26530,5,2,14,13482,100,"salramm SAY_STEAL_FLESH_3","Your flesh betrays you."), +(26530,6,0,14,13476,100,"salramm SAY_SUMMON_GHOULS_1","Say hello to some friends of mine."), +(26530,6,1,14,13477,100,"salramm SAY_SUMMON_GHOULS_2","Come, citizen of Stratholme! Meet your saviors."); + +-- culling of stratholme +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1595120 AND -1595070; +DELETE FROM `creature_text` WHERE `entry` IN (26499,26528,31126,28169,28167,26497); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +-- 26499 +(26499,0,0,12,12828,100,"culling SAY_PHASE101","Glad you could make it, Uther."), +(26499,1,0,12,12829,100,"culling SAY_PHASE103","As if I could forget. Listen, Uther, there's something about the plague you should know..."), +(26499,2,0,12,12830,100,"culling SAY_PHASE104","Oh, no. We're too late. These people have all been infected! They may look fine now, but it's just a matter of time before they turn into the undead!"), +(26499,3,0,12,12831,100,"culling SAY_PHASE106","This entire city must be purged."), +(26499,4,0,12,12832,100,"culling SAY_PHASE108","Damn it, Uther! As your future king, I order you to purge this city!"), +(26499,5,0,12,12833,100,"culling SAY_PHASE110","Then I must consider this an act of treason."), +(26499,6,0,12,12834,100,"culling SAY_PHASE112","Have I? Lord Uther, by my right of succession and the sovereignty of my crown, I hereby relieve you of your command and suspend your paladins from service."), +(26499,7,0,12,12835,100,"culling SAY_PHASE114","It's done! Those of you who have the will to save this land, follow me! The rest of you... get out of my sight!"), +(26499,8,0,12,12836,100,"culling SAY_PHASE116","Jaina?"), +(26499,9,0,14,14327,100,"culling SAY_PHASE118","Take position here, and I will lead a small force inside Stratholme to begin the culling. We must contain and purge the infected for the sake of all of Lordaeron!"), +(26499,10,0,12,14293,100,"culling SAY_PHASE201","Everyone looks ready. Remember, these people are all infected with the plague and will die soon. We must purge Stratholme to protect the remainder of Lordaeron from the Scourge. Let's go."), +(26499,11,0,12,14294,100,"culling SAY_PHASE203","I can only help you with a clean death."), +(26499,12,0,12,14295,100,"culling SAY_PHASE205","That was just the beginning."), +(26499,13,0,14,14296,100,"culling SAY_PHASE208","I won't allow it, Mal'Ganis! Better that these people die by my hand than serve as your slaves in death!"), +(26499,14,0,14,14885,100,"culling SAY_PHASE209","Mal'ganis will send out some of his Scourge minions to interfere with us. Those of you with the strongest steel and magic shall go forth and destroy them. I will lead the rest of my forces in purging Stratholme of the infected."), +(26499,15,0,14,14297,100,"culling SAY_PHASE210","Champions, meet me at the Town Hall at once. We must take the fight to Mal'Ganis."), +(26499,16,0,12,14298,100,"culling SAY_PHASE301","Follow me, I know the way through."), +(26499,17,0,12,14299,100,"culling SAY_PHASE303","Yes, I'm glad I could get to you before the plague."), +(26499,18,0,12,14300,100,"culling SAY_PHASE304","What is this sorcery?"), +(26499,19,0,12,14301,100,"culling SAY_PHASE306. NEEDS VERIFICATION","Mal'Ganis appears to have more than scourge in his arsenal. We should make haste."), +(26499,20,0,12,14302,100,"culling SAY_PHASE307","More vile sorcery! Be ready for anything!"), +(26499,21,0,12,14303,100,"culling SAY_PHASE308","Let's move on."), +(26499,22,0,12,14304,100,"culling SAY_PHASE309","Watch your backs: they have us surrounded in this hall."), +(26499,23,0,12,0,100,"culling SAY_PHASE310. NEEDS VERIFICATION","One less obstacle to deal with."), +(26499,24,0,12,14305,100,"culling SAY_PHASE311","Mal'Ganis is not making this easy."), +(26499,25,0,12,14306,100,"culling SAY_PHASE312","They're very persistent."), +(26499,26,0,12,14307,100,"culling SAY_PHASE313","What else can he put in my way?"), +(26499,27,0,12,14309,100,"culling SAY_PHASE315","I do what I must for Lordaeron, and neither your words nor your actions will stop me."), +(26499,28,0,12,14308,100,"culling SAY_PHASE401","The quickest path to Mal'Ganis lies behind that bookshelf ahead."), +(26499,29,0,12,14310,100,"culling SAY_PHASE402","This will only take a moment."), +(26499,30,0,12,14311,100,"culling SAY_PHASE403","I'm relieved this secret passage still works."), +(26499,31,0,12,14312,100,"culling SAY_PHASE404","Let's move through here as quickly as possible. If the undead don't kill us, the fires might."), +(26499,32,0,12,14313,100,"culling SAY_PHASE405","Rest a moment and clear your lungs, but we must move again soon."), +(26499,33,0,12,14314,100,"culling SAY_PHASE406","That's enough; we must move again. Mal'Ganis awaits."), +(26499,34,0,12,14315,100,"culling SAY_PHASE407","At last some good luck. Market Row has not caught fire yet. Mal'Ganis is supposed to be in Crusaders' Square, which is just ahead. Tell me when you're ready to move forward."), +(26499,35,0,12,14316,100,"culling SAY_PHASE501","Justice will be done."), +(26499,36,0,12,14317,100,"culling SAY_PHASE502","We're going to finish this right now, Mal'Ganis. Just you... and me."), +(26499,37,0,12,14318,100,"culling SAY_PHASE503","I'll hunt you to the ends of the earth if I have to! Do you hear me? To the ends of the earth!"), +(26499,38,0,12,14319,100,"culling SAY_PHASE504","You performed well this day. Anything that Mal'Ganis has left behind is yours. Take it as your reward. I must now begin plans for an expedition to Northrend."), +-- 26528 +(26528,0,0,12,12839,100,"culling SAY_PHASE102","Watch your tone with me, boy. You may be the prince, but I'm still your superior as a paladin!"), +(26528,1,0,12,12840,100,"culling SAY_PHASE105","What?"), +(26528,2,0,12,12841,100,"culling SAY_PHASE107","How can you even consider that? There's got to be some other way."), +(26528,3,0,12,12842,100,"culling SAY_PHASE109","You are not my king yet, boy! Nor would I obey that command even if you were!"), +(26528,4,0,12,12843,100,"culling SAY_PHASE111","Treason? Have you lost your mind, Arthas?"), +(26528,5,0,12,12844,100,"culling SAY_PHASE115","You've just crossed a terrible threshold, Arthas."), +-- 26497 +(26497,0,0,12,12837,100,"culling SAY_PHASE113","Arthas! You can't just--"), +(26497,1,0,12,12838,100,"culling SAY_PHASE117","I'm sorry, Arthas. I can't watch you do this."), +-- 28167 +(28167,0,0,12,0,100,"culling SAY_PHASE202","Prince Arthas, may the light be praised! Many people in the town have begun to fall seriously ill, can you help us?"), +-- 28169 +(28169,0,0,12,0,100,"culling SAY_PHASE204","What? This can't be!"), +-- 31126 +(31126,0,0,12,0,100,"culling SAY_PHASE302","Ah, you've finally arrived Prince Arthas. You're here just in the nick of time."), +(31126,1,0,12,0,100,"culling SAY_PHASE305","There's no need for you to understand, Arthas. All you need to do is die."); + +-- malganis +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1595025 AND -1595009; +DELETE FROM `creature_text` WHERE `entry`=26533; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(26533,0,0,14,14410,100,"malganis SAY_INTRO_1 | culling SAY_PHASE206","Yes, this is the beginning. I've been waiting for you, young prince. I am Mal'Ganis."), +(26533,1,0,14,14411,100,"malganis SAY_INTRO_2 | culling SAY_PHASE207","As you can see, your people are now mine. I will now turn this city household by household, until the flame of life has been snuffed out... forever."), +(26533,2,0,14,14413,100,"malganis SAY_AGGRO","This will be a fine test...Prince Arthas..."), +(26533,3,0,14,14416,100,"malganis SAY_KILL_1","All too easy..."), +(26533,3,1,14,14417,100,"malganis SAY_KILL_2","The dark lord is displeased with your interference..."), +(26533,3,2,14,14418,100,"malganis SAY_KILL_3","It is Prince Arthas I want... not you..."), +(26533,4,0,14,14422,100,"malganis SAY_SLAY_1","Anak'Keri..."), +(26533,4,1,14,14423,100,"malganis SAY_SLAY_2","My onslaught will wash over the Lich King's forces..."), +(26533,4,2,14,14424,100,"malganis SAY_SLAY_3","Your death is in vain, tiny mortal..."), +(26533,4,3,14,14425,100,"malganis SAY_SLAY_4","Your time has come to an end!"), +(26533,5,0,14,14414,100,"malganis SAY_SLEEP_1","Time out..."), +(26533,5,1,14,14415,100,"malganis SAY_SLEEP_2","You seem...tired..."), +(26533,6,0,14,14426,100,"malganis SAY_30HEALTH","I spent too much time in that weak little shell..."), +(26533,7,0,14,14427,100,"malganis SAY_15HEALTH","(Eredun) I AM MAL'GANIS! I AM ETERNAL!"), +(26533,8,0,14,14428,100,"malganis SAY_ESCAPE_SPEECH_1","ENOUGH! I waste my time here...I must gather my strength on the home world..."), +(26533,9,0,14,14429,100,"malganis SAY_ESCAPE_SPEECH_2","You'll never defeat the Lich King without my forces! I'll have my revenge...on him, AND you..."), +(26533,10,0,14,14412,100,"malganis SAY_OUTRO","Your journey has just begun, young prince. Gather your forces and meet me in the artic land of Northrend. It is there that we shall settle the score between us. It is there that your true destiny will unfold."); + +-- chrono lord deja +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1269011 AND -1269006; +DELETE FROM `creature_text` WHERE `entry`=17879; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17879,0,0,14,10412,100,"chrono lord deja SAY_ENTER","Why do you aid the Magus? Just think of how many lives could be saved if the portal is never opened, if the resulting wars could be erased ..."), +(17879,1,0,14,10414,100,"chrono lord deja SAY_AGGRO","If you will not cease this foolish quest, then you will die!"), +(17879,2,0,14,10413,100,"chrono lord deja SAY_BANISH","You have outstayed your welcome, Timekeeper. Begone!"), +(17879,3,0,14,10415,100,"chrono lord deja SAY_SLAY1","I told you it was a fool's quest!"), +(17879,3,1,14,10416,100,"chrono lord deja SAY_SLAY2","Leaving so soon?"), +(17879,4,0,14,10417,100,"chrono lord deja SAY_DEATH","Time ... is on our side."); + +-- aeonus +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1269018 AND -1269012; +DELETE FROM `creature_text` WHERE `entry`=17881; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17881,0,0,14,10400,100,"aeonus SAY_ENTER","The time has come to shatter this clockwork universe forever! Let us no longer be slaves of the hourglass! I warn you: those who do not embrace the greater path shall become victims of its passing!"), +(17881,1,0,14,10402,100,"aeonus SAY_AGGRO","Let us see what fate lays in store..."), +(17881,2,0,14,10401,100,"aeonus SAY_BANISH","Your time is up, slave of the past!"), +(17881,3,0,14,10403,100,"aeonus SAY_SLAY1","One less obstacle in our way!"), +(17881,3,1,14,10404,100,"aeonus SAY_SLAY2","No one can stop us! No one!"), +(17881,4,0,14,10405,100,"aeonus SAY_DEATH","It is only a matter...of time."), +(17881,5,0,16,0,100,"aeonus EMOTE_FRENZY","goes into a frenzy!"); + +-- medivh +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1269028 AND -1269020; +DELETE FROM `creature_text` WHERE `entry`=15608; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(15608,0,0,14,10435,100,"medivh SAY_ENTER","The time has come! Gul'dan, order your warlocks to double their efforts! Moments from now the gateway will open, and your Horde will be released upon this ripe, unsuspecting world!"), +(15608,1,0,14,10436,100,"medivh SAY_INTRO","What is this? Champions, coming to my aid? I sense the hand of the dark one in this. Truly this sacred event bears his blessing?"), +(15608,2,0,14,10437,100,"medivh SAY_WEAK75","Champions, my shield grows weak!"), +(15608,3,0,14,10438,100,"medivh SAY_WEAK50","My powers must be concentrated on the portal! I do not have time to hold the shield!"), +(15608,4,0,14,10439,100,"medivh SAY_WEAK25","The shield is nearly gone! All that I have worked for is in danger!"), +(15608,5,0,14,10441,100,"medivh SAY_DEATH","No... damn this feeble mortal coil..."), +(15608,6,0,14,10440,100,"medivh SAY_WIN","I am grateful for your aid, champions. Now, Gul'dan's Horde will sweep across this world, like a locust swarm, and all my designs, all my carefully laid plans will at last fall into place."), +(15608,7,0,14,0,100,"medivh SAY_ORCS_ENTER","Orcs of the Horde! This portalis the gateway to your new destiny! Azeroth lies before you, ripe for the taking!"), +(15608,8,0,14,0,100,"medivh SAY_ORCS_ANSWER","Gul'dan speaks the truth! We should return at once to tell our brothers of the news! Retreat back trought the portal!"); + +-- temporus +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1269005 AND -1269000; +DELETE FROM `creature_text` WHERE `entry`=17880; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17880,0,0,14,10442,100,"temporus SAY_ENTER","Why do you persist? Surely you can see the futility of it all. It is not too late! You may still leave with your lives ..."), +(17880,1,0,14,10444,100,"temporus SAY_AGGRO","So be it ... you have been warned."), +(17880,2,0,14,10443,100,"temporus SAY_BANISH","Time... sands of time is run out for you."), +(17880,3,0,14,10445,100,"temporus SAY_SLAY1","You should have left when you had the chance."), +(17880,3,1,14,10446,100,"temporus SAY_SLAY2","Your days are done."), +(17880,4,0,14,10447,100,"temporus SAY_DEATH","My death means ... little."); + +-- sprysprocket +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000356 AND -1000351; +DELETE FROM `creature_text` WHERE `entry`=23002; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(23002,0,0,14,0,100,"sprysprocket SAY_START","You, there! Hand over that moonstone and nobody gets hurt!"), +(23002,1,0,15,0,100,"sprysprocket SAY_WHISPER_CHILL","Just chill!"), +(23002,2,0,14,0,100,"sprysprocket SAY_END","All right, you win! I surrender! Just don't hurt me!"), +(23002,3,0,41,0,100,"sprysprocket EMOTE_START","%s takes the Southfury moonstone and escapes into the river. Follow her!"); + + +-- mist +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000324 AND -1000323; +DELETE FROM `creature_text` WHERE `entry`=3568; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(3568,0,0,12,0,100,"mist SAY_AT_HOME","Mist! I feared I would never see you again! Yes, I am well, do not worry for me. You must rest and recover your health."), +(3568,1,0,16,0,100,"mist EMOTE_AT_HOME","%s growls in acknowledgement before straightening and making her way off into the forest."); + +-- anachronos the ancient +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1350030 AND -1350000; +DELETE FROM `creature_text` WHERE `entry` IN (15381,15382,15379,15380,15378); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(15381,0,0,12,0,100,"anachronos the ancient ANACHRONOS_SAY_1","We must act quickly or all shall be lost!"), +(15381,1,0,12,0,100,"anachronos the ancient ANACHRONOS_SAY_2","NOW, STAGHELM! WE GO NOW! Prepare your magic!"), +(15381,2,0,12,0,100,"anachronos the ancient ANACHRONOS_SAY_3","Stay close..."), +(15381,3,0,12,0,100,"anachronos the ancient ANACHRONOS_SAY_4","The sands of time will halt, but only for a moment! I will now conjure the barrier."), +(15381,4,0,12,0,100,"anachronos the ancient ANACHRONOS_SAY_5","FINISH THE SPELL STAGHELM! I CANNOT HOLD THE GLYPHS OF WARDING IN PLACE MUCH LONGER! CALL FORTH THE ROOTS!"), +(15381,5,0,12,0,100,"anachronos the ancient ANACHRONOS_SAY_6","It... It is over, Lord Staghelm. We are victorious. Albeit the cost for this victory was great."), +(15381,6,0,12,0,100,"anachronos the ancient ANACHRONOS_SAY_7","There is but one duty that remains..."), +(15381,7,0,12,0,100,"anachronos the ancient ANACHRONOS_SAY_8","Before I leave this place, I make one final offreing to you, Lord Staghelm. Should a time arise in which you must gain entry to this accursed fortress, use the Scepter of the Shifting Sands on the sacred gong. The magic holding the barrier together will dissipate and the horrors of Ahn'Qiraj will be unleashed upon the world once more."), +(15381,8,0,12,0,100,"anachronos the ancient ANACHRONOS_SAY_9","Lord Staghelm, where are you going? You would shatter our bond for the sake of pride?"), +(15381,9,0,12,0,100,"anachronos the ancient ANACHRONOS_SAY_10","And now you know all that there is to know, mortal..."), +(15381,10,0,16,0,100,"anachronos the ancient ANACHRONOS_EMOTE_1","hands the Scepter of the Shifting Sands to Fandral Staghelm."), +(15381,11,0,16,0,100,"anachronos the ancient ANACHRONOS_EMOTE_2","shakes his head in dissapointment."), +(15381,12,0,16,0,100,"anachronos the ancient ANACHRONOS_EMOTE_3","kneels down to pick up the fragments of the shattered scepter."), +(15382,0,0,12,0,100,"anachronos the ancient FANDRAL_SAY_1","My forces cannot overcome the Qiraji defenses. We will not be able to get close enough to place your precious barrier, dragon."), +(15382,1,0,12,0,100,"anachronos the ancient FANDRAL_SAY_2","It is done dragon. Lead the way..."), +(15382,2,0,12,0,100,"anachronos the ancient FANDRAL_SAY_3","Ancient ones guide my hand... Wake from your slumber! WAKE AND SEAL THIS CURSED PLACE!"), +(15382,3,0,12,0,100,"anachronos the ancient FANDRAL_SAY_4","After the savagery that my people have witnessed and felt, you expect me to accept another burden, dragon? Surely you are mad."), +(15382,4,0,12,0,100,"anachronos the ancient FANDRAL_SAY_5","I want nothing to do with Silithus, the Qiraji and least of all, any damned dragons!"), +(15382,5,0,12,0,100,"anachronos the ancient FANDRAL_SAY_6","My son's soul will find no comfort in this hollow victory, dragon. I will have him back.Thought it takes a millennia, I WILL have my son back!"), +(15382,6,0,16,0,100,"anachronos the ancient FANDRAL_EMOTE_1","falls to one knee - exhausted."), +(15382,7,0,16,0,100,"anachronos the ancient FANDRAL_EMOTE_2","hurls the Scepter of the Shifting Sands into the barrier, shattering it."), +(15379,0,0,12,0,100,"anachronos the ancient CAELESTRASZ_SAY_1","Aye, Fandral, remember these words: Let not your grief guide your faith. These thoughts you hold... dark places you go, night elf. Absolution cannot be had through misguided vengeance."), +(15379,1,0,12,0,100,"anachronos the ancient CAELESTRASZ_SAY_2","Do not forget the sacrifices made on this day, night elf. We have all suffered immensely at the hands of these beasts."), +(15379,2,0,14,0,100,"anachronos the ancient CAELESTRASZ_YELL_1","Alexstrasza grant me the resolve to drive our enemies back!"), +(15380,0,0,12,0,100,"anachronos the ancient ARYGOS_SAY_1","This distraction will give you and the young druid time enough to seal the gate. Do not falter. Now, let us see how they deal with chaotic magic."), +(15380,1,0,14,0,100,"anachronos the ancient ARYGOS_YELL_1","Let them feel the wrath of the Blue Flight! May Malygos protect me!"), +(15380,2,0,16,0,100,"anachronos the ancient ARYGOS_EMOTE_1","nods knowingly."), +(15378,0,0,12,0,100,"anachronos the ancient MERITHRA_SAY_1","There is a way..."), +(15378,1,0,12,0,100,"anachronos the ancient MERITHRA_SAY_2","We will push them back, Anachronos. This I vow. Uphold the end of this task. Let not your hands falter as you seal our fates behind the barrier."), +(15378,2,0,14,0,100,"anachronos the ancient MERITHRA_YELL_1","Succumb to the endless dream, little ones. Let it consume you!"), +(15378,3,0,16,0,100,"anachronos the ancient MERITHRA_EMOTE_1","glances at her compatriots."); diff --git a/sql/updates/world/2012_12_01_03_world_ulduar_creature_text.sql b/sql/updates/world/2012_12_01_03_world_ulduar_creature_text.sql new file mode 100644 index 00000000000..82d93d7b7ae --- /dev/null +++ b/sql/updates/world/2012_12_01_03_world_ulduar_creature_text.sql @@ -0,0 +1,174 @@ +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1603341 AND -1603050; +DELETE FROM `creature_text` WHERE `entry`=33350 AND `groupid`=15; +DELETE FROM `creature_text` WHERE `entry` IN ( +33515, -- Auriaya +33113, -- Flame Leviathan +32906, -- Freya +32913, -- Elder Ironbranch +32914, -- Elder Stonebark +32915, -- Elder Brightleaf +32845, -- Hodir +33118, -- Ignis +32930, -- Kologarn +33210, -- Expedition Commander +33287, -- Expedition Engineer +33186, -- Razorscale +33233, -- Razorscale Controller +33271, -- General Vezax +33488, -- Saronite Vapor +33293, -- XT-002 Deconstructor +32865 -- Thorim +); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- Auriaya +(33515,0,0,'Some things are better left alone!',14,0,100,0,0,15473,'Auriaya SAY_AGGRO'), +(33515,1,1,'The secret dies with you!',14,0,100,0,0,15474,'Auriaya SAY_SLAY_1'), +(33515,1,2,'There is no escape!',14,0,100,0,0,15475,'Auriaya SAY_SLAY_2'), +(33515,2,0,'Auriaya screams in agony.',16,0,100,0,0,15476,'Auriaya SAY_DEATH'), +(33515,3,0,'You waste my time!',14,0,100,0,0,15477,'Auriaya SAY_BERSERK'), +(33515,4,0,'%s begins to cast Terrifying Screech.',41,0,100,0,0,0,'Auriaya EMOTE_FEAR'), +(33515,5,0,'%s begins to activate the Feral Defender!',41,0,100,0,0,0,'Auriaya EMOTE_DEFENDER'), +-- Flame Leviathan +(33113, 0,0,'Hostile entities detected. Threat assessment protocol active. Primary target engaged. Time minus 30 seconds to re-evaluation.',14,0,100,0,0,15506,'Flame Leviathan SAY_AGGRO'), +(33113, 1,0,'Threat assessment routine modified. Current target threat level: 0. Acquiring new target.',14,0,100,0,0,15521,'Flame Leviathan SAY_SLAY'), +(33113, 2,0,'Total systems failure. Defense protocols breached. Leviathan unit shutting down.',14,0,100,0,0,15520,'Flame Leviathan SAY_DEATH'), +(33113, 3,0,'Threat re-evaluated. Target assessment complete. Changing course.',14,0,100,0,0,15507,'Flame Leviathan SAY_TARGET_1'), +(33113, 3,1,'Pursuit objective modified. Changing course.',14,0,100,0,0,15508,'Flame Leviathan SAY_TARGET_2'), +(33113, 3,2,'Hostile entity stratagem predicted. Rerouting battle function. Changing course.',14,0,100,0,0,15509,'Flame Leviathan SAY_TARGET_3'), +(33113, 4,0,'Orbital countermeasures enabled.',14,0,100,0,0,15510,'Flame Leviathan SAY_HARDMODE'), +(33113, 5,0,'Alert! Static defense system failure. Orbital countermeasures disabled.',14,0,100,0,0,15511,'Flame Leviathan SAY_TOWER_NONE'), +(33113, 6,0,'Hodir''s Fury online. Acquiring target.',14,0,100,0,0,15512,'Flame Leviathan SAY_TOWER_FROST'), +(33113, 7,0,'Mimiron''s Inferno online. Acquiring target.',14,0,100,0,0,15513,'Flame Leviathan SAY_TOWER_FLAME'), +(33113, 8,0,'Freya''s Ward online. Acquiring target.',14,0,100,0,0,15514,'Flame Leviathan SAY_TOWER_NATURE'), +(33113, 9,0,'Thorim''s Hammer online. Acquiring target.',14,0,100,0,0,15515,'Flame Leviathan SAY_TOWER_STORM'), +(33113,10,0,'Unauthorized entity attempting circuit overload. Activating anti-personnel countermeasures.',14,0,100,0,0,15516,'Flame Leviathan SAY_PLAYER_RIDING'), +(33113,11,0,'System malfunction. Diverting power to support systems.',14,0,100,0,0,15517,'Flame Leviathan SAY_OVERLOAD_1'), +(33113,11,1,'Combat matrix overload. Powering do-o-o-own...',14,0,100,0,0,15518,'Flame Leviathan SAY_OVERLOAD_2'), +(33113,11,2,'System restart required. Deactivating weapon systems.',14,0,100,0,0,15519,'Flame Leviathan SAY_OVERLOAD_3'), +(33113,12,0,'%s pursues $n.',41,0,100,0,0,0,'Flame Leviathan EMOTE_PURSUE'), +(33113,13,0,'%s''s circuits overloaded.',41,0,100,0,0,0,'Flame Leviathan EMOTE_OVERLOAD'), +(33113,14,0,'Automatic repair sequence initiated.',41,0,100,0,0,0,'Flame Leviathan EMOTE_REPAIR'), +-- Freya +(32906, 0,0,'The Conservatory must be protected!',14,0,100,0,0,15526,'Freya SAY_AGGRO'), +(32906, 1,0,'Elders grant me your strength!',14,0,100,0,0,15527,'Freya SAY_AGGRO_WITH_ELDER'), +(32906, 2,0,'Forgive me.',14,0,100,0,0,15529,'Freya SAY_SLAY_1'), +(32906, 2,1,'From your death springs life anew!',14,0,100,0,0,15530,'Freya SAY_SLAY_2'), +(32906, 3,0,'His hold on me dissipates. I can see clearly once more. Thank you, heroes.',14,0,100,0,0,15531,'Freya SAY_DEATH'), +(32906, 4,0,'You have strayed too far, wasted too much time!',14,0,100,0,0,15532,'Freya SAY_BERSERK'), +(32906, 5,0,'Eonar, your servant requires aid!',14,0,100,0,0,15528,'Freya SAY_SUMMON_CONSERVATOR'), +(32906, 6,0,'Children, assist me!',14,0,100,0,0,15533,'Freya SAY_SUMMON_TRIO'), +(32906, 7,0,'The swarm of the elements shall overtake you!',14,0,100,0,0,15534,'Freya SAY_SUMMON_LASHERS'), +(32906, 8,0,'A |cFF00FFFFLifebinder''s Gift|r begins to grow!',41,0,100,0,0,0,'Freya EMOTE_LIFEBINDERS_GIFT'), +(32906, 9,0,'Allies of Nature have appeared!',41,0,100,0,0,0,'Freya EMOTE_ALLIES_OF_NATURE'), +(32906,10,0,'Freya begins to cast |cFFFF0000Ground Tremor!|r',41,0,100,0,0,0,'Freya EMOTE_GROUND_TREMOR'), +(32906,11,0,'Freya casts |cFF00FF00Strengthened Iron Roots!|r',41,0,100,0,0,0,'Freya EMOTE_IRON_ROOTS'), +-- Elder Ironbranch +(32913,0,0,'Mortals have no place here!',14,0,100,0,0,15493,'Elder Ironbranch SAY_AGGRO'), +(32913,1,0,'I return you whence you came!',14,0,100,0,0,15494,'Elder Ironbranch SAY_SLAY_1'), +(32913,1,1,'BEGONE!',14,0,100,0,0,15495,'Elder Ironbranch SAY_SLAY_2'), +(32913,2,0,'Freya! They come for you.',14,0,100,0,0,15496,'Elder Ironbranch SAY_DEATH'), +-- Elder Stonebark +(32914,0,0,'This place will serve as your graveyard.',14,0,100,0,0,15500,'Elder Stonebark SAY_AGGRO'), +(32914,1,0,'<Angry roar>',14,0,100,0,0,15501,'Elder Stonebark SAY_SLAY_1'), +(32914,1,1,'Such a waste.',14,0,100,0,0,15502,'Elder Stonebark SAY_SLAY_2'), +(32914,2,0,'Matron, flee! They are ruthless....',14,0,100,0,0,15503,'Elder Stonebark SAY_DEATH'), +-- Elder Brightleaf +(32915,0,0,'Matron, the Conservatory has been breached!',14,0,100,0,0,15483,'Elder Brightleaf SAY_AGGRO'), +(32915,1,0,'Fertilizer.',14,0,100,0,0,15485,'Elder Brightleaf SAY_SLAY_1'), +(32915,1,1,'Your corpse will nourish the soil!',14,0,100,0,0,15486,'Elder Brightleaf SAY_SLAY_2'), +(32915,2,0,'Matron, one has fallen!',14,0,100,0,0,15487,'Elder Brightleaf SAY_DEATH'), +-- Hodir +(32845,0,0,'You will suffer for this trespass!',14,0,100,0,0,15552,'Hodir SAY_AGGRO'), +(32845,1,0,'Tragic. To come so far, only to fail.',14,0,100,0,0,15553,'Hodir SAY_SLAY_1'), +(32845,1,1,'Welcome to the endless winter.',14,0,100,0,0,15554,'Hodir SAY_SLAY_2'), +(32845,2,0,'Winds of the north consume you!',14,0,100,0,0,15555,'Hodir SAY_FLASH_FREEZE'), +(32845,3,0,'%s roars furious.',16,0,100,0,0,15556,'Hodir SAY_STALACTITE'), +(32845,4,0,'I... I am released from his grasp... at last.',14,0,100,0,0,15557,'Hodir SAY_DEATH'), +(32845,5,0,'ENOUGH! This ends now!',14,0,100,0,0,15558,'Hodir SAY_BERSERK'), +(32845,6,0,'%s shatters the Rare Cache of Hodir!',16,0,100,0,0,0,'Hodir SAY_HARD_MODE_MISSED'), +(32845,7,0,'%s begins to cast Flash Freeze!',41,0,100,0,0,0,'Hodir - EMOTE_FREEZE'), +(32845,8,0,'%s gains Frozen Blows!',41,0,100,0,0,0,'Hodir - EMOTE_BLOW'), +-- Ignis +(33118,0,0,'Insolent whelps! Your blood will temper the weapons used to reclaim this world!',14,0,100,0,0,15564,'Ignis SAY_AGGRO'), +(33118,1,0,'Arise, soldiers of the iron crucible! The Makers'' will be done!',14,0,100,0,0,15565,'Ignis SAY_SUMMON'), +(33118,2,0,'I will burn away your impurities!',14,0,100,0,0,15566,'Ignis SAY_SLAG_POT'), +(33118,3,0,'Let the inferno consume you!',14,0,100,0,0,15567,'Ignis SAY_SCORCH_1'), +(33118,3,1,'BURN! Burn in the Maker''s fire!',14,0,100,0,0,15568,'Ignis SAY_SCORCH_2'), +(33118,4,0,'More scraps for the scrapheap!',14,0,100,0,0,15569,'Ignis SAY_SLAY_1'), +(33118,4,1,'Your bones will serve as kindling!',14,0,100,0,0,15570,'Ignis SAY_SLAY_2'), +(33118,5,0,'Let it be finished!',14,0,100,0,0,15571,'Ignis SAY_BERSERK'), +(33118,6,0,'I. Have. Failed.',14,0,100,0,0,15572,'Ignis SAY_DEATH'), +(33118,7,0,'%s begins to cast Flame Jets!',41,0,100,0,0,0,'Ignis EMOTE_JETS'), +-- Kologarn +(32930,0,0,'None shall pass!',14,0,100,0,0,15586,'Kologarn SAY_AGGRO'), +(32930,1,0,'KOL-THARISH!',14,0,100,0,0,15587,'Kologarn SAY_SLAY_1'), +(32930,1,1,'YOU FAIL!',14,0,100,0,0,15588,'Kologarn SAY_SLAY_2'), +(32930,2,0,'Just a scratch!',14,0,100,0,0,15589,'Kologarn SAY_LEFT_ARM_GONE'), +(32930,3,0,'Only a flesh wound!',14,0,100,0,0,15590,'Kologarn SAY_RIGHT_ARM_GONE'), +(32930,4,0,'OBLIVION!',14,0,100,0,0,15591,'Kologarn SAY_SHOCKWAVE'), +(32930,5,0,'I will squeeze the life from you!',14,0,100,0,0,15592,'Kologarn SAY_GRAB_PLAYER'), +(32930,6,0,'Master, they come....',14,0,100,0,0,15593,'Kologarn SAY_DEATH'), +(32930,7,0,'I am invincible!',14,0,100,0,0,15594,'Kologarn SAY_BERSERK'), +(32930,8,0,'Kologarn casts Stone Grip!',41,0,100,0,0,15592,'Kologarn EMOTE_STONE_GRIP'), +-- Expedition Commander +(33210,0,0,'Welcome, champions! All of our attempts at grounding her have failed. We could use a hand in bring her down with these harpoon guns.',12,0,100,0,0,15647,'Expedition Commander SAY_INTRO'), +(33210,1,0,'Move quickly! She won''t remain grounded for long!',14,0,100,0,0,15648,'Expedition Commander SAY_GROUND_PHASE'), +(33210,2,0,'Be on the lookout! Mole machines will be surfacing soon with those nasty Iron dwarves aboard!',14,0,100,0,0,0,'Expedition Commander SAY_AGGRO_2'), +-- Expedition Engineer +(33287,0,0,'Give us a moment to prepare to build the turrets.',14,0,100,0,0,0,'Expedition Engineer SAY_AGGRO_1'), +(33287,1,0,'Ready to move out, keep those dwarves off of our backs!',14,0,100,0,0,0,'Expedition Engineer SAY_AGGRO_3'), +(33287,2,0,'Fires out! Let''s rebuild those turrets!',14,0,100,0,0,0,'SAY_TURRETS'), +-- Razorscale +(33186,0,0,'%s is grounded permanently!',41,0,100,0,0,0,'Razorscale EMOTE_PERMA'), +(33186,1,0,'%s takes a deep breath...',41,0,100,0,0,0,'Razorscale EMOTE_BREATH'), +-- Razorscale Controller +(33233,0,0,'Harpoon Turret is ready for use!',41,0,100,0,0,0,'Razorscale Controller EMOTE_HARPOON'), +-- General Vezax +(33271,0,0,'Your destruction will herald a new age of suffering!',14,0,100,0,0,15542,'General Vezax SAY_AGGRO'), +(33271,1,0,'You thought to stand before the legions of death... and survive?',14,0,100,0,0,15543,'General Vezax SAY_SLAY_1'), +(33271,1,1,'Defiance... a flaw of mortality.',14,0,100,0,0,15544,'General Vezax SAY_SLAY_2'), +(33271,2,0,'The black blood of Yogg-Saron courses through me! I. AM. UNSTOPPABLE!',14,0,100,0,0,15545,'General Vezax SAY_SURGE_OF_DARKNESS'), +(33271,3,0,'Oh, what horrors await....',14,0,100,0,0,15546,'General Vezax SAY_DEATH'), +(33271,4,0,'Your defeat was inevitable!',14,0,100,0,0,15547,'General Vezax SAY_BERSERK'), +(33271,5,0,'Behold, now! Terror, absolute!',14,0,100,0,0,15548,'General Vezax SAY_HARDMODE'), +(33271,6,0,'The saronite vapors mass and swirl violently, merging into a monstrous form!',41,0,100,0,0,0,'General Vezax - EMOTE_ANIMUS'), +(33271,7,0,'A saronite barrier appears around General Vezax!',41,0,100,0,0,0,'General Vezax - EMOTE_BARRIER'), +(33271,8,0,'%s roars and surges with dark might!',41,0,100,0,0,0,'General Vezax - EMOTE_SURGE_OF_DARKNESS'), +-- Saronite Vapor +(33488,0,0,'A cloud of saronite vapors coalesces nearby!',41,0,100,0,0,0,'Saronite Vapor - EMOTE_VAPORS'), +-- XT-002 Deconstructor +(33293, 0,0,'New toys? For me? I promise I won''t break them this time!',14,0,100,0,0,15724,'XT-002 Deconstructor SAY_AGGRO'), +(33293, 1,0,'So tired. I will rest for just a moment!',14,0,100,0,0,15725,'XT-002 Deconstructor SAY_HEART_OPENED'), +(33293, 2,0,'I''m ready to play!',14,0,100,0,0,15726,'XT-002 Deconstructor SAY_HEART_CLOSED'), +(33293, 3,0,'NO! NO! NO! NO! NO!',14,0,100,0,0,15727,'XT-002 Deconstructor SAY_TYMPANIC_TANTRUM'), +(33293, 4,0,'I... I think I broke it.',14,0,100,0,0,15728,'XT-002 Deconstructor SAY_SLAY_1'), +(33293, 4,1,'I guess it doesn''t bend that way.',14,0,100,0,0,15729,'XT-002 Deconstructor SAY_SLAY_2'), +(33293, 5,0,'I''m tired of these toys. I don''t want to play anymore!',14,0,100,0,0,15730,'XT-002 Deconstructor SAY_BERSERK'), +(33293, 6,0, 'You are bad... Toys... Very... Baaaaad ',14,0,100,0,0,15731,'XT-002 Deconstructor SAY_DEATH'), +(33293, 7,0,'Time for a new game! My old toys will fight my new toys!',14,0,100,0,0,15732,'XT-002 Deconstructor SAY_SUMMON'), +(33293, 8,0,'%s''s heart is exposed and leaking energy.',41,0,100,0,0,0,'XT-002 Deconstructor EMOTE_HEART_OPENED'), +(33293, 9,0,'%s''s heart is severed from his body.',41,0,100,0,0,0,'XT-002 Deconstructor EMOTE_HEART_CLOSED'), +(33293,10,0,'%s begins to cause the earth to quake.',41,0,100,0,0,0,'XT-002 Deconstructor EMOTE_TYMPANIC_TANTRUM'), +(33293,11,0,'%s consumes a scrap bot to repair himself!',41,0,100,0,0,0,'XT-002 Deconstructor EMOTE_SCRAPBOT'), +-- Thorim +(32865, 0,0,'Interlopers! You mortals who dare to interfere with my sport will pay... Wait--you...',14,0,100,0,0,15733,'Thorim SAY_AGGRO_1'), +(32865, 0,1,'I remember you... In the mountains... But you... what is this? Where am--',14,0,100,0,0,15734,'Thorim SAY_AGGRO_2'), +(32865, 1,0,'Behold the power of the storms and despair!',14,0,100,0,0,15735,'Thorim SAY_SPECIAL_1'), +(32865, 2,0,'Do not hold back! Destroy them!',14,0,100,0,0,15736,'Thorim SAY_SPECIAL_2'), +(32865, 3,0,'Have you begun to regret your intrusion?',14,0,100,0,0,15737,'Thorim SAY_SPECIAL_3'), +(32865, 4,0,'Impertinent whelps, you dare challenge me atop my pedestal? I will crush you myself!',14,0,100,0,0,15738,'Thorim SAY_JUMPDOWN'), +(32865, 5,0,'Can''t you at least put up a fight!?',14,0,100,0,0,15739,'Thorim SAY_SLAY_1'), +(32865, 5,1,'Pathetic.',14,0,100,0,0,15740,'Thorim SAY_SLAY_2'), +(32865, 6,0,'My patience has reached its limit!',14,0,100,0,0,15741,'Thorim SAY_BERSERK'), +(32865, 7,0,'Failures! Weaklings!',14,0,100,0,0,15742,'Thorim SAY_WIPE'), +(32865, 8,0,'Stay your arms! I yield!',14,0,100,0,0,15743,'Thorim SAY_DEATH'), +(32865, 9,0,'I feel as though I am awakening from a nightmare, but the shadows in this place yet linger.',14,0,100,0,0,15744,'Thorim SAY_END_NORMAL_1'), +(32865,10,0,'Sif... was Sif here? Impossible--she died by my brother''s hand. A dark nightmare indeed....',14,0,100,0,0,15745,'Thorim SAY_END_NORMAL_2'), +(32865,11,0,'I need time to reflect.... I will aid your cause if you should require it. I owe you at least that much. Farewell.',14,0,100,0,0,15746,'Thorim SAY_END_NORMAL_3'), +(32865,12,0,'You! Fiend! You are not my beloved! Be gone!',14,0,100,0,0,15747,'Thorim SAY_END_HARD_1'), +(32865,13,0,'Behold the hand behind all the evil that has befallen Ulduar, left my kingdom in ruins, corrupted my brother, and slain my wife.',14,0,100,0,0,15748,'Thorim SAY_END_HARD_2'), +(32865,14,0,'And now it falls to you, champions, to avenge us all. The task before you is great, but I will lend you my aid as I am able. You must prevail.',14,0,100,0,0,15749,'Thorim SAY_END_HARD_3'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=64604; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13,1,64604,0,0,31,0,4,0,0,0,0,0,'','Freya - Nature Bomb'); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp index aa41fa992dc..70c5bc8b986 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp @@ -619,42 +619,6 @@ uint32 hyjalAI::GetInstanceData(uint32 Event) return 0; } -void hyjalAI::Talk(uint32 id) -{ - std::list<uint8> index; - for (uint8 i = 0; i < 9; ++i) - { - if (Faction == 0) // Alliance - { - if (JainaQuotes[i].id == id) - index.push_back(i); - } - else if (Faction == 1) // Horde - { - if (ThrallQuotes[i].id == id) - index.push_back(i); - } - } - - if (index.empty()) - return; // No quotes found, no use to continue - - uint8 ind = *(index.begin()) + rand()%index.size(); - - int32 YellId = 0; - if (Faction == 0) // Alliance - { - YellId = JainaQuotes[ind].textid; - } - else if (Faction == 1) // Horde - { - YellId = ThrallQuotes[ind].textid; - } - - if (YellId) - DoScriptText(YellId, me); -} - void hyjalAI::Retreat() { if (instance) diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h index 68efa94d98b..5fe724c7845 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h @@ -132,12 +132,6 @@ enum TargetType // Used in the spell TARGETTYPE_VICTIM = 2, }; -struct Yells -{ - uint32 id; // Used to determine the type of yell (attack, rally, etc) - int32 textid; // The text id to be yelled -}; - enum YellId { ATTACKED = 0, // Used when attacked and set in combat @@ -149,32 +143,6 @@ enum YellId DEATH = 6, // Used on death }; -const Yells JainaQuotes[]= -{ - {ATTACKED, -1534000}, - {ATTACKED, -1534001}, - {INCOMING, -1534002}, - {BEGIN, -1534003}, - {RALLY, -1534004}, - {RALLY, -1534005}, - {FAILURE, -1534006}, - {SUCCESS, -1534007}, - {DEATH, -1534008}, -}; - -const Yells ThrallQuotes[]= -{ - {ATTACKED, -1534009}, - {ATTACKED, -1534010}, - {INCOMING, -1534011}, - {BEGIN, -1534012}, - {RALLY, -1534013}, - {RALLY, -1534014}, - {FAILURE, -1534015}, - {SUCCESS, -1534016}, - {DEATH, -1534017}, -}; - struct hyjalAI : public npc_escortAI { hyjalAI(Creature* creature); @@ -215,8 +183,6 @@ struct hyjalAI : public npc_escortAI uint32 GetInstanceData(uint32 Event); // Gets instance data for this instance, used to check if raid has gotten past a certain point and can access the next phase - void Talk(uint32 id); // Searches for the appropriate yell and sound and uses it to inform the raid of various things - public: InstanceScript* instance; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp index 7b468cb7fe5..17cae714b58 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp @@ -38,15 +38,11 @@ enum Spells enum Yells { - SAY_INTRO = -1595000, //"Prince Arthas Menethil, on this day, a powerful darkness has taken hold of your soul. The death you are destined to visit upon others will this day be your own." - SAY_AGGRO = -1595001, //"We'll see about that, young prince." - SAY_TIME_WARP_1 = -1595002, //"Tick tock, tick tock..." - SAY_TIME_WARP_2 = -1595003, //"Not quick enough!" - SAY_TIME_WARP_3 = -1595004, //"Let's get this over with. " - SAY_SLAY_1 = -1595005, //"There is no future for you." - SAY_SLAY_2 = -1595006, //"This is the hour of our greatest triumph!" - SAY_SLAY_3 = -1595007, //"You were destined to fail. " - SAY_DEATH = -1595008 //"*gurgles*" + SAY_INTRO = 0, + SAY_AGGRO = 1, + SAY_TIME_WARP = 2, + SAY_SLAY = 3, + SAY_DEATH = 4 }; class boss_epoch : public CreatureScript @@ -91,7 +87,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_EPOCH_EVENT, IN_PROGRESS); @@ -124,7 +120,7 @@ public: if (uiTimeWarpTimer < diff) { - DoScriptText(RAND(SAY_TIME_WARP_1, SAY_TIME_WARP_2, SAY_TIME_WARP_3), me); + Talk(SAY_TIME_WARP); DoCastAOE(SPELL_TIME_WARP); uiTimeWarpTimer = 25300; } else uiTimeWarpTimer -= diff; @@ -134,7 +130,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(DATA_EPOCH_EVENT, DONE); @@ -145,7 +141,7 @@ public: if (victim == me) return; - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me); + Talk(SAY_SLAY); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp index 88b2a766671..b07f4120e97 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp @@ -42,23 +42,15 @@ enum Spells enum Yells { - SAY_INTRO_1 = -1595009, - SAY_INTRO_2 = -1595010, - SAY_AGGRO = -1595011, - SAY_KILL_1 = -1595012, - SAY_KILL_2 = -1595013, - SAY_KILL_3 = -1595014, - SAY_SLAY_1 = -1595015, - SAY_SLAY_2 = -1595016, - SAY_SLAY_3 = -1595017, - SAY_SLAY_4 = -1595018, - SAY_SLEEP_1 = -1595019, - SAY_SLEEP_2 = -1595020, - SAY_30HEALTH = -1595021, - SAY_15HEALTH = -1595022, - SAY_ESCAPE_SPEECH_1 = -1595023, - SAY_ESCAPE_SPEECH_2 = -1595024, - SAY_OUTRO = -1595025, + SAY_AGGRO = 2, + SAY_KILL = 3, + SAY_SLAY = 4, + SAY_SLEEP = 5, + SAY_30HEALTH = 6, + SAY_15HEALTH = 7, + SAY_ESCAPE_SPEECH_1 = 8, + SAY_ESCAPE_SPEECH_2 = 9, + SAY_OUTRO = 10 }; enum CombatPhases @@ -116,7 +108,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_MAL_GANIS_EVENT, IN_PROGRESS); } @@ -138,13 +130,13 @@ public: if (!bYelled && HealthBelowPct(30)) { - DoScriptText(SAY_30HEALTH, me); + Talk(SAY_30HEALTH); bYelled = true; } if (!bYelled2 && HealthBelowPct(15)) { - DoScriptText(SAY_15HEALTH, me); + Talk(SAY_15HEALTH); bYelled2 = true; } @@ -187,7 +179,7 @@ public: if (uiSleepTimer < diff) { - DoScriptText(RAND(SAY_SLEEP_1, SAY_SLEEP_2), me); + Talk(SAY_SLEEP); if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(target, SPELL_SLEEP); uiSleepTimer = urand(15000, 20000); @@ -201,7 +193,7 @@ public: switch (uiOutroStep) { case 1: - DoScriptText(SAY_ESCAPE_SPEECH_1, me); + Talk(SAY_ESCAPE_SPEECH_1); me->GetMotionMaster()->MoveTargetedHome(); ++uiOutroStep; uiOutroTimer = 8000; @@ -209,12 +201,12 @@ public: case 2: me->SetTarget(instance ? instance->GetData64(DATA_ARTHAS) : 0); me->HandleEmoteCommand(29); - DoScriptText(SAY_ESCAPE_SPEECH_2, me); + Talk(SAY_ESCAPE_SPEECH_2); ++uiOutroStep; uiOutroTimer = 9000; break; case 3: - DoScriptText(SAY_OUTRO, me); + Talk(SAY_OUTRO); ++uiOutroStep; uiOutroTimer = 16000; break; @@ -250,7 +242,7 @@ public: if (victim == me) return; - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3, SAY_SLAY_4), me); + Talk(SAY_SLAY); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp index 8e80af66379..05d9fe8b5e4 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp @@ -38,12 +38,10 @@ enum Spells enum Yells { - SAY_AGGRO = -1595026, - SAY_SLAY_1 = -1595027, - SAY_SLAY_2 = -1595028, - SAY_SLAY_3 = -1595029, - SAY_SPAWN = -1595030, - SAY_DEATH = -1595031 + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_SPAWN = 2, + SAY_DEATH = 3 }; class boss_meathook : public CreatureScript @@ -62,7 +60,7 @@ public: { instance = creature->GetInstanceScript(); if (instance) - DoScriptText(SAY_SPAWN, me); + Talk(SAY_SPAWN); } uint32 uiChainTimer; @@ -83,7 +81,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_MEATHOOK_EVENT, IN_PROGRESS); @@ -119,7 +117,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(DATA_MEATHOOK_EVENT, DONE); @@ -130,7 +128,7 @@ public: if (victim == me) return; - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me); + Talk(SAY_SLAY); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp index d23957ddf81..3a490301e47 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp @@ -40,19 +40,13 @@ enum Spells enum Yells { - SAY_AGGRO = -1595032, - SAY_SPAWN = -1595033, - SAY_SLAY_1 = -1595034, - SAY_SLAY_2 = -1595035, - SAY_SLAY_3 = -1595036, - SAY_DEATH = -1595037, - SAY_EXPLODE_GHOUL_1 = -1595038, - SAY_EXPLODE_GHOUL_2 = -1595039, - SAY_STEAL_FLESH_1 = -1595040, - SAY_STEAL_FLESH_2 = -1595041, - SAY_STEAL_FLESH_3 = -1595042, - SAY_SUMMON_GHOULS_1 = -1595043, - SAY_SUMMON_GHOULS_2 = -1595044 + SAY_AGGRO = 0, + SAY_SPAWN = 1, + SAY_SLAY = 2, + SAY_DEATH = 3, + SAY_EXPLODE_GHOUL = 4, + SAY_STEAL_FLESH = 5, + SAY_SUMMON_GHOULS = 6 }; class boss_salramm : public CreatureScript @@ -71,7 +65,7 @@ public: { instance = creature->GetInstanceScript(); if (instance) - DoScriptText(SAY_SPAWN, me); + Talk(SAY_SPAWN); } uint32 uiCurseFleshTimer; @@ -96,7 +90,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_SALRAMM_EVENT, IN_PROGRESS); @@ -126,7 +120,7 @@ public: //Steal Flesh timer if (uiStealFleshTimer <= diff) { - DoScriptText(RAND(SAY_STEAL_FLESH_1, SAY_STEAL_FLESH_2, SAY_STEAL_FLESH_3), me); + Talk(SAY_STEAL_FLESH); if (Unit* random_pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0)) DoCast(random_pTarget, SPELL_STEAL_FLESH); uiStealFleshTimer = 10000; @@ -135,7 +129,7 @@ public: //Summon ghouls timer if (uiSummonGhoulsTimer <= diff) { - DoScriptText(RAND(SAY_SUMMON_GHOULS_1, SAY_SUMMON_GHOULS_2), me); + Talk(SAY_SUMMON_GHOULS); if (Unit* random_pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0)) DoCast(random_pTarget, SPELL_SUMMON_GHOULS); uiSummonGhoulsTimer = 10000; @@ -146,7 +140,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(DATA_SALRAMM_EVENT, DONE); @@ -157,7 +151,7 @@ public: if (victim == me) return; - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me); + Talk(SAY_SLAY); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp index 365c5dd7300..3329ecf88d2 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp @@ -26,65 +26,84 @@ enum Says { - //First Act - Uther and Jaina Dialog - SAY_PHASE101 = -1595070, //Arthas - SAY_PHASE102 = -1595071, //Uther - SAY_PHASE103 = -1595072, //Arthas - SAY_PHASE104 = -1595073, //Arthas - SAY_PHASE105 = -1595074, //Uther - SAY_PHASE106 = -1595075, //Arthas - SAY_PHASE107 = -1595076, //Uther - SAY_PHASE108 = -1595077, //Arthas - SAY_PHASE109 = -1595078, //Arthas - SAY_PHASE110 = -1595079, //Uther - SAY_PHASE111 = -1595080, //Arthas - SAY_PHASE112 = -1595081, //Uther - SAY_PHASE113 = -1595082, //Jaina - SAY_PHASE114 = -1595083, //Arthas - SAY_PHASE115 = -1595084, //Uther - SAY_PHASE116 = -1595085, //Arthas - SAY_PHASE117 = -1595086, //Jaina - SAY_PHASE118 = -1595087, //Arthas + //Arthas + //First Act + SAY_PHASE101 = 0, + SAY_PHASE103 = 1, + SAY_PHASE104 = 2, + SAY_PHASE106 = 3, + SAY_PHASE108 = 4, + SAY_PHASE110 = 5, + SAY_PHASE112 = 6, + SAY_PHASE114 = 7, + SAY_PHASE116 = 8, + SAY_PHASE118 = 9, + //Second Act - City Streets - SAY_PHASE201 = -1595088, //Arthas - SAY_PHASE202 = -1595089, //Cityman - SAY_PHASE203 = -1595090, //Arthas - SAY_PHASE204 = -1595091, //Crazyman - SAY_PHASE205 = -1595092, //Arthas - SAY_PHASE206 = -1595009, //Malganis - SAY_PHASE207 = -1595010, //Malganis - SAY_PHASE208 = -1595093, //Arthas - SAY_PHASE209 = -1595094, //Arthas - SAY_PHASE210 = -1595095, //Arthas + SAY_PHASE201 = 10, + SAY_PHASE203 = 11, + SAY_PHASE205 = 12, + SAY_PHASE208 = 13, + SAY_PHASE209 = 14, + SAY_PHASE210 = 15, + //Third Act - Town Hall - SAY_PHASE301 = -1595096, //Arthas - SAY_PHASE302 = -1595097, //Drakonian - SAY_PHASE303 = -1595098, //Arthas - SAY_PHASE304 = -1595099, //Arthas - SAY_PHASE305 = -1595100, //Drakonian - SAY_PHASE306 = -1595101, //Arthas - SAY_PHASE307 = -1595102, //Arthas - SAY_PHASE308 = -1595103, //Arthas - SAY_PHASE309 = -1595104, //Arthas - SAY_PHASE310 = -1595105, //Arthas - SAY_PHASE311 = -1595106, //Arthas - SAY_PHASE312 = -1595107, //Arthas - SAY_PHASE313 = -1595108, //Arthas - SAY_PHASE314 = -1595000, //Epoch - SAY_PHASE315 = -1595109, //Arthas + SAY_PHASE301 = 16, + SAY_PHASE303 = 17, + SAY_PHASE304 = 18, + SAY_PHASE306 = 19, + SAY_PHASE307 = 20, + SAY_PHASE308 = 21, + SAY_PHASE309 = 22, + SAY_PHASE310 = 23, + SAY_PHASE311 = 24, + SAY_PHASE312 = 25, + SAY_PHASE313 = 26, + SAY_PHASE315 = 27, + //Fourth Act - Fire Corridor - SAY_PHASE401 = -1595110, //Arthas - SAY_PHASE402 = -1595111, //Arthas - SAY_PHASE403 = -1595112, //Arthas - SAY_PHASE404 = -1595113, //Arthas - SAY_PHASE405 = -1595114, //Arthas - SAY_PHASE406 = -1595115, //Arthas - SAY_PHASE407 = -1595116, //Arthas + SAY_PHASE401 = 28, + SAY_PHASE402 = 29, + SAY_PHASE403 = 30, + SAY_PHASE404 = 31, + SAY_PHASE405 = 32, + SAY_PHASE406 = 33, + SAY_PHASE407 = 34, + //Fifth Act - Mal'Ganis Fight - SAY_PHASE501 = -1595117, //Arthas - SAY_PHASE502 = -1595118, //Arthas - SAY_PHASE503 = -1595119, //Arthas - SAY_PHASE504 = -1595120, //Arthas + SAY_PHASE501 = 35, + SAY_PHASE502 = 36, + SAY_PHASE503 = 37, + SAY_PHASE504 = 38, + + //Malganis + SAY_PHASE206 = 0, + SAY_PHASE207 = 1, + + //Epoch + SAY_PHASE314 = 0, + + //Uther + SAY_PHASE102 = 0, + SAY_PHASE105 = 1, + SAY_PHASE107 = 2, + SAY_PHASE109 = 3, + SAY_PHASE111 = 4, + SAY_PHASE115 = 5, + + //Jaina + SAY_PHASE113 = 0, + SAY_PHASE117 = 1, + + //Cityman + SAY_PHASE202 = 0, + + //Crazyman + SAY_PHASE204 = 0, + + //Drakonian + SAY_PHASE302 = 0, + SAY_PHASE305 = 1, }; enum NPCs @@ -250,27 +269,27 @@ public: ai->Start(true, true, player->GetGUID(), 0, false, false); ai->SetDespawnAtEnd(false); ai->bStepping = false; - ai->uiStep = 1; + ai->step = 1; break; case GOSSIP_ACTION_INFO_DEF+1: ai->bStepping = true; - ai->uiStep = 24; + ai->step = 24; break; case GOSSIP_ACTION_INFO_DEF+2: ai->SetHoldState(false); ai->bStepping = false; - ai->uiStep = 61; + ai->step = 61; break; case GOSSIP_ACTION_INFO_DEF+3: ai->SetHoldState(false); break; case GOSSIP_ACTION_INFO_DEF+4: ai->bStepping = true; - ai->uiStep = 84; + ai->step = 84; break; case GOSSIP_ACTION_INFO_DEF+5: ai->bStepping = true; - ai->uiStep = 85; + ai->step = 85; break; } player->CLOSE_GOSSIP_MENU(); @@ -285,7 +304,7 @@ public: if (ai && ai->bStepping == false) { - switch (ai->uiGossipStep) + switch (ai->gossipStep) { case 0: //This one is a workaround since the very beggining of the script is wrong. { @@ -339,46 +358,46 @@ public: InstanceScript* instance; bool bStepping; - uint32 uiStep; - uint32 uiPhaseTimer; - uint32 uiGossipStep; - uint32 uiPlayerFaction; - uint32 uiBossEvent; - uint32 uiWave; - - uint64 uiUtherGUID; - uint64 uiJainaGUID; - uint64 uiCitymenGUID[2]; - uint64 uiWaveGUID[ENCOUNTER_WAVES_MAX_SPAWNS]; - uint64 uiInfiniteDraconianGUID[ENCOUNTER_DRACONIAN_NUMBER]; - uint64 uiStalkerGUID; - - uint64 uiBossGUID; //uiMeathookGUID || uiSalrammGUID - uint64 uiEpochGUID; - uint64 uiMalganisGUID; - uint64 uiInfiniteGUID; - - uint32 uiExorcismTimer; + uint32 step; + uint32 phaseTimer; + uint32 gossipStep; + uint32 playerFaction; + uint32 bossEvent; + uint32 wave; + + uint64 utherGUID; + uint64 jainaGUID; + uint64 citymenGUID[2]; + uint64 waveGUID[ENCOUNTER_WAVES_MAX_SPAWNS]; + uint64 infiniteDraconianGUID[ENCOUNTER_DRACONIAN_NUMBER]; + uint64 stalkerGUID; + + uint64 bossGUID; + uint64 epochGUID; + uint64 malganisGUID; + uint64 infiniteGUID; + + uint32 exorcismTimer; void Reset() { - uiUtherGUID = 0; - uiJainaGUID = 0; + utherGUID = 0; + jainaGUID = 0; for (uint8 i = 0; i < 2; ++i) - uiCitymenGUID[i] = 0; + citymenGUID[i] = 0; for (uint8 i = 0; i < ENCOUNTER_WAVES_MAX_SPAWNS; ++i) - uiWaveGUID[i] = 0; + waveGUID[i] = 0; for (uint8 i = 0; i < ENCOUNTER_DRACONIAN_NUMBER; ++i) - uiInfiniteDraconianGUID[i] = 0; + infiniteDraconianGUID[i] = 0; - uiStalkerGUID = 0; - uiBossGUID = 0; - uiEpochGUID = 0; - uiMalganisGUID = 0; - uiInfiniteGUID = 0; + stalkerGUID = 0; + bossGUID = 0; + epochGUID = 0; + malganisGUID = 0; + infiniteGUID = 0; if (instance) { instance->SetData(DATA_ARTHAS_EVENT, NOT_STARTED); @@ -386,15 +405,15 @@ public: { case NOT_STARTED: bStepping = true; - uiStep = 0; + step = 0; me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - uiBossEvent = DATA_MEATHOOK_EVENT; - uiGossipStep = 0; + bossEvent = DATA_MEATHOOK_EVENT; + gossipStep = 0; break; } - uiPhaseTimer = 1000; - uiExorcismTimer = 7300; - uiWave = 0; + phaseTimer = 1000; + exorcismTimer = 7300; + wave = 0; } } @@ -423,7 +442,7 @@ public: temp->SetReactState(REACT_PASSIVE); temp->GetMotionMaster()->MovePoint(0, RiftAndSpawnsLocations[i][1], RiftAndSpawnsLocations[i][2], RiftAndSpawnsLocations[i][3]); if ((uint32)RiftAndSpawnsLocations[i][0] == NPC_EPOCH) - uiEpochGUID = temp->GetGUID(); + epochGUID = temp->GetGUID(); } } } @@ -447,8 +466,8 @@ public: void JumpToNextStep(uint32 uiTimer) { - uiPhaseTimer = uiTimer; - ++uiStep; + phaseTimer = uiTimer; + ++step; } void WaypointReached(uint32 waypointId) @@ -470,74 +489,74 @@ public: bStepping = true; break; case 7: - if (Unit* pCityman0 = me->SummonCreature(NPC_CITY_MAN, 2091.977f, 1275.021f, 140.757f, 0.558f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000)) - uiCitymenGUID[0] = pCityman0->GetGUID(); - if (Unit* pCityman1 = me->SummonCreature(NPC_CITY_MAN2, 2093.514f, 1275.842f, 140.408f, 3.801f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000)) - uiCitymenGUID[1] = pCityman1->GetGUID(); + if (Unit* cityman0 = me->SummonCreature(NPC_CITY_MAN, 2091.977f, 1275.021f, 140.757f, 0.558f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000)) + citymenGUID[0] = cityman0->GetGUID(); + if (Unit* cityman1 = me->SummonCreature(NPC_CITY_MAN2, 2093.514f, 1275.842f, 140.408f, 3.801f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000)) + citymenGUID[1] = cityman1->GetGUID(); break; case 8: - uiGossipStep = 1; + gossipStep = 1; me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); SetHoldState(true); break; case 12: SetRun(true); - DoScriptText(SAY_PHASE210, me); - if (Unit* pDisguised0 = me->SummonCreature(NPC_CITY_MAN3, 2398.14f, 1207.81f, 134.04f, 5.155249f, TEMPSUMMON_DEAD_DESPAWN, 180000)) + Talk(SAY_PHASE210); + if (Unit* disguised0 = me->SummonCreature(NPC_CITY_MAN3, 2398.14f, 1207.81f, 134.04f, 5.155249f, TEMPSUMMON_DEAD_DESPAWN, 180000)) { - uiInfiniteDraconianGUID[0] = pDisguised0->GetGUID(); - if (Unit* pDisguised1 = me->SummonCreature(NPC_CITY_MAN4, 2403.22f, 1205.54f, 134.04f, 3.311264f, TEMPSUMMON_DEAD_DESPAWN, 180000)) + infiniteDraconianGUID[0] = disguised0->GetGUID(); + if (Unit* disguised1 = me->SummonCreature(NPC_CITY_MAN4, 2403.22f, 1205.54f, 134.04f, 3.311264f, TEMPSUMMON_DEAD_DESPAWN, 180000)) { - uiInfiniteDraconianGUID[1] = pDisguised1->GetGUID(); + infiniteDraconianGUID[1] = disguised1->GetGUID(); - if (Unit* pDisguised2 = me->SummonCreature(NPC_CITY_MAN, 2400.82f, 1201.69f, 134.01f, 1.534082f, TEMPSUMMON_DEAD_DESPAWN, 180000)) + if (Unit* disguised2 = me->SummonCreature(NPC_CITY_MAN, 2400.82f, 1201.69f, 134.01f, 1.534082f, TEMPSUMMON_DEAD_DESPAWN, 180000)) { - uiInfiniteDraconianGUID[2] = pDisguised2->GetGUID(); - pDisguised0->SetTarget(uiInfiniteDraconianGUID[1]); - pDisguised1->SetTarget(uiInfiniteDraconianGUID[0]); - pDisguised2->SetTarget(uiInfiniteDraconianGUID[1]); + infiniteDraconianGUID[2] = disguised2->GetGUID(); + disguised0->SetTarget(infiniteDraconianGUID[1]); + disguised1->SetTarget(infiniteDraconianGUID[0]); + disguised2->SetTarget(infiniteDraconianGUID[1]); } } } break; case 20: - uiGossipStep = 2; + gossipStep = 2; me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); SetRun(false); SetHoldState(true); break; case 21: - DoScriptText(SAY_PHASE301, me); + Talk(SAY_PHASE301); break; case 25: SetRun(false); - SpawnTimeRift(0, &uiInfiniteDraconianGUID[0]); - DoScriptText(SAY_PHASE307, me); + SpawnTimeRift(0, &infiniteDraconianGUID[0]); + Talk(SAY_PHASE307); break; case 29: SetRun(false); - SpawnTimeRift(5, &uiInfiniteDraconianGUID[0]); - SpawnTimeRift(8, &uiInfiniteDraconianGUID[2]); - DoScriptText(SAY_PHASE309, me); + SpawnTimeRift(5, &infiniteDraconianGUID[0]); + SpawnTimeRift(8, &infiniteDraconianGUID[2]); + Talk(SAY_PHASE309); SetHoldState(true); bStepping = true; break; case 31: SetRun(false); - SpawnTimeRift(11, &uiInfiniteDraconianGUID[0]); - SpawnTimeRift(14, &uiInfiniteDraconianGUID[2]); - DoScriptText(SAY_PHASE311, me); + SpawnTimeRift(11, &infiniteDraconianGUID[0]); + SpawnTimeRift(14, &infiniteDraconianGUID[2]); + Talk(SAY_PHASE311); SetHoldState(true); bStepping = true; break; case 32: - DoScriptText(SAY_PHASE401, me); + Talk(SAY_PHASE401); break; case 34: - DoScriptText(SAY_PHASE402, me); + Talk(SAY_PHASE402); break; case 35: - DoScriptText(SAY_PHASE403, me); + Talk(SAY_PHASE403); break; case 36: if (instance) @@ -547,23 +566,23 @@ public: case 45: SetRun(true); SetDespawnAtFar(false); - uiGossipStep = 4; + gossipStep = 4; me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); SetHoldState(true); break; case 47: SetRun(false); - DoScriptText(SAY_PHASE405, me); + Talk(SAY_PHASE405); break; case 48: SetRun(true); - DoScriptText(SAY_PHASE406, me); + Talk(SAY_PHASE406); break; case 53: - DoScriptText(SAY_PHASE407, me); + Talk(SAY_PHASE407); break; case 54: - uiGossipStep = 5; + gossipStep = 5; me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); SetHoldState(true); break; @@ -578,18 +597,18 @@ public: if (bStepping) { - if (uiPhaseTimer <= diff) + if (phaseTimer <= diff) { - switch (uiStep) + switch (step) { //After reset case 0: { - Unit* pJaina = GetClosestCreatureWithEntry(me, NPC_JAINA, 50.0f); - if (!pJaina) - pJaina = me->SummonCreature(NPC_JAINA, 1895.48f, 1292.66f, 143.706f, 0.023475f, TEMPSUMMON_DEAD_DESPAWN, 180000); - if (pJaina) - uiJainaGUID = pJaina->GetGUID(); + Unit* jaina = GetClosestCreatureWithEntry(me, NPC_JAINA, 50.0f); + if (!jaina) + jaina = me->SummonCreature(NPC_JAINA, 1895.48f, 1292.66f, 143.706f, 0.023475f, TEMPSUMMON_DEAD_DESPAWN, 180000); + if (jaina) + jainaGUID = jaina->GetGUID(); bStepping = false; JumpToNextStep(0); break; @@ -597,24 +616,24 @@ public: //After waypoint 0 case 1: me->SetWalk(false); - if (Unit* pUther = me->SummonCreature(NPC_UTHER, 1794.357f, 1272.183f, 140.558f, 1.37f, TEMPSUMMON_DEAD_DESPAWN, 180000)) + if (Unit* uther = me->SummonCreature(NPC_UTHER, 1794.357f, 1272.183f, 140.558f, 1.37f, TEMPSUMMON_DEAD_DESPAWN, 180000)) { - uiUtherGUID = pUther->GetGUID(); - pUther->SetWalk(false); - pUther->GetMotionMaster()->MovePoint(0, 1897.018f, 1287.487f, 143.481f); - pUther->SetTarget(me->GetGUID()); - me->SetTarget(uiUtherGUID); + utherGUID = uther->GetGUID(); + uther->SetWalk(false); + uther->GetMotionMaster()->MovePoint(0, 1897.018f, 1287.487f, 143.481f); + uther->SetTarget(me->GetGUID()); + me->SetTarget(utherGUID); } JumpToNextStep(17000); break; case 2: - DoScriptText(SAY_PHASE101, me); + Talk(SAY_PHASE101); JumpToNextStep(2000); break; case 3: - if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID)) + if (Creature* uther = Unit::GetCreature(*me, utherGUID)) { - DoScriptText(SAY_PHASE102, pUther); + uther->AI()->Talk(SAY_PHASE102); } JumpToNextStep(8000); break; @@ -622,90 +641,90 @@ public: SetEscortPaused(false); bStepping = false; SetRun(false); - DoScriptText(SAY_PHASE103, me); + Talk(SAY_PHASE103); JumpToNextStep(0); break; //After waypoint 1 case 5: - if (Creature* pJaina = Unit::GetCreature(*me, uiJainaGUID)) - pJaina->SetTarget(me->GetGUID()); - DoScriptText(SAY_PHASE104, me); + if (Creature* jaina = Unit::GetCreature(*me, jainaGUID)) + jaina->SetTarget(me->GetGUID()); + Talk(SAY_PHASE104); JumpToNextStep(10000); break; case 6: - if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID)) - DoScriptText(SAY_PHASE105, pUther); + if (Creature* uther = Unit::GetCreature(*me, utherGUID)) + uther->AI()->Talk(SAY_PHASE105); JumpToNextStep(1000); break; case 7: - DoScriptText(SAY_PHASE106, me); + Talk(SAY_PHASE106); JumpToNextStep(4000); break; case 8: - if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID)) - DoScriptText(SAY_PHASE107, pUther); + if (Creature* uther = Unit::GetCreature(*me, utherGUID)) + uther->AI()->Talk(SAY_PHASE107); JumpToNextStep(6000); break; case 9: - DoScriptText(SAY_PHASE108, me); + Talk(SAY_PHASE108); JumpToNextStep(4000); break; case 10: - if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID)) - DoScriptText(SAY_PHASE109, pUther); + if (Creature* uther = Unit::GetCreature(*me, utherGUID)) + uther->AI()->Talk(SAY_PHASE109); JumpToNextStep(8000); break; case 11: - DoScriptText(SAY_PHASE110, me); + Talk(SAY_PHASE110); JumpToNextStep(4000); break; case 12: - if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID)) - DoScriptText(SAY_PHASE111, pUther); + if (Creature* uther = Unit::GetCreature(*me, utherGUID)) + uther->AI()->Talk(SAY_PHASE111); JumpToNextStep(4000); break; case 13: - DoScriptText(SAY_PHASE112, me); + Talk(SAY_PHASE112); JumpToNextStep(11000); break; case 14: - if (Creature* pJaina = Unit::GetCreature(*me, uiJainaGUID)) - DoScriptText(SAY_PHASE113, pJaina); + if (Creature* jaina = Unit::GetCreature(*me, jainaGUID)) + jaina->AI()->Talk(SAY_PHASE113); JumpToNextStep(3000); break; case 15: - DoScriptText(SAY_PHASE114, me); + Talk(SAY_PHASE114); JumpToNextStep(9000); break; case 16: - if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID)) - DoScriptText(SAY_PHASE115, pUther); + if (Creature* uther = Unit::GetCreature(*me, utherGUID)) + uther->AI()->Talk(SAY_PHASE115); JumpToNextStep(4000); break; case 17: - if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID)) + if (Creature* uther = Unit::GetCreature(*me, utherGUID)) { - pUther->SetWalk(true); - pUther->GetMotionMaster()->MovePoint(0, 1794.357f, 1272.183f, 140.558f); + uther->SetWalk(true); + uther->GetMotionMaster()->MovePoint(0, 1794.357f, 1272.183f, 140.558f); } JumpToNextStep(1000); break; case 18: - if (Creature* pJaina = Unit::GetCreature(*me, uiJainaGUID)) + if (Creature* jaina = Unit::GetCreature(*me, jainaGUID)) { - me->SetTarget(uiJainaGUID); - pJaina->SetWalk(true); - pJaina->GetMotionMaster()->MovePoint(0, 1794.357f, 1272.183f, 140.558f); + me->SetTarget(jainaGUID); + jaina->SetWalk(true); + jaina->GetMotionMaster()->MovePoint(0, 1794.357f, 1272.183f, 140.558f); } JumpToNextStep(1000); break; case 19: - DoScriptText(SAY_PHASE116, me); + Talk(SAY_PHASE116); JumpToNextStep(1000); break; case 20: - if (Creature* pJaina = Unit::GetCreature(*me, uiJainaGUID)) - DoScriptText(SAY_PHASE117, pJaina); + if (Creature* jaina = Unit::GetCreature(*me, jainaGUID)) + jaina->AI()->Talk(SAY_PHASE117); JumpToNextStep(3000); break; case 21: @@ -716,8 +735,8 @@ public: break; //After waypoint 3 case 22: - DoScriptText(SAY_PHASE118, me); - me->SetTarget(uiJainaGUID); + Talk(SAY_PHASE118); + me->SetTarget(jainaGUID); JumpToNextStep(10000); break; case 23: @@ -725,11 +744,11 @@ public: bStepping = false; SetRun(true); - if (Creature* pJaina = Unit::GetCreature(*me, uiJainaGUID)) - pJaina->DisappearAndDie(); + if (Creature* jaina = Unit::GetCreature(*me, jainaGUID)) + jaina->DisappearAndDie(); - if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID)) - pUther->DisappearAndDie(); + if (Creature* uther = Unit::GetCreature(*me, utherGUID)) + uther->DisappearAndDie(); me->SetTarget(0); JumpToNextStep(0); @@ -738,13 +757,13 @@ public: case 24: if (Unit* pStalker = me->SummonCreature(NPC_INVIS_TARGET, 2026.469f, 1287.088f, 143.596f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 14000)) { - uiStalkerGUID = pStalker->GetGUID(); - me->SetTarget(uiStalkerGUID); + stalkerGUID = pStalker->GetGUID(); + me->SetTarget(stalkerGUID); } JumpToNextStep(1000); break; case 25: - DoScriptText(SAY_PHASE201, me); + Talk(SAY_PHASE201); JumpToNextStep(12000); break; case 26: @@ -756,24 +775,24 @@ public: break; //After waypoint 9 case 27: - me->SetTarget(uiCitymenGUID[0]); - if (Creature* pCityman = Unit::GetCreature(*me, uiCitymenGUID[0])) + me->SetTarget(citymenGUID[0]); + if (Creature* cityman = Unit::GetCreature(*me, citymenGUID[0])) { - pCityman->SetTarget(me->GetGUID()); - pCityman->SetWalk(true); - pCityman->GetMotionMaster()->MovePoint(0, 2088.625f, 1279.191f, 140.743f); + cityman->SetTarget(me->GetGUID()); + cityman->SetWalk(true); + cityman->GetMotionMaster()->MovePoint(0, 2088.625f, 1279.191f, 140.743f); } JumpToNextStep(2000); break; case 28: - if (Creature* pCityman = Unit::GetCreature(*me, uiCitymenGUID[0])) - DoScriptText(SAY_PHASE202, pCityman); + if (Creature* cityman = Unit::GetCreature(*me, citymenGUID[0])) + cityman->AI()->Talk(SAY_PHASE202); JumpToNextStep(4000); break; case 29: SetEscortPaused(false); bStepping = false; - DoScriptText(SAY_PHASE203, me); + Talk(SAY_PHASE203); JumpToNextStep(0); break; //After waypoint 10 @@ -784,13 +803,13 @@ public: case 31: SetEscortPaused(false); bStepping = false; - if (Creature* pCityman1 = Unit::GetCreature(*me, uiCitymenGUID[1])) + if (Creature* cityman1 = Unit::GetCreature(*me, citymenGUID[1])) { - DoScriptText(SAY_PHASE204, pCityman1); - pCityman1->SetTarget(me->GetGUID()); - if (Creature* pCityman0 = Unit::GetCreature(*me, uiCitymenGUID[0])) - pCityman0->Kill(pCityman0); - me->SetTarget(uiCitymenGUID[1]); + cityman1->AI()->Talk(SAY_PHASE204); + cityman1->SetTarget(me->GetGUID()); + if (Creature* cityman0 = Unit::GetCreature(*me, citymenGUID[0])) + cityman0->Kill(cityman0); + me->SetTarget(citymenGUID[1]); } JumpToNextStep(0); break; @@ -800,75 +819,75 @@ public: JumpToNextStep(1000); break; case 33: - if (Creature* pCityman1 = Unit::GetCreature(*me, uiCitymenGUID[1])) - pCityman1->Kill(pCityman1); + if (Creature* cityman1 = Unit::GetCreature(*me, citymenGUID[1])) + cityman1->Kill(cityman1); JumpToNextStep(1000); break; case 34: if (Unit* pStalker = me->SummonCreature(NPC_INVIS_TARGET, 2081.447f, 1287.770f, 141.3241f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 10000)) { - uiStalkerGUID = pStalker->GetGUID(); - me->SetTarget(uiStalkerGUID); + stalkerGUID = pStalker->GetGUID(); + me->SetTarget(stalkerGUID); } - DoScriptText(SAY_PHASE205, me); + Talk(SAY_PHASE205); JumpToNextStep(3000); break; case 35: if (Unit* pStalkerM = me->SummonCreature(NPC_INVIS_TARGET, 2117.349f, 1288.624f, 136.271f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 60000)) { - uiStalkerGUID = pStalkerM->GetGUID(); - me->SetTarget(uiStalkerGUID); + stalkerGUID = pStalkerM->GetGUID(); + me->SetTarget(stalkerGUID); } JumpToNextStep(1000); break; case 36: - if (Creature* pMalganis = me->SummonCreature(NPC_MAL_GANIS, 2117.349f, 1288.624f, 136.271f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 60000)) + if (Creature* malganis = me->SummonCreature(NPC_MAL_GANIS, 2117.349f, 1288.624f, 136.271f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 60000)) { - if (Creature* pStalkerM = Unit::GetCreature(*me, uiStalkerGUID)) - pMalganis->CastSpell(pStalkerM, 63793, false); + if (Creature* pStalkerM = Unit::GetCreature(*me, stalkerGUID)) + malganis->CastSpell(pStalkerM, 63793, false); - uiMalganisGUID = pMalganis->GetGUID(); - DoScriptText(SAY_PHASE206, pMalganis); - pMalganis->SetTarget(me->GetGUID()); - pMalganis->SetReactState(REACT_PASSIVE); + malganisGUID = malganis->GetGUID(); + malganis->AI()->Talk(SAY_PHASE206); + malganis->SetTarget(me->GetGUID()); + malganis->SetReactState(REACT_PASSIVE); } JumpToNextStep(11000); break; case 37: - if (Creature* pMalganis = Unit::GetCreature(*me, uiMalganisGUID)) + if (Creature* malganis = Unit::GetCreature(*me, malganisGUID)) { - Creature* pZombie = GetClosestCreatureWithEntry(pMalganis, NPC_CITY_MAN, 100.0f); + Creature* pZombie = GetClosestCreatureWithEntry(malganis, NPC_CITY_MAN, 100.0f); if (!pZombie) - pZombie = GetClosestCreatureWithEntry(pMalganis, NPC_CITY_MAN2, 100.0f); + pZombie = GetClosestCreatureWithEntry(malganis, NPC_CITY_MAN2, 100.0f); if (pZombie) pZombie->UpdateEntry(NPC_ZOMBIE, 0); else //There's no one else to transform - uiStep++; + step++; } else - uiStep++; - uiPhaseTimer = 500; + step++; + phaseTimer = 500; break; case 38: - if (Creature* pMalganis = Unit::GetCreature(*me, uiMalganisGUID)) - DoScriptText(SAY_PHASE207, pMalganis); + if (Creature* malganis = Unit::GetCreature(*me, malganisGUID)) + malganis->AI()->Talk(SAY_PHASE207); JumpToNextStep(17000); break; case 39: - if (Creature* pMalganis = Unit::GetCreature(*me, uiMalganisGUID)) - pMalganis->SetVisible(false); - DoScriptText(SAY_PHASE208, me); + if (Creature* malganis = Unit::GetCreature(*me, malganisGUID)) + malganis->SetVisible(false); + Talk(SAY_PHASE208); JumpToNextStep(7000); break; case 40: if (Unit* pStalker = me->SummonCreature(NPC_INVIS_TARGET, 2081.447f, 1287.770f, 141.3241f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 10000)) { - uiStalkerGUID = pStalker->GetGUID(); - me->SetTarget(uiStalkerGUID); + stalkerGUID = pStalker->GetGUID(); + me->SetTarget(stalkerGUID); } - DoScriptText(SAY_PHASE209, me); + Talk(SAY_PHASE209); - uiBossEvent = DATA_MEATHOOK_EVENT; + bossEvent = DATA_MEATHOOK_EVENT; if (instance) instance->SetData(DATA_ARTHAS_EVENT, IN_PROGRESS); @@ -884,10 +903,10 @@ public: case 53: case 55: case 57: - if (instance->GetData(uiBossEvent) != DONE) + if (instance->GetData(bossEvent) != DONE) { - SpawnWaveGroup(uiWave, uiWaveGUID); - uiWave++; + SpawnWaveGroup(wave, waveGUID); + wave++; } JumpToNextStep(500); break; @@ -899,16 +918,16 @@ public: case 54: case 56: case 58: - if (instance->GetData(uiBossEvent) != DONE) + if (instance->GetData(bossEvent) != DONE) { uint32 mobCounter = 0; uint32 deadCounter = 0; for (uint8 i = 0; i < ENCOUNTER_WAVES_MAX_SPAWNS; ++i) { - if (uiWaveGUID[i] == 0) + if (waveGUID[i] == 0) break; ++mobCounter; - Unit* temp = Unit::GetCreature(*me, uiWaveGUID[i]); + Unit* temp = Unit::GetCreature(*me, waveGUID[i]); if (!temp || temp->isDead()) ++deadCounter; } @@ -916,24 +935,24 @@ public: if (mobCounter <= deadCounter) //If group is dead JumpToNextStep(1000); else - uiPhaseTimer = 1000; + phaseTimer = 1000; } else JumpToNextStep(500); break; case 49: //Summon Boss case 59: - if (instance->GetData(uiBossEvent) != DONE) + if (instance->GetData(bossEvent) != DONE) { uint32 uiBossID = 0; - if (uiBossEvent == DATA_MEATHOOK_EVENT) + if (bossEvent == DATA_MEATHOOK_EVENT) uiBossID = NPC_MEATHOOK; - else if (uiBossEvent == DATA_SALRAMM_EVENT) + else if (bossEvent == DATA_SALRAMM_EVENT) uiBossID = NPC_SALRAMM; if (Unit* pBoss = me->SummonCreature(uiBossID, 2232.19f, 1331.933f, 126.662f, 3.15f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 900000)) { - uiBossGUID = pBoss->GetGUID(); + bossGUID = pBoss->GetGUID(); pBoss->SetWalk(true); pBoss->GetMotionMaster()->MovePoint(0, 2194.110f, 1332.00f, 130.00f); } @@ -944,42 +963,42 @@ public: case 60: if (instance) { - if (instance->GetData(uiBossEvent) == DONE) + if (instance->GetData(bossEvent) == DONE) { JumpToNextStep(1000); - if (uiBossEvent == DATA_MEATHOOK_EVENT) - uiBossEvent = DATA_SALRAMM_EVENT; - else if (uiBossEvent == DATA_SALRAMM_EVENT) + if (bossEvent == DATA_MEATHOOK_EVENT) + bossEvent = DATA_SALRAMM_EVENT; + else if (bossEvent == DATA_SALRAMM_EVENT) { SetHoldState(false); bStepping = false; - uiBossEvent = DATA_EPOCH_EVENT; + bossEvent = DATA_EPOCH_EVENT; } } - else if (instance->GetData(uiBossEvent) == FAIL) + else if (instance->GetData(bossEvent) == FAIL) npc_escortAI::EnterEvadeMode(); else - uiPhaseTimer = 10000; + phaseTimer = 10000; } break; //After Gossip 2 (waypoint 22) case 61: me->SetReactState(REACT_AGGRESSIVE); - if (Creature* pDisguised0 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[0])) - pDisguised0->SetTarget(me->GetGUID()); - if (Creature* pDisguised1 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[1])) - pDisguised1->SetTarget(me->GetGUID()); - if (Creature* pDisguised2 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[2])) - pDisguised2->SetTarget(me->GetGUID()); + if (Creature* disguised0 = Unit::GetCreature(*me, infiniteDraconianGUID[0])) + disguised0->SetTarget(me->GetGUID()); + if (Creature* disguised1 = Unit::GetCreature(*me, infiniteDraconianGUID[1])) + disguised1->SetTarget(me->GetGUID()); + if (Creature* disguised2 = Unit::GetCreature(*me, infiniteDraconianGUID[2])) + disguised2->SetTarget(me->GetGUID()); JumpToNextStep(1000); break; case 62: - if (Creature* pDisguised0 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[0])) - DoScriptText(SAY_PHASE302, pDisguised0); + if (Creature* disguised0 = Unit::GetCreature(*me, infiniteDraconianGUID[0])) + disguised0->AI()->Talk(SAY_PHASE302); JumpToNextStep(7000); break; case 63: - DoScriptText(SAY_PHASE303, me); + Talk(SAY_PHASE303); SetHoldState(false); bStepping = false; JumpToNextStep(0); @@ -990,46 +1009,46 @@ public: JumpToNextStep(1000); break; case 65: - if (Creature* pDisguised0 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[0])) - pDisguised0->HandleEmoteCommand(11); + if (Creature* disguised0 = Unit::GetCreature(*me, infiniteDraconianGUID[0])) + disguised0->HandleEmoteCommand(11); JumpToNextStep(1000); break; case 66: - DoScriptText(SAY_PHASE304, me); + Talk(SAY_PHASE304); JumpToNextStep(2000); break; case 67: - if (Creature* pDisguised0 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[0])) - DoScriptText(SAY_PHASE305, pDisguised0); + if (Creature* disguised0 = Unit::GetCreature(*me, infiniteDraconianGUID[0])) + disguised0->AI()->Talk(SAY_PHASE305); JumpToNextStep(1000); break; case 68: - if (Creature* pDisguised2 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[2])) + if (Creature* disguised2 = Unit::GetCreature(*me, infiniteDraconianGUID[2])) { - pDisguised2->UpdateEntry(NPC_INFINITE_HUNTER, 0); + disguised2->UpdateEntry(NPC_INFINITE_HUNTER, 0); //Make them unattackable - pDisguised2->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); - pDisguised2->SetReactState(REACT_PASSIVE); + disguised2->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); + disguised2->SetReactState(REACT_PASSIVE); } JumpToNextStep(2000); break; case 69: - if (Creature* pDisguised1 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[1])) + if (Creature* disguised1 = Unit::GetCreature(*me, infiniteDraconianGUID[1])) { - pDisguised1->UpdateEntry(NPC_INFINITE_AGENT, 0); + disguised1->UpdateEntry(NPC_INFINITE_AGENT, 0); //Make them unattackable - pDisguised1->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); - pDisguised1->SetReactState(REACT_PASSIVE); + disguised1->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); + disguised1->SetReactState(REACT_PASSIVE); } JumpToNextStep(2000); break; case 70: - if (Creature* pDisguised0 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[0])) + if (Creature* disguised0 = Unit::GetCreature(*me, infiniteDraconianGUID[0])) { - pDisguised0->UpdateEntry(NPC_INFINITE_ADVERSARY, 0); + disguised0->UpdateEntry(NPC_INFINITE_ADVERSARY, 0); //Make them unattackable - pDisguised0->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); - pDisguised0->SetReactState(REACT_PASSIVE); + disguised0->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); + disguised0->SetReactState(REACT_PASSIVE); } JumpToNextStep(2000); break; @@ -1040,7 +1059,7 @@ public: case 77: //Make cratures attackable for (uint32 i = 0; i< ENCOUNTER_DRACONIAN_NUMBER; ++i) - if (Creature* temp = Unit::GetCreature(*me, uiInfiniteDraconianGUID[i])) + if (Creature* temp = Unit::GetCreature(*me, infiniteDraconianGUID[i])) { temp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); temp->SetReactState(REACT_AGGRESSIVE); @@ -1051,12 +1070,12 @@ public: case 74: case 76: if (me->isInCombat()) - uiPhaseTimer = 1000; + phaseTimer = 1000; else { - if (uiStep == 72) DoScriptText(SAY_PHASE308, me); - if (uiStep == 74) DoScriptText(SAY_PHASE308, me); - if (uiStep == 76) DoScriptText(SAY_PHASE310, me); + if (step == 72) Talk(SAY_PHASE308); + if (step == 74) Talk(SAY_PHASE308); + if (step == 76) Talk(SAY_PHASE310); SetHoldState(false); bStepping = false; SetRun(true); @@ -1065,44 +1084,44 @@ public: break; case 78: if (me->isInCombat()) - uiPhaseTimer = 1000; + phaseTimer = 1000; else { - DoScriptText(SAY_PHASE312, me); + Talk(SAY_PHASE312); JumpToNextStep(5000); } break; case 79: - DoScriptText(SAY_PHASE313, me); + Talk(SAY_PHASE313); JumpToNextStep(1000); break; case 80: if (instance) if (instance->GetData(DATA_EPOCH_EVENT) != DONE) { - SpawnTimeRift(17, &uiEpochGUID); - if (Creature* pEpoch = Unit::GetCreature(*me, uiEpochGUID)) - DoScriptText(SAY_PHASE314, pEpoch); - me->SetTarget(uiEpochGUID); + SpawnTimeRift(17, &epochGUID); + if (Creature* epoch = Unit::GetCreature(*me, epochGUID)) + epoch->AI()->Talk(SAY_PHASE314); + me->SetTarget(epochGUID); } JumpToNextStep(18000); break; case 81: if (instance) if (instance->GetData(DATA_EPOCH_EVENT) != DONE) - DoScriptText(SAY_PHASE315, me); + Talk(SAY_PHASE315); JumpToNextStep(6000); break; case 82: if (instance) if (instance->GetData(DATA_EPOCH_EVENT) != DONE) { - if (Creature* pEpoch = Unit::GetCreature(*me, uiEpochGUID)) + if (Creature* epoch = Unit::GetCreature(*me, epochGUID)) { //Make Epoch attackable - pEpoch->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); - pEpoch->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - pEpoch->SetReactState(REACT_AGGRESSIVE); + epoch->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); + epoch->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); + epoch->SetReactState(REACT_AGGRESSIVE); } } @@ -1113,31 +1132,31 @@ public: { if (instance->GetData(DATA_EPOCH_EVENT) == DONE) { - uiGossipStep = 3; + gossipStep = 3; me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); bStepping = false; - uiBossEvent = DATA_MAL_GANIS_EVENT; + bossEvent = DATA_MAL_GANIS_EVENT; JumpToNextStep(15000); } else if (instance->GetData(DATA_EPOCH_EVENT) == FAIL) npc_escortAI::EnterEvadeMode(); else - uiPhaseTimer = 10000; + phaseTimer = 10000; } break; //After Gossip 4 case 84: - DoScriptText(SAY_PHASE404, me); + Talk(SAY_PHASE404); SetHoldState(false); bStepping = false; break; //After Gossip 5 case 85: - DoScriptText(SAY_PHASE501, me); - if (Creature* pMalganis = me->SummonCreature(NPC_MAL_GANIS, 2296.665f, 1502.362f, 128.362f, 4.961f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 900000)) + Talk(SAY_PHASE501); + if (Creature* malganis = me->SummonCreature(NPC_MAL_GANIS, 2296.665f, 1502.362f, 128.362f, 4.961f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 900000)) { - uiMalganisGUID = pMalganis->GetGUID(); - pMalganis->SetReactState(REACT_PASSIVE); + malganisGUID = malganis->GetGUID(); + malganis->SetReactState(REACT_PASSIVE); } if (instance) if (GameObject* pGate = instance->instance->GetGameObject(instance->GetData64(DATA_MAL_GANIS_GATE_1))) @@ -1148,15 +1167,15 @@ public: break; //After waypoint 55 case 86: - DoScriptText(SAY_PHASE502, me); + Talk(SAY_PHASE502); JumpToNextStep(6000); - me->SetTarget(uiMalganisGUID); + me->SetTarget(malganisGUID); break; case 87: - if (Creature* pMalganis = Unit::GetCreature(*me, uiMalganisGUID)) + if (Creature* malganis = Unit::GetCreature(*me, malganisGUID)) { - pMalganis->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_UNK_6 | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_UNK_15); - pMalganis->SetReactState(REACT_AGGRESSIVE); + malganis->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_UNK_6 | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_UNK_15); + malganis->SetReactState(REACT_AGGRESSIVE); } JumpToNextStep(1000); break; @@ -1171,14 +1190,14 @@ public: else if (instance->GetData(DATA_MAL_GANIS_EVENT) == FAIL) npc_escortAI::EnterEvadeMode(); else - uiPhaseTimer = 10000; + phaseTimer = 10000; } break; //After waypoint 56 case 89: SetRun(true); - me->SetTarget(uiMalganisGUID); - DoScriptText(SAY_PHASE503, me); + me->SetTarget(malganisGUID); + Talk(SAY_PHASE503); JumpToNextStep(7000); break; case 90: @@ -1187,23 +1206,23 @@ public: instance->SetData(DATA_ARTHAS_EVENT, DONE); //Rewards: Achiev & Chest ;D me->SetTarget(instance->GetData64(DATA_MAL_GANIS_GATE_2)); //Look behind } - DoScriptText(SAY_PHASE504, me); + Talk(SAY_PHASE504); bStepping = false; break; } - } else uiPhaseTimer -= diff; + } else phaseTimer -= diff; } //Battling skills if (!me->getVictim()) return; - if (uiExorcismTimer < diff) + if (exorcismTimer < diff) { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) DoCast(target, SPELL_EXORCISM_N); - uiExorcismTimer = 7300; - } else uiExorcismTimer -= diff; + exorcismTimer = 7300; + } else exorcismTimer -= diff; if (HealthBelowPct(40)) DoCast(me, SPELL_HOLY_LIGHT); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp index 161ea4ba8b7..bcf48ccd7be 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp @@ -29,13 +29,12 @@ EndScriptData */ enum eEnums { - SAY_ENTER = -1269012, - SAY_AGGRO = -1269013, - SAY_BANISH = -1269014, - SAY_SLAY1 = -1269015, - SAY_SLAY2 = -1269016, - SAY_DEATH = -1269017, - EMOTE_FRENZY = -1269018, + SAY_ENTER = 0, + SAY_AGGRO = 1, + SAY_BANISH = 2, + SAY_SLAY = 3, + SAY_DEATH = 4, + EMOTE_FRENZY = 5, SPELL_CLEAVE = 40504, SPELL_TIME_STOP = 31422, @@ -76,7 +75,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void MoveInLineOfSight(Unit* who) @@ -86,7 +85,7 @@ public: { if (me->IsWithinDistInMap(who, 20.0f)) { - DoScriptText(SAY_BANISH, me); + Talk(SAY_BANISH); me->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); } } @@ -96,7 +95,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) { @@ -107,7 +106,7 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me); + Talk(SAY_SLAY); } void UpdateAI(const uint32 diff) @@ -133,7 +132,7 @@ public: //Frenzy if (Frenzy_Timer <= diff) { - DoScriptText(EMOTE_FRENZY, me); + Talk(EMOTE_FRENZY); DoCast(me, SPELL_ENRAGE); Frenzy_Timer = 20000+rand()%15000; } else Frenzy_Timer -= diff; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp index 8fc7f31e766..244e22149fc 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp @@ -29,12 +29,11 @@ EndScriptData */ enum eEnums { - SAY_ENTER = -1269006, - SAY_AGGRO = -1269007, - SAY_BANISH = -1269008, - SAY_SLAY1 = -1269009, - SAY_SLAY2 = -1269010, - SAY_DEATH = -1269011, + SAY_ENTER = 0, + SAY_AGGRO = 1, + SAY_BANISH = 2, + SAY_SLAY = 3, + SAY_DEATH = 4, SPELL_ARCANE_BLAST = 31457, H_SPELL_ARCANE_BLAST = 38538, @@ -78,7 +77,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void MoveInLineOfSight(Unit* who) @@ -88,7 +87,7 @@ public: { if (me->IsWithinDistInMap(who, 20.0f)) { - DoScriptText(SAY_BANISH, me); + Talk(SAY_BANISH); me->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); } } @@ -98,12 +97,12 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(TYPE_RIFT, SPECIAL); @@ -133,7 +132,7 @@ public: //Time Lapse if (TimeLapse_Timer <= diff) { - DoScriptText(SAY_BANISH, me); + Talk(SAY_BANISH); DoCast(me, SPELL_TIME_LAPSE); TimeLapse_Timer = 15000+rand()%10000; } else TimeLapse_Timer -= diff; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp index 0256a099580..02a9f4742b3 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp @@ -29,12 +29,11 @@ EndScriptData */ enum eEnums { - SAY_ENTER = -1269000, - SAY_AGGRO = -1269001, - SAY_BANISH = -1269002, - SAY_SLAY1 = -1269003, - SAY_SLAY2 = -1269004, - SAY_DEATH = -1269005, + SAY_ENTER = 0, + SAY_AGGRO = 1, + SAY_BANISH = 2, + SAY_SLAY = 3, + SAY_DEATH = 4, SPELL_HASTE = 31458, SPELL_MORTAL_WOUND = 31464, @@ -77,17 +76,17 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(TYPE_RIFT, SPECIAL); @@ -100,7 +99,7 @@ public: { if (me->IsWithinDistInMap(who, 20.0f)) { - DoScriptText(SAY_BANISH, me); + Talk(SAY_BANISH); me->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp index 8ca14d72b94..03bebe35fd9 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp @@ -36,29 +36,32 @@ EndContentData */ #include "Player.h" #include "SpellInfo.h" -#define SAY_ENTER -1269020 //where does this belong? -#define SAY_INTRO -1269021 -#define SAY_WEAK75 -1269022 -#define SAY_WEAK50 -1269023 -#define SAY_WEAK25 -1269024 -#define SAY_DEATH -1269025 -#define SAY_WIN -1269026 -#define SAY_ORCS_ENTER -1269027 -#define SAY_ORCS_ANSWER -1269028 - -#define SPELL_CHANNEL 31556 -#define SPELL_PORTAL_RUNE 32570 //aura(portal on ground effect) - -#define SPELL_BLACK_CRYSTAL 32563 //aura -#define SPELL_PORTAL_CRYSTAL 32564 //summon - -#define SPELL_BANISH_PURPLE 32566 //aura -#define SPELL_BANISH_GREEN 32567 //aura - -#define SPELL_CORRUPT 31326 -#define SPELL_CORRUPT_AEONUS 37853 - -#define C_COUNCIL_ENFORCER 17023 +enum MedivhBm +{ + SAY_ENTER = 0, //where does this belong? + SAY_INTRO = 1, + SAY_WEAK75 = 2, + SAY_WEAK50 = 3, + SAY_WEAK25 = 4, + SAY_DEATH = 5, + SAY_WIN = 6, + SAY_ORCS_ENTER = 7, + SAY_ORCS_ANSWER = 8, + + SPELL_CHANNEL = 31556, + SPELL_PORTAL_RUNE = 32570, //aura(portal on ground effect) + + SPELL_BLACK_CRYSTAL = 32563, //aura + SPELL_PORTAL_CRYSTAL = 32564, //summon + + SPELL_BANISH_PURPLE = 32566, //aura + SPELL_BANISH_GREEN = 32567, //aura + + SPELL_CORRUPT = 31326, + SPELL_CORRUPT_AEONUS = 37853, + + C_COUNCIL_ENFORCER = 17023 +}; class npc_medivh_bm : public CreatureScript { @@ -111,7 +114,7 @@ public: if (instance->GetData(TYPE_MEDIVH) == IN_PROGRESS || instance->GetData(TYPE_MEDIVH) == DONE) return; - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); instance->SetData(TYPE_MEDIVH, IN_PROGRESS); DoCast(me, SPELL_CHANNEL, false); Check_Timer = 5000; @@ -162,7 +165,7 @@ public: if (killer->GetEntry() == me->GetEntry()) return; - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } void UpdateAI(const uint32 diff) @@ -195,17 +198,17 @@ public: if (Life25 && pct <= 25) { - DoScriptText(SAY_WEAK25, me); + Talk(SAY_WEAK25); Life25 = false; } else if (Life50 && pct <= 50) { - DoScriptText(SAY_WEAK50, me); + Talk(SAY_WEAK50); Life50 = false; } else if (Life75 && pct <= 75) { - DoScriptText(SAY_WEAK75, me); + Talk(SAY_WEAK75); Life75 = false; } @@ -220,7 +223,7 @@ public: if (instance->GetData(TYPE_RIFT) == DONE) { - DoScriptText(SAY_WIN, me); + Talk(SAY_WIN); Check_Timer = 0; if (me->HasAura(SPELL_CHANNEL)) @@ -363,11 +366,13 @@ public: }; -#define SAY_SAAT_WELCOME -1269019 +enum Saat +{ + SPELL_CHRONO_BEACON = 34975, + ITEM_CHRONO_BEACON = 24289 +}; #define GOSSIP_ITEM_OBTAIN "[PH] Obtain Chrono-Beacon" -#define SPELL_CHRONO_BEACON 34975 -#define ITEM_CHRONO_BEACON 24289 class npc_saat : public CreatureScript { diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp index 96cfba0007b..3398395aca6 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp @@ -27,19 +27,25 @@ EndScriptData */ #include "ScriptedCreature.h" #include "old_hillsbrad.h" -#define SAY_ENTER -1560000 -#define SAY_TAUNT1 -1560001 -#define SAY_TAUNT2 -1560002 -#define SAY_SLAY1 -1560003 -#define SAY_SLAY2 -1560004 -#define SAY_DEATH -1560005 - -#define SPELL_HOLY_LIGHT 29427 -#define SPELL_CLEANSE 29380 -#define SPELL_HAMMER_OF_JUSTICE 13005 -#define SPELL_HOLY_SHIELD 31904 -#define SPELL_DEVOTION_AURA 8258 -#define SPELL_CONSECRATION 38385 +/*###################### +# boss_captain_skarloc # +#######################*/ + +enum CaptainSkarloc +{ + SAY_ENTER = 0, + SAY_TAUNT1 = 1, + SAY_TAUNT2 = 2, + SAY_SLAY = 3, + SAY_DEATH = 4, + + SPELL_HOLY_LIGHT = 29427, + SPELL_CLEANSE = 29380, + SPELL_HAMMER_OF_JUSTICE = 13005, + SPELL_HOLY_SHIELD = 31904, + SPELL_DEVOTION_AURA = 8258, + SPELL_CONSECRATION = 38385 +}; class boss_captain_skarloc : public CreatureScript { @@ -80,18 +86,18 @@ public: void EnterCombat(Unit* /*who*/) { //This is not correct. Should taunt Thrall before engage in combat - DoScriptText(SAY_TAUNT1, me); - DoScriptText(SAY_TAUNT2, me); + Talk(SAY_TAUNT1); + Talk(SAY_TAUNT2); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance && instance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS) instance->SetData(TYPE_THRALL_PART1, DONE); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp index ab0f10bdfe0..00204300a51 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp @@ -27,21 +27,23 @@ EndScriptData */ #include "ScriptedCreature.h" #include "old_hillsbrad.h" -#define SAY_ENTER1 -1560013 -#define SAY_ENTER2 -1560014 -#define SAY_ENTER3 -1560015 -#define SAY_AGGRO1 -1560016 -#define SAY_AGGRO2 -1560017 -#define SAY_SLAY1 -1560018 -#define SAY_SLAY2 -1560019 -#define SAY_BREATH1 -1560020 -#define SAY_BREATH2 -1560021 -#define SAY_DEATH -1560022 - -#define SPELL_SAND_BREATH 31914 -#define SPELL_IMPENDING_DEATH 31916 -#define SPELL_MAGIC_DISRUPTION_AURA 33834 -#define SPELL_WING_BUFFET 31475 +/*################### +# boss_epoch_hunter # +####################*/ + +enum EpochHunter +{ + SAY_ENTER = 0, + SAY_AGGRO = 1, + SAY_SLAY = 2, + SAY_BREATH = 3, + SAY_DEATH = 4, + + SPELL_SAND_BREATH = 31914, + SPELL_IMPENDING_DEATH = 31916, + SPELL_MAGIC_DISRUPTION_AURA = 33834, + SPELL_WING_BUFFET = 31475 +}; class boss_epoch_hunter : public CreatureScript { @@ -77,17 +79,17 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2), me); + Talk(SAY_AGGRO); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance && instance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS) instance->SetData(TYPE_THRALL_PART4, DONE); @@ -107,7 +109,7 @@ public: DoCast(me->getVictim(), SPELL_SAND_BREATH); - DoScriptText(RAND(SAY_BREATH1, SAY_BREATH2), me); + Talk(SAY_BREATH); SandBreath_Timer = urand(10000, 20000); } else SandBreath_Timer -= diff; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp index 534c831814e..22036899d64 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp @@ -56,18 +56,20 @@ public: ## boss_lieutenant_drake ######*/ -#define SAY_ENTER -1560006 -#define SAY_AGGRO -1560007 -#define SAY_SLAY1 -1560008 -#define SAY_SLAY2 -1560009 -#define SAY_MORTAL -1560010 -#define SAY_SHOUT -1560011 -#define SAY_DEATH -1560012 - -#define SPELL_WHIRLWIND 31909 -#define SPELL_HAMSTRING 9080 -#define SPELL_MORTAL_STRIKE 31911 -#define SPELL_FRIGHTENING_SHOUT 33789 +enum LieutenantDrake +{ + SAY_ENTER = 0, + SAY_AGGRO = 1, + SAY_SLAY = 2, + SAY_MORTAL = 3, + SAY_SHOUT = 4, + SAY_DEATH = 5, + + SPELL_WHIRLWIND = 31909, + SPELL_HAMSTRING = 9080, + SPELL_MORTAL_STRIKE = 31911, + SPELL_FRIGHTENING_SHOUT = 33789 +}; struct Location { @@ -135,17 +137,17 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } void UpdateAI(const uint32 diff) @@ -171,7 +173,7 @@ public: //Fear if (Fear_Timer <= diff) { - DoScriptText(SAY_SHOUT, me); + Talk(SAY_SHOUT); DoCast(me->getVictim(), SPELL_FRIGHTENING_SHOUT); Fear_Timer = 25000+rand()%10000; } else Fear_Timer -= diff; @@ -179,7 +181,7 @@ public: //Mortal Strike if (MortalStrike_Timer <= diff) { - DoScriptText(SAY_MORTAL, me); + Talk(SAY_MORTAL); DoCast(me->getVictim(), SPELL_MORTAL_STRIKE); MortalStrike_Timer = 20000+rand()%10000; } else MortalStrike_Timer -= diff; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp index 2000d8a52f8..fe41ff521d8 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp @@ -36,12 +36,14 @@ EndContentData */ #include "old_hillsbrad.h" #include "Player.h" -#define QUEST_ENTRY_HILLSBRAD 10282 -#define QUEST_ENTRY_DIVERSION 10283 -#define QUEST_ENTRY_ESCAPE 10284 -#define QUEST_ENTRY_RETURN 10285 -#define ITEM_ENTRY_BOMBS 25853 - +enum Erozion +{ + QUEST_ENTRY_HILLSBRAD = 10282, + QUEST_ENTRY_DIVERSION = 10283, + QUEST_ENTRY_ESCAPE = 10284, + QUEST_ENTRY_RETURN = 10285, + ITEM_ENTRY_BOMBS = 25853 +}; #define GOSSIP_HELLO_EROZION1 "I need a pack of Incendiary Bombs." #define GOSSIP_HELLO_EROZION2 "[PH] Teleport please, i'm tired." @@ -98,97 +100,85 @@ public: ######*/ //Thrall texts -#define SAY_TH_START_EVENT_PART1 -1560023 -#define SAY_TH_ARMORY -1560024 -#define SAY_TH_SKARLOC_MEET -1560025 -#define SAY_TH_SKARLOC_TAUNT -1560026 -#define SAY_TH_START_EVENT_PART2 -1560027 -#define SAY_TH_MOUNTS_UP -1560028 -#define SAY_TH_CHURCH_END -1560029 -#define SAY_TH_MEET_TARETHA -1560030 -#define SAY_TH_EPOCH_WONDER -1560031 -#define SAY_TH_EPOCH_KILL_TARETHA -1560032 -#define SAY_TH_EVENT_COMPLETE -1560033 - -#define SAY_TH_RANDOM_LOW_HP1 -1560034 -#define SAY_TH_RANDOM_LOW_HP2 -1560035 - -#define SAY_TH_RANDOM_DIE1 -1560036 -#define SAY_TH_RANDOM_DIE2 -1560037 - -#define SAY_TH_RANDOM_AGGRO1 -1560038 -#define SAY_TH_RANDOM_AGGRO2 -1560039 -#define SAY_TH_RANDOM_AGGRO3 -1560040 -#define SAY_TH_RANDOM_AGGRO4 -1560041 - -#define SAY_TH_RANDOM_KILL1 -1560042 -#define SAY_TH_RANDOM_KILL2 -1560043 -#define SAY_TH_RANDOM_KILL3 -1560044 - -#define SAY_TH_LEAVE_COMBAT1 -1560045 -#define SAY_TH_LEAVE_COMBAT2 -1560046 -#define SAY_TH_LEAVE_COMBAT3 -1560047 - -//Taretha texts -#define SAY_TA_FREE -1560048 -#define SAY_TA_ESCAPED -1560049 - -//Misc for Thrall -#define SPELL_STRIKE 14516 -#define SPELL_SHIELD_BLOCK 12169 -#define SPELL_SUMMON_EROZION_IMAGE 33954 //if thrall dies during escort? +enum ThrallOldHillsbrad +{ + SAY_TH_START_EVENT_PART1 = 0, + SAY_TH_ARMORY = 1, + SAY_TH_SKARLOC_MEET = 2, + SAY_TH_SKARLOC_TAUNT = 3, + SAY_TH_START_EVENT_PART2 = 4, + SAY_TH_MOUNTS_UP = 5, + SAY_TH_CHURCH_END = 6, + SAY_TH_MEET_TARETHA = 7, + SAY_TH_EPOCH_WONDER = 8, + SAY_TH_EPOCH_KILL_TARETHA = 9, + SAY_TH_EVENT_COMPLETE = 10, + + SAY_TH_RANDOM_LOW_HP = 11, + SAY_TH_RANDOM_DIE = 12, + SAY_TH_RANDOM_AGGRO = 13, + SAY_TH_RANDOM_KILL = 14, + SAY_TH_LEAVE_COMBAT = 15, + + //Taretha texts + SAY_TA_FREE = 0, + SAY_TA_ESCAPED = 1, + + //Misc for Thrall + SPELL_STRIKE = 14516, + SPELL_SHIELD_BLOCK = 12169, + SPELL_SUMMON_EROZION_IMAGE = 33954, //if thrall dies during escort? + + THRALL_WEAPON_ITEM = 927, + THRALL_WEAPON_INFO = 218169346, + THRALL_SHIELD_ITEM = 2129, + THRALL_SHIELD_INFO = 234948100, + THRALL_MODEL_UNEQUIPPED = 17292, + THRALL_MODEL_EQUIPPED = 18165, + + //Misc Creature entries + ENTRY_ARMORER = 18764, + ENTRY_SCARLOC = 17862, + + MOB_ENTRY_RIFLE = 17820, + MOB_ENTRY_WARDEN = 17833, + MOB_ENTRY_VETERAN = 17860, + MOB_ENTRY_WATCHMAN = 17814, + MOB_ENTRY_SENTRY = 17815, + + MOB_ENTRY_BARN_GUARDSMAN = 18092, + MOB_ENTRY_BARN_PROTECTOR = 18093, + MOB_ENTRY_BARN_LOOKOUT = 18094, + + MOB_ENTRY_CHURCH_GUARDSMAN = 23175, + MOB_ENTRY_CHURCH_PROTECTOR = 23179, + MOB_ENTRY_CHURCH_LOOKOUT = 23177, + + MOB_ENTRY_INN_GUARDSMAN = 23176, + MOB_ENTRY_INN_PROTECTOR = 23180, + MOB_ENTRY_INN_LOOKOUT = 23178, + + SKARLOC_MOUNT = 18798, + SKARLOC_MOUNT_MODEL = 18223, + EROZION_ENTRY = 18723, + ENTRY_EPOCH = 18096, + + GOSSIP_ID_START = 9568, + GOSSIP_ID_SKARLOC1 = 9614, //I'm glad Taretha is alive. We now must find a way to free her... + GOSSIP_ID_SKARLOC2 = 9579, //What do you mean by this? Is Taretha in danger? + GOSSIP_ID_SKARLOC3 = 9580, + GOSSIP_ID_TARREN = 9597, //tarren mill is beyond these trees + GOSSIP_ID_COMPLETE = 9578 //Thank you friends, I owe my freedom to you. Where is Taretha? I hoped to see her +}; #define SPEED_WALK (0.5f) #define SPEED_RUN (1.0f) #define SPEED_MOUNT (1.6f) -#define THRALL_WEAPON_ITEM 927 -#define THRALL_WEAPON_INFO 218169346 -#define THRALL_SHIELD_ITEM 2129 -#define THRALL_SHIELD_INFO 234948100 -#define THRALL_MODEL_UNEQUIPPED 17292 -#define THRALL_MODEL_EQUIPPED 18165 - -//Misc Creature entries -#define ENTRY_ARMORER 18764 -#define ENTRY_SCARLOC 17862 - -#define MOB_ENTRY_RIFLE 17820 -#define MOB_ENTRY_WARDEN 17833 -#define MOB_ENTRY_VETERAN 17860 -#define MOB_ENTRY_WATCHMAN 17814 -#define MOB_ENTRY_SENTRY 17815 - -#define MOB_ENTRY_BARN_GUARDSMAN 18092 -#define MOB_ENTRY_BARN_PROTECTOR 18093 -#define MOB_ENTRY_BARN_LOOKOUT 18094 - -#define MOB_ENTRY_CHURCH_GUARDSMAN 23175 -#define MOB_ENTRY_CHURCH_PROTECTOR 23179 -#define MOB_ENTRY_CHURCH_LOOKOUT 23177 - -#define MOB_ENTRY_INN_GUARDSMAN 23176 -#define MOB_ENTRY_INN_PROTECTOR 23180 -#define MOB_ENTRY_INN_LOOKOUT 23178 - -#define SKARLOC_MOUNT 18798 -#define SKARLOC_MOUNT_MODEL 18223 -#define EROZION_ENTRY 18723 -#define ENTRY_EPOCH 18096 - //gossip items -#define GOSSIP_ID_START 9568 -#define GOSSIP_ID_SKARLOC1 9614 //I'm glad Taretha is alive. We now must find a way to free her... #define GOSSIP_ITEM_SKARLOC1 "Taretha cannot see you, Thrall." -#define GOSSIP_ID_SKARLOC2 9579 //What do you mean by this? Is Taretha in danger? #define GOSSIP_ITEM_SKARLOC2 "The situation is rather complicated, Thrall. It would be best for you to head into the mountains now, before more of Blackmoore's men show up. We'll make sure Taretha is safe." -#define GOSSIP_ID_SKARLOC3 9580 - -#define GOSSIP_ID_TARREN 9597 //tarren mill is beyond these trees #define GOSSIP_ITEM_TARREN "We're ready, Thrall." - -#define GOSSIP_ID_COMPLETE 9578 //Thank you friends, I owe my freedom to you. Where is Taretha? I hoped to see her - #define GOSSIP_ITEM_WALKING "[PH] Start walking." class npc_thrall_old_hillsbrad : public CreatureScript @@ -215,7 +205,7 @@ public: instance->SetData(TYPE_THRALL_PART1, IN_PROGRESS); } - DoScriptText(SAY_TH_START_EVENT_PART1, creature); + creature->AI()->Talk(SAY_TH_START_EVENT_PART1); if (npc_escortAI* pEscortAI = CAST_AI(npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, creature->AI())) pEscortAI->Start(true, true, player->GetGUID()); @@ -236,7 +226,7 @@ public: if (instance) instance->SetData(TYPE_THRALL_PART2, IN_PROGRESS); - DoScriptText(SAY_TH_START_EVENT_PART2, creature); + creature->AI()->Talk(SAY_TH_START_EVENT_PART2); CAST_AI(npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, creature->AI())->StartWP(); break; @@ -311,7 +301,7 @@ public: me->SummonCreature(18764, 2181.87f, 112.46f, 89.45f, 0.26f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); break; case 9: - DoScriptText(SAY_TH_ARMORY, me); + Talk(SAY_TH_ARMORY); me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID, THRALL_WEAPON_ITEM); //me->SetUInt32Value(UNIT_VIRTUAL_ITEM_INFO, THRALL_WEAPON_INFO); //me->SetUInt32Value(UNIT_VIRTUAL_ITEM_INFO+1, 781); @@ -344,7 +334,7 @@ public: me->SummonCreature(MOB_ENTRY_VETERAN, 2104.18f, 194.82f, 65.18f, 5.75f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); break; case 29: - DoScriptText(SAY_TH_SKARLOC_MEET, me); + Talk(SAY_TH_SKARLOC_MEET); me->SummonCreature(ENTRY_SCARLOC, 2036.48f, 271.22f, 63.43f, 5.27f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); //temporary, skarloc should rather be triggered to walk up to thrall break; @@ -354,7 +344,7 @@ public: SetRun(false); break; case 31: - DoScriptText(SAY_TH_MOUNTS_UP, me); + Talk(SAY_TH_MOUNTS_UP); DoMount(); SetRun(); break; @@ -400,7 +390,7 @@ public: me->SummonCreature(MOB_ENTRY_CHURCH_GUARDSMAN, 2627.22f, 649.00f, 56.03f, 4.34f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 5000); break; case 84: - DoScriptText(SAY_TH_CHURCH_END, me); + Talk(SAY_TH_CHURCH_END); SetRun(); break; case 91: @@ -416,20 +406,20 @@ public: case 94: if (uint64 TarethaGUID = instance->GetData64(DATA_TARETHA)) { - if (Unit* Taretha = Unit::GetUnit(*me, TarethaGUID)) - DoScriptText(SAY_TA_ESCAPED, Taretha, me); + if (Creature* Taretha = Creature::GetCreature(*me, TarethaGUID)) + Taretha->AI()->Talk(SAY_TA_ESCAPED, me->GetGUID()); } break; case 95: - DoScriptText(SAY_TH_MEET_TARETHA, me); + Talk(SAY_TH_MEET_TARETHA); instance->SetData(TYPE_THRALL_PART3, DONE); SetEscortPaused(true); break; case 96: - DoScriptText(SAY_TH_EPOCH_WONDER, me); + Talk(SAY_TH_EPOCH_WONDER); break; case 97: - DoScriptText(SAY_TH_EPOCH_KILL_TARETHA, me); + Talk(SAY_TH_EPOCH_KILL_TARETHA); SetRun(); break; case 98: @@ -485,7 +475,7 @@ public: } if (HasEscortState(STATE_ESCORT_ESCORTING)) { - DoScriptText(RAND(SAY_TH_LEAVE_COMBAT1, SAY_TH_LEAVE_COMBAT2, SAY_TH_LEAVE_COMBAT3), me); + Talk(SAY_TH_LEAVE_COMBAT); } } void StartWP() @@ -505,7 +495,7 @@ public: } void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_TH_RANDOM_AGGRO1, SAY_TH_RANDOM_AGGRO2, SAY_TH_RANDOM_AGGRO3, SAY_TH_RANDOM_AGGRO4), me); + Talk(SAY_TH_RANDOM_AGGRO); if (me->IsMounted()) { DoUnmount(); @@ -532,7 +522,7 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_TH_RANDOM_KILL1, SAY_TH_RANDOM_KILL2, SAY_TH_RANDOM_KILL3), me); + Talk(SAY_TH_RANDOM_KILL); } void JustDied(Unit* slayer) { @@ -543,7 +533,7 @@ public: if (slayer == me) return; - DoScriptText(RAND(SAY_TH_RANDOM_DIE1, SAY_TH_RANDOM_DIE2), me); + Talk(SAY_TH_RANDOM_DIE); } void UpdateAI(const uint32 diff) @@ -556,7 +546,7 @@ public: //TODO: add his abilities'n-crap here if (!LowHp && HealthBelowPct(20)) { - DoScriptText(RAND(SAY_TH_RANDOM_LOW_HP1, SAY_TH_RANDOM_LOW_HP2), me); + Talk(SAY_TH_RANDOM_LOW_HP); LowHp = true; } } @@ -567,10 +557,13 @@ public: /*###### ## npc_taretha ######*/ +enum Taretha +{ + GOSSIP_ID_EPOCH1 = 9610, //Thank you for helping Thrall escape, friends. Now I only hope + GOSSIP_ID_EPOCH2 = 9613 //Yes, friends. This man was no wizard of +}; -#define GOSSIP_ID_EPOCH1 9610 //Thank you for helping Thrall escape, friends. Now I only hope #define GOSSIP_ITEM_EPOCH1 "Strange wizard?" -#define GOSSIP_ID_EPOCH2 9613 //Yes, friends. This man was no wizard of #define GOSSIP_ITEM_EPOCH2 "We'll get you out. Taretha. Don't worry. I doubt the wizard would wander too far away." class npc_taretha : public CreatureScript @@ -638,7 +631,7 @@ public: switch (waypointId) { case 6: - DoScriptText(SAY_TA_FREE, me); + Talk(SAY_TA_FREE); break; case 7: me->HandleEmoteCommand(EMOTE_ONESHOT_CHEER); diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp index 44f9aa1184a..b3690ab14c7 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp @@ -26,16 +26,19 @@ EndScriptData */ #include "ScriptMgr.h" #include "ScriptedCreature.h" -#define SAY_AGGRO -1129000 -#define SAY_SUMMON60 -1129001 -#define SAY_SUMMON30 -1129002 -#define SAY_HP -1129003 -#define SAY_KILL -1129004 - -#define SPELL_AMNENNARSWRATH 13009 -#define SPELL_FROSTBOLT 15530 -#define SPELL_FROST_NOVA 15531 -#define SPELL_FROST_SPECTRES 12642 +enum AmnennarTheColdbringer +{ + SAY_AGGRO = 0, + SAY_SUMMON60 = 1, + SAY_SUMMON30 = 2, + SAY_HP = 3, + SAY_KILL = 4, + + SPELL_AMNENNARSWRATH = 13009, + SPELL_FROSTBOLT = 15530, + SPELL_FROST_NOVA = 15531, + SPELL_FROST_SPECTRES = 12642 +}; class boss_amnennar_the_coldbringer : public CreatureScript { @@ -70,12 +73,12 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(SAY_KILL, me); + Talk(SAY_KILL); } void UpdateAI(const uint32 diff) @@ -105,20 +108,20 @@ public: if (!Spectrals60 && HealthBelowPct(60)) { - DoScriptText(SAY_SUMMON60, me); + Talk(SAY_SUMMON60); DoCast(me->getVictim(), SPELL_FROST_SPECTRES); Spectrals60 = true; } if (!Hp && HealthBelowPct(50)) { - DoScriptText(SAY_HP, me); + Talk(SAY_HP); Hp = true; } if (!Spectrals30 && HealthBelowPct(30)) { - DoScriptText(SAY_SUMMON30, me); + Talk(SAY_SUMMON30); DoCast(me->getVictim(), SPELL_FROST_SPECTRES); Spectrals30 = true; } diff --git a/src/server/scripts/Kalimdor/ashenvale.cpp b/src/server/scripts/Kalimdor/ashenvale.cpp index 0e44da371d6..40ac1609fee 100644 --- a/src/server/scripts/Kalimdor/ashenvale.cpp +++ b/src/server/scripts/Kalimdor/ashenvale.cpp @@ -97,7 +97,7 @@ class npc_torek : public CreatureScript me->SummonCreature(ENTRY_SILVERWING_WARRIOR, 1778.73f, -2049.50f, 109.83f, 1.67f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); break; case 20: - DoScriptText(SAY_WIN, me, player); + Talk(SAY_WIN, player->GetGUID()); Completed = true; player->GroupEventHappens(QUEST_TOREK_ASSULT, me); break; @@ -269,16 +269,16 @@ class npc_ruul_snowhoof : public CreatureScript enum Muglash { - SAY_MUG_START1 = -1800054, - SAY_MUG_START2 = -1800055, - SAY_MUG_BRAZIER = -1800056, - SAY_MUG_BRAZIER_WAIT = -1800057, - SAY_MUG_ON_GUARD = -1800058, - SAY_MUG_REST = -1800059, - SAY_MUG_DONE = -1800060, - SAY_MUG_GRATITUDE = -1800061, - SAY_MUG_PATROL = -1800062, - SAY_MUG_RETURN = -1800063, + SAY_MUG_START1 = 0, + SAY_MUG_START2 = 1, + SAY_MUG_BRAZIER = 2, + SAY_MUG_BRAZIER_WAIT = 3, + SAY_MUG_ON_GUARD = 4, + SAY_MUG_REST = 5, + SAY_MUG_DONE = 6, + SAY_MUG_GRATITUDE = 7, + SAY_MUG_PATROL = 8, + SAY_MUG_RETURN = 9, QUEST_VORSHA = 6641, @@ -337,10 +337,10 @@ class npc_muglash : public CreatureScript switch (waypointId) { case 0: - DoScriptText(SAY_MUG_START2, me, player); + Talk(SAY_MUG_START2, player->GetGUID()); break; case 24: - DoScriptText(SAY_MUG_BRAZIER, me, player); + Talk(SAY_MUG_BRAZIER, player->GetGUID()); if (GameObject* go = GetClosestGameObjectWithEntry(me, GO_NAGA_BRAZIER, INTERACTION_DISTANCE*2)) { @@ -349,14 +349,14 @@ class npc_muglash : public CreatureScript } break; case 25: - DoScriptText(SAY_MUG_GRATITUDE, me); + Talk(SAY_MUG_GRATITUDE); player->GroupEventHappens(QUEST_VORSHA, me); break; case 26: - DoScriptText(SAY_MUG_PATROL, me); + Talk(SAY_MUG_PATROL); break; case 27: - DoScriptText(SAY_MUG_RETURN, me); + Talk(SAY_MUG_RETURN); break; } } @@ -368,7 +368,7 @@ class npc_muglash : public CreatureScript if (HasEscortState(STATE_ESCORT_PAUSED)) { if (urand(0, 1)) - DoScriptText(SAY_MUG_ON_GUARD, me, player); + Talk(SAY_MUG_ON_GUARD, player->GetGUID()); return; } } @@ -406,7 +406,7 @@ class npc_muglash : public CreatureScript break; case 4: SetEscortPaused(false); - DoScriptText(SAY_MUG_DONE, me); + Talk(SAY_MUG_DONE); break; } } @@ -445,7 +445,7 @@ class npc_muglash : public CreatureScript { if (npc_muglashAI* pEscortAI = CAST_AI(npc_muglashAI, creature->AI())) { - DoScriptText(SAY_MUG_START1, creature); + creature->AI()->Talk(SAY_MUG_START1); creature->setFaction(113); pEscortAI->Start(true, false, player->GetGUID()); @@ -466,7 +466,7 @@ class go_naga_brazier : public GameObjectScript { if (npc_muglash::npc_muglashAI* pEscortAI = CAST_AI(npc_muglash::npc_muglashAI, creature->AI())) { - DoScriptText(SAY_MUG_BRAZIER_WAIT, creature); + creature->AI()->Talk(SAY_MUG_BRAZIER_WAIT); pEscortAI->IsBrazierExtinguished = true; return false; diff --git a/src/server/scripts/Kalimdor/azshara.cpp b/src/server/scripts/Kalimdor/azshara.cpp index 213918db338..b38d1ac2c3b 100644 --- a/src/server/scripts/Kalimdor/azshara.cpp +++ b/src/server/scripts/Kalimdor/azshara.cpp @@ -195,12 +195,10 @@ enum RizzleSprysprocketData SPELL_PERIODIC_DEPTH_CHARGE = 39912, SPELL_GIVE_SOUTHFURY_MOONSTONE = 39886, - SAY_RIZZLE_START = -1000351, - MSG_ESCAPE_NOTICE = -1000352, - SAY_RIZZLE_GRENADE = -1000353, - SAY_RIZZLE_GRENADE_BACKFIRE = -1000354, // Not used - SAY_RIZZLE_FINAL = -1000355, - SAY_RIZZLE_FINAL2 = -1000356, // Not used + SAY_RIZZLE_START = 0, + SAY_RIZZLE_GRENADE = 1, + SAY_RIZZLE_FINAL = 2, + MSG_ESCAPE_NOTICE = 3 }; #define GOSSIP_GET_MOONSTONE "Hand over the Southfury moonstone and I'll let you go." @@ -366,7 +364,7 @@ public: if (!player) return; - SendText(MSG_ESCAPE_NOTICE, player); + Talk(MSG_ESCAPE_NOTICE, player->GetGUID()); DoCast(me, SPELL_PERIODIC_DEPTH_CHARGE); me->SetUnitMovementFlags(MOVEMENTFLAG_HOVER | MOVEMENTFLAG_SWIMMING); me->SetSpeed(MOVE_RUN, 0.85f, true); @@ -389,7 +387,7 @@ public: Player* player = Unit::GetPlayer(*me, PlayerGUID); if (player) { - DoScriptText(SAY_RIZZLE_GRENADE, me, player); + Talk(SAY_RIZZLE_GRENADE, player->GetGUID()); DoCast(player, SPELL_RIZZLE_FROST_GRENADE, true); } GrenadeTimer = 30000; @@ -406,7 +404,7 @@ public: if (me->IsWithinDist(player, 10) && me->GetPositionX() > player->GetPositionX() && !Reached) { - DoScriptText(SAY_RIZZLE_FINAL, me); + Talk(SAY_RIZZLE_FINAL); me->SetUInt32Value(UNIT_NPC_FLAGS, 1); me->setFaction(35); me->GetMotionMaster()->MoveIdle(); @@ -434,7 +432,7 @@ public: if (who->GetTypeId() == TYPEID_PLAYER && CAST_PLR(who)->GetQuestStatus(QUEST_CHASING_THE_MOONSTONE) == QUEST_STATUS_INCOMPLETE) { PlayerGUID = who->GetGUID(); - DoScriptText(SAY_RIZZLE_START, me); + Talk(SAY_RIZZLE_START); DoCast(who, SPELL_RIZZLE_BLACKJACK, false); return; } diff --git a/src/server/scripts/Kalimdor/desolace.cpp b/src/server/scripts/Kalimdor/desolace.cpp index 30a87ef0197..8c56714e614 100644 --- a/src/server/scripts/Kalimdor/desolace.cpp +++ b/src/server/scripts/Kalimdor/desolace.cpp @@ -40,9 +40,7 @@ EndContentData */ enum DyingKodo { // signed for 9999 - SAY_SMEED_HOME_1 = -1000348, - SAY_SMEED_HOME_2 = -1000349, - SAY_SMEED_HOME_3 = -1000350, + SAY_SMEED_HOME = 0, QUEST_KODO = 5561, @@ -134,7 +132,8 @@ public: if (me->IsWithinDistInMap(who, 10.0f)) { - DoScriptText(RAND(SAY_SMEED_HOME_1, SAY_SMEED_HOME_2, SAY_SMEED_HOME_3), who); + if (Creature* talker = who->ToCreature()) + talker->AI()->Talk(SAY_SMEED_HOME); //spell have no implemented effect (dummy), so useful to notify spellHit DoCast(me, SPELL_KODO_KOMBO_GOSSIP, true); diff --git a/src/server/scripts/Kalimdor/durotar.cpp b/src/server/scripts/Kalimdor/durotar.cpp index 83111829c9e..04e65693154 100644 --- a/src/server/scripts/Kalimdor/durotar.cpp +++ b/src/server/scripts/Kalimdor/durotar.cpp @@ -28,7 +28,7 @@ enum LazyPeonYells { - SAY_SPELL_HIT = -1000600 //Ow! OK, I''ll get back to work, $N!' + SAY_SPELL_HIT = 0 }; enum LazyPeon @@ -77,7 +77,7 @@ public: && CAST_PLR(caster)->GetQuestStatus(QUEST_LAZY_PEONS) == QUEST_STATUS_INCOMPLETE) { caster->ToPlayer()->KilledMonsterCredit(me->GetEntry(), me->GetGUID()); - DoScriptText(SAY_SPELL_HIT, me, caster); + Talk(SAY_SPELL_HIT, caster->GetGUID()); me->RemoveAllAuras(); if (GameObject* Lumberpile = me->FindNearestGameObject(GO_LUMBERPILE, 20)) me->GetMotionMaster()->MovePoint(1, Lumberpile->GetPositionX()-1, Lumberpile->GetPositionY(), Lumberpile->GetPositionZ()); diff --git a/src/server/scripts/Kalimdor/moonglade.cpp b/src/server/scripts/Kalimdor/moonglade.cpp index 6d93e074e79..9485048da8c 100644 --- a/src/server/scripts/Kalimdor/moonglade.cpp +++ b/src/server/scripts/Kalimdor/moonglade.cpp @@ -275,14 +275,8 @@ enum ClintarSpirit { ASPECT_RAVEN = 22915, - //from -1000292 to -1000287 are signed for 7806. but all this texts ids wrong. - CLINTAR_SPIRIT_SAY_START = -1000286, - CLINTAR_SPIRIT_SAY_UNDER_ATTACK_1 = -1000287, - CLINTAR_SPIRIT_SAY_UNDER_ATTACK_2 = -1000288, - CLINTAR_SPIRIT_SAY_GET_ONE = -1000289, - CLINTAR_SPIRIT_SAY_GET_TWO = -1000290, - CLINTAR_SPIRIT_SAY_GET_THREE = -1000291, - CLINTAR_SPIRIT_SAY_GET_FINAL = -1000292 + // Texts for EnterCombat, the event and the end of the event are missing + CLINTAR_SPIRIT_SAY_START = 0, }; class npc_clintar_spirit : public CreatureScript @@ -350,15 +344,6 @@ public: npc_escortAI::EnterEvadeMode(); } - void EnterCombat(Unit* who) - { - switch (urand(0, 1)) - { - case 0: DoScriptText(CLINTAR_SPIRIT_SAY_UNDER_ATTACK_1, me, who); break; - case 1: DoScriptText(CLINTAR_SPIRIT_SAY_UNDER_ATTACK_2, me, who); break; - } - } - void StartEvent(Player* player) { if (player && player->GetQuestStatus(10965) == QUEST_STATUS_INCOMPLETE) @@ -410,7 +395,7 @@ public: switch (Step) { case 0: - me->Say(CLINTAR_SPIRIT_SAY_START, 0, PlayerGUID); + Talk(CLINTAR_SPIRIT_SAY_START, PlayerGUID); EventTimer = 8000; Step = 1; break; @@ -429,7 +414,7 @@ public: break; case 1: me->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0); - DoScriptText(CLINTAR_SPIRIT_SAY_GET_ONE, me, player); + // Needs text EventOnWait = false; break; } @@ -452,7 +437,7 @@ public: switch (Step) { case 0: - DoScriptText(CLINTAR_SPIRIT_SAY_GET_TWO, me, player); + // Needs text EventTimer = 15000; Step = 1; break; @@ -496,7 +481,7 @@ public: switch (Step) { case 0: - DoScriptText(CLINTAR_SPIRIT_SAY_GET_THREE, me, player); + // Needs text EventTimer = 4000; Step = 1; break; @@ -510,7 +495,7 @@ public: { case 0: me->SetUInt32Value(UNIT_NPC_EMOTESTATE, 2); - DoScriptText(CLINTAR_SPIRIT_SAY_GET_FINAL, me, player); + // Needs text player->CompleteQuest(10965); EventTimer = 1500; Step = 1; diff --git a/src/server/scripts/Kalimdor/silithus.cpp b/src/server/scripts/Kalimdor/silithus.cpp index df7d3b1ee89..f9b16b907eb 100644 --- a/src/server/scripts/Kalimdor/silithus.cpp +++ b/src/server/scripts/Kalimdor/silithus.cpp @@ -230,56 +230,56 @@ public: ####*/ enum EternalBoard { - QUEST_A_PAWN_ON_THE_ETERNAL_BOARD = 8519, - - FACTION_HOSTILE = 14, - FACTION_FRIENDLY = 35, - - C_ANACHRONOS = 15381, - C_FANDRAL_STAGHELM = 15382, - C_ARYGOS = 15380, - C_MERITHRA = 15378, - C_CAELESTRASZ = 15379, - - ANACHRONOS_SAY_1 = -1350000, - ANACHRONOS_SAY_2 = -1350001, - ANACHRONOS_SAY_3 = -1350002, - ANACHRONOS_SAY_4 = -1350003, - ANACHRONOS_SAY_5 = -1350004, - ANACHRONOS_SAY_6 = -1350005, - ANACHRONOS_SAY_7 = -1350006, - ANACHRONOS_SAY_8 = -1350007, - ANACHRONOS_SAY_9 = -1350008, - ANACHRONOS_SAY_10 = -1350009, - ANACHRONOS_EMOTE_1 = -1350010, - ANACHRONOS_EMOTE_2 = -1350011, - ANACHRONOS_EMOTE_3 = -1350012, - - FANDRAL_SAY_1 = -1350013, - FANDRAL_SAY_2 = -1350014, - FANDRAL_SAY_3 = -1350015, - FANDRAL_SAY_4 = -1350016, - FANDRAL_SAY_5 = -1350017, - FANDRAL_SAY_6 = -1350018, - FANDRAL_EMOTE_1 = -1350019, - FANDRAL_EMOTE_2 = -1350020, - - CAELESTRASZ_SAY_1 = -1350021, - CAELESTRASZ_SAY_2 = -1350022, - CAELESTRASZ_YELL_1 = -1350023, - - ARYGOS_SAY_1 = -1350024, - ARYGOS_YELL_1 = -1350025, - ARYGOS_EMOTE_1 = -1350026, - - MERITHRA_SAY_1 = -1350027, - MERITHRA_SAY_2 = -1350028, - MERITHRA_YELL_1 = -1350029, - MERITHRA_EMOTE_1 = -1350030, - - GO_GATE_OF_AHN_QIRAJ = 176146, - GO_GLYPH_OF_AHN_QIRAJ = 176148, - GO_ROOTS_OF_AHN_QIRAJ = 176147 + QUEST_A_PAWN_ON_THE_ETERNAL_BOARD = 8519, + + FACTION_HOSTILE = 14, + FACTION_FRIENDLY = 35, + + C_ANACHRONOS = 15381, + C_FANDRAL_STAGHELM = 15382, + C_ARYGOS = 15380, + C_MERITHRA = 15378, + C_CAELESTRASZ = 15379, + + ANACHRONOS_SAY_1 = 0, + ANACHRONOS_SAY_2 = 1, + ANACHRONOS_SAY_3 = 2, + ANACHRONOS_SAY_4 = 3, + ANACHRONOS_SAY_5 = 4, + ANACHRONOS_SAY_6 = 5, + ANACHRONOS_SAY_7 = 6, + ANACHRONOS_SAY_8 = 7, + ANACHRONOS_SAY_9 = 8, + ANACHRONOS_SAY_10 = 9, + ANACHRONOS_EMOTE_1 = 10, + ANACHRONOS_EMOTE_2 = 11, + ANACHRONOS_EMOTE_3 = 12, + + FANDRAL_SAY_1 = 0, + FANDRAL_SAY_2 = 1, + FANDRAL_SAY_3 = 2, + FANDRAL_SAY_4 = 3, + FANDRAL_SAY_5 = 4, + FANDRAL_SAY_6 = 5, + FANDRAL_EMOTE_1 = 6, + FANDRAL_EMOTE_2 = 7, + + CAELESTRASZ_SAY_1 = 0, + CAELESTRASZ_SAY_2 = 1, + CAELESTRASZ_YELL_1 = 2, + + ARYGOS_SAY_1 = 0, + ARYGOS_YELL_1 = 1, + ARYGOS_EMOTE_1 = 2, + + MERITHRA_SAY_1 = 0, + MERITHRA_SAY_2 = 1, + MERITHRA_YELL_1 = 2, + MERITHRA_EMOTE_1 = 3, + + GO_GATE_OF_AHN_QIRAJ = 176146, + GO_GLYPH_OF_AHN_QIRAJ = 176148, + GO_ROOTS_OF_AHN_QIRAJ = 176147 }; /*##### # Quest: A Pawn on the Eternal Board @@ -530,10 +530,10 @@ public: if (!player) return; - Unit* Fandral = player->FindNearestCreature(C_FANDRAL_STAGHELM, 100.0f, me); - Unit* Arygos = player->FindNearestCreature(C_ARYGOS, 100.0f, me); - Unit* Caelestrasz = player->FindNearestCreature(C_CAELESTRASZ, 100.0f, me); - Unit* Merithra = player->FindNearestCreature(C_MERITHRA, 100.0f, me); + Creature* Fandral = player->FindNearestCreature(C_FANDRAL_STAGHELM, 100.0f, me); + Creature* Arygos = player->FindNearestCreature(C_ARYGOS, 100.0f, me); + Creature* Caelestrasz = player->FindNearestCreature(C_CAELESTRASZ, 100.0f, me); + Creature* Merithra = player->FindNearestCreature(C_MERITHRA, 100.0f, me); if (!Fandral || !Arygos || !Caelestrasz || !Merithra) return; @@ -544,35 +544,35 @@ public: switch (AnimationCount) { case 0: - DoScriptText(ANACHRONOS_SAY_1, me, Fandral); + Talk(ANACHRONOS_SAY_1,Fandral->GetGUID()); break; case 1: Fandral->SetTarget(me->GetGUID()); - DoScriptText(FANDRAL_SAY_1, Fandral, me); + Fandral->AI()->Talk(FANDRAL_SAY_1, me->GetGUID()); break; case 2: Fandral->SetTarget(0); - DoScriptText(MERITHRA_EMOTE_1, Merithra); + Merithra->AI()->Talk(MERITHRA_EMOTE_1); break; case 3: - DoScriptText(MERITHRA_SAY_1, Merithra); + Merithra->AI()->Talk(MERITHRA_SAY_1); break; case 4: - DoScriptText(ARYGOS_EMOTE_1, Arygos); + Arygos->AI()->Talk(ARYGOS_EMOTE_1); break; case 5: Caelestrasz->SetTarget(Fandral->GetGUID()); - DoScriptText(CAELESTRASZ_SAY_1, Caelestrasz); + Caelestrasz->AI()->Talk(CAELESTRASZ_SAY_1); break; case 6: - DoScriptText(MERITHRA_SAY_2, Merithra); + Merithra->AI()->Talk(MERITHRA_SAY_2); break; case 7: Caelestrasz->SetTarget(0); Merithra->GetMotionMaster()->MoveCharge(-8065, 1530, 2.61f, 10); break; case 8: - DoScriptText(MERITHRA_YELL_1, Merithra); + Merithra->AI()->Talk(MERITHRA_YELL_1); break; case 9: Merithra->CastSpell(Merithra, 25105, true); @@ -591,7 +591,7 @@ public: case 13: break; case 14: - DoScriptText(ARYGOS_SAY_1, Arygos); + Arygos->AI()->Talk(ARYGOS_SAY_1); Merithra->SetVisible(false); break; case 15: @@ -599,7 +599,7 @@ public: Merithra->GetMotionMaster()->MoveCharge(-8034.535f, 1535.14f, 2.61f, 42); break; case 16: - DoScriptText(ARYGOS_YELL_1, Arygos); + Arygos->AI()->Talk(ARYGOS_YELL_1); break; case 17: Arygos->CastSpell(Arygos, 25107, true); @@ -618,7 +618,7 @@ public: case 21: break; case 22: - DoScriptText(CAELESTRASZ_SAY_2, Caelestrasz, Fandral); + Caelestrasz->AI()->Talk(CAELESTRASZ_SAY_2, Fandral->GetGUID()); break; case 23: Caelestrasz->GetMotionMaster()->MoveCharge(-8065, 1530, 2.61f, 10); @@ -626,7 +626,7 @@ public: Arygos->GetMotionMaster()->MoveCharge(-8034.535f, 1535.14f, 2.61f, 10); break; case 24: - DoScriptText(CAELESTRASZ_YELL_1, Caelestrasz); + Caelestrasz->AI()->Talk(CAELESTRASZ_YELL_1); break; case 25: Caelestrasz->CastSpell(Caelestrasz, 25106, true); @@ -640,16 +640,16 @@ public: Caelestrasz->CastSpell(Caelestrasz, 54293, false); break; case 28: - DoScriptText(ANACHRONOS_SAY_2, me, Fandral); + Talk(ANACHRONOS_SAY_2, Fandral->GetGUID()); break; case 29: Caelestrasz->GetMotionMaster()->MoveCharge(-8095, 1530, 50, 42); - DoScriptText(FANDRAL_SAY_2, Fandral, me); + Fandral->AI()->Talk(FANDRAL_SAY_2); break; case 30: break; case 31: - DoScriptText(ANACHRONOS_SAY_3, me, Fandral); + Talk(ANACHRONOS_SAY_3, Fandral->GetGUID()); break; case 32: Caelestrasz->SetVisible(false); @@ -658,7 +658,7 @@ public: me->GetMotionMaster()->MoveCharge(-8113, 1525, 2.77f, 8); break;//both run to the gate case 33: - DoScriptText(ANACHRONOS_SAY_4, me); + Talk(ANACHRONOS_SAY_4); Caelestrasz->GetMotionMaster()->MoveCharge(-8050, 1473, 65, 15); break; //Text: sands will stop case 34: @@ -678,43 +678,43 @@ public: me->SummonGameObject(GO_GLYPH_OF_AHN_QIRAJ, -8130, 1525, 17.5f, 0, 0, 0, 0, 0, 0); break; case 39: - DoScriptText(ANACHRONOS_SAY_5, me, Fandral); + Talk(ANACHRONOS_SAY_5, Fandral->GetGUID()); break; case 40: Fandral->CastSpell(me, 25167, true); break; case 41: Fandral->SummonGameObject(GO_ROOTS_OF_AHN_QIRAJ, -8130, 1525, 17.5f, 0, 0, 0, 0, 0, 0); - DoScriptText(FANDRAL_SAY_3, Fandral); + Fandral->AI()->Talk(FANDRAL_SAY_3); break; case 42: me->CastStop(); - DoScriptText(FANDRAL_EMOTE_1, Fandral); + Fandral->AI()->Talk(FANDRAL_EMOTE_1); break; case 43: Fandral->CastStop(); break; case 44: - DoScriptText(ANACHRONOS_SAY_6, me); + Talk(ANACHRONOS_SAY_6); break; case 45: - DoScriptText(ANACHRONOS_SAY_7, me); + Talk(ANACHRONOS_SAY_7); break; case 46: - DoScriptText(ANACHRONOS_SAY_8, me); + Talk(ANACHRONOS_SAY_8); me->GetMotionMaster()->MoveCharge(-8110, 1527, 2.77f, 4); break; case 47: - DoScriptText(ANACHRONOS_EMOTE_1, me); + Talk(ANACHRONOS_EMOTE_1); break; case 48: - DoScriptText(FANDRAL_SAY_4, Fandral, me); + Fandral->AI()->Talk(FANDRAL_SAY_4, me->GetGUID()); break; case 49: - DoScriptText(FANDRAL_SAY_5, Fandral, me); + Fandral->AI()->Talk(FANDRAL_SAY_5, me->GetGUID()); break; case 50: - DoScriptText(FANDRAL_EMOTE_2, Fandral); + Fandral->AI()->Talk(FANDRAL_EMOTE_2); Fandral->CastSpell(-8127, 1525, 17.5f, 33806, true); break; case 51: @@ -734,19 +734,19 @@ public: } case 52: Fandral->GetMotionMaster()->MoveCharge(-8028.75f, 1538.795f, 2.61f, 4); - DoScriptText(ANACHRONOS_SAY_9, me, Fandral); + Fandral->AI()->Talk(ANACHRONOS_SAY_9, me->GetGUID()); break; case 53: - DoScriptText(FANDRAL_SAY_6, Fandral); + Fandral->AI()->Talk(FANDRAL_SAY_6); break; case 54: - DoScriptText(ANACHRONOS_EMOTE_2, me); + Talk(ANACHRONOS_EMOTE_2); break; case 55: Fandral->SetVisible(false); break; case 56: - DoScriptText(ANACHRONOS_EMOTE_3, me); + Talk(ANACHRONOS_EMOTE_3); me->GetMotionMaster()->MoveCharge(-8116, 1522, 3.65f, 4); break; case 57: @@ -760,7 +760,7 @@ public: break; case 60: if (player) - DoScriptText(ANACHRONOS_SAY_10, me, player); + Talk(ANACHRONOS_SAY_10, player->GetGUID()); me->GetMotionMaster()->MoveCharge(-8113.46f, 1524.16f, 2.89f, 4); break; case 61: @@ -782,7 +782,7 @@ public: me->SetVisible(false); if (Creature* AnachronosQuestTrigger = (Unit::GetCreature(*me, AnachronosQuestTriggerGUID))) { - DoScriptText(ARYGOS_YELL_1, me); + Talk(ARYGOS_YELL_1); AnachronosQuestTrigger->AI()->EnterEvadeMode(); eventEnd=true; } @@ -1054,7 +1054,7 @@ public: { if (!Announced && AnnounceTimer <= diff) { - DoScriptText(WavesInfo[WaveCount].WaveTextId, me); + Talk(WavesInfo[WaveCount].WaveTextId); Announced = true; } else AnnounceTimer -= diff; diff --git a/src/server/scripts/Kalimdor/teldrassil.cpp b/src/server/scripts/Kalimdor/teldrassil.cpp index 6c1993d6447..dfd42d132d8 100644 --- a/src/server/scripts/Kalimdor/teldrassil.cpp +++ b/src/server/scripts/Kalimdor/teldrassil.cpp @@ -38,8 +38,8 @@ EndContentData */ enum Mist { - SAY_AT_HOME = -1000323, - EMOTE_AT_HOME = -1000324, + SAY_AT_HOME = 0, + EMOTE_AT_HOME = 1, QUEST_MIST = 938, NPC_ARYNIA = 3519, FACTION_DARNASSUS = 79 @@ -78,7 +78,7 @@ public: { if (me->IsWithinDistInMap(who, 10.0f)) { - DoScriptText(SAY_AT_HOME, who); + Talk(SAY_AT_HOME, who->GetGUID()); DoComplete(); } } @@ -86,7 +86,7 @@ public: void DoComplete() { - DoScriptText(EMOTE_AT_HOME, me); + Talk(EMOTE_AT_HOME); Player* player = GetLeaderForFollower(); if (player && player->GetQuestStatus(QUEST_MIST) == QUEST_STATUS_INCOMPLETE) diff --git a/src/server/scripts/Kalimdor/the_barrens.cpp b/src/server/scripts/Kalimdor/the_barrens.cpp index 8a24f696a23..9417e7993f7 100644 --- a/src/server/scripts/Kalimdor/the_barrens.cpp +++ b/src/server/scripts/Kalimdor/the_barrens.cpp @@ -83,17 +83,14 @@ public: enum Gilthares { - SAY_GIL_START = -1000370, - SAY_GIL_AT_LAST = -1000371, - SAY_GIL_PROCEED = -1000372, - SAY_GIL_FREEBOOTERS = -1000373, - SAY_GIL_AGGRO_1 = -1000374, - SAY_GIL_AGGRO_2 = -1000375, - SAY_GIL_AGGRO_3 = -1000376, - SAY_GIL_AGGRO_4 = -1000377, - SAY_GIL_ALMOST = -1000378, - SAY_GIL_SWEET = -1000379, - SAY_GIL_FREED = -1000380, + SAY_GIL_START = 0, + SAY_GIL_AT_LAST = 1, + SAY_GIL_PROCEED = 2, + SAY_GIL_FREEBOOTERS = 3, + SAY_GIL_AGGRO = 4, + SAY_GIL_ALMOST = 5, + SAY_GIL_SWEET = 6, + SAY_GIL_FREED = 7, QUEST_FREE_FROM_HOLD = 898, AREA_MERCHANT_COAST = 391, @@ -112,7 +109,7 @@ public: creature->setFaction(FACTION_ESCORTEE); creature->SetStandState(UNIT_STAND_STATE_STAND); - DoScriptText(SAY_GIL_START, creature, player); + creature->AI()->Talk(SAY_GIL_START, player->GetGUID()); if (npc_giltharesAI* pEscortAI = CAST_AI(npc_gilthares::npc_giltharesAI, creature->AI())) pEscortAI->Start(false, false, player->GetGUID(), quest); @@ -140,22 +137,22 @@ public: switch (waypointId) { case 16: - DoScriptText(SAY_GIL_AT_LAST, me, player); + Talk(SAY_GIL_AT_LAST, player->GetGUID()); break; case 17: - DoScriptText(SAY_GIL_PROCEED, me, player); + Talk(SAY_GIL_PROCEED, player->GetGUID()); break; case 18: - DoScriptText(SAY_GIL_FREEBOOTERS, me, player); + Talk(SAY_GIL_FREEBOOTERS, player->GetGUID()); break; case 37: - DoScriptText(SAY_GIL_ALMOST, me, player); + Talk(SAY_GIL_ALMOST,player->GetGUID()); break; case 47: - DoScriptText(SAY_GIL_SWEET, me, player); + Talk(SAY_GIL_SWEET, player->GetGUID()); break; case 53: - DoScriptText(SAY_GIL_FREED, me, player); + Talk(SAY_GIL_FREED, player->GetGUID()); player->GroupEventHappens(QUEST_FREE_FROM_HOLD, me); break; } @@ -171,7 +168,7 @@ public: if (who->GetTypeId() != TYPEID_PLAYER && me->GetAreaId() == AREA_MERCHANT_COAST) { //appears to be pretty much random (possible only if escorter not in combat with who yet?) - DoScriptText(RAND(SAY_GIL_AGGRO_1, SAY_GIL_AGGRO_2, SAY_GIL_AGGRO_3, SAY_GIL_AGGRO_4), me, who); + Talk(SAY_GIL_AGGRO, who->GetGUID()); } } }; @@ -324,11 +321,11 @@ enum TwiggyFlathead NPC_BIG_WILL = 6238, NPC_AFFRAY_CHALLENGER = 6240, - SAY_BIG_WILL_READY = -1000123, - SAY_TWIGGY_FLATHEAD_BEGIN = -1000124, - SAY_TWIGGY_FLATHEAD_FRAY = -1000125, - SAY_TWIGGY_FLATHEAD_DOWN = -1000126, - SAY_TWIGGY_FLATHEAD_OVER = -1000127, + SAY_BIG_WILL_READY = 0, + SAY_TWIGGY_FLATHEAD_BEGIN = 0, + SAY_TWIGGY_FLATHEAD_FRAY = 1, + SAY_TWIGGY_FLATHEAD_DOWN = 2, + SAY_TWIGGY_FLATHEAD_OVER = 3 }; Position const AffrayChallengerLoc[6] = @@ -412,7 +409,7 @@ public: return; if (!pWarrior->isAlive() && pWarrior->GetQuestStatus(1719) == QUEST_STATUS_INCOMPLETE) { - DoScriptText(SAY_TWIGGY_FLATHEAD_DOWN, me); + Talk(SAY_TWIGGY_FLATHEAD_DOWN); pWarrior->FailQuest(1719); for (uint8 i = 0; i < 6; ++i) // unsummon challengers @@ -441,7 +438,7 @@ public: if (x >= -1684 && x <= -1674 && y >= -4334 && y <= -4324) { pWarrior->AreaExploredOrEventHappens(1719); - DoScriptText(SAY_TWIGGY_FLATHEAD_BEGIN, me, pWarrior); + Talk(SAY_TWIGGY_FLATHEAD_BEGIN, pWarrior->GetGUID()); for (uint8 i = 0; i < 6; ++i) { @@ -470,7 +467,7 @@ public: Creature* creature = Unit::GetCreature((*me), AffrayChallenger[i]); if ((!creature || (!creature->isAlive())) && !ChallengerDown[i]) { - DoScriptText(SAY_TWIGGY_FLATHEAD_DOWN, me); + Talk(SAY_TWIGGY_FLATHEAD_DOWN); ChallengerDown[i] = true; } } @@ -482,7 +479,7 @@ public: { if (Wave < 6 && AffrayChallenger[Wave] && !EventBigWill) { - DoScriptText(SAY_TWIGGY_FLATHEAD_FRAY, me); + Talk(SAY_TWIGGY_FLATHEAD_FRAY); Creature* creature = Unit::GetCreature((*me), AffrayChallenger[Wave]); if (creature && (creature->isAlive())) { @@ -512,7 +509,7 @@ public: Creature* creature = Unit::GetCreature((*me), BigWill); if (!creature || !creature->isAlive()) { - DoScriptText(SAY_TWIGGY_FLATHEAD_OVER, me); + Talk(SAY_TWIGGY_FLATHEAD_OVER); Reset(); } } @@ -530,14 +527,14 @@ public: enum Wizzlecrank { - SAY_START = -1000298, - SAY_STARTUP1 = -1000299, - SAY_STARTUP2 = -1000300, - SAY_MERCENARY = -1000301, - SAY_PROGRESS_1 = -1000302, - SAY_PROGRESS_2 = -1000303, - SAY_PROGRESS_3 = -1000304, - SAY_END = -1000305, + SAY_MERCENARY = 0, + SAY_START = 0, + SAY_STARTUP1 = 1, + SAY_STARTUP2 = 2, + SAY_PROGRESS_1 = 3, + SAY_PROGRESS_2 = 4, + SAY_PROGRESS_3 = 5, + SAY_END = 6, QUEST_ESCAPE = 863, FACTION_RATCHET = 637, @@ -581,7 +578,7 @@ public: switch (waypointId) { case 0: - DoScriptText(SAY_STARTUP1, me); + Talk(SAY_STARTUP1); break; case 9: SetRun(false); @@ -589,7 +586,7 @@ public: case 17: if (Creature* temp = me->SummonCreature(NPC_MERCENARY, 1128.489f, -3037.611f, 92.701f, 1.472f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000)) { - DoScriptText(SAY_MERCENARY, temp); + temp->AI()->Talk(SAY_MERCENARY); me->SummonCreature(NPC_MERCENARY, 1160.172f, -2980.168f, 97.313f, 3.690f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000); } break; @@ -609,10 +606,10 @@ public: switch (PointId) { case 9: - DoScriptText(SAY_STARTUP2, me, player); + Talk(SAY_STARTUP2, player->GetGUID()); break; case 18: - DoScriptText(SAY_PROGRESS_1, me, player); + Talk(SAY_PROGRESS_1, player->GetGUID()); SetRun(); break; } @@ -638,13 +635,13 @@ public: switch (PostEventCount) { case 0: - DoScriptText(SAY_PROGRESS_2, me); + Talk(SAY_PROGRESS_2); break; case 1: - DoScriptText(SAY_PROGRESS_3, me); + Talk(SAY_PROGRESS_3); break; case 2: - DoScriptText(SAY_END, me); + Talk(SAY_END); break; case 3: if (Player* player = GetPlayerForEscort()) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp index 8d4b84337df..0094412895c 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp @@ -149,7 +149,7 @@ class boss_steelbreaker : public CreatureScript me->RemoveAllAuras(); } - void EnterCombat(Unit* who) + void EnterCombat(Unit* /*who*/) { _EnterCombat(); Talk(SAY_STEELBREAKER_AGGRO); @@ -280,7 +280,7 @@ class boss_runemaster_molgeim : public CreatureScript me->RemoveAllAuras(); } - void EnterCombat(Unit* who) + void EnterCombat(Unit* /*who*/) { _EnterCombat(); Talk(SAY_MOLGEIM_AGGRO); @@ -432,7 +432,7 @@ class boss_stormcaller_brundir : public CreatureScript me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_STUN, false); // Reset immumity, Brundir should be stunnable by default } - void EnterCombat(Unit* who) + void EnterCombat(Unit* /*who*/) { _EnterCombat(); Talk(SAY_BRUNDIR_AGGRO); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp index bfe158051b1..bd063877d39 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp @@ -76,16 +76,12 @@ enum AuriayaEvents enum AuriayaYells { - // Yells - SAY_AGGRO = -1603050, - SAY_SLAY_1 = -1603051, - SAY_SLAY_2 = -1603052, - SAY_DEATH = -1603053, - SAY_BERSERK = -1603054, - - // Emotes - EMOTE_FEAR = -1603055, - EMOTE_DEFENDER = -1603056, + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2, + SAY_BERSERK = 3, + EMOTE_FEAR = 4, + EMOTE_DEFENDER = 5 }; enum AuriayaActions @@ -121,7 +117,7 @@ class boss_auriaya : public CreatureScript void EnterCombat(Unit* /*who*/) { _EnterCombat(); - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); events.ScheduleEvent(EVENT_SCREECH, urand(45000, 65000)); events.ScheduleEvent(EVENT_BLAST, urand(20000, 25000)); @@ -131,9 +127,10 @@ class boss_auriaya : public CreatureScript events.ScheduleEvent(EVENT_BERSERK, 600000); } - void KilledUnit(Unit* /*who*/) + void KilledUnit(Unit* who) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + if (who->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_SLAY); } void JustSummoned(Creature* summoned) @@ -206,8 +203,8 @@ class boss_auriaya : public CreatureScript void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); _JustDied(); + Talk(SAY_DEATH); } void UpdateAI(uint32 const diff) @@ -229,7 +226,7 @@ class boss_auriaya : public CreatureScript events.ScheduleEvent(EVENT_SCREECH, urand(40000, 60000)); break; case EVENT_TERRIFYING: - DoScriptText(EMOTE_FEAR, me); + Talk(EMOTE_FEAR); DoCast(SPELL_TERRIFYING_SCREECH); events.ScheduleEvent(EVENT_TERRIFYING, urand(20000, 30000)); break; @@ -238,7 +235,7 @@ class boss_auriaya : public CreatureScript events.ScheduleEvent(EVENT_BLAST, urand(25000, 35000)); break; case EVENT_DEFENDER: - DoScriptText(EMOTE_DEFENDER, me); + Talk(EMOTE_DEFENDER); DoCast(SPELL_DEFENDER_TRIGGER); if (Creature* trigger = me->FindNearestCreature(NPC_FERAL_DEFENDER_TRIGGER, 15.0f, true)) DoCast(trigger, SPELL_ACTIVATE_DEFENDER, true); @@ -262,7 +259,7 @@ class boss_auriaya : public CreatureScript break; case EVENT_BERSERK: DoCast(me, SPELL_BERSERK, true); - DoScriptText(SAY_BERSERK, me); + Talk(SAY_BERSERK); events.CancelEvent(EVENT_BERSERK); break; } @@ -296,17 +293,17 @@ class npc_auriaya_seeping_trigger : public CreatureScript instance = me->GetInstanceScript(); } - void Reset() - { - me->DespawnOrUnsummon(600000); - DoCast(me, SPELL_SEEPING_ESSENCE); - } + void Reset() + { + me->DespawnOrUnsummon(600000); + DoCast(me, SPELL_SEEPING_ESSENCE); + } - void UpdateAI(uint32 const /*diff*/) - { - if (instance->GetBossState(BOSS_AURIAYA) != IN_PROGRESS) - me->DespawnOrUnsummon(); - } + void UpdateAI(uint32 const /*diff*/) + { + if (instance->GetBossState(BOSS_AURIAYA) != IN_PROGRESS) + me->DespawnOrUnsummon(); + } private: InstanceScript* instance; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp index a26f5763472..5699616563a 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -141,9 +141,6 @@ enum Vehicles VEHICLE_DEMOLISHER = 33109, }; -#define EMOTE_PURSUE "Flame Leviathan pursues $N." -#define EMOTE_OVERLOAD "Flame Leviathan's circuits overloaded." -#define EMOTE_REPAIR "Automatic repair sequence initiated." #define DATA_SHUTOUT 29112912 // 2911, 2912 are achievement IDs #define DATA_ORBIT_ACHIEVEMENTS 1 #define VEHICLE_SPAWNS 5 @@ -151,22 +148,21 @@ enum Vehicles enum Yells { - SAY_AGGRO = -1603060, - SAY_SLAY = -1603061, - SAY_DEATH = -1603062, - SAY_TARGET_1 = -1603063, - SAY_TARGET_2 = -1603064, - SAY_TARGET_3 = -1603065, - SAY_HARDMODE = -1603066, - SAY_TOWER_NONE = -1603067, - SAY_TOWER_FROST = -1603068, - SAY_TOWER_FLAME = -1603069, - SAY_TOWER_NATURE = -1603070, - SAY_TOWER_STORM = -1603071, - SAY_PLAYER_RIDING = -1603072, - SAY_OVERLOAD_1 = -1603073, - SAY_OVERLOAD_2 = -1603074, - SAY_OVERLOAD_3 = -1603075, + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2, + SAY_TARGET = 3, + SAY_HARDMODE = 4, + SAY_TOWER_NONE = 5, + SAY_TOWER_FROST = 6, + SAY_TOWER_FLAME = 7, + SAY_TOWER_NATURE = 8, + SAY_TOWER_STORM = 9, + SAY_PLAYER_RIDING = 10, + SAY_OVERLOAD = 11, + EMOTE_PURSUE = 12, + EMOTE_OVERLOAD = 13, + EMOTE_REPAIR = 14 }; enum MiscellanousData @@ -179,15 +175,8 @@ enum MiscellanousData FOUR_SEATS = 4, }; -Position const Center[]= -{ - {354.8771f, -12.90240f, 409.803650f, 0.0f}, -}; - -Position const InfernoStart[]= -{ - {390.93f, -13.91f, 409.81f, 0.0f}, -}; +Position const Center = { 354.8771f, -12.90240f, 409.803650f, 0.0f }; +Position const InfernoStart = { 390.93f, -13.91f, 409.81f, 0.0f }; Position const PosSiege[VEHICLE_SPAWNS] = { @@ -320,12 +309,12 @@ class boss_flame_leviathan : public CreatureScript } if (!towerOfLife && !towerOfFrost && !towerOfFlames && !towerOfStorms) - DoScriptText(SAY_TOWER_NONE, me); + Talk(SAY_TOWER_NONE); else - DoScriptText(SAY_HARDMODE, me); + Talk(SAY_HARDMODE); } else - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void JustDied(Unit* /*killer*/) @@ -334,7 +323,7 @@ class boss_flame_leviathan : public CreatureScript // Set Field Flags 67108928 = 64 | 67108864 = UNIT_FLAG_UNK_6 | UNIT_FLAG_SKINNABLE // Set DynFlags 12 // Set NPCFlags 0 - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } void SpellHit(Unit* /*caster*/, SpellInfo const* spell) @@ -397,7 +386,7 @@ class boss_flame_leviathan : public CreatureScript switch (eventId) { case EVENT_PURSUE: - DoScriptText(RAND(SAY_TARGET_1, SAY_TARGET_2, SAY_TARGET_3), me); + Talk(SAY_TARGET); DoCast(SPELL_PURSUED); // Will select target in spellscript events.ScheduleEvent(EVENT_PURSUE, 35*IN_MILLISECONDS); break; @@ -420,8 +409,8 @@ class boss_flame_leviathan : public CreatureScript events.ScheduleEvent(EVENT_SUMMON, 2*IN_MILLISECONDS); break; case EVENT_SHUTDOWN: - DoScriptText(RAND(SAY_OVERLOAD_1, SAY_OVERLOAD_2, SAY_OVERLOAD_3), me); - me->MonsterTextEmote(EMOTE_OVERLOAD, 0, true); + Talk(SAY_OVERLOAD); + Talk(EMOTE_OVERLOAD); me->CastSpell(me, SPELL_SYSTEMS_SHUTDOWN, true); if (Shutout) Shutout = false; @@ -429,7 +418,7 @@ class boss_flame_leviathan : public CreatureScript events.DelayEvents(20 * IN_MILLISECONDS, 0); break; case EVENT_REPAIR: - me->MonsterTextEmote(EMOTE_REPAIR, 0, true); + Talk(EMOTE_REPAIR); me->ClearUnitState(UNIT_STATE_STUNNED | UNIT_STATE_ROOT); events.ScheduleEvent(EVENT_SHUTDOWN, 150*IN_MILLISECONDS); events.CancelEvent(EVENT_REPAIR); @@ -440,12 +429,12 @@ class boss_flame_leviathan : public CreatureScript if (Creature* thorim = DoSummon(NPC_THORIM_BEACON, me, float(urand(20, 60)), 20000, TEMPSUMMON_TIMED_DESPAWN)) thorim->GetMotionMaster()->MoveRandom(100); } - DoScriptText(SAY_TOWER_STORM, me); + Talk(SAY_TOWER_STORM); events.CancelEvent(EVENT_THORIM_S_HAMMER); break; case EVENT_MIMIRON_S_INFERNO: // Tower of Flames - me->SummonCreature(NPC_MIMIRON_BEACON, InfernoStart->GetPositionX(), InfernoStart->GetPositionY(), InfernoStart->GetPositionZ()); - DoScriptText(SAY_TOWER_FLAME, me); + me->SummonCreature(NPC_MIMIRON_BEACON, InfernoStart); + Talk(SAY_TOWER_FLAME); events.CancelEvent(EVENT_MIMIRON_S_INFERNO); break; case EVENT_HODIR_S_FURY: // Tower of Frost @@ -454,11 +443,11 @@ class boss_flame_leviathan : public CreatureScript if (Creature* hodir = DoSummon(NPC_HODIR_BEACON, me, 50, 0)) hodir->GetMotionMaster()->MoveRandom(100); } - DoScriptText(SAY_TOWER_FROST, me); + Talk(SAY_TOWER_FROST); events.CancelEvent(EVENT_HODIR_S_FURY); break; case EVENT_FREYA_S_WARD: // Tower of Nature - DoScriptText(SAY_TOWER_NATURE, me); + Talk(SAY_TOWER_NATURE); for (int32 i = 0; i < 4; ++i) me->SummonCreature(NPC_FREYA_BEACON, FreyaBeacons[i]); @@ -529,8 +518,8 @@ class boss_flame_leviathan : public CreatureScript case ACTION_MOVE_TO_CENTER_POSITION: // Triggered by 2 Collossus near door if (!me->isDead()) { - me->SetHomePosition(Center->GetPositionX(), Center->GetPositionY(), Center->GetPositionZ(), 0); - me->GetMotionMaster()->MoveCharge(Center->GetPositionX(), Center->GetPositionY(), Center->GetPositionZ()); //position center + me->SetHomePosition(Center); + me->GetMotionMaster()->MoveCharge(Center.GetPositionX(), Center.GetPositionY(), Center.GetPositionZ()); // position center me->SetReactState(REACT_AGGRESSIVE); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_STUNNED); return; @@ -593,8 +582,8 @@ class boss_flame_leviathan_seat : public CreatureScript { if (!apply) return; - else - DoScriptText(SAY_PLAYER_RIDING, me); + else if (Creature* leviathan = me->GetVehicleCreatureBase()) + leviathan->AI()->Talk(SAY_PLAYER_RIDING); if (Creature* turret = me->GetVehicleKit()->GetPassenger(SEAT_TURRET)->ToCreature()) { @@ -887,7 +876,7 @@ class npc_colossus : public CreatureScript void JustDied(Unit* /*killer*/) { - if (me->GetHomePosition().IsInDist(Center, 50.f)) + if (me->GetHomePosition().IsInDist(&Center, 50.f)) instance->SetData(DATA_COLOSSUS, instance->GetData(DATA_COLOSSUS)+1); } @@ -1700,7 +1689,7 @@ class spell_pursue : public SpellScriptLoader { if (IS_PLAYER_GUID(itr->second.Passenger)) { - caster->MonsterTextEmote(EMOTE_PURSUE, itr->second.Passenger, true); + caster->AI()->Talk(EMOTE_PURSUE, itr->second.Passenger); return; } } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp index f60922c426c..ac7c4ce8da5 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp @@ -27,34 +27,23 @@ enum FreyaYells { // Freya - SAY_AGGRO = -1603180, - SAY_AGGRO_WITH_ELDER = -1603181, - SAY_SLAY_1 = -1603182, - SAY_SLAY_2 = -1603183, - SAY_DEATH = -1603184, - SAY_BERSERK = -1603185, - SAY_SUMMON_CONSERVATOR = -1603186, - SAY_SUMMON_TRIO = -1603187, - SAY_SUMMON_LASHERS = -1603188, - SAY_YS_HELP = -1603189, - - // Elder Brightleaf - SAY_BRIGHTLEAF_AGGRO = -1603190, - SAY_BRIGHTLEAF_SLAY_1 = -1603191, - SAY_BRIGHTLEAF_SLAY_2 = -1603192, - SAY_BRIGHTLEAF_DEATH = -1603193, - - // Elder Ironbranch - SAY_IRONBRANCH_AGGRO = -1603194, - SAY_IRONBRANCH_SLAY_1 = -1603195, - SAY_IRONBRANCH_SLAY_2 = -1603196, - SAY_IRONBRANCH_DEATH = -1603197, - - // Elder Stonebark - SAY_STONEBARK_AGGRO = -1603198, - SAY_STONEBARK_SLAY_1 = -1603199, - SAY_STONEBARK_SLAY_2 = -1603200, - SAY_STONEBARK_DEATH = -1603201, + SAY_AGGRO = 0, + SAY_AGGRO_WITH_ELDER = 1, + SAY_SLAY = 2, + SAY_DEATH = 3, + SAY_BERSERK = 4, + SAY_SUMMON_CONSERVATOR = 5, + SAY_SUMMON_TRIO = 6, + SAY_SUMMON_LASHERS = 7, + EMOTE_LIFEBINDERS_GIFT = 8, + EMOTE_ALLIES_OF_NATURE = 9, + EMOTE_GROUND_TREMOR = 10, + EMOTE_IRON_ROOTS = 11, + + // Elder Brightleaf / Elder Ironbranch / Elder Stonebark + SAY_ELDER_AGGRO = 0, + SAY_ELDER_SLAY = 1, + SAY_ELDER_DEATH = 2 }; enum FreyaSpells @@ -143,7 +132,7 @@ enum FreyaSpells // Nature Bomb SPELL_NATURE_BOMB = 64587, SPELL_OBJECT_BOMB = 64600, - SPELL_SUMMON_NATURE_BOMB = 64606, + SPELL_SUMMON_NATURE_BOMB = 64604, // Unstable Sun Beam SPELL_UNSTABLE_SUN_BEAM = 62211, @@ -316,9 +305,10 @@ class boss_freya : public CreatureScript random[n] = false; } - void KilledUnit(Unit* /*who*/) + void KilledUnit(Unit* who) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + if (who->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_SLAY); } void DamageTaken(Unit* who, uint32& damage) @@ -369,9 +359,9 @@ class boss_freya : public CreatureScript } if (elderCount == 0) - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); else - DoScriptText(SAY_AGGRO_WITH_ELDER, me); + Talk(SAY_AGGRO_WITH_ELDER); me->CastCustomSpell(SPELL_ATTUNED_TO_NATURE, SPELLVALUE_AURA_STACK, 150, me, true); @@ -409,7 +399,7 @@ class boss_freya : public CreatureScript switch (eventId) { case EVENT_ENRAGE: - DoScriptText(SAY_BERSERK, me); + Talk(SAY_BERSERK); DoCast(me, SPELL_ENRAGE); break; case EVENT_SUNBEAM: @@ -418,17 +408,9 @@ class boss_freya : public CreatureScript events.ScheduleEvent(EVENT_SUNBEAM, urand(10000, 15000)); break; case EVENT_NATURE_BOMB: - { - // On every player - std::list<Player*> PlayerList; - Trinity::AnyPlayerInObjectRangeCheck checker(me, 50.0f); - Trinity::PlayerListSearcher<Trinity::AnyPlayerInObjectRangeCheck> searcher(me, PlayerList, checker); - me->VisitNearbyWorldObject(50.0f, searcher); - for (std::list<Player*>::const_iterator itr = PlayerList.begin(); itr != PlayerList.end(); ++itr) - (*itr)->CastSpell(*itr, SPELL_SUMMON_NATURE_BOMB, true); + DoCastAOE(SPELL_SUMMON_NATURE_BOMB, true); events.ScheduleEvent(EVENT_NATURE_BOMB, urand(10000, 12000)); break; - } case EVENT_UNSTABLE_ENERGY: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true)) DoCast(target, SPELL_FREYA_UNSTABLE_SUNBEAM, true); @@ -442,15 +424,18 @@ class boss_freya : public CreatureScript events.ScheduleEvent(EVENT_NATURE_BOMB, urand(10000, 20000)); break; case EVENT_EONAR_GIFT: + Talk(EMOTE_LIFEBINDERS_GIFT); DoCast(me, SPELL_SUMMON_EONAR_GIFT); events.ScheduleEvent(EVENT_EONAR_GIFT, urand(40000, 50000)); break; case EVENT_STRENGTHENED_IRON_ROOTS: + Talk(EMOTE_IRON_ROOTS); if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true, -SPELL_ROOTS_FREYA)) target->CastSpell(target, SPELL_ROOTS_FREYA, true); // This must be casted by Target self events.ScheduleEvent(EVENT_STRENGTHENED_IRON_ROOTS, urand(12000, 20000)); break; case EVENT_GROUND_TREMOR: + Talk(EMOTE_GROUND_TREMOR); DoCastAOE(SPELL_FREYA_GROUND_TREMOR); events.ScheduleEvent(EVENT_GROUND_TREMOR, urand(25000, 28000)); break; @@ -573,20 +558,21 @@ class boss_freya : public CreatureScript switch (GetWaveId()) { case 0: - DoScriptText(SAY_SUMMON_LASHERS, me); + Talk(SAY_SUMMON_LASHERS); for (uint8 n = 0; n < 10; ++n) DoCast(SPELL_SUMMON_LASHERS); break; case 1: - DoScriptText(SAY_SUMMON_TRIO, me); + Talk(SAY_SUMMON_TRIO); DoCast(SPELL_SUMMON_TRIO); trioWaveCount++; break; case 2: - DoScriptText(SAY_SUMMON_CONSERVATOR, me); + Talk(SAY_SUMMON_CONSERVATOR); DoCast(SPELL_SUMMON_ANCIENT_CONSERVATOR); break; } + Talk(EMOTE_ALLIES_OF_NATURE); waveCount++; } @@ -602,7 +588,7 @@ class boss_freya : public CreatureScript me->CastSpell((Unit*)NULL, summonSpell[me->GetMap()->GetDifficulty()][elderCount], true); - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); me->SetReactState(REACT_PASSIVE); _JustDied(); me->RemoveAllAuras(); @@ -705,17 +691,18 @@ class boss_elder_brightleaf : public CreatureScript lumberjack = false; } - void KilledUnit(Unit* /*who*/) + void KilledUnit(Unit* who) { - DoScriptText(RAND(SAY_BRIGHTLEAF_SLAY_1, SAY_BRIGHTLEAF_SLAY_2), me); + if (who->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_ELDER_SLAY); } void JustDied(Unit* killer) { _JustDied(); - DoScriptText(SAY_BRIGHTLEAF_DEATH, me); + Talk(SAY_ELDER_DEATH); - if (killer && killer->GetTypeId() == TYPEID_PLAYER) + if (killer->GetTypeId() == TYPEID_PLAYER) { if (Creature* Ironbranch = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_IRONBRANCH))) Ironbranch->AI()->DoAction(ACTION_ELDER_DEATH); @@ -729,7 +716,7 @@ class boss_elder_brightleaf : public CreatureScript { _EnterCombat(); if (!me->HasAura(SPELL_DRAINED_OF_POWER)) - DoScriptText(SAY_BRIGHTLEAF_AGGRO, me); + Talk(SAY_ELDER_AGGRO); } void UpdateAI(uint32 const diff) @@ -825,17 +812,18 @@ class boss_elder_stonebark : public CreatureScript lumberjack = false; } - void KilledUnit(Unit* /*who*/) + void KilledUnit(Unit* who) { - DoScriptText(RAND(SAY_STONEBARK_SLAY_1, SAY_STONEBARK_SLAY_2), me); + if (who->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_ELDER_SLAY); } void JustDied(Unit* killer) { _JustDied(); - DoScriptText(SAY_STONEBARK_DEATH, me); + Talk(SAY_ELDER_DEATH); - if (killer && killer->GetTypeId() == TYPEID_PLAYER) + if (killer->GetTypeId() == TYPEID_PLAYER) { if (Creature* Ironbranch = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_IRONBRANCH))) Ironbranch->AI()->DoAction(ACTION_ELDER_DEATH); @@ -849,7 +837,7 @@ class boss_elder_stonebark : public CreatureScript { _EnterCombat(); if (!me->HasAura(SPELL_DRAINED_OF_POWER)) - DoScriptText(SAY_STONEBARK_AGGRO, me); + Talk(SAY_ELDER_AGGRO); } void DamageTaken(Unit* who, uint32& damage) @@ -951,17 +939,18 @@ class boss_elder_ironbranch : public CreatureScript lumberjack = false; } - void KilledUnit(Unit* /*who*/) + void KilledUnit(Unit* who) { - DoScriptText(RAND(SAY_IRONBRANCH_SLAY_1, SAY_IRONBRANCH_SLAY_2), me); + if (who->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_ELDER_SLAY); } void JustDied(Unit* killer) { _JustDied(); - DoScriptText(SAY_IRONBRANCH_DEATH, me); + Talk(SAY_ELDER_DEATH); - if (killer && killer->GetTypeId() == TYPEID_PLAYER) + if (killer->GetTypeId() == TYPEID_PLAYER) { if (Creature* Brightleaf = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_BRIGHTLEAF))) Brightleaf->AI()->DoAction(ACTION_ELDER_DEATH); @@ -975,7 +964,7 @@ class boss_elder_ironbranch : public CreatureScript { _EnterCombat(); if (!me->HasAura(SPELL_DRAINED_OF_POWER)) - DoScriptText(SAY_IRONBRANCH_AGGRO, me); + Talk(SAY_ELDER_AGGRO); } void UpdateAI(uint32 const diff) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp index 1232c1b9051..43d203daedf 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp @@ -24,21 +24,22 @@ enum VezaxYells { - SAY_AGGRO = -1603290, - SAY_SLAY_1 = -1603291, - SAY_SLAY_2 = -1603292, - SAY_SURGE_OF_DARKNESS = -1603293, - SAY_DEATH = -1603294, - SAY_BERSERK = -1603295, - SAY_HARDMODE = -1603296, + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_SURGE_OF_DARKNESS = 2, + SAY_DEATH = 3, + SAY_BERSERK = 4, + SAY_HARDMODE = 5, }; enum VezaxEmotes { - EMOTE_VAPORS = -1603289, - EMOTE_ANIMUS = -1603297, - EMOTE_BARRIER = -1603298, - EMOTE_SURGE_OF_DARKNESS = -1603299, + EMOTE_ANIMUS = 6, + EMOTE_BARRIER = 7, + EMOTE_SURGE_OF_DARKNESS = 8, + + // Saronite Vapor + EMOTE_VAPORS = 9 }; enum VezaxSpells @@ -122,7 +123,7 @@ class boss_general_vezax : public CreatureScript { _EnterCombat(); - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); DoCast(me, SPELL_AURA_OF_DESPAIR); CheckShamanisticRage(); @@ -173,8 +174,8 @@ class boss_general_vezax : public CreatureScript break; } case EVENT_SURGE_OF_DARKNESS: - DoScriptText(EMOTE_SURGE_OF_DARKNESS, me); - DoScriptText(SAY_SURGE_OF_DARKNESS, me); + Talk(EMOTE_SURGE_OF_DARKNESS); + Talk(SAY_SURGE_OF_DARKNESS); DoCast(me, SPELL_SURGE_OF_DARKNESS); events.ScheduleEvent(EVENT_SURGE_OF_DARKNESS, urand(50000, 70000)); break; @@ -183,8 +184,8 @@ class boss_general_vezax : public CreatureScript events.ScheduleEvent(EVENT_SARONITE_VAPORS, urand(30000, 35000)); if (++vaporCount == 6 && smellSaronite) { - DoScriptText(SAY_HARDMODE, me); - DoScriptText(EMOTE_BARRIER, me); + Talk(SAY_HARDMODE); + Talk(EMOTE_BARRIER); summons.DespawnAll(); DoCast(me, SPELL_SARONITE_BARRIER); DoCast(SPELL_SUMMON_SARONITE_ANIMUS); @@ -194,7 +195,7 @@ class boss_general_vezax : public CreatureScript } break; case EVENT_BERSERK: - DoScriptText(SAY_BERSERK, me); + Talk(SAY_BERSERK); DoCast(me, SPELL_BERSERK); break; } @@ -209,15 +210,16 @@ class boss_general_vezax : public CreatureScript shadowDodger = false; } - void KilledUnit(Unit* /*who*/) + void KilledUnit(Unit* who) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + if (who->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { _JustDied(); - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_AURA_OF_DESPAIR); } @@ -316,7 +318,6 @@ class boss_saronite_animus : public CreatureScript boss_saronite_animusAI(Creature* creature) : ScriptedAI(creature) { instance = me->GetInstanceScript(); - DoScriptText(EMOTE_BARRIER, me); } void Reset() @@ -378,7 +379,7 @@ class npc_saronite_vapors : public CreatureScript { npc_saronite_vaporsAI(Creature* creature) : ScriptedAI(creature) { - DoScriptText(EMOTE_VAPORS, me); + Talk(EMOTE_VAPORS); instance = me->GetInstanceScript(); me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true); me->ApplySpellImmune(0, IMMUNITY_ID, 49560, true); // Death Grip jump effect diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp index c9fe1c5b707..ae865ded40a 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp @@ -32,18 +32,15 @@ enum HodirYells { - SAY_AGGRO = -1603210, - SAY_SLAY_1 = -1603211, - SAY_SLAY_2 = -1603212, - SAY_FLASH_FREEZE = -1603213, - SAY_STALACTITE = -1603214, - SAY_DEATH = -1603215, - SAY_BERSERK = -1603216, - SAY_YS_HELP = -1603217, - SAY_HARD_MODE_FAILED = -1603218, - - EMOTE_FREEZE = -1603209, - EMOTE_BLOWS = -1603219, + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_FLASH_FREEZE = 2, + SAY_STALACTITE = 3, + SAY_DEATH = 4, + SAY_BERSERK = 5, + SAY_HARD_MODE_FAILED = 6, + EMOTE_FREEZE = 7, + EMOTE_BLOWS = 8 }; enum HodirSpells @@ -329,7 +326,7 @@ class boss_hodir : public CreatureScript void EnterCombat(Unit* /*who*/) { _EnterCombat(); - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); DoCast(me, SPELL_BITING_COLD, true); gettingColdInHereTimer = 1000; @@ -346,10 +343,10 @@ class boss_hodir : public CreatureScript events.ScheduleEvent(EVENT_BERSERK, 480000); } - void KilledUnit(Unit* /*who*/) + void KilledUnit(Unit* who) { - if (!urand(0, 3)) - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + if (who->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_SLAY); } void DamageTaken(Unit* /*who*/, uint32& damage) @@ -357,7 +354,7 @@ class boss_hodir : public CreatureScript if (damage >= me->GetHealth()) { damage = 0; - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (iCouldSayThatThisCacheWasRare) instance->SetData(DATA_HODIR_RARE_CACHE, 1); @@ -404,8 +401,8 @@ class boss_hodir : public CreatureScript events.ScheduleEvent(EVENT_ICICLE, RAID_MODE(5500, 3500)); break; case EVENT_FLASH_FREEZE: - DoScriptText(SAY_FLASH_FREEZE, me); - DoScriptText(EMOTE_FREEZE, me); + Talk(SAY_FLASH_FREEZE); + Talk(EMOTE_FREEZE); for (uint8 n = 0; n < RAID_MODE(2, 3); ++n) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true)) target->CastSpell(target, SPELL_ICICLE_SNOWDRIFT, true); @@ -424,19 +421,19 @@ class boss_hodir : public CreatureScript break; } case EVENT_BLOWS: - DoScriptText(SAY_STALACTITE, me); - DoScriptText(EMOTE_BLOWS, me); + Talk(SAY_STALACTITE); + Talk(EMOTE_BLOWS); DoCast(me, SPELL_FROZEN_BLOWS); events.ScheduleEvent(EVENT_BLOWS, urand(60000, 65000)); break; case EVENT_RARE_CACHE: - DoScriptText(SAY_HARD_MODE_FAILED, me); + Talk(SAY_HARD_MODE_FAILED); iCouldSayThatThisCacheWasRare = false; instance->SetData(DATA_HODIR_RARE_CACHE, 0); events.CancelEvent(EVENT_RARE_CACHE); break; case EVENT_BERSERK: - DoScriptText(SAY_BERSERK, me); + Talk(SAY_BERSERK); DoCast(me, SPELL_BERSERK, true); events.CancelEvent(EVENT_BERSERK); break; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp index c0fb4e3ecc8..8f68542d462 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp @@ -24,16 +24,14 @@ enum Yells { - SAY_AGGRO = -1603220, - SAY_SLAY_1 = -1603221, - SAY_SLAY_2 = -1603222, - SAY_DEATH = -1603223, - SAY_SUMMON = -1603224, - SAY_SLAG_POT = -1603225, - SAY_SCORCH_1 = -1603226, - SAY_SCORCH_2 = -1603227, - SAY_BERSERK = -1603228, - EMOTE_JETS = -1603229, + SAY_AGGRO = 0, + SAY_SUMMON = 1, + SAY_SLAG_POT = 2, + SAY_SCORCH = 3, + SAY_SLAY = 4, + SAY_BERSERK = 5, + SAY_DEATH = 6, + EMOTE_JETS = 7 }; enum Spells @@ -135,7 +133,7 @@ class boss_ignis : public CreatureScript void EnterCombat(Unit* /*who*/) { _EnterCombat(); - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); events.ScheduleEvent(EVENT_JET, 30000); events.ScheduleEvent(EVENT_SCORCH, 25000); events.ScheduleEvent(EVENT_SLAG_POT, 35000); @@ -151,7 +149,7 @@ class boss_ignis : public CreatureScript void JustDied(Unit* /*killer*/) { _JustDied(); - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } uint32 GetData(uint32 type) const @@ -162,10 +160,10 @@ class boss_ignis : public CreatureScript return 0; } - void KilledUnit(Unit* /*victim*/) + void KilledUnit(Unit* who) { - if (!urand(0, 4)) - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + if (who->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_SLAY); } void JustSummoned(Creature* summon) @@ -217,7 +215,7 @@ class boss_ignis : public CreatureScript case EVENT_SLAG_POT: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) { - DoScriptText(SAY_SLAG_POT, me); + Talk(SAY_SLAG_POT); _slagPotGUID = target->GetGUID(); DoCast(target, SPELL_GRAB); events.DelayEvents(3000); @@ -252,14 +250,14 @@ class boss_ignis : public CreatureScript } break; case EVENT_SCORCH: - DoScriptText(RAND(SAY_SCORCH_1, SAY_SCORCH_2), me); + Talk(SAY_SCORCH); if (Unit* target = me->getVictim()) me->SummonCreature(NPC_GROUND_SCORCH, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 45000); DoCast(SPELL_SCORCH); events.ScheduleEvent(EVENT_SCORCH, 25000); break; case EVENT_CONSTRUCT: - DoScriptText(SAY_SUMMON, me); + Talk(SAY_SUMMON); DoSummon(NPC_IRON_CONSTRUCT, ConstructSpawnPosition[urand(0, CONSTRUCT_SPAWN_POINTS - 1)], 30000, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT); DoCast(SPELL_STRENGHT); DoCast(me, SPELL_ACTIVATE_CONSTRUCT); @@ -267,7 +265,7 @@ class boss_ignis : public CreatureScript break; case EVENT_BERSERK: DoCast(me, SPELL_BERSERK, true); - DoScriptText(SAY_BERSERK, me); + Talk(SAY_BERSERK); break; } } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp index 9c77bb298a5..0e4d5026caf 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp @@ -76,15 +76,15 @@ enum Events enum Yells { - SAY_AGGRO = -1603230, - SAY_SLAY_1 = -1603231, - SAY_SLAY_2 = -1603232, - SAY_LEFT_ARM_GONE = -1603233, - SAY_RIGHT_ARM_GONE = -1603234, - SAY_SHOCKWAVE = -1603235, - SAY_GRAB_PLAYER = -1603236, - SAY_DEATH = -1603237, - SAY_BERSERK = -1603238, + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_LEFT_ARM_GONE = 2, + SAY_RIGHT_ARM_GONE = 3, + SAY_SHOCKWAVE = 4, + SAY_GRAB_PLAYER = 5, + SAY_DEATH = 6, + SAY_BERSERK = 7, + EMOTE_STONE_GRIP = 8 }; class boss_kologarn : public CreatureScript @@ -113,7 +113,7 @@ class boss_kologarn : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); events.ScheduleEvent(EVENT_MELEE_CHECK, 6000); events.ScheduleEvent(EVENT_SMASH, 5000); @@ -138,7 +138,7 @@ class boss_kologarn : public CreatureScript void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); DoCast(SPELL_KOLOGARN_PACIFY); me->GetMotionMaster()->MoveTargetedHome(); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); @@ -146,9 +146,10 @@ class boss_kologarn : public CreatureScript _JustDied(); } - void KilledUnit(Unit* /*who*/) + void KilledUnit(Unit* who) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + if (who->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_SLAY); } void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) @@ -160,7 +161,7 @@ class boss_kologarn : public CreatureScript if (!apply && isEncounterInProgress) { who->ToCreature()->DisappearAndDie(); - DoScriptText(SAY_LEFT_ARM_GONE, me); + Talk(SAY_LEFT_ARM_GONE); events.ScheduleEvent(EVENT_RESPAWN_LEFT_ARM, 40000); } } @@ -171,7 +172,7 @@ class boss_kologarn : public CreatureScript if (!apply && isEncounterInProgress) { who->ToCreature()->DisappearAndDie(); - DoScriptText(SAY_RIGHT_ARM_GONE, me); + Talk(SAY_RIGHT_ARM_GONE); events.ScheduleEvent(EVENT_RESPAWN_RIGHT_ARM, 40000); } } @@ -272,7 +273,7 @@ class boss_kologarn : public CreatureScript break; case EVENT_ENRAGE: DoCast(SPELL_BERSERK); - DoScriptText(SAY_BERSERK, me); + Talk(SAY_BERSERK); break; case EVENT_RESPAWN_LEFT_ARM: case EVENT_RESPAWN_RIGHT_ARM: @@ -290,7 +291,8 @@ class boss_kologarn : public CreatureScript if (right) { DoCast(SPELL_STONE_GRIP); - DoScriptText(SAY_GRAB_PLAYER, me); + Talk(SAY_GRAB_PLAYER); + Talk(EMOTE_STONE_GRIP); } events.ScheduleEvent(EVENT_STONE_GRIP, 25 * IN_MILLISECONDS); } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index 6a4a5255293..b5c907af7f0 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -35,8 +35,7 @@ enum Yells SAY_V07TRON_ACTIVATE = 11, SAY_V07TRON_SLAY = 12, SAY_V07TRON_DEATH = 13, - SAY_BERSERK = 14, - SAY_YS_HELP = 15 + SAY_BERSERK = 14 }; enum Spells diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp index 5ea2678adfe..9643b2ec9ab 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp @@ -27,15 +27,22 @@ enum Says { - SAY_GREET = -1603260, - SAY_GROUND_PHASE = -1603261, - SAY_AGGRO_1 = -1603262, - SAY_AGGRO_2 = -1603263, - SAY_AGGRO_3 = -1603264, - SAY_TURRETS = -1603265, - EMOTE_HARPOON = -1603266, - EMOTE_BREATH = -1603267, - EMOTE_PERMA = -1603268, + // Expedition Commander + SAY_INTRO = 0, + SAY_GROUND_PHASE = 1, + SAY_AGGRO_2 = 2, + + // Expedition Engineer + SAY_AGGRO_1 = 0, + SAY_AGGRO_3 = 1, + SAY_TURRETS = 2, // unused + + // Razorscale Controller + EMOTE_HARPOON = 0, + + // Razorscale + EMOTE_PERMA = 0, + EMOTE_BREATH = 1 }; enum Spells @@ -245,7 +252,7 @@ class boss_razorscale_controller : public CreatureScript switch (eventId) { case EVENT_BUILD_HARPOON_1: - DoScriptText(EMOTE_HARPOON, me); + Talk(EMOTE_HARPOON); if (GameObject* Harpoon = me->SummonGameObject(GO_RAZOR_HARPOON_1, PosHarpoon[0].GetPositionX(), PosHarpoon[0].GetPositionY(), PosHarpoon[0].GetPositionZ(), 4.790f, 0.0f, 0.0f, 0.0f, 0.0f, uint32(me->GetRespawnTime()))) { if (GameObject* BrokenHarpoon = Harpoon->FindNearestGameObject(GO_RAZOR_BROKEN_HARPOON, 5.0f)) //only nearest broken harpoon @@ -255,7 +262,7 @@ class boss_razorscale_controller : public CreatureScript } return; case EVENT_BUILD_HARPOON_2: - DoScriptText(EMOTE_HARPOON, me); + Talk(EMOTE_HARPOON); if (GameObject* Harpoon = me->SummonGameObject(GO_RAZOR_HARPOON_2, PosHarpoon[1].GetPositionX(), PosHarpoon[1].GetPositionY(), PosHarpoon[1].GetPositionZ(), 4.659f, 0, 0, 0, 0, uint32(me->GetRespawnTime()))) { if (GameObject* BrokenHarpoon = Harpoon->FindNearestGameObject(GO_RAZOR_BROKEN_HARPOON, 5.0f)) @@ -264,7 +271,7 @@ class boss_razorscale_controller : public CreatureScript } return; case EVENT_BUILD_HARPOON_3: - DoScriptText(EMOTE_HARPOON, me); + Talk(EMOTE_HARPOON); if (GameObject* Harpoon = me->SummonGameObject(GO_RAZOR_HARPOON_3, PosHarpoon[2].GetPositionX(), PosHarpoon[2].GetPositionY(), PosHarpoon[2].GetPositionZ(), 5.382f, 0, 0, 0, 0, uint32(me->GetRespawnTime()))) { if (GameObject* BrokenHarpoon = Harpoon->FindNearestGameObject(GO_RAZOR_BROKEN_HARPOON, 5.0f)) @@ -274,7 +281,7 @@ class boss_razorscale_controller : public CreatureScript } return; case EVENT_BUILD_HARPOON_4: - DoScriptText(EMOTE_HARPOON, me); + Talk(EMOTE_HARPOON); if (GameObject* Harpoon = me->SummonGameObject(GO_RAZOR_HARPOON_4, PosHarpoon[3].GetPositionX(), PosHarpoon[3].GetPositionY(), PosHarpoon[3].GetPositionZ(), 4.266f, 0, 0, 0, 0, uint32(me->GetRespawnTime()))) { if (GameObject* BrokenHarpoon = Harpoon->FindNearestGameObject(GO_RAZOR_BROKEN_HARPOON, 5.0f)) @@ -444,7 +451,7 @@ class boss_razorscale : public CreatureScript me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED); me->RemoveAllAuras(); me->SetReactState(REACT_AGGRESSIVE); - DoScriptText(EMOTE_BREATH, me, 0); + Talk(EMOTE_BREATH); DoCastAOE(SPELL_FLAMEBREATH); events.CancelEvent(EVENT_BREATH); return; @@ -468,7 +475,7 @@ class boss_razorscale : public CreatureScript events.ScheduleEvent(EVENT_FLAME, 10000, 0, PHASE_PERMAGROUND); return; case EVENT_BREATH: - me->MonsterTextEmote(EMOTE_BREATH, 0, true); + Talk(EMOTE_BREATH); DoCastVictim(SPELL_FLAMEBREATH); events.ScheduleEvent(EVENT_BREATH, 20000, 0, PHASE_PERMAGROUND); return; @@ -522,7 +529,7 @@ class boss_razorscale : public CreatureScript void EnterPermaGround() { - me->MonsterTextEmote(EMOTE_PERMA, 0, true); + Talk(EMOTE_PERMA); phase = PHASE_PERMAGROUND; events.SetPhase(PHASE_PERMAGROUND); me->SetCanFly(false); @@ -608,7 +615,7 @@ class npc_expedition_commander : public CreatureScript { if (!Greet && me->IsWithinDistInMap(who, 10.0f) && who->GetTypeId() == TYPEID_PLAYER) { - DoScriptText(SAY_GREET, me); + Talk(SAY_INTRO); Greet = true; } } @@ -623,7 +630,7 @@ class npc_expedition_commander : public CreatureScript switch (action) { case ACTION_GROUND_PHASE: - DoScriptText(SAY_GROUND_PHASE, me); + Talk(SAY_GROUND_PHASE); break; case ACTION_COMMANDER_RESET: summons.clear(); @@ -653,7 +660,7 @@ class npc_expedition_commander : public CreatureScript Engineer[n]->SetHomePosition(PosEngRepair[n]); Engineer[n]->GetMotionMaster()->MoveTargetedHome(); } - Engineer[0]->MonsterYell(SAY_AGGRO_3, LANG_UNIVERSAL, 0); + Engineer[0]->AI()->Talk(SAY_AGGRO_3); Phase = 3; AttackStartTimer = 14000; break; @@ -672,7 +679,7 @@ class npc_expedition_commander : public CreatureScript Engineer[n]->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING); for (uint8 n = 0; n < 4; ++n) Defender[n]->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY2H); - me->MonsterYell(SAY_AGGRO_2, LANG_UNIVERSAL, 0); + Talk(SAY_AGGRO_2); AttackStartTimer = 16000; Phase = 5; break; @@ -682,7 +689,7 @@ class npc_expedition_commander : public CreatureScript Razorscale->AI()->DoAction(ACTION_EVENT_START); me->SetInCombatWith(Razorscale); } - Engineer[0]->MonsterYell(SAY_AGGRO_1, LANG_UNIVERSAL, 0); + Engineer[0]->AI()->Talk(SAY_AGGRO_1); Phase = 6; break; } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp index 084cd3e0f86..0d4e3aad132 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp @@ -21,83 +21,80 @@ enum Yells { - SAY_AGGRO_1 = -1603270, - SAY_AGGRO_2 = -1603271, - SAY_SPECIAL_1 = -1603272, - SAY_SPECIAL_2 = -1603273, - SAY_SPECIAL_3 = -1603274, - SAY_JUMPDOWN = -1603275, - SAY_SLAY_1 = -1603276, - SAY_SLAY_2 = -1603277, - SAY_BERSERK = -1603278, - SAY_WIPE = -1603279, - SAY_DEATH = -1603280, - SAY_END_NORMAL_1 = -1603281, - SAY_END_NORMAL_2 = -1603282, - SAY_END_NORMAL_3 = -1603283, - SAY_END_HARD_1 = -1603284, - SAY_END_HARD_2 = -1603285, - SAY_END_HARD_3 = -1603286, - SAY_YS_HELP = -1603287, + SAY_AGGRO = 0, + SAY_SPECIAL_1 = 1, + SAY_SPECIAL_2 = 2, + SAY_SPECIAL_3 = 3, + SAY_JUMPDOWN = 4, + SAY_SLAY = 5, + SAY_BERSERK = 6, + SAY_WIPE = 7, + SAY_DEATH = 8, + SAY_END_NORMAL_1 = 9, + SAY_END_NORMAL_2 = 10, + SAY_END_NORMAL_3 = 11, + SAY_END_HARD_1 = 12, + SAY_END_HARD_2 = 13, + SAY_END_HARD_3 = 14 }; class boss_thorim : public CreatureScript { -public: - boss_thorim() : CreatureScript("boss_thorim") { } + public: + boss_thorim() : CreatureScript("boss_thorim") { } - CreatureAI* GetAI(Creature* creature) const - { - return GetUlduarAI<boss_thorimAI>(creature); - } - - struct boss_thorimAI : public BossAI - { - boss_thorimAI(Creature* creature) : BossAI(creature, BOSS_THORIM) + struct boss_thorimAI : public BossAI { - } + boss_thorimAI(Creature* creature) : BossAI(creature, BOSS_THORIM) + { + } - void Reset() - { - _Reset(); - } + void Reset() + { + _Reset(); + } - void EnterEvadeMode() - { - DoScriptText(SAY_WIPE, me); - _EnterEvadeMode(); - } + void EnterEvadeMode() + { + DoScriptText(SAY_WIPE, me); + _EnterEvadeMode(); + } - void KilledUnit(Unit* /*victim*/) - { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); - } + void KilledUnit(Unit* who) + { + if (who->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_SLAY); + } - void JustDied(Unit* /*killer*/) - { - DoScriptText(SAY_DEATH, me); - _JustDied(); - } + void JustDied(Unit* /*killer*/) + { + DoScriptText(SAY_DEATH, me); + _JustDied(); + } - void EnterCombat(Unit* /*who*/) - { - DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2), me); - _EnterCombat(); - } + void EnterCombat(Unit* /*who*/) + { + Talk(SAY_AGGRO); + _EnterCombat(); + } - void UpdateAI(const uint32 diff) - { - if (!UpdateVictim()) - return; - //SPELLS TODO: + void UpdateAI(uint32 const diff) + { + if (!UpdateVictim()) + return; + //SPELLS TODO: - // - DoMeleeAttackIfReady(); + // + DoMeleeAttackIfReady(); - EnterEvadeIfOutOfCombatArea(diff); - } - }; + EnterEvadeIfOutOfCombatArea(diff); + } + }; + CreatureAI* GetAI(Creature* creature) const + { + return GetUlduarAI<boss_thorimAI>(creature); + } }; void AddSC_boss_thorim() diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp index 30f60da178a..09ab35d6589 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp @@ -157,15 +157,18 @@ enum XT002Data enum Yells { - SAY_AGGRO = -1603300, - SAY_HEART_OPENED = -1603301, - SAY_HEART_CLOSED = -1603302, - SAY_TYMPANIC_TANTRUM = -1603303, - SAY_SLAY_1 = -1603304, - SAY_SLAY_2 = -1603305, - SAY_BERSERK = -1603306, - SAY_DEATH = -1603307, - SAY_SUMMON = -1603308, + SAY_AGGRO = 0, + SAY_HEART_OPENED = 1, + SAY_HEART_CLOSED = 2, + SAY_TYMPANIC_TANTRUM = 3, + SAY_SLAY = 4, + SAY_BERSERK = 5, + SAY_DEATH = 6, + SAY_SUMMON = 7, + EMOTE_HEART_OPENED = 8, + EMOTE_HEART_CLOSED = 9, + EMOTE_TYMPANIC_TANTRUM = 10, + EMOTE_SCRAPBOT = 11 }; enum AchievementCredits @@ -223,7 +226,7 @@ class boss_xt002 : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); _EnterCombat(); events.ScheduleEvent(EVENT_ENRAGE, TIMER_ENRAGE); @@ -248,14 +251,15 @@ class boss_xt002 : public CreatureScript } } - void KilledUnit(Unit* /*victim*/) + void KilledUnit(Unit* who) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + if (who->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); _JustDied(); } @@ -292,7 +296,8 @@ class boss_xt002 : public CreatureScript events.ScheduleEvent(EVENT_GRAVITY_BOMB, TIMER_GRAVITY_BOMB); break; case EVENT_TYMPANIC_TANTRUM: - DoScriptText(SAY_TYMPANIC_TANTRUM, me); + Talk(SAY_TYMPANIC_TANTRUM); + Talk(EMOTE_TYMPANIC_TANTRUM); DoCast(SPELL_TYMPANIC_TANTRUM); events.ScheduleEvent(EVENT_TYMPANIC_TANTRUM, urand(TIMER_TYMPANIC_TANTRUM_MIN, TIMER_TYMPANIC_TANTRUM_MAX)); break; @@ -300,7 +305,7 @@ class boss_xt002 : public CreatureScript SetPhaseOne(); break; case EVENT_ENRAGE: - DoScriptText(SAY_BERSERK, me); + Talk(SAY_BERSERK); DoCast(me, SPELL_ENRAGE); break; case EVENT_ENTER_HARD_MODE: @@ -325,6 +330,7 @@ class boss_xt002 : public CreatureScript if (me->GetHealthPct() > (25 * (4 - _heartExposed))) ++_heartExposed; + Talk(EMOTE_SCRAPBOT); _healthRecovered = true; } } @@ -359,7 +365,8 @@ class boss_xt002 : public CreatureScript void ExposeHeart() { - DoScriptText(SAY_HEART_OPENED, me); + Talk(SAY_HEART_OPENED); + Talk(EMOTE_HEART_OPENED); DoCast(me, SPELL_SUBMERGE); // WIll make creature untargetable me->AttackStop(); @@ -391,7 +398,8 @@ class boss_xt002 : public CreatureScript void SetPhaseOne() { - DoScriptText(SAY_HEART_CLOSED, me); + Talk(SAY_HEART_CLOSED); + Talk(EMOTE_HEART_CLOSED); DoCast(me, SPELL_STAND); me->SetReactState(REACT_AGGRESSIVE); @@ -928,7 +936,8 @@ class spell_xt002_heart_overload_periodic : public SpellScriptLoader } } - DoScriptText(SAY_SUMMON, caster->GetVehicleBase()); + if (Creature* base = caster->GetVehicleCreatureBase()) + base->AI()->Talk(SAY_SUMMON); } } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp index 58ba125b994..20d6a7a40da 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp @@ -43,18 +43,6 @@ enum Sara enum YoggSaron_Yells { - SAY_PHASE2_1 = -1603330, - SAY_PHASE2_2 = -1603331, - SAY_PHASE2_3 = -1603332, - SAY_PHASE2_4 = -1603333, - SAY_PHASE2_5 = -1603334, - SAY_PHASE3 = -1603335, - SAY_VISION = -1603336, - SAY_SLAY_1 = -1603337, - SAY_SLAY_2 = -1603338, - WHISP_INSANITY_1 = -1603339, - WHISP_INSANITY_2 = -1603340, - SAY_DEATH = -1603341, }; enum |