diff options
98 files changed, 3927 insertions, 1851 deletions
diff --git a/sql/updates/world/2012_12_05_00_world_creature_text.sql b/sql/updates/world/2012_12_05_00_world_creature_text.sql new file mode 100644 index 00000000000..b3b382e46e2 --- /dev/null +++ b/sql/updates/world/2012_12_05_00_world_creature_text.sql @@ -0,0 +1 @@ +UPDATE `creature_text` SET `text`='Unfortunate, but necessary.' WHERE `entry`=27655 AND `groupid`=7 AND `id`=2; diff --git a/sql/updates/world/2012_12_06_00_world_creature_text.sql b/sql/updates/world/2012_12_06_00_world_creature_text.sql new file mode 100644 index 00000000000..c0fec8e041e --- /dev/null +++ b/sql/updates/world/2012_12_06_00_world_creature_text.sql @@ -0,0 +1,697 @@ +-- ------------------------------- -- +-- Creature text conversion part 7 -- +-- ------------------------------- -- +-- ingvar +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1574010 AND -1574005; +DELETE FROM `creature_text` WHERE `entry`=23954; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(23954,0,0,14,13207,100,"ingvar SAY_AGGRO_FIRST","I'll paint my face with your blood!"), +(23954,1,0,14,13209,100,"ingvar SAY_AGGRO_SECOND","I return! A second chance to carve out your skull!"), +(23954,2,0,14,13213,100,"ingvar SAY_DEATH_FIRST","My life for the... death god!"), +(23954,3,0,14,13211,100,"ingvar SAY_DEATH_SECOND","No! I can do... better! I can..."), +(23954,4,0,14,13212,100,"ingvar SAY_KILL_FIRST","Mjul orm agn gjor!"), +(23954,5,0,14,13214,100,"ingvar SAY_KILL_SECOND","I am a warrior born!"); + +-- skarvald and dalronn +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1574020 AND -1574011; +DELETE FROM `creature_text` WHERE `entry` IN (24200,27390,24201,27389); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(24200,0,0,14,13229,100,"skarvald YELL_SKARVALD_AGGRO","Dalronn! See if you can muster the nerve to join my attack!"), +(24200,1,0,14,13230,100,"skarvald YELL_SKARVALD_DAL_DIED","Not... over... yet."), +(24200,2,0,14,13231,100,"skarvald YELL_SKARVALD_SKA_DIEDFIRST","A warrior's death."), +(24200,3,0,14,13232,100,"skarvald YELL_SKARVALD_KILL","???"), +(24200,4,0,14,13233,100,"skarvald YELL_SKARVALD_DAL_DIEDFIRST","Pagh! What sort of necromancer lets death stop him? I knew you were worthless!"), +(27390,0,0,14,13229,100,"skarvald YELL_SKARVALD_AGGRO","Dalronn! See if you can muster the nerve to join my attack!"), +(27390,1,0,14,13230,100,"skarvald YELL_SKARVALD_DAL_DIED","Not... over... yet."), +(27390,2,0,14,13231,100,"skarvald YELL_SKARVALD_SKA_DIEDFIRST","A warrior's death."), +(27390,3,0,14,13232,100,"skarvald YELL_SKARVALD_KILL","???"), +(27390,4,0,14,13233,100,"skarvald YELL_SKARVALD_DAL_DIEDFIRST","Pagh! What sort of necromancer lets death stop him? I knew you were worthless!"), +(24201,0,0,14,13199,100,"dalronn YELL_DALRONN_AGGRO","By all means, don't assess the situation, you halfwit! Just jump into the fray!"), +(24201,1,0,14,13200,100,"dalronn YELL_DALRONN_SKA_DIED","See... you... soon."), +(24201,2,0,14,13201,100,"dalronn YELL_DALRONN_DAL_DIEDFIRST","There's no... greater... glory."), +(24201,3,0,14,13202,100,"dalronn YELL_DALRONN_KILL","You may serve me yet."), +(24201,4,0,14,13203,100,"dalronn YELL_DALRONN_SKA_DIEDFIRST","Skarvald, you incompetent slug! Return and make yourself useful!"), +(27389,0,0,14,13199,100,"dalronn YELL_DALRONN_AGGRO","By all means, don't assess the situation, you halfwit! Just jump into the fray!"), +(27389,1,0,14,13200,100,"dalronn YELL_DALRONN_SKA_DIED","See... you... soon."), +(27389,2,0,14,13201,100,"dalronn YELL_DALRONN_DAL_DIEDFIRST","There's no... greater... glory."), +(27389,3,0,14,13202,100,"dalronn YELL_DALRONN_KILL","You may serve me yet."), +(27389,4,0,14,13203,100,"dalronn YELL_DALRONN_SKA_DIEDFIRST","Skarvald, you incompetent slug! Return and make yourself useful!"); + +-- Gortok Palehoof +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1575003 AND -1575000; +DELETE FROM `creature_text` WHERE `entry`=26687; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(26687,0,0,12,0,100,"Gortok Palehoof SAY_AGGRO","What this place? I will destroy you!"), +(26687,1,0,12,0,100,"Gortok Palehoof SAY_SLAY_1","You die! That what master wants!"), +(26687,1,1,12,0,100,"Gortok Palehoof SAY_SLAY_2","An easy task!"); + +-- skadi +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1575013 AND -1575004; +DELETE FROM `creature_text` WHERE `entry`=26693; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(26693,0,0,14,13497,100,"skadi SAY_AGGRO","What mongrels dare intrude here? Look alive, my brothers! A feast for the one that brings me their heads!"), +(26693,1,0,14,13504,100,"skadi SAY_KILL_1","Not so brash now, are you?"), +(26693,1,1,14,13505,100,"skadi SAY_KILL_2","I'll mount your skull from the highest tower!"), +(26693,2,0,41,0,100,"skadi EMOTE_RANGE","%s in within range of the harpoon launchers!"), +(26693,3,0,14,13506,100,"skadi SAY_DEATH","ARGH! You call that... an attack? I'll... show... aghhhh..."), +(26693,4,0,41,0,100,"skadi EMOTE_RANGE","%s in within range of the harpoon launchers!"), +(26693,5,0,14,13507,100,"skadi SAY_DRAKE_DEATH","You motherless knaves! Your corpses will make fine morsels for my new drake!"), +(26693,6,0,14,13498,100,"skadi SAY_DRAKE_BREATH_1","Sear them to the bone!"), +(26693,6,1,14,13499,100,"skadi SAY_DRAKE_BREATH_2","Go now! Leave nothing but ash in your wake!"), +(26693,6,2,14,13500,100,"skadi SAY_DRAKE_BREATH_3","Cleanse our sacred halls with flame!"); + +-- King Ymirom +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1575037 AND -1575028; +DELETE FROM `creature_text` WHERE `entry`=26861; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(26861,0,0,14,13609,100,"King Ymirom SAY_AGGRO","You invade my home and then dare to challenge me? I will tear the hearts from your chests and offer them as gifts to the death god! Rualg nja gaborr!"), +(26861,1,0,14,13614,100,"King Ymirom SAY_SLAY_1","Your death is only the beginning!"), +(26861,1,1,14,13615,100,"King Ymirom SAY_SLAY_2","You have failed your people!"), +(26861,1,2,14,13616,100,"King Ymirom SAY_SLAY_3","There is a reason I am king!"), +(26861,1,3,14,13617,100,"King Ymirom SAY_SLAY_4","Bleed no more!"), +(26861,2,0,14,13618,100,"King Ymirom SAY_DEATH","What... awaits me... now?"), +(26861,3,0,14,13610,100,"King Ymirom SAY_SUMMON_BJORN","Bjorn of the Black Storm! Honor me now with your presence!"), +(26861,4,0,14,13611,100,"King Ymirom SAY_SUMMON_HALDOR","Haldor of the Rocky Cliffs, grant me your strength!"), +(26861,5,0,14,13612,100,"King Ymirom SAY_SUMMON_RANULF","Ranulf of the Screaming Abyss, snuff these maggots with darkest night! "), +(26861,6,0,14,13613,100,"King Ymirom SAY_SUMMON_TORGYN","Tor of the Brutal Siege! Bestow your might upon me!"); + +-- archavon +DELETE FROM `script_texts` WHERE `entry`=-1590002; +DELETE FROM `creature_text` WHERE `entry`=31125; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(31125,0,0,16,0,100,"archavon EMOTE_BERSERK","Archavon the Stone Watcher goes into a berserker rage!"); + +-- emalon +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1590002 AND -1590000; +DELETE FROM `creature_text` WHERE `entry`=33993; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(33993,0,0,41,0,100,"emalon EMOTE_OVERCHARGE_TEMPEST_MINION","Emalon the Storm Watcher overcharges a Tempest Minion!"), +(33993,1,0,41,0,100,"emalon EMOTE_MINION_RESPAWN","A Tempest Minion appears to defend Emalon!"), +(33993,2,0,16,0,100,"emalon EMOTE_BERSERK","Emalon the Storm Watcher goes into a berserker rage!"); + +-- cyanigosa +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1608009 AND -1608000; +DELETE FROM `creature_text` WHERE `entry`=31134; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(31134,0,0,14,13947,100,"cyanigosa SAY_AGGRO","We finish this now, champions of Kirin Tor!"), +(31134,1,0,14,13952,100,"cyanigosa SAY_SLAY_1","I will end the Kirin Tor!"), +(31134,1,1,14,13953,100,"cyanigosa SAY_SLAY_2","Dalaran will fall!"), +(31134,1,2,14,13954,100,"cyanigosa SAY_SLAY_3","So ends your defiance of the Spell-Weaver!"), +(31134,2,0,14,13955,100,"cyanigosa SAY_DEATH","Perhaps... we have... underestimated... you."), +(31134,3,0,14,13946,100,"cyanigosa SAY_SPAWN","A valiant defense, but this city must be razed. I will fulfill Malygos's wishes myself!"), +(31134,4,0,14,13951,100,"cyanigosa SAY_DISRUPTION","Am I interrupting?"), +(31134,5,0,14,13948,100,"cyanigosa SAY_BREATH_ATTACK","Shiver and die!"), +(31134,6,0,14,13949,100,"cyanigosa SAY_SPECIAL_ATTACK_1","The world has forgotten what true magic is! Let this be a reminder!"), +(31134,6,1,14,13950,100,"cyanigosa SAY_SPECIAL_ATTACK_2","Who among you can withstand my power?"); + +-- erekem +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1608017 AND -1608010; +DELETE FROM `creature_text` WHERE `entry`=29315; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(29315,0,0,14,14219,100,"erekem SAY_AGGRO","Not--caww--get in way of--rrak-rrak--flee!"), +(29315,1,0,14,14222,100,"erekem SAY_SLAY_1","Ya ya ya yaaaa"), +(29315,1,1,14,14223,100,"erekem SAY_SLAY_2","Preeciouuss life---Ra-aak---Wasted!"), +(29315,1,2,14,14224,100,"erekem SAY_SLAY_3","Only the strong---Ra-aak---Survive!"), +(29315,2,0,14,14225,100,"erekem SAY_DEATH","No--kaw, kaw--flee..."), +(29315,3,0,14,14218,100,"erekem SAY_SPAWN","Free to--mm--fly now. Ra-aak... Not find us--ekh-ekh! Escape!"), +(29315,4,0,14,14220,100,"erekem SAY_ADD_KILLED","My---raaak--favorite! Awk awk awk! Raa-kaa!"), +(29315,5,0,14,14221,100,"erekem SAY_BOTH_ADDS_KILLED","Nasty little...A-ak, kaw! Kill! Yes, kill you!"); + +-- ichoron +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1608026 AND -1608018; +DELETE FROM `creature_text` WHERE `entry`=29313; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(29313,0,0,14,14230,100,"ichoron SAY_AGGRO","Stand aside, mortals!"), +(29313,1,0,14,14234,100,"ichoron SAY_SLAY_1","I am a force of nature!"), +(29313,1,1,14,14235,100,"ichoron SAY_SLAY_2","I shall pass!"), +(29313,1,2,14,14236,100,"ichoron SAY_SLAY_3","You can not stop the tide!"), +(29313,2,0,14,14237,100,"ichoron SAY_DEATH","I... recede."), +(29313,3,0,14,14229,100,"ichoron SAY_SPAWN","I... am fury... unrestrained!"), +(29313,4,0,14,14231,100,"ichoron SAY_ENRAGE","I shall consume, decimate, devastate, and destroy! Yield now to the wrath of the pounding sea!"), +(29313,5,0,14,14233,100,"ichoron SAY_SHATTER","I will not be contained! Ngyah!!"), +(29313,6,0,14,14232,100,"ichoron SAY_BUBBLE","Water can hold any form, take any shape... overcome any obstacle."); + +-- Xevozz +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1608036 AND -1608027; +DELETE FROM `creature_text` WHERE `entry`=29266; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(29266,0,0,14,14498,100,"Xevozz SAY_AGGRO","It seems my freedom must be bought with blood..."), +(29266,1,0,14,14504,100,"Xevozz SAY_SLAY_1","Nothing personal."), +(29266,1,1,14,14505,100,"Xevozz SAY_SLAY_2","Business concluded."), +(29266,1,2,14,14506,100,"Xevozz SAY_SLAY_3","Profit!"), +(29266,2,0,14,14507,100,"Xevozz SAY_DEATH","This is an... unrecoverable... loss."), +(29266,3,0,14,14498,100,"Xevozz SAY_SPAWN","Back in business! Now to execute an exit strategy."), +(29266,4,0,14,14503,100,"Xevozz SAY_CHARGED","It would seem that a renegotiation is in order."), +(29266,5,0,14,14501,100,"Xevozz SAY_REPEAT_SUMMON_1","The air teems with latent energy... quite the harvest!"), +(29266,5,1,14,14502,100,"Xevozz SAY_REPEAT_SUMMON_2","Plentiful, exploitable resources... primed for acquisition!"), +(29266,6,0,14,14500,100,"Xevozz SAY_SUMMON_ENERGY","Intriguing... a high quantity of arcane energy is near. Time for some prospecting..."); + +-- zuramat +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1608044 AND -1608037; +DELETE FROM `creature_text` WHERE `entry`=29314; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(29314,0,0,14,13996,100,"zuramat SAY_AGGRO","Eradicate."), +(29314,1,0,14,13999,100,"zuramat SAY_SLAY_1","More... energy."), +(29314,1,1,14,14000,100,"zuramat SAY_SLAY_2","Relinquish."), +(29314,1,2,14,14001,100,"zuramat SAY_SLAY_3","Fall... to shadow."), +(29314,2,0,14,14002,100,"zuramat SAY_DEATH","Disperse."), +(29314,3,0,14,13995,100,"zuramat SAY_SPAWN","I am... renewed."), +(29314,4,0,14,13997,100,"zuramat SAY_SHIELD","Know... my... pain."), +(29314,5,0,14,13998,100,"zuramat SAY_WHISPER","Gaze... into the void."); + +-- cyanigosa +DELETE FROM `script_texts` WHERE `entry`=-1608005; +DELETE FROM `creature_text` WHERE `entry`=31134; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(31134,0,0,14,13946,100,"cyanigosa SAY_SPAWN","A valiant defense, but this city must be razed. I will fulfill Malygos's wishes myself!"); + +-- sinclari +DELETE FROM `script_texts` WHERE `entry`=-1608045; +DELETE FROM `creature_text` WHERE `entry`=30658; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(30658,0,0,14,0,100,"sinclari SAY_SINCLARI_1","Prison guards, we are leaving! These adventurers are taking over! Go go go"); + +-- orinoko, gurgthock, crusade recruit, stinkbeard +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1571041 AND -1571031; +DELETE FROM `creature_text` WHERE `entry` IN (30020,30007,28090,30017); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(30020,0,0,14,0,100,"orinoko SAY_CALL_FOR_HELP","Whisker! Where are you? Assist me!"), +(30007,0,0,14,13363,100,"gurgthock SAY_QUEST_ACCEPT_TUSKARRMAGEDON","This battle must be seen to be believed! Once a mild-mannered tuskarr fisherman, our next fighter turned to the life of a soulless mercenary when his entire family was wiped out by a vicious pack of lion seals and III-tempered penguins! Now he's just In It for the gold! Ladies and gentlemen, ORINOKO TUSKBREAKER!!"), +(30007,1,0,12,0,100,"gurgthock SAY_QUEST_ACCEPT_KORRAK_1","The champion of the Winterax trolls has challenged you, Treeofdoom! I hope you're ready!"), +(30007,2,0,14,13363,100,"gurgthock SAY_QUEST_ACCEPT_KORRAK_2","Hailling from the distant mountains of Alterac, one of the fiercest competitors this arena has ever seen: KORRAK THE BLOODRAGER!!!"), +(30007,3,0,14,13363,100,"gurgthock SAY_QUEST_ACCEPT_MAGNATAUR","The battle is about to begin! Am I reading this card right It... It's the nefarious magnataur lord, STINKBEARD! Yes, folks, STINKBEARD! Chitchat dosen't stand a chance!"), +(30007,4,0,41,0,100,"gurgthock EMOTE_YGGDRAS_SPAWN","Yggdras emerges!"), +(30017,5,0,14,0,100,"gurgthock SAY_STINKBEARD_SPAWN","Stinkbeard comin' for you, little ones!"), +(30007,6,0,14,0,100,"gurgthock SAY_GURGTHOCK_ELEMENTAL_SPAWN","Do you fell that folks? The air is cracking with energy! Than can only mean one thing..."), +(28090,0,0,12,0,100,"crusade recruit SAY_RECRUIT_1","We'll cleanse this place! Arthas beware!"), +(28090,0,1,12,0,100,"crusade recruit SAY_RECRUIT_2","Your're right! We can do this!"), +(28090,0,2,12,0,100,"crusade recruit SAY_RECRUIT_3","Your're right! What was I thinking? Bring on the Scourge!"); + +-- maladaar +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1558009 AND -1558000; +DELETE FROM `creature_text` WHERE `entry`=18373; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18373,0,0,14,10509,100,"maladaar SAY_INTRO","You have defiled the resting place of our ancestors. For this offense, there can be but one punishment. It is fitting that you have come to a place of the dead... for you will soon be joining them."), +(18373,1,0,14,10512,100,"maladaar SAY_SUMMON","Rise my fallen brothers. Take form and fight!"), +(18373,2,0,14,10513,100,"maladaar SAY_AGGRO_1","You will pay with your life!"), +(18373,2,1,14,10514,100,"maladaar SAY_AGGRO_2","There's no turning back now!"), +(18373,2,2,14,10515,100,"maladaar SAY_AGGRO_3","Serve your penitence!"), +(18373,3,0,14,10510,100,"maladaar SAY_ROAR","Let your mind be clouded."), +(18373,3,1,14,10511,100,"maladaar SAY_SOUL_CLEAVE","Stare into the darkness of your soul."), +(18373,4,0,14,10516,100,"maladaar SAY_SLAY_1","These walls will be your doom."), +(18373,4,1,14,10517,100,"maladaar SAY_SLAY_2","<laugh> Now, you'll stay for eternity!"), +(18373,5,0,14,10518,100,"maladaar SAY_DEATH","This is... where.. I belong..."); + +-- shaffar +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1557007 AND -1557000; +DELETE FROM `creature_text` WHERE `entry`=18344; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18344,0,0,14,10539,100,"shaffar SAY_INTRO","What is this? You must forgive me, but I was not expecting company. As you can see, we are somewhat preoccupied right now. But no matter. As I am a gracious host, I will tend to you... personally."), +(18344,1,0,14,10541,100,"shaffar SAY_AGGRO_1","We have not yet been properly introduced."), +(18344,1,1,14,10542,100,"shaffar SAY_AGGRO_2","An epic battle. How exciting!"), +(18344,1,2,14,10543,100,"shaffar SAY_AGGRO_3","I have longed for a good adventure."), +(18344,2,0,14,10544,100,"shaffar SAY_SLAY_1","It has been... entertaining."), +(18344,2,1,14,10545,100,"shaffar SAY_SLAY_2","And now we part company."), +(18344,3,0,14,10540,100,"shaffar SAY_SUMMON","I have such fascinating things to show you."), +(18344,4,0,14,10546,100,"shaffar SAY_DEAD","I must bid you... farewell."); + +-- pandemonius +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1557014 AND -1557008; +DELETE FROM `creature_text` WHERE `entry`=18341; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18341,0,0,14,10561,100,"pandemonius SAY_AGGRO_1","I will feed on your soul."), +(18341,0,1,14,10562,100,"pandemonius SAY_AGGRO_2","So... full of life!"), +(18341,0,2,14,10563,100,"pandemonius SAY_AGGRO_3","Do not... resist."), +(18341,1,0,14,10564,100,"pandemonius SAY_KILL_1","Yes! I am... empowered!"), +(18341,1,1,14,10565,100,"pandemonius SAY_KILL_2","More... I must have more!"), +(18341,2,0,14,10566,100,"pandemonius SAY_DEATH","To the void... once... more.."), +(18341,3,0,41,0,100,"pandemonius EMOTE_DARK_SHELL","shifts into the void..."); + +-- syth +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1556006 AND -1556000; +DELETE FROM `creature_text` WHERE `entry`=18472; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18472,0,0,14,10502,100,"syth SAY_SUMMON","I have pets..<squawk>..of my own!"), +(18472,1,0,14,10503,100,"syth SAY_AGGRO_1","Hrrmm.. Time to.. hrrm.. make my move."), +(18472,1,1,14,10504,100,"syth SAY_AGGRO_2","Nice pets..hrm.. Yes! <squawking>"), +(18472,1,2,14,10505,100,"syth SAY_AGGRO_3","Nice pets have.. weapons. Not so..<squawk>..nice."), +(18472,2,0,14,10506,100,"syth SAY_SLAY_1","Death.. meeting life is.. <squawking>"), +(18472,2,1,14,10507,100,"syth SAY_SLAY_2","Uhn.. Be free..<squawk>"), +(18472,3,0,14,10508,100,"syth SAY_DEATH","No more life..hrm. No more pain. <squawks weakly>"); + +-- ikiss +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1556015 AND -1556007; +DELETE FROM `creature_text` WHERE `entry`=18473; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18473,0,0,14,10557,100,"ikiss SAY_INTRO","<squawk>..Trinkets yes pretty Trinkets..<squawk>..power, great power. <squawk>..power in Trinkets..<squawk>"), +(18473,1,0,14,10554,100,"ikiss SAY_AGGRO_1","You make war on Ikiss?..<squawk>"), +(18473,1,1,14,10555,100,"ikiss SAY_AGGRO_2","Ikiss cut you pretty..<squawk>..slice you. Yes!"), +(18473,1,2,14,10556,100,"ikiss SAY_AGGRO_3","No escape for..<squawk>..for you"), +(18473,2,0,14,10558,100,"ikiss SAY_SLAY_1","You die..<squawk>..stay away from Trinkets"), +(18473,2,1,14,10559,100,"ikiss SAY_SLAY_2","<squawk>"), +(18473,3,0,14,10560,100,"ikiss SAY_DEATH","Ikiss will not..<squawk>..die"), +(18473,4,0,41,0,100,"ikiss EMOTE_ARCANE_EXP","begins to channel arcane energy..."); + +-- hellmaw +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1555007 AND -1555000; +DELETE FROM `creature_text` WHERE `entry`=18731; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18731,0,0,14,10473,100,"hellmaw SAY_INTRO","Infidels have invaded the sanctuary! Sniveling pests...You have yet to learn the true meaning of agony!"), +(18731,1,0,14,10475,100,"hellmaw SAY_AGGRO1","Pathetic mortals! You will pay dearly!"), +(18731,1,1,14,10476,100,"hellmaw SAY_AGGRO2","I will break you!"), +(18731,1,2,14,10477,100,"hellmaw SAY_AGGRO3","Finally! Something to relieve the tedium!"), +(18731,2,0,14,10474,100,"hellmaw SAY_HELP","Aid me, you fools, before it's too late!"), +(18731,3,0,14,10478,100,"hellmaw SAY_SLAY1","Do you fear death?"), +(18731,3,1,14,10479,100,"hellmaw SAY_SLAY2","This is the part I enjoy most."), +(18731,4,0,14,10480,100,"hellmaw SAY_DEATH","Do not...grow...overconfident, mortal."); + +-- blackhearth +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1555027 AND -1555008; +DELETE FROM `creature_text` WHERE `entry`=18667; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18667,0,0,14,10482,100,"blackhearth SAY_INTRO1","All flesh must burn."), +(18667,0,1,14,10483,100,"blackhearth SAY_INTRO2","All creation must be unmade!"), +(18667,0,2,14,10484,100,"blackhearth SAY_INTRO3","Power will be yours!"), +(18667,1,0,14,10486,100,"blackhearth SAY_AGGRO1","You'll be sorry!"), +(18667,1,1,14,10487,100,"blackhearth SAY_AGGRO2","Time for fun!"), +(18667,1,2,14,10488,100,"blackhearth SAY_AGGRO3","I see dead people!"), +(18667,2,0,14,10489,100,"blackhearth SAY_SLAY1","No comin' back for you!"), +(18667,2,1,14,10490,100,"blackhearth SAY_SLAY2","Nice try!"), +(18667,3,0,14,10485,100,"blackhearth SAY_HELP","Help us, hurry!"), +(18667,4,0,14,10491,100,"blackhearth SAY_DEATH","This... no... good..."), +(18667,5,0,14,10492,100,"blackhearth SAY2_INTRO1","Be ready for Dark One's return."), +(18667,5,1,14,10493,100,"blackhearth SAY2_INTRO2","So we have place in new universe."), +(18667,5,2,14,10494,100,"blackhearth SAY2_INTRO3","Dark one promise!"), +(18667,6,0,14,10496,100,"blackhearth SAY2_AGGRO1","You'll be sorry!"), +(18667,6,1,14,10497,100,"blackhearth SAY2_AGGRO2","Time to kill!"), +(18667,6,2,14,10498,100,"blackhearth SAY2_AGGRO3","You be dead people!"), +(18667,7,0,14,10499,100,"blackhearth SAY2_SLAY1","Now you gone for good."), +(18667,7,1,14,10500,100,"blackhearth SAY2_SLAY2","You failed, haha haha"), +(18667,8,0,14,10495,100,"blackhearth SAY2_HELP","Help us, hurry!"), +(18667,9,0,14,10501,100,"blackhearth SAY2_DEATH","Arrgh, aah...ahhh"); + +-- vorpil +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1555035 AND -1555028; +DELETE FROM `creature_text` WHERE `entry`=18732; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18732,0,0,14,10522,100,"vorpil SAY_INTRO","Keep your minds focused for the days of reckoning are close at hand. Soon, the destroyer of worlds will return to make good on his promise. Soon the destruction of all that is will begin!"), +(18732,1,0,14,10524,100,"vorpil SAY_AGGRO1","I'll make an offering of your blood!"), +(18732,1,1,14,10525,100,"vorpil SAY_AGGRO2","You'll be a fine example, for the others."), +(18732,1,2,14,10526,100,"vorpil SAY_AGGRO3","Good, a worthy sacrifice."), +(18732,2,0,14,10523,100,"vorpil SAY_HELP","Come to my aid, heed your master now!"), +(18732,3,0,14,10527,100,"vorpil SAY_SLAY1","I serve with pride."), +(18732,3,1,14,10528,100,"vorpil SAY_SLAY2","Your death is for the greater cause!"), +(18732,4,0,14,10529,100,"vorpil SAY_DEATH","I give my life... Gladly."); + +-- murmur +DELETE FROM `script_texts` WHERE `entry`=-1555036; +DELETE FROM `creature_text` WHERE `entry`=18708; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18708,0,0,16,0,100,"murmur EMOTE_SONIC_BOOM","draws energy from the air."); + +-- bloodboil +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1564036 AND -1564029; +DELETE FROM `creature_text` WHERE `entry`=22948; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(22948,0,0,14,11432,100,"bloodboil SOUND_AGGRO","Horde will... crush you."), +(22948,1,0,14,11433,100,"bloodboil SAY_SLAY1","Time to feast!"), +(22948,1,1,14,11434,100,"bloodboil SAY_SLAY2","More! I want more!"), +(22948,2,0,14,11435,100,"bloodboil SAY_SPECIAL1","Drink your blood! Eat your flesh!"), +(22948,2,1,14,11436,100,"bloodboil SAY_SPECIAL2","I hunger!"), +(22948,3,0,14,11437,100,"bloodboil SAY_ENRAGE1","<babbling>"), +(22948,3,1,14,11438,100,"bloodboil SAY_ENRAGE2","I'll rip the meat from your bones!"), +(22948,4,0,14,11439,100,"bloodboil SAY_DEATH","Aaaahrg..."); + +-- shahraz +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1564028 AND -1564018; +DELETE FROM `creature_text` WHERE `entry`=22947; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(22947,0,0,14,11501,100,"shahraz SAY_TAUNT1","You play, you pay."), +(22947,0,1,14,11502,100,"shahraz SAY_TAUNT2","I'm not impressed."), +(22947,0,2,14,11503,100,"shahraz SAY_TAUNT3","Enjoying yourselves?"), +(22947,1,0,14,11504,100,"shahraz SAY_AGGRO","So... business or pleasure?"), +(22947,2,0,14,11505,100,"shahraz SAY_SPELL1","You seem a little tense."), +(22947,2,1,14,11506,100,"shahraz SAY_SPELL2","Don't be shy."), +(22947,2,2,14,11507,100,"shahraz SAY_SPELL3","I'm all... yours."), +(22947,3,0,14,11508,100,"shahraz SAY_SLAY1","Easy come, easy go."), +(22947,3,1,14,11509,100,"shahraz SAY_SLAY2","So much for a happy ending."), +(22947,4,0,14,11510,100,"shahraz SAY_ENRAGE","Stop toying with my emotions!"), +(22947,5,0,14,11511,100,"shahraz SAY_DEATH","I wasn't... finished."); + +-- essence +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1564068 AND -1564047; +DELETE FROM `creature_text` WHERE `entry` IN (23418,23419,23420); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(23418,0,0,14,11415,100,"essence SUFF_SAY_FREED","Pain and suffering are all that await you!"), +(23418,1,0,14,11416,100,"essence SUFF_SAY_AGGRO","Don't leave me alone!"), +(23418,2,0,14,11417,100,"essence SUFF_SAY_SLAY1","Look at what you make me do!"), +(23418,2,1,14,11418,100,"essence SUFF_SAY_SLAY2","I didn't ask for this!"), +(23418,2,2,14,11419,100,"essence SUFF_SAY_SLAY3","The pain is only beginning!"), +(23418,3,0,14,11420,100,"essence SUFF_SAY_RECAP","I don't want to go back!"), +(23418,4,0,14,11421,100,"essence SUFF_SAY_AFTER","Now what do I do?"), +(23418,5,0,41,0,100,"essence SUFF_EMOTE_ENRAGE","%s becomes enraged!"), +(23419,0,0,14,11408,100,"essence DESI_SAY_FREED","You can have anything you desire... for a price."), +(23419,1,0,14,11409,100,"essence DESI_SAY_SLAY1","Fulfilment is at hand!"), +(23419,1,1,14,11410,100,"essence DESI_SAY_SLAY2","Yes... you'll stay with us now..."), +(23419,1,2,14,11412,100,"essence DESI_SAY_SLAY3","Your reach exceeds your grasp."), +(23419,2,0,14,11411,100,"essence DESI_SAY_SPEC","Be careful what you wish for..."), +(23419,3,0,14,11413,100,"essence DESI_SAY_RECAP","I'll be waiting..."), +(23419,4,0,14,11414,100,"essence DESI_SAY_AFTER","I won't be far..."), +(23420,0,0,14,11399,100,"essence ANGER_SAY_FREED","Beware: I live!"), +(23420,0,1,14,11400,100,"essence ANGER_SAY_FREED2","So... foolish."), +(23420,1,0,14,11401,100,"essence ANGER_SAY_SLAY1","<maniacal cackle>"), +(23420,1,1,14,11402,100,"essence ANGER_SAY_SLAY2","Enough. No more."), +(23420,2,0,14,11403,100,"essence ANGER_SAY_SPEC","On your knees!"), +(23420,3,0,14,11405,100,"essence ANGER_SAY_BEFORE","Beware, coward."), +(23420,4,0,14,11404,100,"essence ANGER_SAY_DEATH","I won't... be... ignored."); + +-- akama shade +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1564017 AND -1564013; +DELETE FROM `creature_text` WHERE `entry` IN (22990,23319); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(22990,0,0,14,11385,100,"akama shade SAY_LOW_HEALTH","No! Not yet..."), +(22990,1,0,14,11386,100,"akama shade SAY_DEATH","I will not last much longer..."), +(22990,2,0,14,0,100,"akama shade SAY_FREE","Come out from the shadows! I've returned to lead you against our true enemy! Shed your chains and raise your weapons against your Illidari masters!"), +(23319,0,0,14,0,100,"akama shade broken SAY_BROKEN_FREE_01","Hail our leader! Hail Akama!"), +(23319,1,0,14,0,100,"akama shade broken SAY_BROKEN_FREE_02","Hail Akama!"); + +-- supremus +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1564012 AND -1564010; +DELETE FROM `creature_text` WHERE `entry`=22898; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(22898,0,0,41,0,100,"supremus EMOTE_NEW_TARGET","%s acquires a new target!"), +(22898,1,0,41,0,100,"supremus EMOTE_PUNCH_GROUND","%s punches the ground in anger!"), +(22898,2,0,41,0,100,"supremus EMOTE_GROUND_CRACK","The ground begins to crack open!"); + +-- teron +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1564046 AND -1564037; +DELETE FROM `creature_text` WHERE `entry`=22871; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(22871,0,0,14,11512,100,"teron SAY_INTRO","I was the first, you know. For me, the wheel of death has spun many times. <laughs> So much time has passed. I have a lot of catching up to do..."), +(22871,1,0,14,11513,100,"teron SAY_AGGRO","Vengeance is mine!"), +(22871,2,0,14,11514,100,"teron SAY_SLAY1","I have use for you!"), +(22871,2,1,14,11515,100,"teron SAY_SLAY2","It gets worse..."), +(22871,3,0,14,11517,100,"teron SAY_SPELL1","What are you afraid of?"), +(22871,3,1,14,11516,100,"teron SAY_SPELL2","Death... really isn't so bad."), +(22871,4,0,14,11518,100,"teron SAY_SPECIAL1","Give in!"), +(22871,4,1,14,11519,100,"teron SAY_SPECIAL2","I have something for you..."), +(22871,5,0,14,11520,100,"teron SAY_ENRAGE","YOU WILL SHOW THE PROPER RESPECT!"), +(22871,6,0,14,11521,100,"teron SAY_DEATH","The wheel...spins...again...."); + +-- najentus +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1564009 AND -1564000; +DELETE FROM `creature_text` WHERE `entry`=22887; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(22887,0,0,14,11450,100,"najentus SAY_AGGRO","You will die in the name of Lady Vashj!"), +(22887,1,0,14,11451,100,"najentus SAY_NEEDLE1","Stick around!"), +(22887,1,1,14,11452,100,"najentus SAY_NEEDLE2","I'll deal with you later!"), +(22887,2,0,14,11455,100,"najentus SAY_SLAY1","Your success was short lived!"), +(22887,2,1,14,11456,100,"najentus SAY_SLAY2","Time for you to go!"), +(22887,3,0,14,11453,100,"najentus SAY_SPECIAL1","Bel'anen dal'lorei!"), +(22887,3,1,14,11454,100,"najentus SAY_SPECIAL2","Blood will flow!"), +(22887,4,0,14,11457,100,"najentus SAY_ENRAGE1","Bal'amer ch'itah!"), +(22887,5,0,14,11458,100,"najentus SAY_ENRAGE2","My patience has ran out! Die, DIE!"), +(22887,6,0,14,11459,100,"najentus SAY_DEATH","Lord Illidan will... crush you."); + +-- illidari council +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1564096 AND -1564069; +DELETE FROM `creature_text` WHERE `entry` IN (22952,22949,22951,22950); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(22952,0,0,14,11524,100,"council vera AGGRO","You wish to test me?"), +(22952,1,0,14,11530,100,"council vera ENRAGE","You wish to kill me? Hahaha, you first!"), +(22952,2,0,14,11528,100,"council vera SPECIAL1","You're not caught up for this!"), +(22952,3,0,14,11529,100,"council vera SPECIAL2","Anar'alah belore!"), +(22952,4,0,14,11525,100,"council vera SLAY","Valiant effort!"), +(22952,5,0,14,11526,100,"council vera SLAY_COMT","A glorious kill!"), +(22952,6,0,14,11527,100,"council vera DEATH","You got lucky!"), +(22949,0,0,14,11422,100,"council gath AGGRO","I have better things to do..."), +(22949,1,0,14,11428,100,"council gath ENRAGE","Enough games!"), +(22949,2,0,14,11426,100,"council gath SPECIAL1","Enjoy your final moments!"), +(22949,3,0,14,11427,100,"council gath SPECIAL2","You are mine!"), +(22949,4,0,14,11423,100,"council gath SLAY","Selama am'oronor!"), +(22949,5,0,14,11424,100,"council gath SLAY_COMT","Well done!"), +(22949,6,0,14,11425,100,"council gath DEATH","Lord Illidan... I..."), +(22951,0,0,14,11482,100,"council mala AGGRO","Flee or die!"), +(22951,1,0,14,11488,100,"council mala ENRAGE","For Quel'Thalas! For the Sunwell!"), +(22951,2,0,14,11486,100,"council mala SPECIAL1","No second chances!"), +(22951,3,0,14,11487,100,"council mala SPECIAL2","I'm full of surprises!"), +(22951,4,0,14,11483,100,"council mala SLAY","My work is done."), +(22951,5,0,14,11484,100,"council mala SLAY_COMT","As it should be!"), +(22951,6,0,14,11485,100,"council mala DEATH","Destiny... awaits."), +(22950,0,0,14,11440,100,"council zere AGGRO","Common... such a crude language. Bandal!"), +(22950,1,0,14,11446,100,"council zere ENRAGE","Sha'amoor sine menoor!"), +(22950,2,0,14,11444,100,"council zere SPECIAL1","Diel fin'al"), +(22950,3,0,14,11445,100,"council zere SPECIAL2","Sha'amoor ara mashal?"), +(22950,4,0,14,11441,100,"council zere SLAY","Shorel'aran."), +(22950,5,0,14,11442,100,"council zere SLAY_COMT","Belesa menoor!"), +(22950,6,0,14,11443,100,"council zere DEATH","Diel ma'ahn... oreindel'o"); + +-- daranelle +DELETE FROM `script_texts` WHERE `entry`=-1000174; +DELETE FROM `creature_text` WHERE `entry`=21469; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(21469,0,0,12,0,100,"daranelle SAY_SPELL_INFLUENCE","Good $N, you are under the spell's influence. I must analyze it quickly, then we can talk."); + +-- karathress +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1548029 AND -1548021; +DELETE FROM `creature_text` WHERE `entry`=21214; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(21214,0,0,14,11277,100,"karathress SAY_AGGRO","Guards, attention! We have visitors..."), +(21214,1,0,14,11278,100,"karathress SAY_GAIN_BLESSING","Your overconfidence will be your undoing! Guards, lend me your strength!"), +(21214,2,0,14,11279,100,"karathress SAY_GAIN_ABILITY1","Go on, kill them! I'll be the better for it!"), +(21214,2,1,14,11280,100,"karathress SAY_GAIN_ABILITY2","I am more powerful than ever!"), +(21214,2,2,14,11281,100,"karathress SAY_GAIN_ABILITY3","More knowledge, more power!"), +(21214,3,0,14,11282,100,"karathress SAY_SLAY1","Land-dwelling scum!"), +(21214,3,1,14,11283,100,"karathress SAY_SLAY2","Alana be'lendor!"), +(21214,3,2,14,11284,100,"karathress SAY_SLAY3","I am rid of you."), +(21214,4,0,14,11285,100,"karathress SAY_DEATH","Her ... excellency ... awaits!"); + +-- hydross +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1548008 AND -1548000; +DELETE FROM `creature_text` WHERE `entry`=21216; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(21216,0,0,14,11289,100,"hydross SAY_AGGRO","I cannot allow you to interfere!"), +(21216,1,0,14,11290,100,"hydross SAY_SWITCH_TO_CLEAN","Better, much better."), +(21216,2,0,14,11291,100,"hydross SAY_CLEAN_SLAY1","They have forced me to this..."), +(21216,2,1,14,11292,100,"hydross SAY_CLEAN_SLAY2","I have no choice."), +(21216,3,0,14,11293,100,"hydross SAY_CLEAN_DEATH","I am... released..."), +(21216,4,0,14,11297,100,"hydross SAY_SWITCH_TO_CORRUPT","Aaghh, the poison..."), +(21216,5,0,14,11298,100,"hydross SAY_CORRUPT_SLAY1","I will purge you from this place."), +(21216,5,1,14,11299,100,"hydross SAY_CORRUPT_SLAY2","You are no better than they!"), +(21216,6,0,14,11300,100,"hydross SAY_CORRUPT_DEATH","You are the disease, not I"); + +-- vashj +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1548055 AND -1548042; +DELETE FROM `creature_text` WHERE `entry`=21212; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(21212,0,0,14,11531,100,"vashj SAY_INTRO","Water is life. It has become a rare commodity here in Outland. A commodity that we alone shall control. We are the Highborne, and the time has come at last for us to retake our rightful place in the world!"), +(21212,1,0,14,11532,100,"vashj SAY_AGGRO1","I'll split you from stem to stern!"), +(21212,1,1,14,11533,100,"vashj SAY_AGGRO2","Victory to Lord Illidan!"), +(21212,1,2,14,11534,100,"vashj SAY_AGGRO3","I spit on you, surface filth!"), +(21212,1,3,14,11535,100,"vashj SAY_AGGRO4","Death to the outsiders!"), +(21212,2,0,14,11538,100,"vashj SAY_PHASE1","I did not wish to lower myself by engaging your kind, but you leave me little choice!"), +(21212,3,0,14,11539,100,"vashj SAY_PHASE2","The time is now! Leave none standing!"), +(21212,4,0,14,11540,100,"vashj SAY_PHASE3","You may want to take cover."), +(21212,5,0,14,11536,100,"vashj SAY_BOWSHOT1","Straight to the heart!"), +(21212,5,1,14,11537,100,"vashj SAY_BOWSHOT2","Seek your mark!"), +(21212,6,0,14,11541,100,"vashj SAY_SLAY1","Your time ends now!"), +(21212,6,1,14,11542,100,"vashj SAY_SLAY2","You have failed!"), +(21212,6,2,14,11543,100,"vashj SAY_SLAY3","Be'lamere an'delay"), +(21212,7,0,14,11544,100,"vashj SAY_DEATH","Lord Illidan, I... I am... sorry."); + +-- leotheras +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1548020 AND -1548009; +DELETE FROM `creature_text` WHERE `entry`=21215; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(21215,0,0,14,11312,100,"leotheras SAY_AGGRO","Finally, my banishment ends!"), +(21215,1,0,14,11304,100,"leotheras SAY_SWITCH_TO_DEMON","Be gone, trifling elf. I am in control now!"), +(21215,2,0,14,11305,100,"leotheras SAY_INNER_DEMONS","We all have our demons..."), +(21215,3,0,14,11306,100,"leotheras SAY_DEMON_SLAY1","I have no equal."), +(21215,3,1,14,11307,100,"leotheras SAY_DEMON_SLAY2","Perish, mortal."), +(21215,3,2,14,11308,100,"leotheras SAY_DEMON_SLAY3","Yes, YES! Ahahah!"), +(21215,4,0,14,11314,100,"leotheras SAY_NIGHTELF_SLAY1","Kill! KILL!"), +(21215,4,1,14,11315,100,"leotheras SAY_NIGHTELF_SLAY2","That's right! Yes!"), +(21215,4,2,14,11316,100,"leotheras SAY_NIGHTELF_SLAY3","Who's the master now?"), +(21215,5,0,14,11313,100,"leotheras SAY_FINAL_FORM","No... no! What have you done? I am the master! Do you hear me? I am... aaggh! Can't... contain him..."), +(21215,6,0,14,11309,100,"leotheras SAY_FREE","At last I am liberated. It has been too long since I have tasted true freedom!"), +(21215,7,0,14,11317,100,"leotheras SAY_DEATH","You cannot kill me! Fools, I'll be back! I'll... aarghh..."); + +-- morogrim +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1548041 AND -1548030; +DELETE FROM `creature_text` WHERE `entry`=21213; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(21213,0,0,14,11321,100,"morogrim SAY_AGGRO","Flood of the deep, take you!"), +(21213,1,0,14,11322,100,"morogrim SAY_SUMMON1","By the Tides, kill them at once!"), +(21213,1,1,14,11323,100,"morogrim SAY_SUMMON2","Destroy them my subjects!"), +(21213,2,0,14,11324,100,"morogrim SAY_SUMMON_BUBL1","There is nowhere to hide!"), +(21213,2,1,14,11325,100,"morogrim SAY_SUMMON_BUBL2","Soon it will be finished!"), +(21213,3,0,14,11326,100,"morogrim SAY_SLAY1","It is done!"), +(21213,3,1,14,11327,100,"morogrim SAY_SLAY2","Strugging only makes it worse."), +(21213,3,2,14,11328,100,"morogrim SAY_SLAY3","Only the strong survive."), +(21213,4,0,14,11329,100,"morogrim SAY_DEATH","Great... currents of... Ageon."), +(21213,5,0,16,0,100,"morogrim EMOTE_WATERY_GRAVE","sends his enemies to their watery graves!"), +(21213,6,0,41,0,100,"morogrim EMOTE_EARTHQUAKE","The violent earthquake has alerted nearby murlocs!"), +(21213,7,0,16,0,100,"morogrim EMOTE_WATERY_GLOBULES","summons Watery Globules!"); + +-- thespia +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1545006 AND -1545000; +DELETE FROM `creature_text` WHERE `entry`=17797; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17797,0,0,14,10360,100,"thespia SAY_SUMMON","Surge forth my pets!"), +(17797,1,0,14,10361,100,"thespia SAY_AGGRO_1","The depths will consume you!"), +(17797,1,1,14,10362,100,"thespia SAY_AGGRO_2","Meet your doom, surface dwellers!"), +(17797,1,2,14,10363,100,"thespia SAY_AGGRO_3","You will drown in blood!"), +(17797,2,0,14,10364,100,"thespia SAY_SLAY_1","To the depths of oblivion with you!"), +(17797,2,1,14,10365,100,"thespia SAY_SLAY_2","For my lady and master!"), +(17797,3,0,14,10366,100,"thespia SAY_DEAD","Our matron will be.. the end of.. you.."); + +-- mekgineer +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1545015 AND -1545007; +DELETE FROM `creature_text` WHERE `entry`=17796; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17796,0,0,14,10367,100,"mekgineer SAY_MECHANICS","I'm bringin' the pain!"), +(17796,1,0,14,10368,100,"mekgineer SAY_AGGRO_1","You're in for a world of hurt!"), +(17796,1,1,14,10369,100,"mekgineer SAY_AGGRO_2","Eat hot metal, scumbag!"), +(17796,1,2,14,10370,100,"mekgineer SAY_AGGRO_3","I'll come over there!"), +(17796,1,3,14,10371,100,"mekgineer SAY_AGGRO_4","I'm bringin' the pain!"), +(17796,2,0,14,10372,100,"mekgineer SOUND_SLAY_1","You just got served, punk!"), +(17796,2,1,14,10373,100,"mekgineer SOUND_SLAY_2","I own you!"), +(17796,2,2,14,10374,100,"mekgineer SOUND_SLAY_3","Have fun dyin', cupcake!"), +(17796,3,0,14,10375,100,"mekgineer SAY_DEATH","Mommy!"); + +-- kalithresh +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1545023 AND -1545016; +DELETE FROM `creature_text` WHERE `entry`=17798; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17798,0,0,14,10390,100,"kalithresh SAY_INTRO","You deem yourselves worthy simply because you bested my guards? Our work here will not be compromised!"), +(17798,1,0,14,10391,100,"kalithresh SAY_REGEN","This is not nearly over..."), +(17798,2,0,14,10392,100,"kalithresh SAY_AGGRO1","Your head will roll!"), +(17798,2,1,14,10393,100,"kalithresh SAY_AGGRO2","I despise all of your kind!"), +(17798,2,2,14,10394,100,"kalithresh SAY_AGGRO3","Ba'ahntha sol'dorei!"), +(17798,3,0,14,10395,100,"kalithresh SAY_SLAY1","Scram, surface filth!"), +(17798,3,1,14,10396,100,"kalithresh SAY_SLAY2","Ah ha ha ha ha ha ha!"), +(17798,4,0,14,10397,100,"kalithresh SAY_DEATH","For her Excellency... for... Vashj!"); + +-- gruul +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1565019 AND -1565010; +DELETE FROM `creature_text` WHERE `entry`=19044; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(19044,0,0,14,11355,100,"gruul SAY_AGGRO","Come... and die."), +(19044,1,0,14,11356,100,"gruul SAY_SLAM1","Scurry"), +(19044,1,1,14,11357,100,"gruul SAY_SLAM2","No escape"), +(19044,2,0,14,11358,100,"gruul SAY_SHATTER1","Stay"), +(19044,2,1,14,11359,100,"gruul SAY_SHATTER2","Beg... for life"), +(19044,3,0,14,11360,100,"gruul SAY_SLAY1","No more"), +(19044,3,1,14,11361,100,"gruul SAY_SLAY2","Unworthy"), +(19044,3,2,14,11362,100,"gruul SAY_SLAY3","Die"), +(19044,4,0,14,11363,100,"gruul SAY_DEATH","Aaargh..."), +(19044,5,0,16,0,100,"gruul EMOTE_GROW","%s grows in size!"); + +-- maulgar +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1565009 AND -1565000; +DELETE FROM `creature_text` WHERE `entry`=18831; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18831,0,0,14,11367,100,"maulgar SAY_AGGRO","Gronn are the real power in outland."), +(18831,1,0,14,11368,100,"maulgar SAY_ENRAGE","You will not defeat the hand of Gruul!"), +(18831,2,0,14,11369,100,"maulgar SAY_OGRE_DEATH1","You won't kill next one so easy!"), +(18831,2,1,14,11370,100,"maulgar SAY_OGRE_DEATH2","Pah! Does not prove anything!"), +(18831,2,2,14,11371,100,"maulgar SAY_OGRE_DEATH3","I'm not afraid of you."), +(18831,2,3,14,11372,100,"maulgar SAY_OGRE_DEATH4","Good, now you fight me!"), +(18831,3,0,14,11373,100,"maulgar SAY_SLAY1","You not so tough afterall!"), +(18831,3,1,14,11374,100,"maulgar SAY_SLAY2","Aha-ha ha ha!"), +(18831,3,2,14,11375,100,"maulgar SAY_SLAY3","Mulgar is king!"), +(18831,4,0,14,11376,100,"maulgar SAY_DEATH","Gruul... will crush you..."); + +-- broggok +DELETE FROM `script_texts` WHERE `entry`=-1542008; +DELETE FROM `creature_text` WHERE `entry`=17380; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17380,0,0,14,0,100,"broggok SAY_AGGRO","Come intruders...."); + +-- kelidan +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1542007 AND -1542000; +DELETE FROM `creature_text` WHERE `entry`=17377; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17377,0,0,14,10164,100,"kelidan SAY_WAKE","Who dares interrupt... What is this? What have you done? You ruin everything!"), +(17377,1,0,14,10166,100,"kelidan SAY_ADD_AGGRO_1","You mustn't let him loose!"), +(17377,1,1,14,10167,100,"kelidan SAY_ADD_AGGRO_2","Ignorant whelps!"), +(17377,1,2,14,10168,100,"kelidan SAY_ADD_AGGRO_3","You fools! He'll kill us all!"), +(17377,2,0,14,10169,100,"kelidan SAY_KILL_1","Just as you deserve!"), +(17377,2,1,14,10170,100,"kelidan SAY_KILL_2","Your friends will soon be joining you."), +(17377,3,0,14,10165,100,"kelidan SAY_NOVA","Closer... Come closer.. and burn!"), +(17377,4,0,14,10171,100,"kelidan SAY_DIE","Good luck... you'll need it.."); + +-- the maker +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1542014 AND -1542009; +DELETE FROM `creature_text` WHERE `entry`=17381; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17381,0,0,14,10286,100,"the maker SAY_AGGRO_1","My work must not be interrupted."), +(17381,0,1,14,10287,100,"the maker SAY_AGGRO_2","Perhaps I can find a use for you."), +(17381,0,2,14,10288,100,"the maker SAY_AGGRO_3","Anger... Hate... These are tools I can use."), +(17381,1,0,14,10289,100,"the maker SAY_KILL_1","Let's see what I can make of you."), +(17381,1,1,14,10290,100,"the maker SAY_KILL_2","It is pointless to resist."), +(17381,2,0,14,10291,100,"the maker SAY_DIE","Stay away from... me."); + +-- omor +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1543016 AND -1543009; +DELETE FROM `creature_text` WHERE `entry`=17308; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17308,0,0,14,10280,100,"omor SAY_AGGRO_1","You dare stand against me?!"), +(17308,0,1,14,10279,100,"omor SAY_AGGRO_2","I will not be defeated!"), +(17308,0,2,14,10281,100,"omor SAY_AGGRO_3","Your insolence will be your death."), +(17308,1,0,14,10277,100,"omor SAY_SUMMON","Achor-she-ki! Feast my pet! Eat your fill!"), +(17308,2,0,14,10278,100,"omor SAY_CURSE","A-Kreesh!"), +(17308,3,0,14,10282,100,"omor SAY_KILL_1","Die, weakling!"), +(17308,4,0,14,10284,100,"omor SAY_DIE","It is... not over."), +(17308,5,0,14,10283,100,"omor SAY_WIPE","I am victorious!"); + +-- vazruden +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1543025 AND -1543017; +DELETE FROM `creature_text` WHERE `entry`=17537; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17537,0,0,14,10292,100,"vazruden SAY_INTRO","You have faced many challenges, pity they were all in vain. Soon your people will kneel to my lord!"), +(17537,1,0,14,10293,100,"vazruden SAY_WIPE","Is there no one left to test me?"), +(17537,2,0,14,10294,100,"vazruden SAY_AGGRO_1","Your time is running out!"), +(17537,2,1,14,10295,100,"vazruden SAY_AGGRO_2","You are nothing, I answer a higher call!"), +(17537,2,2,14,10296,100,"vazruden SAY_AGGRO_3","The Dark Lord laughs at you!"), +(17537,3,0,14,10297,100,"vazruden SAY_KILL_1","It is over. Finished!"), +(17537,3,1,14,10298,100,"vazruden SAY_KILL_2","Your days are done!"), +(17537,4,0,14,10299,100,"vazruden SAY_DIE","My lord will be the end you all..."), +(17537,5,0,41,0,100,"vazruden EMOTE","descends from the sky"); + +-- gargolmar +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1543008 AND -1543000; +DELETE FROM `creature_text` WHERE `entry`=17306; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17306,0,0,14,0,100,"gargolmar SAY_TAUNT","Do you smell that? Fresh meat has somehow breached our citadel. Be wary of any intruders."), +(17306,1,0,14,10329,100,"gargolmar SAY_HEAL","Heal me! QUICKLY!"), +(17306,2,0,14,10330,100,"gargolmar SAY_SURGE","Back off, pup!"), +(17306,3,0,14,10331,100,"gargolmar SAY_AGGRO_1","What have we here...?"), +(17306,3,1,14,10332,100,"gargolmar SAY_AGGRO_2","Heh... this may hurt a little."), +(17306,3,2,14,10333,100,"gargolmar SAY_AGGRO_3","I'm gonna enjoy this."), +(17306,4,0,14,10334,100,"gargolmar SAY_KILL_1","Say farewell!"), +(17306,4,1,14,10335,100,"gargolmar SAY_KILL_2","Much too easy..."), +(17306,5,0,14,10336,100,"gargolmar SAY_DIE","Hahah.. <cough> ..argh!"); + +-- nethekurse +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1540017 AND -1540000; +DELETE FROM `creature_text` WHERE `entry`=16807; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(16807,0,0,14,10262,100,"nethekurse SAY_INTRO","You wish to fight us all at once? This should be amusing!"), +(16807,1,0,14,10263,100,"nethekurse PEON_ATTACK_1","You can have that one. I no longer need him."), +(16807,1,1,14,10264,100,"nethekurse PEON_ATTACK_2","Yes, beat him mercilessly. His skull is a thick as an ogres."), +(16807,1,2,14,10265,100,"nethekurse PEON_ATTACK_3","Don't waste your time on that one. He's weak!"), +(16807,1,3,14,10266,100,"nethekurse PEON_ATTACK_4","You want him? Very well, take him!"), +(16807,2,0,14,10267,100,"nethekurse PEON_DIE_1","One pitiful wretch down. Go on, take another one."), +(16807,2,1,14,10268,100,"nethekurse PEON_DIE_2","Ahh, what a waste... Next!"), +(16807,2,2,14,10269,100,"nethekurse PEON_DIE_3","I was going to kill him anyway!"), +(16807,2,3,14,10270,100,"nethekurse PEON_DIE_4","Thank you for saving me the trouble! Now it's my turn to have some fun..."), +(16807,3,0,14,10259,100,"nethekurse SAY_TAUNT_1","Beg for your pittyfull life!"), +(16807,3,1,14,10260,100,"nethekurse SAY_TAUNT_2","Run covad, ruun!"), +(16807,3,2,14,10261,100,"nethekurse SAY_TAUNT_3","Your pain amuses me."), +(16807,4,0,14,10271,100,"nethekurse SAY_AGGRO_1","I'm already bored."), +(16807,4,1,14,10272,100,"nethekurse SAY_AGGRO_2","Come on! ... Show me a real fight."), +(16807,4,2,14,10273,100,"nethekurse SAY_AGGRO_3","I had more fun torturing the peons."), +(16807,5,0,14,10274,100,"nethekurse SAY_SLAY_1","You Loose."), +(16807,5,1,14,10275,100,"nethekurse SAY_SLAY_2","Ohh! Just die."), +(16807,6,0,14,10276,100,"nethekurse SAY_DIE","What a ... a shame."); diff --git a/sql/updates/world/2012_12_07_00_world_creature_text.sql b/sql/updates/world/2012_12_07_00_world_creature_text.sql new file mode 100644 index 00000000000..6763834d668 --- /dev/null +++ b/sql/updates/world/2012_12_07_00_world_creature_text.sql @@ -0,0 +1,462 @@ +-- ------------------------------- -- +-- Creature text conversion part 8 -- +-- ------------------------------- -- +-- omrogg +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1540017 AND -1540000; +DELETE FROM `creature_text` WHERE `entry` IN (19523,19524,16809); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(19523,0,0,14,10306,100,"omrogg GoCombat_1","Smash!"), +(19523,1,0,14,10308,100,"omrogg GoCombat_2","If you nice me let you live."), +(19523,2,0,14,10309,100,"omrogg GoCombat_3","Me hungry!"), +(19524,0,0,14,10317,100,"omrogg GoCombatDelay_1","Why don't you let me do the talking?"), +(19524,1,0,14,10318,100,"omrogg GoCombatDelay_2","No, we will NOT let you live!"), +(19524,2,0,14,10319,100,"omrogg GoCombatDelay_3","You always hungry. That why we so fat!"), +(19523,3,0,14,10303,100,"omrogg Threat_1","You stay here. Me go kill someone else!"), +(19524,3,0,14,10315,100,"omrogg Threat_2","What are you doing!"), +(19523,4,0,14,10302,100,"omrogg Threat_3","Me kill someone else..."), +(19523,5,0,14,10300,100,"omrogg Threat_4","Me not like this one..."), +(19524,4,0,14,10314,100,"omrogg ThreatDelay1_1","That's not funny!"), +(19523,6,0,14,10305,100,"omrogg ThreatDelay1_2","Me get bored..."), +(19524,5,0,14,10313,100,"omrogg ThreatDelay1_3","I'm not done yet, idiot!"), +(19524,6,0,14,10312,100,"omrogg ThreatDelay1_4","Hey you numbskull!"), +(19523,7,0,14,10304,100,"omrogg ThreatDelay2_1","Ha ha ha."), +(19524,7,0,14,10316,100,"omrogg ThreatDelay2_2","Whhy! He almost dead!"), +(19523,8,0,14,10307,100,"omrogg ThreatDelay2_3","H'ey..."), +(19523,9,0,14,10301,100,"omrogg ThreatDelay2_4","We kill his friend!"), +(19523,10,0,14,10310,100,"omrogg Killing_1","This one die easy!"), +(19524,8,0,14,10320,100,"omrogg Killing_2","I'm tired. You kill next one!"), +(19524,9,0,14,10321,100,"omrogg KillingDelay_1","That's because I do all the hard work!"), +(19523,11,0,14,10321,100,"omrogg KillingDelay_2","That's because I do all the hard work!"), +(16809,0,0,14,10311,100,"omrogg YELL_DIE_L","This all...your fault!"), +(16809,1,0,14,10322,100,"omrogg YELL_DIE_R","I...hate...you..."), +(16809,2,0,16,0,100,"omrogg EMOTE_ENRAGE","%s enrages"); + +-- kargath +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1540047 AND -1540042; +DELETE FROM `creature_text` WHERE `entry`=16808; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(16808,0,0,14,10323,100,"kargath SAY_AGGRO1","Ours is the true Horde! The only Horde!"), +(16808,0,1,14,10324,100,"kargath SAY_AGGRO2","I'll carve the meat from your bones!"), +(16808,0,2,14,10325,100,"kargath SAY_AGGRO3","I am called Bladefist for a reason, as you will see!"), +(16808,1,0,14,10326,100,"kargath SAY_SLAY1","For the real Horde!"), +(16808,1,1,14,10327,100,"kargath SAY_SLAY2","I am the only Warchief!"), +(16808,2,0,14,10328,100,"kargath SAY_DEATH","The true Horde... will.. prevail..."); + +-- aeranas +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000139 AND -1000138; +DELETE FROM `creature_text` WHERE `entry`=17085; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17085,0,0,12,0,100,"aeranas SAY_SUMMON","Avruu's magic... it still controls me. You must fight me, mortal. It's the only way to break the spell!"), +(17085,1,0,12,0,100,"aeranas SAY_FREE","Avruu's magic is broken! I'm free once again!"); + +-- ancestral wolf +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000498 AND -1000496; +DELETE FROM `creature_text` WHERE `entry` IN (17077,17023); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17077,0,0,16,0,100,"ancestral wolf EMOTE_WOLF_LIFT_HEAD","%s lifts its head into the air, as if listening for something."), +(17077,1,0,16,0,100,"ancestral wolf EMOTE_WOLF_HOWL","%s lets out a howl that rings across the mountains to the north and motions for you to follow."), +(17023,0,0,12,0,100,"ancestral wolf SAY_WOLF_WELCOME","Welcome, kind spirit. What has brought you to us?"); + +-- wounded elf +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000122 AND -1000117; +DELETE FROM `creature_text` WHERE `entry`=16993; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(16993,0,0,12,0,100,"wounded elf SAY_ELF_START","Thank you for agreeing to help. Now, let's get out of here $N."), +(16993,1,0,12,0,100,"wounded elf SAY_ELF_SUMMON1","Over there! They're following us!"), +(16993,2,0,12,0,100,"wounded elf SAY_ELF_RESTING","Allow me a moment to rest. The journey taxes what little strength I have."), +(16993,3,0,12,0,100,"wounded elf SAY_ELF_SUMMON2","Did you hear something?"), +(16993,4,0,12,0,100,"wounded elf SAY_ELF_COMPLETE","Falcon Watch, at last! Now, where's my... Oh no! My pack, it's missing! Where has -"), +(16993,5,0,12,0,100,"wounded elf SAY_ELF_AGGRO","You won't keep me from getting to Falcon Watch!"); + +-- maghar +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000488 AND -1000482; +DELETE FROM `creature_text` WHERE `entry` IN (18210,18202,18211); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18210,0,0,12,0,100,"maghar captive SAY_MAG_START","Look out!"), +(18211,0,0,12,0,100,"maghar captive SAY_MAG_NO_ESCAPE","Don't let them escape! Kill the strong one first!"), +(18210,1,0,12,0,100,"maghar captive SAY_MAG_MORE","More of them coming! Watch out!"), +(18202,0,0,12,0,100,"maghar captive SAY_MAG_MORE_REPLY","Where do you think you're going? Kill them all!"), +(18210,2,0,12,0,100,"maghar captive SAY_MAG_LIGHTNING","Ride the lightning, filth!"), +(18210,3,0,12,0,100,"maghar captive SAY_MAG_SHOCK","FROST SHOCK!!!"), +(18210,4,0,12,0,100,"maghar captive SAY_MAG_COMPLETE","It is best that we split up now, in case they send more after us. Hopefully one of us will make it back to Garrosh. Farewell stranger."); + +-- corki +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1800073 AND -1800071; +DELETE FROM `creature_text` WHERE `entry` IN (18445,20812,18369); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18445,0,0,12,0,100,"corki NPC_CORKI","Thanks, $C! I'm sure my dad will reward you greatly! Bye!"), +(20812,0,0,12,0,100,"corki NPC_CORKI_2","This is the last time I get caught!I promise! Bye!"), +(18369,0,0,12,0,100,"corki NPC_CORKI_3","Thank you for saving me again!"); + +-- manaforge_control +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000216 AND -1000211; +DELETE FROM `creature_text` WHERE `entry` IN (20209,20417,20418,20440); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(20209,0,0,16,0,100,"manaforge_control EMOTE_START","Warning! %s emergency shutdown process initiated by $N. Shutdown will complete in two minutes."), +(20209,1,0,16,0,100,"manaforge_control EMOTE_60","Emergency shutdown will complete in one minute."), +(20209,2,0,16,0,100,"manaforge_control EMOTE_30","Emergency shutdown will complete in thirty seconds."), +(20209,3,0,16,0,100,"manaforge_control EMOTE_10","Emergency shutdown will complete in ten seconds."), +(20209,4,0,16,0,100,"manaforge_control EMOTE_COMPLETE","Emergency shutdown complete."), +(20209,5,0,16,0,100,"manaforge_control EMOTE_ABORT","Emergency shutdown aborted."), +(20417,0,0,16,0,100,"manaforge_control EMOTE_START","Warning! %s emergency shutdown process initiated by $N. Shutdown will complete in two minutes."), +(20417,1,0,16,0,100,"manaforge_control EMOTE_60","Emergency shutdown will complete in one minute."), +(20417,2,0,16,0,100,"manaforge_control EMOTE_30","Emergency shutdown will complete in thirty seconds."), +(20417,3,0,16,0,100,"manaforge_control EMOTE_10","Emergency shutdown will complete in ten seconds."), +(20417,4,0,16,0,100,"manaforge_control EMOTE_COMPLETE","Emergency shutdown complete."), +(20417,5,0,16,0,100,"manaforge_control EMOTE_ABORT","Emergency shutdown aborted."), +(20418,0,0,16,0,100,"manaforge_control EMOTE_START","Warning! %s emergency shutdown process initiated by $N. Shutdown will complete in two minutes."), +(20418,1,0,16,0,100,"manaforge_control EMOTE_60","Emergency shutdown will complete in one minute."), +(20418,2,0,16,0,100,"manaforge_control EMOTE_30","Emergency shutdown will complete in thirty seconds."), +(20418,3,0,16,0,100,"manaforge_control EMOTE_10","Emergency shutdown will complete in ten seconds."), +(20418,4,0,16,0,100,"manaforge_control EMOTE_COMPLETE","Emergency shutdown complete."), +(20418,5,0,16,0,100,"manaforge_control EMOTE_ABORT","Emergency shutdown aborted."), +(20440,0,0,16,0,100,"manaforge_control EMOTE_START","Warning! %s emergency shutdown process initiated by $N. Shutdown will complete in two minutes."), +(20440,1,0,16,0,100,"manaforge_control EMOTE_60","Emergency shutdown will complete in one minute."), +(20440,2,0,16,0,100,"manaforge_control EMOTE_30","Emergency shutdown will complete in thirty seconds."), +(20440,3,0,16,0,100,"manaforge_control EMOTE_10","Emergency shutdown will complete in ten seconds."), +(20440,4,0,16,0,100,"manaforge_control EMOTE_COMPLETE","Emergency shutdown complete."), +(20440,5,0,16,0,100,"manaforge_control EMOTE_ABORT","Emergency shutdown aborted."); + +-- dawnforge +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000137 AND -1000128; +DELETE FROM `creature_text` WHERE `entry` IN (19830,21504,19831); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(19830,0,0,12,0,100,"dawnforge SAY_ARCANIST_ARDONIS_1","You cannot be serious! We are severely understaffed and can barely keep this manaforge functional!"), +(19830,1,0,12,0,100,"dawnforge SAY_ARCANIST_ARDONIS_2","Yes, my lord."), +(21504,0,0,12,0,100,"dawnforge SAY_PATHALEON_CULATOR_IMAGE_1","Indeed, it is not a request."), +(21504,1,0,12,0,100,"dawnforge SAY_PATHALEON_CULATOR_IMAGE_2","Duro will be reinforced! Ultris was a complete disaster. I will NOT have that mistake repeated!"), +(21504,2,0,12,0,100,"dawnforge SAY_PATHALEON_CULATOR_IMAGE_2_1","We've had too many setbacks along the way: Hellfire Citadel, Fallen Sky Ridge, Firewing Point... Prince Kael'thas will tolerate no further delays. I will tolerate nothing other than complete success!"), +(21504,3,0,12,0,100,"dawnforge SAY_PATHALEON_CULATOR_IMAGE_2_2","I am returning to Tempest Keep. See to it that I do not have reason to return!"), +(19831,0,0,12,0,100,"dawnforge SAY_COMMANDER_DAWNFORGE_1","We need you to send reinforcements to Manaforge Duro, Ardonis. This is not a request, it's an order."), +(19831,1,0,12,0,100,"dawnforge SAY_COMMANDER_DAWNFORGE_2","You will do as ordered. Manaforge Duro has come under heavy attack by mana creatures and the situation is out of control. Failure to comply will not be tolerated!"), +(19831,2,0,12,0,100,"dawnforge SAY_COMMANDER_DAWNFORGE_3","My lord!"), +(19831,3,0,12,0,100,"dawnforge SAY_COMMANDER_DAWNFORGE_4","Yes, my lord."), +(19831,4,0,12,0,100,"dawnforge SAY_COMMANDER_DAWNFORGE_5","See to it, Ardonis!"); + +-- bessy +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000525 AND -1000524; +DELETE FROM `creature_text` WHERE `entry`=20415; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(20415,0,0,12,0,100,"bessy SAY_THADELL_1","Bessy, is that you?"), +(20415,1,0,12,0,100,"bessy SAY_THADELL_2","Thank you for bringing back my Bessy, $N. I couldn't live without her!"); + +-- mature netherwing drake +DELETE FROM `script_texts` WHERE `entry`=-1000175; +DELETE FROM `creature_text` WHERE `entry`=21648; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(21648,0,0,12,0,100,"mature netherwing drake SAY_JUST_EATEN","Thank you, mortal."); + +-- overlord morghor +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000621 AND -1000606; +DELETE FROM `creature_text` WHERE `entry` IN (23139,22083,23141); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(23139,0,0,12,0,100,"overlord morghor OVERLORD_SAY_1","Come, $N. Lord Stormrage awaits."), +(23139,1,0,12,0,100,"overlord morghor OVERLORD_SAY_2","Lord Illidan will be here shortly."), +(23139,3,0,12,0,100,"overlord morghor OVERLORD_SAY_4","But... My lord, I do not understand. $N... He is the orc that has..."), +(23139,4,0,12,0,100,"overlord morghor OVERLORD_SAY_5","It will be done, my lord."), +(23139,5,0,12,0,100,"overlord morghor OVERLORD_SAY_6","So you thought to make a fool of Mor'ghor, eh? Before you are delivered to Lord Illidan, you will feel pain that you could not know to exist. I will take pleasure in exacting my own vengeance."), +(23139,6,0,14,0,100,"overlord morghor OVERLORD_YELL_1","Warriors of Dragonmaw, gather 'round! One among you has attained the rank of highlord! Bow your heads in reverence! Show your respect and allegiance to Highlord $N!"), +(23139,7,0,14,0,100,"overlord morghor OVERLORD_YELL_2","All hail Lord Illidan!"), +(22083,0,0,12,0,100,"overlord morghor LORD_ILLIDAN_SAY_1","What is the meaning of this, Mor'ghor?"), +(22083,1,0,12,0,100,"overlord morghor LORD_ILLIDAN_SAY_2","SILENCE!"), +(22083,2,0,12,0,100,"overlord morghor LORD_ILLIDAN_SAY_3","Blathering idiot. You incomprehensibly incompetent buffoon..."), +(22083,3,0,12,0,100,"overlord morghor LORD_ILLIDAN_SAY_4","THIS is your hero?"), +(22083,4,0,12,0,100,"overlord morghor LORD_ILLIDAN_SAY_5","You have been deceived, imbecile."), +(22083,5,0,12,0,100,"overlord morghor LORD_ILLIDAN_SAY_6","This... whole... operation... HAS BEEN COMPROMISED!"), +(22083,6,0,12,0,100,"overlord morghor LORD_ILLIDAN_SAY_7","I expect to see this insect's carcass in pieces in my lair within the hour. Fail and you will suffer a fate so much worse than death."), +(23141,0,0,12,0,100,"overlord morghor YARZILL_THE_MERC_SAY","You will not harm the boy, Mor'ghor! Quickly, $N, climb on my back!"); + +-- wilda +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000390 AND -1000381; +DELETE FROM `creature_text` WHERE `entry`=21027; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(21027,0,0,12,0,100,"wilda SAY_WIL_START","I sense the tortured spirits, $n. They are this way, come quickly!"), +(21027,1,0,12,0,100,"wilda SAY_WIL_AGGRO1","Watch out!"), +(21027,1,1,12,0,100,"wilda SAY_WIL_AGGRO2","Naga attackers! Defend yourself!"), +(21027,2,0,12,0,100,"wilda SAY_WIL_PROGRESS1","Grant me protection $n, I must break trough their foul magic!"), +(21027,3,0,12,0,100,"wilda SAY_WIL_PROGRESS2","The naga of Coilskar are exceptionally cruel to their prisoners. It is a miracle that I survived inside that watery prison for as long as I did. Earthmother be praised."), +(21027,3,1,12,0,100,"wilda SAY_WIL_PROGRESS4","Lady Vashj must answer for these atrocities. She must be brought to justice!"), +(21027,3,2,12,0,100,"wilda SAY_WIL_PROGRESS5","The tumultuous nature of the great waterways of Azeroth and Draenor are a direct result of tormented water spirits."), +(21027,4,0,12,0,100,"wilda SAY_WIL_FIND_EXIT","Now we must find the exit."), +(21027,5,0,12,0,100,"wilda SAY_WIL_JUST_AHEAD","It shouldn't be much further, $n. The exit is just up ahead."), +(21027,6,0,12,0,100,"wilda SAY_WIL_END","Thank you, $n. Please return to my brethren at the Altar of Damnation, near the Hand of Gul'dan, and tell them that Wilda is safe. May the Earthmother watch over you..."); + +-- kservant +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000255 AND -1000234; +DELETE FROM `creature_text` WHERE `entry`=19685; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(19685,0,0,12,0,100,"kservant SAY_KHAD_SERV_0","Follow me, stranger. This won't take long."), +(19685,1,0,15,0,100,"kservant SAY_KHAD_SERV_1","Shattrath was once the draenei capital of this world. Its name means \"dwelling of light.\""), +(19685,2,0,15,0,100,"kservant SAY_KHAD_SERV_2","When the Burning Legion turned the orcs against the draenei, the fiercest battle was fought here. The draenei fought tooth and nail, but in the end the city fell."), +(19685,3,0,15,0,100,"kservant SAY_KHAD_SERV_3","The city was left in ruins and darkness... until the Sha'tar arrived."), +(19685,4,0,15,0,100,"kservant SAY_KHAD_SERV_4","Let us go into the Lower City. I will warn you that as one of the only safe havens in Outland, Shattrath has attracted droves of refugees from all wars, current and past."), +(19685,5,0,15,0,100,"kservant SAY_KHAD_SERV_5","The Sha'tar, or \"born from light\" are the naaru that came to Outland to fight the demons of the Burning Legion."), +(19685,6,0,15,0,100,"kservant SAY_KHAD_SERV_6","They were drawn to the ruins of Shattrath City where a small remnant of the draenei priesthood conducted its rites inside a ruined temple on this very spot."), +(19685,7,0,15,0,100,"kservant SAY_KHAD_SERV_7","The priesthood, known as the Aldor, quickly regained its strength as word spread that the naaru had returned and reconstruction soon began. The ruined temple is now used as an infirmary for injured refugees."), +(19685,8,0,15,0,100,"kservant SAY_KHAD_SERV_8","It wouldn't be long, however, before the city came under attack once again. This time, the attack came from Illidan's armies. A large regiment of blood elves had been sent by Illidan's ally, Kael'thas Sunstrider, to lay waste to the city."), +(19685,9,0,15,0,100,"kservant SAY_KHAD_SERV_9","As the regiment of blood elves crossed this very bridge, the Aldor's exarchs and vindicators lined up to defend the Terrace of Light. But then the unexpected happened."), +(19685,10,0,15,0,100,"kservant SAY_KHAD_SERV_10","The blood elves laid down their weapons in front of the city's defenders; their leader, a blood elf elder known as Voren'thal, stormed into the Terrace of Light and demanded to speak to A'dal."), +(19685,11,0,15,0,100,"kservant SAY_KHAD_SERV_11","As the naaru approached him, Voren'thal kneeled before him and uttered the following words: \"I've seen you in a vision, naaru. My race's only hope for survival lies with you. My followers and I are here to serve you.\""), +(19685,12,0,15,0,100,"kservant SAY_KHAD_SERV_12","The defection of Voren'thal and his followers was the largest loss ever incurred by Kael's forces. And these weren't just any blood elves. Many of the best and brightest amongst Kael's scholars and magisters had been swayed by Voren'thal's influence."), +(19685,13,0,15,0,100,"kservant SAY_KHAD_SERV_13","The naaru accepted the defectors, who would become known as the Scryers; their dwelling lies in the platform above. Only those initiated with the Scryers are allowed there."), +(19685,14,0,15,0,100,"kservant SAY_KHAD_SERV_14","The Aldor are followers of the Light and forgiveness and redemption are values they understand. However, they found hard to forget the deeds of the blood elves while under Kael's command."), +(19685,15,0,15,0,100,"kservant SAY_KHAD_SERV_15","Many of the priesthood had been slain by the same magisters who now vowed to serve the naaru. They were not happy to share the city with their former enemies."), +(19685,16,0,15,0,100,"kservant SAY_KHAD_SERV_16","The Aldor's most holy temple and its surrounding dwellings lie on the terrace above. As a holy site, only the initiated are welcome inside."), +(19685,17,0,15,0,100,"kservant SAY_KHAD_SERV_17","The attacks against Shattrath continued, but the city did not fall, as you can see. On the contrary, the naaru known as Xi'ri led a successful incursion into Shadowmoon Valley - Illidan's doorstep."), +(19685,18,0,15,0,100,"kservant SAY_KHAD_SERV_18","There he continues to wage war on Illidan with the assistance of the Aldor and the Scryers. The two factions have not given up on their old feuds, though."), +(19685,19,0,15,0,100,"kservant SAY_KHAD_SERV_19","Such is their animosity that they vie for the honor of being sent to assist the naaru there. Each day, that decision is made here by A'dal. The armies gather here to receive A'dal's blessing before heading to Shadowmoon."), +(19685,20,0,15,0,100,"kservant SAY_KHAD_SERV_20","Khadgar should be ready to see you again. Just remember that to serve the Sha'tar you will most likely have to ally with the Aldor or the Scryers. And seeking the favor of one group will cause the others' dislike."), +(19685,21,0,15,0,100,"kservant SAY_KHAD_SERV_21","Good luck stranger, and welcome to Shattrath City."); + +-- larry +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000279 AND -1000274; +DELETE FROM `creature_text` WHERE `entry`=19720; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(19720,0,0,12,0,100,"larry SAY_START","Time to teach you a lesson in manners, little $Gboy:girl;!"), +(19720,1,0,12,0,100,"larry SAY_COUNT","Now I'm gonna give you to the count of '3' to get out of here before I sick the dogs on you."), +(19720,2,0,12,0,100,"larry SAY_COUNT_1","1..."), +(19720,3,0,12,0,100,"larry SAY_COUNT_2","2..."), +(19720,4,0,12,0,100,"larry SAY_ATTACK_5","Time to meet your maker!"), +(19720,5,0,12,0,100,"larry SAY_GIVEUP","Alright, we give up! Don't hurt us!"); + +-- skyriss +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1552009 AND -1552000; +DELETE FROM `creature_text` WHERE `entry`=20912; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(20912,0,0,14,11122,100,"skyriss SAY_INTRO","It is a small matter to control the mind of the weak... for I bear allegiance to powers untouched by time, unmoved by fate. No force on this world or beyond harbors the strength to bend our knee... not even the mighty Legion!"), +(20912,1,0,14,11123,100,"skyriss SAY_AGGRO","Bear witness to the agent of your demise!"), +(20912,2,0,14,11124,100,"skyriss SAY_KILL_1","Your fate is written!"), +(20912,2,1,14,11125,100,"skyriss SAY_KILL_2","The chaos I have sown here is but a taste..."), +(20912,3,0,14,11127,100,"skyriss SAY_MIND_1","You will do my bidding, weakling."), +(20912,3,1,14,11128,100,"skyriss SAY_MIND_2","Your will is no longer your own."), +(20912,4,0,14,11129,100,"skyriss SAY_FEAR_1","Flee in terror!"), +(20912,4,1,14,11130,100,"skyriss SAY_FEAR_2","I will show you horrors undreamed of!"), +(20912,5,0,14,11131,100,"skyriss SAY_IMAGE","We span the universe, as countless as the stars!"), +(20912,6,0,14,11126,100,"skyriss SAY_DEATH","I am merely one of... infinite multitudes."); + +-- freywinn +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1553005 AND -1553000; +DELETE FROM `creature_text` WHERE `entry`=17975; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17975,0,0,14,11144,100,"freywinn SAY_AGGRO","What are you doing? These specimens are very delicate!"), +(17975,1,0,14,11145,100,"freywinn SAY_KILL_1","Your life cycle is now concluded!"), +(17975,1,1,14,11146,100,"freywinn SAY_KILL_2","You will feed the worms."), +(17975,2,0,14,11147,100,"freywinn SAY_TREE_1","Endorel aluminor!"), +(17975,2,1,14,11148,100,"freywinn SAY_TREE_2","Nature bends to my will!"), +(17975,3,0,14,11149,100,"freywinn SAY_DEATH","The specimens...must be preserved."); + +-- laj +DELETE FROM `script_texts` WHERE `entry`=-1553006; +DELETE FROM `creature_text` WHERE `entry`=17980; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17980,0,0,16,0,100,"laj EMOTE_SUMMON","emits a strange noise."); + +-- warp +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1553012 AND -1553007; +DELETE FROM `creature_text` WHERE `entry`=17977; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17977,0,0,14,11230,100,"warp SAY_AGGRO","Who disturbs this sanctuary?"), +(17977,1,0,14,11231,100,"warp SAY_SLAY_1","You must die! But wait: this does not-- No, no... you must die!"), +(17977,1,1,14,11232,100,"warp SAY_SLAY_2","What am I doing? Why do I..."), +(17977,2,0,14,11233,100,"warp SAY_SUMMON_1","Children, come to me!"), +(17977,2,1,14,11234,100,"warp SAY_SUMMON_2","Maybe this is not-- No, we fight! Come to my aid."), +(17977,3,0,14,11235,100,"warp SAY_DEATH","So... confused. Do not... belong here!"); + +-- solarian +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1550015 AND -1550007; +DELETE FROM `creature_text` WHERE `entry`=18805; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18805,0,0,14,11134,100,"solarian SAY_AGGRO","Tal anu'men no Sin'dorei!"), +(18805,1,0,14,11139,100,"solarian SAY_SUMMON1","Ha ha ha! You are hopelessly outmatched!"), +(18805,2,0,14,11140,100,"solarian SAY_SUMMON2","I will crush your delusions of grandeur!"), +(18805,3,0,14,11136,100,"solarian SAY_KILL1","Your soul belongs to the Abyss!"), +(18805,3,1,14,11137,100,"solarian SAY_KILL2","By the blood of the Highborne!"), +(18805,3,2,14,11138,100,"solarian SAY_KILL3","For the Sunwell!"), +(18805,4,0,14,11135,100,"solarian SAY_DEATH","The warmth of the sun... awaits."), +(18805,5,0,14,0,100,"solarian SAY_VOIDA","Enough of this! Now I call upon the fury of the cosmos itself."), +(18805,6,0,14,0,100,"solarian SAY_VOIDB","I become ONE... with the VOID!"); + +-- kaelthas +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1550043 AND -1550016; +DELETE FROM `creature_text` WHERE `entry` IN (19622,20064,20060,20062,20063); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(19622,0,0,14,11256,100,"kaelthas SAY_INTRO","Energy. Power. My people are addicted to it... a dependence made manifest after the Sunwell was destroyed. Welcome... to the future. A pity you are too late to stop it. No one can stop me now! Selama ashal'anore!"), +(19622,1,0,14,11257,100,"kaelthas SAY_INTRO_CAPERNIAN","Capernian will see to it that your stay here is a short one."), +(19622,2,0,14,11258,100,"kaelthas SAY_INTRO_TELONICUS","Well done, you have proven worthy to test your skills against my master engineer, Telonicus."), +(19622,3,0,14,11259,100,"kaelthas SAY_INTRO_THALADRED","Let us see how your nerves hold up against the Darkener, Thaladred."), +(19622,4,0,14,11260,100,"kaelthas SAY_INTRO_SANGUINAR","You have persevered against some of my best advisors... but none can withstand the might of the Blood Hammer. Behold, Lord Sanguinar!"), +(19622,5,0,14,11261,100,"kaelthas SAY_PHASE2_WEAPON","As you see, I have many weapons in my arsenal..."), +(19622,6,0,14,11262,100,"kaelthas SAY_PHASE3_ADVANCE","Perhaps I underestimated you. It would be unfair to make you fight all four advisors at once, but... fair treatment was never shown to my people. I'm just returning the favor."), +(19622,7,0,14,11263,100,"kaelthas SAY_PHASE4_INTRO2","Alas, sometimes one must take matters into one's own hands. Balamore shanal!"), +(19622,8,0,14,11273,100,"kaelthas SAY_PHASE5_NUTS","I have not come this far to be stopped! The future I have planned will not be jeopardized! Now you will taste true power!!"), +(19622,9,0,14,11270,100,"kaelthas SAY_SLAY1","You will not prevail."), +(19622,9,1,14,11271,100,"kaelthas SAY_SLAY2","You gambled...and lost."), +(19622,9,2,14,11272,100,"kaelthas SAY_SLAY3","This was Child's play."), +(19622,10,0,14,11268,100,"kaelthas SAY_MINDCONTROL1","Obey me."), +(19622,10,1,14,11269,100,"kaelthas SAY_MINDCONTROL2","Bow to my will."), +(19622,11,0,14,11264,100,"kaelthas SAY_GRAVITYLAPSE1","Let us see how you fare when your world is turned upside down."), +(19622,11,1,14,11265,100,"kaelthas SAY_GRAVITYLAPSE2","Having trouble staying grounded?"), +(19622,12,0,14,11267,100,"kaelthas SAY_SUMMON_PHOENIX1","Anara'nel belore!"), +(19622,12,1,14,11266,100,"kaelthas SAY_SUMMON_PHOENIX2","By the power of the sun!"), +(19622,13,0,14,11274,100,"kaelthas SAY_DEATH","For...Quel...thalas!"), +(20064,0,0,14,11203,100,"thaladred SAY_THALADRED_AGGRO","Prepare yourselves!"), +(20064,1,0,14,11204,100,"thaladred SAY_THALADRED_DEATH","Forgive me, my prince! I have... failed."), +(20064,2,0,16,0,100,"thaladred EMOTE_THALADRED_GAZE","sets his gaze on $N!"), +(20060,0,0,14,11152,100,"sanguinar SAY_SANGUINAR_AGGRO","Blood for blood!"), +(20060,1,0,14,11153,100,"sanguinar SAY_SANGUINAR_DEATH","NO! I ...will... not..."), +(20062,0,0,14,11117,100,"capernian SAY_CAPERNIAN_AGGRO","The sin'dore reign supreme!"), +(20062,1,0,14,11118,100,"capernian SAY_CAPERNIAN_DEATH","This is not over!"), +(20063,0,0,14,11157,100,"telonicus SAY_TELONICUS_AGGRO","Anar'alah belore!"), +(20063,1,0,14,11158,100,"telonicus SAY_TELONICUS_DEATH","More perils... await"); + +-- voidreaver +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1550006 AND -1550000; +DELETE FROM `creature_text` WHERE `entry`=19516; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(19516,0,0,14,11213,100,"voidreaver SAY_AGGRO","Alert, you are marked for extermination!"), +(19516,1,0,14,11215,100,"voidreaver SAY_SLAY1","Extermination, successful."), +(19516,1,1,14,11216,100,"voidreaver SAY_SLAY2","Imbecile life form, no longer functional."), +(19516,1,2,14,11217,100,"voidreaver SAY_SLAY3","Threat neutralized."), +(19516,2,0,14,11214,100,"voidreaver SAY_DEATH","Systems... shutting... down..."), +(19516,3,0,14,11218,100,"voidreaver SAY_POUNDING1","Alternative measure commencing..."), +(19516,3,1,14,11219,100,"voidreaver SAY_POUNDING2","Calculating force parameters..."); + +-- ironhand +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1554012 AND -1554006; +DELETE FROM `creature_text` WHERE `entry`=19710; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(19710,0,0,14,11109,100,"ironhand SAY_AGGRO_1","You have approximately five seconds to live."), +(19710,1,0,14,11112,100,"ironhand SAY_HAMMER_1","With the precise angle and velocity..."), +(19710,1,1,14,11113,100,"ironhand SAY_HAMMER_2","Low tech yet quiet effective!"), +(19710,2,0,14,11110,100,"ironhand SAY_SLAY_1","A foregone conclusion."), +(19710,2,1,14,11111,100,"ironhand SAY_SLAY_2","The processing will continue a schedule!"), +(19710,3,0,14,11114,100,"ironhand SAY_DEATH_1","My calculations did not..."), +(19710,4,0,41,0,100,"ironhand EMOTE_HAMMER","raises his hammer menacingly..."); + +-- sepethrea +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1554019 AND -1554013; +DELETE FROM `creature_text` WHERE `entry`=19221; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(19221,0,0,14,11186,100,"sepethrea SAY_AGGRO","Don't value your life very much, do you?"), +(19221,1,0,14,11191,100,"sepethrea SAY_SUMMON","I am not alone."), +(19221,2,0,14,11189,100,"sepethrea SAY_DRAGONS_BREATH_1","Think you can take the heat?"), +(19221,2,1,14,11190,100,"sepethrea SAY_DRAGONS_BREATH_2","Anar'endal dracon!"), +(19221,3,0,14,11187,100,"sepethrea SAY_SLAY1","And don't come back!"), +(19221,3,1,14,11188,100,"sepethrea SAY_SLAY2","En'dala finel el'dal"), +(19221,4,0,14,11192,100,"sepethrea SAY_DEATH","Anu... bala belore...alon."); + +-- pathaleon +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1554027 AND -1554020; +DELETE FROM `creature_text` WHERE `entry`=19220; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(19220,0,0,14,11193,100,"pathaleon SAY_AGGRO","We are on a strict timetable. You will not interfere!"), +(19220,1,0,14,11197,100,"pathaleon SAY_DOMINATION_1","I'm looking for a team player..."), +(19220,1,1,14,11198,100,"pathaleon SAY_DOMINATION_2","You work for me now!"), +(19220,2,0,14,11196,100,"pathaleon SAY_SUMMON","Time to supplement my work force."), +(19220,3,0,14,11199,100,"pathaleon SAY_ENRAGE","I prefeer to be hands-on..."), +(19220,4,0,14,11194,100,"pathaleon SAY_SLAY_1","A minor inconvenience."), +(19220,4,1,14,11195,100,"pathaleon SAY_SLAY_2","Looks like you lose."), +(19220,5,0,14,11200,100,"pathaleon SAY_DEATH","The project will... continue."); + +-- unkor +DELETE FROM `script_texts` WHERE `entry`=-1000194; +DELETE FROM `creature_text` WHERE `entry`=18262; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18262,0,0,12,0,100,"unkor SAY_SUBMIT","I give up! Please don't kill me!"); + +-- floon +DELETE FROM `script_texts` WHERE `entry`=-1000195; +DELETE FROM `creature_text` WHERE `entry`=18588; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18588,0,0,12,0,100,"floon SAY_FLOON_ATTACK","I choose the third option: KILLING YOU!"); + +-- isla starmane +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000574 AND -1000571; +DELETE FROM `creature_text` WHERE `entry`=18760; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(18760,0,0,12,0,100,"isla starmane SAY_PROGRESS_1","Ok let's get out of here!"), +(18760,1,0,12,0,100,"isla starmane SAY_PROGRESS_2","You sure you're ready? Take a moment."), +(18760,2,0,12,0,100,"isla starmane SAY_PROGRESS_3","Alright, let's do this!"), +(18760,3,0,12,0,100,"isla starmane SAY_PROGRESS_4","Ok, I think I can make it on my own from here. Thank you so much for breaking me out of there!"); + +-- guards +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1070003 AND -1070001; +DELETE FROM `creature_text` WHERE `entry` IN (68,1976,3218,3296,3502,4624,9460,11190,15184); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(68,0,0,12,0,100,"SAY_GUARD_SIL_AGGRO1","Taste blade, mongrel!"), +(68,0,1,12,0,100,"SAY_GUARD_SIL_AGGRO2","Please tell me that you didn't just do what I think you just did. Please tell me that I'm not going to have to hurt you..."), +(68,0,2,12,0,100,"SAY_GUARD_SIL_AGGRO3","As if we don't have enough problems, you go and create more!"), +(1976,0,0,12,0,100,"SAY_GUARD_SIL_AGGRO1","Taste blade, mongrel!"), +(1976,0,1,12,0,100,"SAY_GUARD_SIL_AGGRO2","Please tell me that you didn't just do what I think you just did. Please tell me that I'm not going to have to hurt you..."), +(1976,0,2,12,0,100,"SAY_GUARD_SIL_AGGRO3","As if we don't have enough problems, you go and create more!"), +(3218,0,0,12,0,100,"SAY_GUARD_SIL_AGGRO1","Taste blade, mongrel!"), +(3218,0,1,12,0,100,"SAY_GUARD_SIL_AGGRO2","Please tell me that you didn't just do what I think you just did. Please tell me that I'm not going to have to hurt you..."), +(3218,0,2,12,0,100,"SAY_GUARD_SIL_AGGRO3","As if we don't have enough problems, you go and create more!"), +(3296,0,0,12,0,100,"SAY_GUARD_SIL_AGGRO1","Taste blade, mongrel!"), +(3296,0,1,12,0,100,"SAY_GUARD_SIL_AGGRO2","Please tell me that you didn't just do what I think you just did. Please tell me that I'm not going to have to hurt you..."), +(3296,0,2,12,0,100,"SAY_GUARD_SIL_AGGRO3","As if we don't have enough problems, you go and create more!"), +(3502,0,0,12,0,100,"SAY_GUARD_SIL_AGGRO1","Taste blade, mongrel!"), +(3502,0,1,12,0,100,"SAY_GUARD_SIL_AGGRO2","Please tell me that you didn't just do what I think you just did. Please tell me that I'm not going to have to hurt you..."), +(3502,0,2,12,0,100,"SAY_GUARD_SIL_AGGRO3","As if we don't have enough problems, you go and create more!"), +(4624,0,0,12,0,100,"SAY_GUARD_SIL_AGGRO1","Taste blade, mongrel!"), +(4624,0,1,12,0,100,"SAY_GUARD_SIL_AGGRO2","Please tell me that you didn't just do what I think you just did. Please tell me that I'm not going to have to hurt you..."), +(4624,0,2,12,0,100,"SAY_GUARD_SIL_AGGRO3","As if we don't have enough problems, you go and create more!"), +(9460,0,0,12,0,100,"SAY_GUARD_SIL_AGGRO1","Taste blade, mongrel!"), +(9460,0,1,12,0,100,"SAY_GUARD_SIL_AGGRO2","Please tell me that you didn't just do what I think you just did. Please tell me that I'm not going to have to hurt you..."), +(9460,0,2,12,0,100,"SAY_GUARD_SIL_AGGRO3","As if we don't have enough problems, you go and create more!"), +(11190,0,0,12,0,100,"SAY_GUARD_SIL_AGGRO1","Taste blade, mongrel!"), +(11190,0,1,12,0,100,"SAY_GUARD_SIL_AGGRO2","Please tell me that you didn't just do what I think you just did. Please tell me that I'm not going to have to hurt you..."), +(11190,0,2,12,0,100,"SAY_GUARD_SIL_AGGRO3","As if we don't have enough problems, you go and create more!"), +(15184,0,0,12,0,100,"SAY_GUARD_SIL_AGGRO1","Taste blade, mongrel!"), +(15184,0,1,12,0,100,"SAY_GUARD_SIL_AGGRO2","Please tell me that you didn't just do what I think you just did. Please tell me that I'm not going to have to hurt you..."), +(15184,0,2,12,0,100,"SAY_GUARD_SIL_AGGRO3","As if we don't have enough problems, you go and create more!"); + +-- cluck +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1070006 AND -1070004; +DELETE FROM `creature_text` WHERE `entry`=620; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(620,0,0,16,0,100,"cluck EMOTE_A_HELLO","looks up at you quizzically. Maybe you should inspect it?"), +(620,1,0,16,0,100,"cluck EMOTE_H_HELLO","looks at you unexpectadly."), +(620,2,0,16,0,100,"cluck EMOTE_CLUCK_TEXT2","starts pecking at the feed."); + +-- injured_patient +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000203 AND -1000201; +DELETE FROM `creature_text` WHERE `entry` IN (12920,12939); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(12920,0,0,12,0,100,"injured_patient SAY_DOC1","I'm saved! Thank you, doctor!"), +(12920,0,1,12,0,100,"injured_patient SAY_DOC2","HOORAY! I AM SAVED!"), +(12920,0,2,12,0,100,"injured_patient SAY_DOC3","Sweet, sweet embrace... take me..."), +(12939,0,0,12,0,100,"injured_patient SAY_DOC1","I'm saved! Thank you, doctor!"), +(12939,0,1,12,0,100,"injured_patient SAY_DOC2","HOORAY! I AM SAVED!"), +(12939,0,2,12,0,100,"injured_patient SAY_DOC3","Sweet, sweet embrace... take me..."); + +-- kayra +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1000347 AND -1000343; +DELETE FROM `creature_text` WHERE `entry`=17969; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17969,0,0,12,0,100,"kayra SAY_START","Is the way clear? Let's get out while we can, $N."), +(17969,1,0,12,0,100,"kayra SAY_AMBUSH1","Looks like we won't get away so easy. Get ready!"), +(17969,2,0,12,0,100,"kayra SAY_PROGRESS","Let's keep moving. We're not safe here!"), +(17969,3,0,12,0,100,"kayra SAY_AMBUSH2","Look out, $N! Enemies ahead!"), +(17969,4,0,12,0,100,"kayra SAY_END","We're almost to the refuge! Let's go."); + +-- ashyen and keleth +DELETE FROM `script_texts` WHERE `entry`=-1000359; +DELETE FROM `creature_text` WHERE `entry` IN (17900,17901); +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(17900,0,0,12,0,100,"ashyen and keleth GOSSIP_REWARD_BLESS","Thank you for helping me. I know my way back from here."), +(17901,0,0,12,0,100,"ashyen and keleth GOSSIP_REWARD_BLESS","Thank you for helping me. I know my way back from here."); + +-- cyanigosa - fix mistake in previous commit +DELETE FROM `creature_text` WHERE `entry`=31134; +INSERT INTO `creature_text`(`entry`,`groupid`,`id`,`type`,`sound`,`probability`,`comment`,`text`) VALUES +(31134,0,0,14,13947,100,"cyanigosa SAY_AGGRO","We finish this now, champions of Kirin Tor!"), +(31134,1,0,14,13952,100,"cyanigosa SAY_SLAY_1","I will end the Kirin Tor!"), +(31134,1,1,14,13953,100,"cyanigosa SAY_SLAY_2","Dalaran will fall!"), +(31134,1,2,14,13954,100,"cyanigosa SAY_SLAY_3","So ends your defiance of the Spell-Weaver!"), +(31134,2,0,14,13955,100,"cyanigosa SAY_DEATH","Perhaps... we have... underestimated... you."), +(31134,3,0,14,13946,100,"cyanigosa SAY_SPAWN","A valiant defense, but this city must be razed. I will fulfill Malygos's wishes myself!"), +(31134,4,0,14,13951,100,"cyanigosa SAY_DISRUPTION","Am I interrupting?"), +(31134,5,0,14,13948,100,"cyanigosa SAY_BREATH_ATTACK","Shiver and die!"), +(31134,6,0,14,13949,100,"cyanigosa SAY_SPECIAL_ATTACK_1","The world has forgotten what true magic is! Let this be a reminder!"), +(31134,6,1,14,13950,100,"cyanigosa SAY_SPECIAL_ATTACK_2","Who among you can withstand my power?"); diff --git a/sql/updates/world/2012_12_07_01_world_misc.sql b/sql/updates/world/2012_12_07_01_world_misc.sql new file mode 100644 index 00000000000..aaee366bfce --- /dev/null +++ b/sql/updates/world/2012_12_07_01_world_misc.sql @@ -0,0 +1,73 @@ +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8054: wintergrasp Tower Cannon +UPDATE `creature_template` SET `unit_flags`=32772 WHERE `entry`=28366; +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 7983: Priest Shadowfiend's Mana leech procs on absorb +DELETE FROM `spell_proc_event` WHERE `entry`=28305; +INSERT INTO `spell_proc_event` VALUES (28305,0,0,0,0,0,0,65536,0,0,0); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8276: Kings and Sanctuary +SET @GUID = 1038; +DELETE FROM `spell_group_stack_rules` WHERE `group_id`=@GUID; +INSERT INTO `spell_group_stack_rules`(`group_id`,`stack_rule`) VALUES (@GUID,1); +DELETE FROM `spell_group` WHERE `id`=@GUID; +INSERT INTO `spell_group`(`id`,`spell_id`) VALUES +(@GUID,25899), +(@GUID,20911), +(@GUID,25898); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8364: Prepping the Speech +-- Remove event flag "1" that was preventing events to trigger from spell more than once +UPDATE `smart_scripts` SET `event_flags`=0 WHERE `entryorguid` IN (1268,7955,6119) AND `id`=0; +-- Remove flag that gives immunity to other NPCs, was blocking SAI and it has no point in it when has extra civilian already, if it was set to prevent killing mobs led by low levels +UPDATE `creature_template` SET `unit_flags`=unit_flags&~512 WHERE `entry` IN (6119,7955,1268); +-- Add conditions to target only the specific NPCs +DELETE FROM `conditions` WHERE `SourceEntry`=74222 AND `SourceTypeOrReferenceId`=17; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(17,0,74222,0,1,31,1,3,1268,0,0,173,'','Gnomish Playback Device can target only Ozzie Togglevolt'), +(17,0,74222,0,2,31,1,3,7955,0,0,173,'','Gnomish Playback Device can target only Milli Featherwhistle'), +(17,0,74222,0,3,31,1,3,6119,0,0,173,'','Gnomish Playback Device can target only Tog Rustsprocket'); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8495: Sludge Beast - correct spawn point +UPDATE creature SET position_x=1071.40, position_y=-3135.26, position_z=67.39 WHERE guid=51809; +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8504: Cycle of Rebirth +-- Issue 7253: Cycle of Rebirth +UPDATE quest_template SET RequestItemsText='The continuous destruction caused by war and those that seek a profit from lumber pains me deeply. To aid the cycle of rebirth and replenish the lands, I need Gaea seeds. Do you have them, $C?',OfferRewardText='Ah, $N, you have the Gaea seeds. Watch and see how the blessing of the Earthmother can cause even these small kernels of life to bloom and flourish.$b$b<Tammra begins to chant.>' WHERE id = 6301; +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8506: No Rest for the Wicked +-- Fix typo in SAI that was blocking "No Rest for the Wicked" +UPDATE `smart_scripts` SET `link`=0, `action_param6`=0, `target_type`=8 WHERE `entryorguid`=32347 AND `id`=0; +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8547: Fix Looting of Dr. Terrible's "Building a Better Flesh Giant" +-- Update quest loot template so item does not require player to be on a quest for item to drop +UPDATE `creature_loot_template` SET `ChanceOrQuestChance`=100 WHERE `entry`=30409 AND `item`=42772; +-- Conditions so item will only drop if player is on or has completed (13042) Deep in the Bowels of The Underhalls +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=1 AND `SourceGroup`=30409 AND `SourceEntry`=42772; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(1, 30409, 42772, 0, 0, 8, 13042, 0, 0, 0, '', 'Dr. Terribles "Building a Better Flesh Giant" only drops if player has completed Deep in the Bowels of The Underhalls OR'), +(1, 30409, 42772, 0, 1, 9, 13042, 0, 0, 0, '', 'Dr. Terribles "Building a Better Flesh Giant" only drops if player has taken Deep in the Bowels of The Underhalls'); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +DELETE FROM `creature_text` WHERE `entry`IN (234,3142,5888,19255); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(234 ,0,0, 'The People of Westfall salute $N, a brave and valiant defender of freedom.',12,7,100,0,0,0,'Marshal Gryan Stoutmantle'), +(3142,0,0, 'We will suffer no demon''s servant in our lands!',12,1,100,0,0,0,'Orgnil Soulscar'), +(5888,0,0, 'Peace and patience be with you, $N. Remain strong always.',12,1,100,0,0,0,'Seer Ravenfeather'), +(19255,0,0, 'How many more of you grunts do I need to send back to mommy and daddy in a body bag before you grow a brain and realize that runnin'' head first into a Legion kill squad is suicide? And don''t nod your thick skulls at me as if you know what I''m talkin'' about!',12,1,100,0,0,0,'Seer Ravenfeather'); +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` IN (234,3142,5888,3594,14347,19255,22231); +UPDATE `gameobject_template` SET `AIName`= 'SmartGameObjectAI' WHERE `entry` IN (61,3643); +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (234,3142,5888,3594,14347,19255,22231); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (3643,61) AND `source_type`=1; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (234,3142,5888,3594,14347,19255,22231) AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(3643 ,1,0,1,20,0,100,0, 67,0,0,0,12,2044 ,2,300000,0,0,0,7,0,0,0,0,0,0,0,'Old Footlocker - On quest The Legend of Stalvan rewarded - Summon creature'), +(234 ,0,0,1,20,0,100,0, 166,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Marshal Gryan Stoutmantle - On quest The Defias Brotherhood rewarded - Say line'), +(61 ,1,0,1,20,0,100,0, 231,0,0,0,12,3301 ,1,10000 ,0,0,0,7,0,0,0,0,0,0,0,'A Weathered Grave - On quest A Daughter''s Love rewarded - Summon creature'), +(3142 ,0,0,1,20,0,100,0, 806,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Orgnil Soulscar - On quest Dark Storms rewarded - Say line'), +(5888 ,0,0,1,20,0,100,0, 1521,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Seer Ravenfeather - On quest Call of Earth rewarded - Say line'), +(3594 ,0,0,1,20,0,100,0, 3118,0,0,0,5,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Frahun Shadewhisper - On quest Encrypted Sigil rewarded - Emote ONESHOT_TALK(DNR)'), +(14347,0,0,1,20,0,100,0, 7786,0,0,0,12,14435,2,180000,0,0,0,7,0,0,0,0,0,0,0,'Highlord Demitrian - On quest Thunderaan the Windseeker rewarded - Summon creature'), +(19255,0,0,1,20,0,100,0,10289,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'General Krakork - On quest Journey to Thrallmar rewarded - Say line'), +(22231,0,0,1,20,0,100,0,10813,0,0,0,28,38495,0,0,0,0,0,7,0,0,0,0,0,0,0,'Zezzak - On quest The Eyes of Grillok rewarded - Remove Aura'); +DELETE FROM `quest_end_scripts` WHERE `id` IN (234,3142,5888,3594,14347,19255,22231,61,3643); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/sql/updates/world/2012_12_07_02_world_tracker_pitcrawler.sql b/sql/updates/world/2012_12_07_02_world_tracker_pitcrawler.sql new file mode 100644 index 00000000000..345a61cb7f5 --- /dev/null +++ b/sql/updates/world/2012_12_07_02_world_tracker_pitcrawler.sql @@ -0,0 +1,596 @@ +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 4787: Quests 11984, 12255, 12259 +SET @NPC_BUDD := 26422; +SET @NPC_FLAMEBRINGER := 27292; +SET @NPC_FLAMEBRINGERS_CHAIN := 27297; +SET @NPC_THANE_TORVALD := 27377; +SET @NPC_BUDD_PET := 32663; +SET @GUID := 43489; -- Need 2 +-- Creature Spawns +UPDATE `creature` SET `spawndist`=0, `MovementType`=0 WHERE `id`=27377; -- Thane Torvald +DELETE FROM `creature` WHERE `id`=@NPC_FLAMEBRINGERS_CHAIN; +INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`,`npcflag`,`unit_flags`,`dynamicflags`) VALUES +(@GUID+0,@NPC_FLAMEBRINGERS_CHAIN,571,1,1,17188,0,2786.589,-2483.958,49.05502,4.171337,120,0,0,42,0,0,0,33555200,8), +(@GUID+1,@NPC_FLAMEBRINGERS_CHAIN,571,1,1,17188,0,2802.708,-2520.483,52.75195,2.443461,120,0,0,42,0,0,0,33555200,8); +-- Creature Templates +UPDATE `creature_template` SET `InhabitType`=`InhabitType`|4, `spell1`=48619, `spell2`=48620, `spell3`=52812 WHERE `entry`=@NPC_FLAMEBRINGER; +UPDATE `creature_template` SET `spell1`=47031 WHERE `entry`=@NPC_BUDD_PET; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@NPC_BUDD,@NPC_FLAMEBRINGER,@NPC_FLAMEBRINGERS_CHAIN,@NPC_BUDD_PET); +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=@NPC_FLAMEBRINGERS_CHAIN; +-- Modelinfo +UPDATE `creature_model_info` SET `combat_reach`=1.95 WHERE `modelid`=134; +UPDATE `creature_model_info` SET `bounding_radius`=0.62, `combat_reach`=4 WHERE `modelid`=22657; +-- SmartScripts for them +UPDATE `smart_scripts` SET `event_param1`=9615 WHERE `entryorguid`=26423; -- Drakuru correct gossip_menu from sniff +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_BUDD,@NPC_FLAMEBRINGER,@NPC_FLAMEBRINGERS_CHAIN,@NPC_BUDD_PET) AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@NPC_BUDD,0,0,1,62,0,100,0,9301,0,0,0,11,61545,0,0,0,0,0,7,0,0,0,0,0,0,0,'Budd - On gossip select - Spellcast'), +(@NPC_BUDD,0,1,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Budd - On gossip select - Close gossip'), +(@NPC_FLAMEBRINGER,0,0,1,62,0,100,0,9512,0,0,0,11,48606,0,0,0,0,0,7,0,0,0,0,0,0,0,'Flamebringer - On gossip select - Spellcast'), +(@NPC_FLAMEBRINGER,0,1,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Flamebringer - On gossip select - Close gossip'), +(@NPC_FLAMEBRINGER,0,2,3,54,0,100,0,0,0,0,0,83,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Flamebringer - On summon - Remove npcflag'), +(@NPC_FLAMEBRINGER,0,3,4,61,0,100,0,0,0,0,0,11,48602,0,0,0,0,0,1,0,0,0,0,0,0,0,'Flamebringer - On summon - Spellcast'), +(@NPC_FLAMEBRINGER,0,4,0,61,0,100,0,0,0,0,0,85,46598,0,0,0,0,0,1,0,0,0,0,0,0,0,'Flamebringer - On summon - Spellcast'), -- actually cast 48598 on invoker but the linked spell 48600 doesn't work maybe because of effect 1: Dummy (4207) which means this spell works in area Voldrune only and will be removed if the area is left +(@NPC_FLAMEBRINGER,0,5,0,28,0,100,0,0,0,0,0,41,500,0,0,0,0,0,1,0,0,0,0,0,0,0,'Flamebringer - On passenger removed - Despawn'), -- not working +(@NPC_FLAMEBRINGERS_CHAIN,0,0,0,11,0,100,0,0,0,0,0,11,48293,0,30,0,0,0,10,110538,0,0,0,0,0,0,'Flamebringer''s Chain - On update - Spellcast'), +(@NPC_BUDD_PET,0,0,1,54,0,100,0,0,0,0,0,11,47014,0,0,0,0,0,7,0,0,0,0,0,0,0,'Budd pet - On summon - Spellcast'), +(@NPC_BUDD_PET,0,1,2,61,0,100,0,0,0,0,0,11,47025,0,0,0,0,0,1,0,0,0,0,0,0,0,'Budd pet - On summon - Spellcast'), +(@NPC_BUDD_PET,0,2,3,61,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Budd pet - On summon - Set react defensive'), +(@NPC_BUDD_PET,0,3,0,61,0,100,0,0,0,0,0,29,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Budd pet - On summon - Follow'), +(@NPC_BUDD_PET,0,4,0,60,0,100,0,5000,5000,15000,15000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Budd pet - Frequently - Say random line'); +-- Insert creature_text from sniff +DELETE FROM `creature_text` WHERE `entry`=@NPC_BUDD_PET; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@NPC_BUDD_PET,0,0,'You sure we be goin'' da right way, mon?',12,0,10,0,0,0,'Budd'), +(@NPC_BUDD_PET,0,1,'Nuttin'' says luvin'' like a little tap on da noggin.',12,0,10,0,0,0,'Budd'), +(@NPC_BUDD_PET,0,2,'You be it now, brudda!',12,0,10,0,0,0,'Budd'), +(@NPC_BUDD_PET,0,3,'Hee hee hee! Dis gunna be some fun, mon!',12,0,10,0,0,0,'Budd'), +(@NPC_BUDD_PET,0,4,'My troll bruddas be in for some real fun today, mon!',12,0,10,0,0,0,'Budd'), +(@NPC_BUDD_PET,0,5,'Time to play some troll tag, mon!',12,0,10,0,0,0,'Budd'), +(@NPC_BUDD_PET,0,6,'<sniff, sniff> I can smell ''em, mon.',12,0,10,0,0,0,'Budd'), +(@NPC_BUDD_PET,0,7,'No, no, mon. Dere be no trolls here....',12,0,10,0,0,0,'Budd'), +(@NPC_BUDD_PET,0,8,'Ok, mon. Tell me when we be close to mah troll bruddas.',12,0,10,0,0,0,'Budd'), +(@NPC_BUDD_PET,0,9,'Ey, mon! Take me to mah troll bruddas!',12,0,10,0,0,0, 'Budd'); +-- Conditions +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=48293; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry`=47042; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,48293,0,0,31,0,3,27292,0,0,0,'','Spell Flamebringer''s Chain targets Flamebringer'), +(17,0,47042,0,0,31,1,3,26425,0,0,0,'','Spell Assemble Cage can only be cast on Drakkari Warrior'), +(17,0,47042,0,1,31,1,3,26447,0,0,0,'','Spell Assemble Cage can only be cast on Drakkari Shaman'); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8577: Quests: Seeking the Windserpent Godess, Setting the Stage +SET @GUID := 136095; -- need 83 set by TDB team +SET @OGUID := 71445; -- need 51 set by TDB team +SET @NPC_MATERIAL_YOU := 28473; +SET @NPC_QUETZLUN := 28030; +SET @NPC_SOUL_FONT_VOID_ZONE := 28719; +SET @NPC_SOUL_FONT_BUNNY := 28724; +SET @NPC_QUTEZLUN_WORSHIPPER := 28747; +SET @NPC_SERPENTTOUCHED_BERSERKER := 28748; +SET @NPC_HIGH_PRIEST_MUFUNU := 28752; +SET @NPC_HIGH_PRIESTESS_TUATUA := 28754; +SET @NPC_HIGH_PRIEST_HAWINNI := 28756; +SET @SPELL_GHOSTLY := 51671; +SET @SPELL_MATERIAL_YOU_MIRROR_IMAGE := 51719; +SET @SPELL_QUETZLUN_JUDGMENT := 53096; +-- Creature Spawns +UPDATE `creature` SET `phaseMask`=3 WHERE `guid`=101830; +DELETE FROM `creature` WHERE `guid` BETWEEN @GUID+0 AND @GUID+82; +INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`MovementType`) VALUES +(@GUID+0,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5636.122,-4146.7,351.608,3.089233,300,0,0), +(@GUID+1,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5664.044,-4147.331,352.7899,1.553343,300,0,0), +(@GUID+2,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5664.018,-4147.648,351.4565,2.548181,300,0,0), +(@GUID+3,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5675.395,-4137.262,351.502,3.787364,300,0,0), +(@GUID+4,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5664.217,-4085.715,353.6724,4.764749,300,0,0), +(@GUID+5,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5635.908,-4084.476,352.2891,3.228859,300,0,0), +(@GUID+6,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5613.329,-4115.911,353.2454,3.089233,300,0,0), +(@GUID+7,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5674.509,-4074.528,354.1718,3.944444,300,0,0), +(@GUID+8,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5664.241,-4085.23,352.2626,3.647738,300,0,0), +(@GUID+9,@NPC_SERPENTTOUCHED_BERSERKER,571,1,2,0,5639.341,-4053.244,353.2463,2.876765,300,0,0), +(@GUID+10,@NPC_SERPENTTOUCHED_BERSERKER,571,1,2,0,5622.78,-4115.903,353.1671,3.138673,300,0,2), +(@GUID+11,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5716.746,-4227.831,362.8311,3.769911,300,0,0), +(@GUID+12,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5716.862,-4227.003,363.9283,1.448623,300,0,0), +(@GUID+13,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5675.243,-4215.884,362.8769,2.487047,300,10,1), +(@GUID+14,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5672.002,-4169.415,353.3519,1.175808,300,10,1), +(@GUID+15,@NPC_SERPENTTOUCHED_BERSERKER,571,1,2,0,5629.758,-4220.245,363.0638,0.003776325,300,0,2), +(@GUID+16,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5769.077,-4148.809,352.1679,1.239184,300,0,0), +(@GUID+17,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5769.101,-4148.125,353.5637,1.570796,300,0,0), +(@GUID+18,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5754.831,-4147.796,352.168,6.248279,300,0,0), +(@GUID+19,@NPC_SERPENTTOUCHED_BERSERKER,571,1,2,0,5736.187,-4221.563,362.641,3.203449,300,0,2), +(@GUID+20,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5754.225,-4091.116,352.1982,0.3839724,300,0,0), +(@GUID+21,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5689.841,-4294.694,375.4998,4.625123,300,0,0), +(@GUID+22,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5689.859,-4293.607,374.0815,2.96706,300,0,0), +(@GUID+23,@NPC_HIGH_PRIESTESS_TUATUA,571,1,2,0,5645.158,-4272.998,375.6752,5.8294,300,0,0), +(@GUID+24,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5688.647,-4271.216,375.4739,1.64061,300,0,0), +(@GUID+25,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5665.319,-4285.886,374.0784,1.797689,300,0,0), +(@GUID+26,@NPC_SERPENTTOUCHED_BERSERKER,571,1,2,0,5606.6504,-4317.5366,373.995,6.254433,300,0,2), +(@GUID+27,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5742.73,-4293.231,375.2595,4.625123,300,0,0), +(@GUID+28,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5742.742,-4292.647,374.0793,3.630285,300,0,0), +(@GUID+29,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5745.571,-4271.291,375.4861,1.570796,300,0,0), +(@GUID+30,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5820.372,-4211.103,363.6525,4.660029,300,0,0), +(@GUID+31,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5778.949,-4177.473,354.4064,5.271958,300,10,1), +(@GUID+32,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5820.291,-4210.607,362.4237,3.124139,300,0,0), +(@GUID+33,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5777.957,-4234.875,360.5455,5.426627,300,10,1), +(@GUID+34,@NPC_SERPENTTOUCHED_BERSERKER,571,1,2,0,5812.099,-4175.637,353.3968,6.254186,300,0,2), +(@GUID+35,@NPC_QUETZLUN,571,1,2,0,5717.112,-4364.71,385.8849,1.570796,300,0,0), +(@GUID+36,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5650.962,-4311.059,374.12,0.1213555,300,10,1), +(@GUID+37,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5689.269,-4377.144,385.8853,0.3490658,300,0,0), +(@GUID+38,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5672.371,-4325.267,374.9322,4.607669,300,0,0), +(@GUID+39,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5826.438,-4297.896,374.0838,5.026548,300,0,0), +(@GUID+40,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5826.199,-4297.682,375.6247,3.211406,300,0,0), +(@GUID+41,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5813.962,-4295.513,374.6385,6.126106,300,0,0), +(@GUID+42,@NPC_HIGH_PRIEST_MUFUNU,571,1,2,0,5757.949,-4321.796,374.0786,1.762783,300,0,0), +(@GUID+43,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5717.151,-4417.467,390.0197,1.553343,300,0,0), +(@GUID+44,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5717.597,-4465.906,394.4915,4.8708,300,10,1), +(@GUID+45,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5784.318,-4450.26,387.2599,1.58825,300,0,0), +(@GUID+46,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5784.426,-4450.768,385.8849,6.073746,300,0,0), +(@GUID+47,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5789.287,-4409.731,386.4334,1.280781,300,10,1), +(@GUID+48,@NPC_SERPENTTOUCHED_BERSERKER,571,1,2,0,5647.668,-4377.963,386.065,3.499769,300,0,2), +(@GUID+49,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5649.861,-4449.003,385.8849,3.124139,300,0,0), +(@GUID+50,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5642.891,-4441.074,385.8849,5.462881,300,0,0), +(@GUID+51,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5649.906,-4448.593,387.246,1.570796,300,0,0), +(@GUID+52,@NPC_SERPENTTOUCHED_BERSERKER,571,1,2,0,5591.124,-4345.021,374.4803,1.396263,300,0,0), +(@GUID+53,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5616.43,-4299.668,374.1321,1.832596,300,0,0), +(@GUID+54,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5581.104,-4435.173,374.0819,1.553343,300,0,0), +(@GUID+55,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5581.708,-4435.312,375.6412,6.265732,300,0,0), +(@GUID+56,@NPC_SERPENTTOUCHED_BERSERKER,571,1,2,0,5591.341,-4395.804,374.0577,1.312582,300,0,2), +(@GUID+57,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5595.193,-4432.799,374.0784,3.316126,300,0,0), +(@GUID+58,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5643.719,-4486.458,385.8680,3.330791,300,10,1), +(@GUID+59,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5613.822,-4286.389,375.3737,5.044002,300,0,0), +(@GUID+60,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5613.496,-4285.685,374.0294,5.986479,300,0,0), +(@GUID+61,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5616.248,-4237.393,363.7526,0.1919862,300,0,0), +(@GUID+62,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5616.471,-4223.491,363.7719,4.694936,300,0,0), +(@GUID+63,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5616.134,-4236.797,365.063,1.58825,300,0,0), +(@GUID+64,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5746.81,-4376.404,386.2263,2.949606,300,0,0), +(@GUID+65,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5819.418,-4267.652,370.2367,5.992916,300,10,1), +(@GUID+66,@NPC_SERPENTTOUCHED_BERSERKER,571,1,2,0,5840.336,-4347.718,374.0784,1.623156,300,0,0), +(@GUID+67,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5827.608,-4221.192,362.5218,2.216568,300,0,0), +(@GUID+68,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5798.308,-4147.533,352.1857,6.230825,300,0,0), +(@GUID+69,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5818.01,-4117.077,353.2626,0.01745329,300,0,0), +(@GUID+70,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5769.03,-4084.954,352.1702,3.560472,300,0,0), +(@GUID+71,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5769.066,-4085.207,353.5035,4.764749,300,0,0), +(@GUID+72,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5798.5,-4085.708,352.4719,0.03490658,300,0,0), +(@GUID+73,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5779.8,-4054.32,353.9052,0.0102175,300,10,1), +(@GUID+74,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5831.308,-4381.716,374.6486,1.259763,300,10,1), +(@GUID+75,@NPC_SOUL_FONT_BUNNY,571,1,2,13069,5848.862,-4433.827,375.502,3.159046,300,0,0), +(@GUID+76,@NPC_SOUL_FONT_VOID_ZONE,571,1,2,0,5849.88,-4433.882,374.0784,1.466077,300,0,0), +(@GUID+77,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5842.898,-4440.752,374.0784,0.8377581,300,0,0), +(@GUID+78,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5795.062,-4456.038,385.8848,2.6529,300,0,0), +(@GUID+79,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5831.405,-4489.442,376.4616,2.929957,300,10,1), +(@GUID+80,@NPC_HIGH_PRIEST_HAWINNI,571,1,2,0,5841.862,-4383.027,374.0503,1.571773,300,0,2), +(@GUID+81,@NPC_SERPENTTOUCHED_BERSERKER,571,1,2,0,5793.181,-4386.617,387.4278,2.263534,300,0,2), +(@GUID+82,@NPC_QUTEZLUN_WORSHIPPER,571,1,2,0,5784.907,-4313.739,374.0784,0.9090425,300,10,1); +-- Gameobject Spawns +UPDATE `gameobject_template` SET `flags`=4 WHERE `entry` IN (190717,190718,190719); +DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+50; +INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`, `orientation`, `rotation0`, `rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES +(@OGUID+0,190719,571,1,2,5597.872,-4155.729,362.6012,0.8726639,0,0,0,1,300,100,1), +(@OGUID+1,190719,571,1,2,5632.151,-4150.096,352.3025,4.380776,0,0,0,1,300,100,1), +(@OGUID+2,190717,571,1,2,5707.645,-4061.914,354.3174,3.001947,0,0,0,1,300,100,1), +(@OGUID+3,190719,571,1,2,5610.382,-4115.927,353.4982,1.06465,0,0,0,1,300,100,1), +(@OGUID+4,190717,571,1,2,5742.388,-4150.106,352.4384,1.134463,0,0,0,1,300,100,1), +(@OGUID+5,190719,571,1,2,5726.853,-4062.069,354.3002,1.431168,0,0,0,1,300,100,1), +(@OGUID+6,190719,571,1,2,5768.683,-4106.524,352.6742,5.148723,0,0,0,1,300,100,1), +(@OGUID+7,190719,571,1,2,5797.803,-4286.921,378.6772,4.171338,0,0,0,1,300,100,1), +(@OGUID+8,190718,571,1,2,5680.476,-4381.055,386.0848,4.886924,0,0,0,1,300,100,1), +(@OGUID+9,190718,571,1,2,5676.559,-4325.772,375.9498,3.560473,0,0,0,1,300,100,1), +(@OGUID+10,190717,571,1,2,5706.948,-4324.307,376.862,5.026549,0,0,0,1,300,100,1), +(@OGUID+11,190719,571,1,2,5636.998,-4287.619,378.2026,5.794494,0,0,0,1,300,100,1), +(@OGUID+12,190717,571,1,2,5755.16,-4375.944,386.6035,5.759588,0,0,0,1,300,100,1), +(@OGUID+13,190717,571,1,2,5669.412,-4445.692,385.9232,4.66003,0,0,0,1,300,100,1), +(@OGUID+14,190719,571,1,2,5765.822,-4451.795,386.1481,3.403396,0,0,0,1,300,100,1), +(@OGUID+15,190719,571,1,2,5800.226,-4396.256,388.1242,5.148723,0,0,0,1,300,100,1), +(@OGUID+16,190719,571,1,2,5598.75,-4345.661,377.5887,4.939284,0,0,0,1,300,100,1), +(@OGUID+17,190718,571,1,2,5591.678,-4510.597,377.5719,3.717554,0,0,0,1,300,100,1), +(@OGUID+18,190719,571,1,2,5644.191,-4501.064,387.4688,3.717554,0,0,0,1,300,100,1), +(@OGUID+19,190717,571,1,2,5583.782,-4344.892,377.9865,4.677484,0,0,0,1,300,100,1), +(@OGUID+20,190718,571,1,2,5850.167,-4351.829,374.0035,2.513274,0,0,0,1,300,100,1), +(@OGUID+21,190718,571,1,2,5787.077,-4166.182,352.4897,2.652894,0,0,0,1,300,100,1), +(@OGUID+22,190719,571,1,2,5706.358,-4183.55,353.0656,5.550147,0,0,0,1,300,100,1), +(@OGUID+23,190717,571,1,2,5820.999,-4117.51,353.2778,2.216565,0,0,0,1,300,100,1), +(@OGUID+24,190717,571,1,2,5725.525,-4183.616,356.4301,3.490667,0,0,0,1,300,100,1), +(@OGUID+25,190717,571,1,2,5801.518,-4081.54,352.9559,0.4712385,0,0,0,1,300,100,1), +(@OGUID+26,190718,571,1,2,5783.599,-4199.378,363.9255,1.361356,0,0,0,1,300,100,1), +(@OGUID+27,190718,571,1,2,5788.463,-4028.865,364.6118,3.316144,0,0,0,1,300,100,1), +(@OGUID+28,190718,571,1,2,5679.798,-4084.759,354.015,2.164206,0,0,0,1,300,100,1), +(@OGUID+29,190717,571,1,2,5742.388,-4150.106,352.4384,1.134463,0,0,0,1,300,100,1), +(@OGUID+30,190717,571,1,2,5726.853,-4062.069,354.3002,1.431168,0,0,0,1,300,100,1), +(@OGUID+31,190719,571,1,2,5596.239,-4084.587,362.3596,1.151916,0,0,0,1,300,100,1), +(@OGUID+32,190718,571,1,2,5631.854,-4079.604,352.2866,3.089183,0,0,0,1,300,100,1), +(@OGUID+33,190718,571,1,2,5647.27,-4029.999,365.4366,1.570796,0,0,0,1,300,100,1), +(@OGUID+34,190717,571,1,2,5860.241,-4433.489,375.8128,5.654869,0,0,0,1,300,100,1), +(@OGUID+35,190718,571,1,2,5843.092,-4513.476,376.2388,1.989672,0,0,0,1,300,100,1), +(@OGUID+36,190707,571,1,2,5664.056,-4146.634,351.3731,1.570796,0,0,0,1,300,255,1), +(@OGUID+37,190707,571,1,2,5664.211,-4086.191,352.1793,4.747296,0,0,0,1,300,255,1), +(@OGUID+38,190707,571,1,2,5716.826,-4226.646,362.7477,1.570796,0,0,0,1,300,255,1), +(@OGUID+39,190707,571,1,2,5769.083,-4147.873,352.0845,1.553341,0,0,0,1,300,255,1), +(@OGUID+40,190707,571,1,2,5689.842,-4294.94,373.995,4.677484,0,0,0,1,300,255,1), +(@OGUID+41,190707,571,1,2,5742.686,-4293.651,373.9954,4.729844,0,0,0,1,300,255,1), +(@OGUID+42,190707,571,1,2,5820.354,-4211.717,362.248,4.694937,0,0,0,1,300,255,1), +(@OGUID+43,190707,571,1,2,5825.472,-4297.784,374.0092,3.194002,0,0,0,1,300,255,1), +(@OGUID+44,190707,571,1,2,5784.287,-4449.718,385.8015,1.605702,0,0,0,1,300,255,1), +(@OGUID+45,190707,571,1,2,5649.908,-4447.956,385.8015,1.553341,0,0,0,1,300,255,1), +(@OGUID+46,190707,571,1,2,5582.351,-4435.273,373.9958,6.265733,0,0,0,1,300,255,1), +(@OGUID+47,190707,571,1,2,5613.975,-4286.599,373.9606,5.375615,0,0,0,1,300,255,1), +(@OGUID+48,190707,571,1,2,5616.112,-4236.369,363.7091,1.605702,0,0,0,1,300,255,1), +(@OGUID+49,190707,571,1,2,5769.052,-4085.8,352.0868,4.694937,0,0,0,1,300,255,1), +(@OGUID+50,190707,571,1,2,5848.813,-4433.848,373.995,3.141593,0,0,0,1,300,255,1); +-- Addon data +DELETE FROM `creature_addon` WHERE `guid` IN (@GUID+0,@GUID+3,@GUID+5,@GUID+6,@GUID+7,@GUID+10,@GUID+13,@GUID+14,@GUID+15,@GUID+18,@GUID+19,@GUID+20,@GUID+24,@GUID+25,@GUID+26,@GUID+29,@GUID+31,@GUID+33,@GUID+34,@GUID+36,@GUID+37,@GUID+38,@GUID+41,@GUID+43,@GUID+44,@GUID+47,@GUID+48,@GUID+50,@GUID+53,@GUID+56,@GUID+57,@GUID+58,@GUID+62,@GUID+64,@GUID+65,@GUID+67,@GUID+68,@GUID+69,@GUID+72,@GUID+73,@GUID+74,@GUID+77,@GUID+78,@GUID+79,@GUID+80,@GUID+81,@GUID+82); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(@GUID+0,0,0,8,1,0,''), +(@GUID+3,0,0,0,1,431,''), +(@GUID+5,0,0,8,1,0,''), +(@GUID+6,0,0,8,1,0,''), +(@GUID+7,0,0,0,1,431,''), +(@GUID+10,(@GUID+10)*10,0,0,1,0,''), +(@GUID+13,0,0,0,1,0,'52385'), +(@GUID+14,0,0,0,1,0,'52385'), +(@GUID+15,(@GUID+15)*10,0,0,1,0,''), +(@GUID+18,0,0,0,1,431,''), +(@GUID+19,(@GUID+19)*10,0,0,1,0,''), +(@GUID+20,0,0,0,1,431,''), +(@GUID+24,0,0,8,1,0,''), +(@GUID+25,0,0,0,1,431,''), +(@GUID+26,(@GUID+26)*10,0,0,1,0,''), +(@GUID+29,0,0,8,1,0,''), +(@GUID+31,0,0,0,1,0,'52385'), +(@GUID+33,0,0,0,1,0,'52385'), +(@GUID+34,(@GUID+34)*10,0,0,1,0,''), +(@GUID+36,0,0,0,1,0,'52385'), +(@GUID+37,0,0,0,1,431,''), +(@GUID+38,0,0,8,1,0,''), +(@GUID+41,0,0,0,1,431,''), +(@GUID+43,0,0,0,1,431,''), +(@GUID+44,0,0,0,1,0,'52385'), +(@GUID+47,0,0,0,1,0,'52385'), +(@GUID+48,(@GUID+48)*10,0,0,1,0,''), +(@GUID+50,0,0,0,1,431,''), +(@GUID+53,0,0,0,1,431,''), +(@GUID+56,(@GUID+56)*10,0,0,1,0,''), +(@GUID+57,0,0,0,1,431,''), +(@GUID+58,0,0,0,1,0,'52385'), +(@GUID+62,0,0,0,1,431,''), +(@GUID+64,0,0,0,1,431,''), +(@GUID+65,0,0,0,1,0,'52385'), +(@GUID+67,0,0,0,1,431,''), +(@GUID+68,0,0,8,1,0,''), +(@GUID+69,0,0,8,1,0,''), +(@GUID+72,0,0,8,1,0,''), +(@GUID+73,0,0,0,1,0,'52385'), +(@GUID+74,0,0,0,1,0,'52385'), +(@GUID+77,0,0,0,1,431,''), +(@GUID+78,0,0,0,1,431,''), +(@GUID+79,0,0,0,1,0,'52385'), +(@GUID+80,(@GUID+80)*10,0,0,1,0,''), +(@GUID+81,(@GUID+81)*10,0,0,1,0,''), +(@GUID+82,0,0,0,1,0,'52385'); +DELETE FROM `creature_template_addon` WHERE `entry` IN (@NPC_QUETZLUN,@NPC_SOUL_FONT_VOID_ZONE); +INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(@NPC_QUETZLUN,0,0,0,1,0,'51126 41408'), +(@NPC_SOUL_FONT_VOID_ZONE,0,0,0,1,0,'52222'); +-- Creature_updates +UPDATE `creature_template` SET `unit_flags`=33555200, `AIName`='SmartAI' WHERE `entry`=@NPC_MATERIAL_YOU; +UPDATE `creature_template` SET `faction_A`=190, `faction_H`=190, `npcflag`=3, `gossip_menu_id`=9734, `unit_flags`=33536, `AIName`='SmartAI' WHERE `entry`=@NPC_QUETZLUN; +UPDATE `creature_template` SET `minlevel`=77, `maxlevel`=77, `faction_A`=2073, `faction_H`=2073, `unit_flags`=33554432, `flags_extra`=2 WHERE `entry`=@NPC_SOUL_FONT_VOID_ZONE; +UPDATE `creature_template` SET `minlevel`=77, `maxlevel`=77, `unit_flags`=33554432, `unit_flags2`=2080, `InhabitType`=4 WHERE `entry`=@NPC_SOUL_FONT_BUNNY; +UPDATE `creature_template` SET `faction_A`=2069, `faction_H`=2069, `unit_flags`=32768, `equipment_id`=2482, `AIName`='SmartAI' WHERE `entry`=@NPC_QUTEZLUN_WORSHIPPER; +UPDATE `creature_template` SET `speed_walk`=0.6666666, `faction_A`=2069, `faction_H`=2069, `unit_flags`=32768, `AIName`='SmartAI' WHERE `entry` IN (@NPC_SERPENTTOUCHED_BERSERKER,@NPC_HIGH_PRIEST_HAWINNI); +UPDATE `creature_template` SET `faction_A`=2069, `faction_H`=2069, `unit_flags`=32768, `AIName`='SmartAI', `equipment_id`=2483 WHERE `entry`=@NPC_HIGH_PRIEST_MUFUNU; +UPDATE `creature_template` SET `faction_A`=2069, `faction_H`=2069, `unit_flags`=32768, `AIName`='SmartAI', `equipment_id`=2484 WHERE `entry`=@NPC_HIGH_PRIESTESS_TUATUA; +UPDATE `creature_model_info` SET `bounding_radius`=2.38, `combat_reach`=10.5 WHERE `modelid`=25634; +UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8, `gender`=0, `modelid_other_gender`=25661 WHERE `modelid`=25660; +UPDATE `creature_model_info` SET `bounding_radius`=0.3672, `combat_reach`=1.8, `gender`=1, `modelid_other_gender`=25660 WHERE `modelid`=25661; +UPDATE `creature_model_info` SET `bounding_radius`=2.625, `combat_reach`=2.625 WHERE `modelid`=25662; +UPDATE `creature_model_info` SET `bounding_radius`=3, `combat_reach`=3 WHERE `modelid`=25663; +UPDATE `creature_model_info` SET `bounding_radius`=0.5355, `combat_reach`=2.625 WHERE `modelid`=25666; +UPDATE `creature_model_info` SET `bounding_radius`=4.5, `combat_reach`=4.5 WHERE `modelid`=25667; +UPDATE `creature_model_info` SET `bounding_radius`=0.6076385, `combat_reach`=2.625 WHERE `modelid`=27858; +-- Equipments +DELETE FROM `creature_equip_template` WHERE `entry` IN (2482,2483,2484); +INSERT INTO `creature_equip_template` (`entry`,`itemEntry1`,`itemEntry2`,`itemEntry3`) VALUES +(2482,28678,0,0), +(2483,13622,0,0), +(2484,28739,0,0); +-- Gossips +DELETE FROM `gossip_menu` WHERE `entry`=9734; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES +(9734,13331); +-- SAI for involved creatures +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_QUETZLUN,@NPC_MATERIAL_YOU,@NPC_QUTEZLUN_WORSHIPPER,@NPC_SERPENTTOUCHED_BERSERKER,@NPC_HIGH_PRIEST_MUFUNU,@NPC_HIGH_PRIESTESS_TUATUA,@NPC_HIGH_PRIEST_HAWINNI) AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@NPC_QUETZLUN,0,0,0,1,0,100,0,30000,60000,180000,300000,11,@SPELL_QUETZLUN_JUDGMENT,0,0,0,0,0,19,@NPC_QUTEZLUN_WORSHIPPER,30,0,0,0,0,0,'Quetz''lun - On update OOC - Spellcast Quetz''lun''s Judgment'), +(@NPC_MATERIAL_YOU,0,0,1,54,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Material You - Just summoned - Say line'), +(@NPC_MATERIAL_YOU,0,1,2,61,0,100,0,0,0,0,0,85,@SPELL_MATERIAL_YOU_MIRROR_IMAGE,0,0,0,0,0,1,0,0,0,0,0,0,0,'Material You - Just summoned - Invoker spellcast Altar of Quetz''lun: Material You''s Mirror Image Aura'), +(@NPC_MATERIAL_YOU,0,2,3,61,0,100,0,0,0,0,0,85,41055,0,0,0,0,0,1,0,0,0,0,0,0,0,'Material You - Just summoned - Invoker spellcast Copy Weapon'), +(@NPC_MATERIAL_YOU,0,3,0,61,0,100,0,0,0,0,0,85,45206,0,0,0,0,0,1,0,0,0,0,0,0,0,'Material You - Just summoned - Invoker spellcast Copy Off-hand Weapon'), +(@NPC_QUTEZLUN_WORSHIPPER,0,0,0,4,0,100,0,0,0,0,0,11,54594,0,0,0,0,0,7,0,0,0,0,0,0,0,'Quetz''lun Worshipper - On aggro - Spellcast Serpent Strike'), +(@NPC_QUTEZLUN_WORSHIPPER,0,1,0,2,0,100,0,0,50,30000,40000,11,54601,0,0,0,0,0,1,0,0,0,0,0,0,0,'Quetz''lun Worshipper - On health below 50% - Spellcast Serpent Form'), +(@NPC_SERPENTTOUCHED_BERSERKER,0,0,0,4,0,100,0,0,0,0,0,11,54594,0,0,0,0,0,7,0,0,0,0,0,0,0,'Serpent-Touched Berserker - On aggro - Spellcast Serpent Strike'), +(@NPC_HIGH_PRIEST_MUFUNU,0,0,2,11,0,100,0,0,0,0,0,11,51733,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Mu''funu - On spawn - Spellcast Shadow Channelling'), +(@NPC_HIGH_PRIEST_MUFUNU,0,1,2,21,0,100,0,0,0,0,0,11,51733,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Mu''funu - On homeposition reached - Spellcast Shadow Channelling'), +(@NPC_HIGH_PRIEST_MUFUNU,0,2,3,61,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Mu''funu - On homeposition reached - Disable combat movement'), +(@NPC_HIGH_PRIEST_MUFUNU,0,3,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Mu''funu - On homeposition reached - Set event phase 1'), +(@NPC_HIGH_PRIEST_MUFUNU,0,4,5,9,0,100,0,40,80,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Mu''funu - On target range more than 40y - Enable combat movement'), +(@NPC_HIGH_PRIEST_MUFUNU,0,5,0,61,0,100,0,0,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Mu''funu - On target range more than 40y - Set event phase 2'), +(@NPC_HIGH_PRIEST_MUFUNU,0,6,3,9,0,100,0,0,20,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Mu''funu - On target range below 20y - Disable combat movement'), +(@NPC_HIGH_PRIEST_MUFUNU,0,7,0,0,1,100,0,0,0,2500,2500,11,20820,0,0,0,0,0,2,0,0,0,0,0,0,0,'High Priest Mu''funu - On update IC (phase 1) - Spellcast Holy Smite'), +(@NPC_HIGH_PRIEST_MUFUNU,0,8,0,2,0,100,0,0,30,0,0,22,4,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Mu''funu - On health below 30% - Set event phase 4'), +(@NPC_HIGH_PRIEST_MUFUNU,0,9,0,0,4,100,0,0,0,30000,30000,11,11974,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Mu''funu - On update IC (phase 4) - Spellcast Power Word: Shield'), +(@NPC_HIGH_PRIEST_MUFUNU,0,10,0,0,4,100,0,50,50,15000,20000,11,11640,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Mu''funu - On update IC (phase 4) - Spellcast Renew'), +(@NPC_HIGH_PRIESTESS_TUATUA,0,0,1,11,0,100,0,0,0,0,0,11,51733,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priestess Tua-Tua - On spawn - Spellcast Shadow Channelling'), +(@NPC_HIGH_PRIESTESS_TUATUA,0,1,0,61,0,100,0,0,0,0,0,28,29406,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priestess Tua-Tua - On homeposition reached - Remove aura Shadowform'), +(@NPC_HIGH_PRIESTESS_TUATUA,0,2,1,21,0,100,0,0,0,0,0,11,51733,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priestess Tua-Tua - On homeposition reached - Spellcast Shadow Channelling'), +(@NPC_HIGH_PRIESTESS_TUATUA,0,3,0,4,0,100,0,0,0,0,0,11,29406,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priestess Tua-Tua - On aggro - Spellcast Shadowform'), +(@NPC_HIGH_PRIESTESS_TUATUA,0,4,0,0,0,100,0,2000,3000,15000,20000,11,51818,0,0,0,0,0,2,0,0,0,0,0,0,0,'High Priestess Tua-Tua - On update IC - Spellcast Shadow Word: Death'), +(@NPC_HIGH_PRIESTESS_TUATUA,0,5,0,0,0,100,0,4000,5000,3000,5000,11,13860,0,0,0,0,0,2,0,0,0,0,0,0,0,'High Priestess Tua-Tua - On update IC - Spellcast Mind Blast'), +(@NPC_HIGH_PRIEST_HAWINNI,0,0,0,0,0,100,0,2000,3000,10000,15000,11,54603,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Hawinni - On update IC - Spellcast Serpent''s Agility'), +(@NPC_HIGH_PRIEST_HAWINNI,0,1,2,2,0,100,1,0,40,0,0,11,50420,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Hawinni - On health below 40% - Spellcast Enrage'), +(@NPC_HIGH_PRIEST_HAWINNI,0,2,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'High Priest Hawinni - On health below 40% - Say line'), +(@NPC_HIGH_PRIEST_HAWINNI,0,3,0,7,0,100,0,0,0,0,0,28,50420,0,0,0,0,0,1,0,0,0,0,0,0,0,'High Priest Hawinni - On evade - Remove aura Enrage'); +-- Waypoints +DELETE FROM `waypoint_data` WHERE `id` IN ((@GUID+10)*10,(@GUID+15)*10,(@GUID+19)*10,(@GUID+26)*10,(@GUID+34)*10,(@GUID+48)*10,(@GUID+56)*10,(@GUID+80)*10,(@GUID+81)*10); +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +((@GUID+10)*10,1,5622.78,-4115.903,353.1671,0,0,0,0,100,0), +((@GUID+10)*10,2,5700.014,-4116.477,353.2688,0,0,0,0,100,0), +((@GUID+15)*10,1,5629.758,-4220.245,363.0638,0,0,0,0,100,0), +((@GUID+15)*10,2,5698.905,-4220.559,362.8123,0,0,0,0,100,0), +((@GUID+19)*10,1,5736.187,-4221.563,362.641,0,0,0,0,100,0), +((@GUID+19)*10,2,5765.859,-4221.353,361.5846,0,0,0,0,100,0), +((@GUID+19)*10,3,5781.38,-4231.069,359.3161,0,0,0,0,100,0), +((@GUID+19)*10,4,5799.918,-4242.83,362.6221,0,0,0,0,100,0), +((@GUID+19)*10,5,5817.34,-4242.409,363.7439,0,0,0,0,100,0), +((@GUID+19)*10,6,5844.105,-4244.604,362.7979,0,0,0,0,100,0), +((@GUID+19)*10,7,5817.34,-4242.409,363.7439,0,0,0,0,100,0), +((@GUID+19)*10,8,5799.918,-4242.83,362.6221,0,0,0,0,100,0), +((@GUID+19)*10,9,5781.38,-4231.069,359.3161,0,0,0,0,100,0), +((@GUID+19)*10,10,5765.859,-4221.353,361.5846,0,0,0,0,100,0), +((@GUID+26)*10,1,5606.6504,-4317.5366,373.995,0,0,0,0,100,0), +((@GUID+26)*10,2,5625.5952,-4303.0625,373.995,0,0,0,0,100,0), +((@GUID+26)*10,3,5782.809,-4302.274,374.12,0,0,0,0,100,0), +((@GUID+26)*10,4,5802.482,-4309.014,374.0114,0,0,0,0,100,0), +((@GUID+34)*10,1,5812.099,-4175.637,353.3968,0,0,0,0,100,0), +((@GUID+34)*10,2,5821.506,-4165.563,353.5313,0,0,0,0,100,0), +((@GUID+34)*10,3,5818.826,-4129.878,353.8851,0,0,0,0,100,0), +((@GUID+34)*10,4,5810.663,-4117.67,353.2181,0,0,0,0,100,0), +((@GUID+34)*10,5,5792.259,-4117.242,353.2197,0,0,0,0,100,0), +((@GUID+34)*10,6,5755.833,-4119.403,353.3149,0,0,0,0,100,0), +((@GUID+34)*10,7,5754.487,-4121.689,353.3535,0,0,0,0,100,0), +((@GUID+34)*10,8,5747.097,-4163.901,352.5367,0,0,0,0,100,0), +((@GUID+34)*10,9,5754.965,-4174.736,353.418,0,0,0,0,100,0), +((@GUID+48)*10,1,5647.668,-4377.963,386.065,0,0,0,0,100,0), +((@GUID+48)*10,2,5647.648,-4439.329,385.8019,0,0,0,0,100,0), +((@GUID+56)*10,1,5591.341,-4395.804,374.0577,0,0,0,0,100,0), +((@GUID+56)*10,2,5589.711,-4473.008,373.9948,0,0,0,0,100,0), +((@GUID+80)*10,1,5841.862,-4383.027,374.0503,0,0,0,0,100,0), +((@GUID+80)*10,2,5841.261,-4481.065,376.1894,0,0,0,0,100,0), +((@GUID+81)*10,1,5794.948,-4488.715,387.3983,0,0,0,0,100,0), +((@GUID+81)*10,2,5793.181,-4386.617,387.4278,0,0,0,0,100,0); +-- Spell data +DELETE FROM `spell_area` WHERE `spell`=@SPELL_GHOSTLY AND `area`=4325; +INSERT INTO `spell_area` (`spell`,`area`,`quest_start`,`quest_end`,`aura_spell`,`racemask`,`gender`,`autocast`,`quest_start_status`) VALUES +(@SPELL_GHOSTLY,4325,12667,12675,0,0,2,1,2|64); +-- Spell Linking +DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=@SPELL_GHOSTLY; +INSERT INTO `spell_linked_spell` (`spell_trigger`,`spell_effect`,`type`,`comment`) VALUES +(@SPELL_GHOSTLY,51717,1,'On Ghostly - Spellcast Altar of Quetz''lun: Summon Material You'); +-- Conditions +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (@SPELL_MATERIAL_YOU_MIRROR_IMAGE,@SPELL_QUETZLUN_JUDGMENT); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,@SPELL_MATERIAL_YOU_MIRROR_IMAGE,0,0,31,0,3,@NPC_MATERIAL_YOU,0,0,0,'','Spell Altar of Quetz''lun: Material You''s Mirror Image Aura targets Material You'), +(13,2,@SPELL_MATERIAL_YOU_MIRROR_IMAGE,0,0,31,0,3,@NPC_MATERIAL_YOU,0,0,0,'','Spell Altar of Quetz''lun: Material You''s Mirror Image Aura targets Material You'), +(13,4,@SPELL_MATERIAL_YOU_MIRROR_IMAGE,0,0,31,0,3,@NPC_MATERIAL_YOU,0,0,0,'','Spell Altar of Quetz''lun: Material You''s Mirror Image Aura targets Material You'), +(13,1,@SPELL_QUETZLUN_JUDGMENT,0,0,31,0,3,@NPC_QUTEZLUN_WORSHIPPER,0,0,0,'','Spell Quetz''lun''s Judgment targets Quetz''lun Worshipper'); +-- Creature Texts +DELETE FROM `creature_text` WHERE `entry` IN (@NPC_MATERIAL_YOU,@NPC_HIGH_PRIEST_HAWINNI); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@NPC_MATERIAL_YOU,0,0,'You leave your material body behind!',42,0,100,0,0,0,'Material You'), +(@NPC_HIGH_PRIEST_HAWINNI,0,0,'%s becomes enraged!',16,0,100,0,0,0,'Hawinni'); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8515: Quest I Sense a Disturbance +SET @GUID := 88701; -- need 34 set by TDB +SET @GOSSIP := 9687; +SET @QUEST := 12665; +SET @NPC_ELM_BUNNY := 26298; +SET @NPC_HARKOA := 28401; +SET @NPC_CLAW_OF_HARKOA := 28402; +SET @NPC_HARKOA_SUBDUER := 28403; +SET @NPC_CURSED_OFFSPRING := 28404; +SET @NPC_HARKOA_KITTEN := 28665; +SET @NPC_QUETZLUN := 28671; +SET @SPELL_RIDING_HARKOA_KITTEN := 25673; +SET @SPELL_SPEED := 39870; +SET @SPELL_SUMMON_HARKOA_KITTEN := 52187; +SET @SPELL_STEALTH := 52188; +-- Spawns +DELETE FROM `creature` WHERE `guid` BETWEEN @GUID+0 AND @GUID+33; +INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`,`npcflag`,`unit_flags`,`dynamicflags`) VALUES +(@GUID+0,@NPC_ELM_BUNNY,571,1,1,21999,0,5309.635,-3772.253,372.5037,5.707227,300,0,0,42,0,0,0,0,0), +(@GUID+1,@NPC_ELM_BUNNY,571,1,1,21999,0,5333.049,-3796.974,372.489,2.356194,300,0,0,42,0,0,0,0,0), +(@GUID+2,@NPC_ELM_BUNNY,571,1,1,21999,0,5309.46,-3772.571,372.4755,5.358161,300,0,0,42,0,0,0,0,0), +(@GUID+3,@NPC_ELM_BUNNY,571,1,1,21999,0,5332.838,-3797.16,372.4756,2.321288,300,0,0,42,0,0,0,0,0), +(@GUID+4,@NPC_CLAW_OF_HARKOA,571,1,1,0,0,5375.799,-3758.142,360.5291,0.7330383,300,0,0,0,0,0,0,0,0), +(@GUID+5,@NPC_CURSED_OFFSPRING,571,1,1,0,0,5497.146,-3791.354,359.6451,3.033307,300,5,0,0,0,1,0,0,0), +(@GUID+6,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5323.46,-3813,371.9776,1.553343,300,0,0,0,0,0,0,0,0), +(@GUID+7,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5291.728,-3780.95,371.6594,6.248279,300,0,0,0,0,0,0,0,0), +(@GUID+8,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5316.537,-3755.717,371.5298,5.009095,300,0,0,0,0,0,0,0,0), +(@GUID+9,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5422.518,-3822.243,363.2307,0.01745329,300,0,0,0,0,0,0,0,0), +(@GUID+10,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5335.817,-3846.023,370.8626,3.926991,300,0,0,0,0,0,0,0,0), +(@GUID+11,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5382.776,-3799.292,372.6979,0.7853982,300,0,0,0,0,0,0,0,0), +(@GUID+12,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5347.82,-3790.36,371.4579,2.80998,300,0,0,0,0,0,0,0,0), +(@GUID+13,@NPC_CURSED_OFFSPRING,571,1,1,0,0,5385.085,-3821.307,373.1991,4.390826,300,5,0,0,0,1,0,0,0), +(@GUID+14,@NPC_CLAW_OF_HARKOA,571,1,1,0,0,5368.791,-3862.889,373.6328,5.51524,300,0,0,0,0,0,0,0,0), +(@GUID+15,@NPC_CLAW_OF_HARKOA,571,1,1,0,0,5263.502,-3717.983,373.0725,2.356194,300,0,0,0,0,0,0,0,0), +(@GUID+16,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5394.254,-3702.963,362.089,0.1570796,300,0,0,0,0,0,0,0,0), +(@GUID+17,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5410.39,-3718.896,362.0468,1.518436,300,0,0,0,0,0,0,0,0), +(@GUID+18,@NPC_CURSED_OFFSPRING,571,1,1,0,0,5395.654,-3862.894,362.4349,4.355803,300,5,0,0,0,1,0,0,0), +(@GUID+19,@NPC_CURSED_OFFSPRING,571,1,1,0,0,5434.535,-3731.848,362.0858,2.675762,300,5,0,0,0,1,0,0,0), +(@GUID+20,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5477.654,-3878.015,361.0569,0.7679449,300,0,0,0,0,0,0,0,0), +(@GUID+21,@NPC_CLAW_OF_HARKOA,571,1,1,0,0,5553.428,-3829.976,372.5273,5.654867,300,0,0,0,0,0,0,0,0), +(@GUID+22,@NPC_CLAW_OF_HARKOA,571,1,1,0,0,5585.777,-3799.415,366.2234,6.143559,300,0,0,0,0,0,0,0,0), +(@GUID+23,@NPC_CLAW_OF_HARKOA,571,1,1,0,0,5537.25,-3846.529,372.089,5.375614,300,0,0,0,0,0,0,0,0), +(@GUID+24,@NPC_CURSED_OFFSPRING,571,1,1,0,0,5510.545,-3926.729,362.0851,5.462688,300,5,0,0,0,1,0,0,0), +(@GUID+25,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5322.316,-3572.04,363.3229,4.834562,300,0,0,0,0,0,0,0,0), +(@GUID+26,@NPC_CLAW_OF_HARKOA,571,1,1,0,0,5367.774,-3541.64,364.2363,0.7853982,300,0,0,0,0,0,0,0,0), +(@GUID+27,@NPC_CLAW_OF_HARKOA,571,1,1,0,0,5459.911,-3643.151,362.3447,0.9424778,300,0,0,0,0,0,0,0,0), +(@GUID+28,@NPC_CLAW_OF_HARKOA,571,1,1,0,0,5323.396,-3644.5,362.0438,5.707227,300,0,0,0,0,0,0,0,0), +(@GUID+29,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5330.009,-3913.493,365.8797,4.694936,300,0,0,0,0,0,0,0,0), +(@GUID+30,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5434.8,-3919.141,361.1612,3.944444,300,0,0,0,0,0,0,0,0), +(@GUID+31,@NPC_CLAW_OF_HARKOA,571,1,1,0,0,5407.908,-3925.006,362.0776,4.746883,300,5,0,0,0,1,0,0,0), +(@GUID+32,@NPC_CURSED_OFFSPRING,571,1,1,0,0,5347.841,-3946.389,362.553,0.7498215,300,5,0,0,0,1,0,0,0), +(@GUID+33,@NPC_HARKOA_SUBDUER,571,1,1,0,0,5277.245,-3619.667,363.3282,6.213372,300,0,0,0,0,0,0,0,0); +-- some corrections to previous spawns +UPDATE `creature` SET `position_x`=5349.371, `position_y`=-3615.906, `position_z`=363.8878, `orientation`=5.462881 WHERE `guid`=118735; +UPDATE `creature` SET `spawndist`=5, `movementType`=1 WHERE `guid` IN (118714,118722,118729,118731,118732,118733); +UPDATE `gameobject_template` SET `flags`=4 WHERE `entry`=190633; +UPDATE `creature_template` SET `gossip_menu_id`=@GOSSIP, `AIName`='SmartAI' WHERE `entry`=28401; +UPDATE `creature_template` SET `speed_run`=2.571429, `unit_flags`=33288, `AIName`='SmartAI' WHERE `entry`=28665; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@NPC_HARKOA_SUBDUER; +DELETE FROM `creature_template_addon` WHERE `entry`=@NPC_CLAW_OF_HARKOA; +INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(@NPC_CLAW_OF_HARKOA,0,0,0,1,0,'54608'); +DELETE FROM `creature_addon` WHERE `guid` IN (@GUID+0,@GUID+1,@GUID+2,@GUID+3,118591); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(@GUID+0,0,0,0,1,0,'52485 51666'), +(@GUID+1,0,0,0,1,0,'52485 51666'), +(@GUID+2,0,0,0,1,0,'52485 51666'), +(@GUID+3,0,0,0,1,0,'52485 51666'), +(118591,0,0,0,1,0,'52485 51666'); +-- SAI info +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@NPC_HARKOA_SUBDUER; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_HARKOA_SUBDUER,-(@GUID+0),-(@GUID+1),-(@GUID+2),-(@GUID+3)) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@NPC_HARKOA_SUBDUER*100 AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@NPC_HARKOA_SUBDUER,0,0,0,11,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On spawn - Disable combatmovement'), +(@NPC_HARKOA_SUBDUER,0,1,0,1,0,100,0,2000,20000,40000,60000,80,@NPC_HARKOA_SUBDUER*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On update OOC - Run script'), +(@NPC_HARKOA_SUBDUER,0,2,0,4,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On aggro - Set eventphase 1'), +(@NPC_HARKOA_SUBDUER,0,3,0,0,1,100,0,0,0,2800,3500,11,20822,0,0,0,0,0,2,0,0,0,0,0,0,0,'Har''koa Subduer - On update IC (phase 1) - Spellcast Frostbolt'), +(@NPC_HARKOA_SUBDUER,0,4,0,9,1,100,0,35,80,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On range more than 35y (phase 1) - Enable combatmovement'), +(@NPC_HARKOA_SUBDUER,0,6,0,9,1,100,0,5,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On range less than 15y (phase 1) - Disable combatmovement'), +(@NPC_HARKOA_SUBDUER,0,7,0,9,1,100,0,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On range less than 5y (phase 1) - Enable combatmovement'), +(@NPC_HARKOA_SUBDUER,0,8,9,3,1,100,0,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On mana below 15% (phase 1) - Set eventphase 2'), +(@NPC_HARKOA_SUBDUER,0,9,0,61,0,100,0,0,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On mana below 15% - Enable combatmovement'), +(@NPC_HARKOA_SUBDUER,0,10,0,3,2,100,0,30,100,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On mana over 30% (phase 2) - Set eventphase 1'), +(@NPC_HARKOA_SUBDUER,0,11,12,2,0,100,0,0,15,0,0,22,4,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On health below 15% - Set eventphase 3'), +(@NPC_HARKOA_SUBDUER,0,12,13,61,0,100,0,0,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On health below 15% - Enable combat movement'), +(@NPC_HARKOA_SUBDUER,0,13,0,61,0,100,1,0,0,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On health below 15% - Flee'), +(@NPC_HARKOA_SUBDUER,0,14,0,7,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On evade - Reset event phase'), +(@NPC_HARKOA_SUBDUER,0,15,0,21,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer - On homeposition reached - Disable combatmovement'), +(-(@GUID+0),0,0,0,11,0,100,0,0,0,0,0,11,51579,0,0,0,0,0,11,28401,10,0,0,0,0,0,'ELM General Purpose Bunny - On spawn - Spellcast Har''koa''s Chains'), +(-(@GUID+1),0,0,0,11,0,100,0,0,0,0,0,11,51577,0,0,0,0,0,11,28401,10,0,0,0,0,0,'ELM General Purpose Bunny - On spawn - Spellcast Har''koa''s Chains'), +(-(@GUID+2),0,0,0,11,0,100,0,0,0,0,0,11,45808,0,0,0,0,0,11,28401,10,0,0,0,0,0,'ELM General Purpose Bunny - On spawn - Spellcast Har''koa''s Chains'), +(-(@GUID+3),0,0,0,11,0,100,0,0,0,0,0,11,45808,0,0,0,0,0,11,28401,10,0,0,0,0,0,'ELM General Purpose Bunny - On spawn - Spellcast Har''koa''s Chains'), +(@NPC_HARKOA_SUBDUER*100,9,0,0,0,0,100,0,0,0,0,0,11,45846,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer script - Spellcast Frost Channelling'), +(@NPC_HARKOA_SUBDUER*100,9,1,0,0,0,100,0,10000,20000,0,0,92,0,45846,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer script - Set unit_field_bytes1 (kneel)'), +(@NPC_HARKOA_SUBDUER*100,9,2,0,0,0,100,0,0,0,0,0,90,8,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa Subduer script - Set unit_field_bytes1 (kneel)'); +-- Gossip info +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES +(@GOSSIP,13139); +DELETE FROM `gossip_menu_option` WHERE `menu_id`=@GOSSIP AND `id`=0; +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(@GOSSIP,0,0,'Great and powerful Har''koa, please call for one of your children that it might stealthily carry me into the Altar of Quetz''lun.',1,1,0,0,0,0,NULL); +-- Conditions +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (45808,51577,51579); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,45808,0,0,31,0,3,28401,0,0,0,'','Spell Har''koa''s Chains targets Har''koa'), +(13,1,51577,0,0,31,0,3,28401,0,0,0,'','Spell Har''koa''s Chains targets Har''koa'), +(13,1,51579,0,0,31,0,3,28401,0,0,0,'','Spell Har''koa''s Chains targets Har''koa'), +(15,@GOSSIP,0,0,0,9,0,@QUEST,0,0,0,0,'','Show gossip option if player has taken quest 12655'); + +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_HARKOA,@NPC_HARKOA_KITTEN) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@NPC_HARKOA_KITTEN*100 AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +-- Har'koa script +(@NPC_HARKOA,0,0,1,62,0,100,0,@GOSSIP,0,0,0,11,@SPELL_SUMMON_HARKOA_KITTEN,0,0,0,0,0,7,0,0,0,0,0,0,0,'Har''koa - On gossip option select - force player to summon Har''koa''s Kitten'), +(@NPC_HARKOA,0,1,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Har''koa - On gossip option select - close gossip'), +-- Har'koa's Kitten script +(@NPC_HARKOA_KITTEN,0,0,1,54,0,100,0,0,0,0,0,75,@SPELL_STEALTH,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On spawn - Apply Stealth'), +(@NPC_HARKOA_KITTEN,0,1,0,61,0,100,0,0,0,0,0,53,1,@NPC_HARKOA_KITTEN,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On spawn - Start WP movement'), +(@NPC_HARKOA_KITTEN,0,2,0,40,0,100,0,1,@NPC_HARKOA_KITTEN,0,0,1,0,0,0,0,0,0,23,0,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 1 reached - Say line'), +(@NPC_HARKOA_KITTEN,0,3,4,40,0,100,0,10,@NPC_HARKOA_KITTEN,0,0,54,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 10 reached - Pause WP movement'), +(@NPC_HARKOA_KITTEN,0,4,0,61,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On waypoint 10 reached - Say line'), +(@NPC_HARKOA_KITTEN,0,5,6,40,0,100,0,18,@NPC_HARKOA_KITTEN,0,0,54,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 18 reached - Pause WP movement'), +(@NPC_HARKOA_KITTEN,0,6,7,61,0,100,0,0,0,0,0,59,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 18 reached - Disable run'), +(@NPC_HARKOA_KITTEN,0,7,0,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 18 reached - Say line'), +(@NPC_HARKOA_KITTEN,0,9,0,40,0,100,0,21,@NPC_HARKOA_KITTEN,0,0,84,0,0,0,0,0,0,19,@NPC_QUETZLUN,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 21 reached - Set data 0 1 for Prophet of Quetz''lun'), +(@NPC_HARKOA_KITTEN,0,10,11,40,0,100,0,22,@NPC_HARKOA_KITTEN,0,0,59,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 22 reached - Enable run'), +(@NPC_HARKOA_KITTEN,0,11,0,61,0,100,0,0,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 22 reached - Say line'), +(@NPC_HARKOA_KITTEN,0,12,0,40,0,100,0,31,@NPC_HARKOA_KITTEN,0,0,11,@SPELL_SPEED,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 31 reached - Spellcast Speed Burst'), +(@NPC_HARKOA_KITTEN,0,13,14,40,0,100,0,34,@NPC_HARKOA_KITTEN,0,0,28,@SPELL_SPEED,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 34 reached - Remove aura Speed Burst'), +(@NPC_HARKOA_KITTEN,0,14,15,61,0,100,0,0,0,0,0,97,30,10,0,0,0,0,8,0,0,0,5651.193,-3790.460,361.974,0,'Har''koa''s Kitten - On WP 34 reached - Jump'), +(@NPC_HARKOA_KITTEN,0,15,0,61,0,100,0,0,0,0,0,80,@NPC_HARKOA_KITTEN*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 34 reached - Run script'), +(@NPC_HARKOA_KITTEN,0,16,17,40,0,100,0,11,@NPC_HARKOA_KITTEN*10,0,0,1,5,0,0,0,0,0,23,0,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 11 reached - Say line'), +(@NPC_HARKOA_KITTEN,0,17,18,61,0,100,0,0,0,0,0,28,@SPELL_RIDING_HARKOA_KITTEN,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 10 reached - Remove aura Riding Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,0,18,0,61,0,100,0,0,0,0,0,41,500,0,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten - On WP 10 reached - Despawn'), +(@NPC_HARKOA_KITTEN*100,9,0,0,0,0,100,0,2000,2000,0,0,1,4,0,0,0,0,0,23,0,0,0,0,0,0,0,'Har''koa''s Kitten script - Say line'), +(@NPC_HARKOA_KITTEN*100,9,1,0,0,0,100,0,500,500,0,0,53,1,@NPC_HARKOA_KITTEN*10,0,0,0,0,1,0,0,0,0,0,0,0,'Har''koa''s Kitten script - Start WP movement'); +-- Waypoints +DELETE FROM `waypoints` WHERE `entry` IN (@NPC_HARKOA_KITTEN,@NPC_HARKOA_KITTEN*10); +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(@NPC_HARKOA_KITTEN, 1,5343.219,-3763.973,373.093,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN, 2,5365.389,-3750.708,360.531,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN, 3,5386.707,-3755.923,360.458,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN, 4,5421.301,-3779.266,361.966,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN, 5,5464.585,-3784.811,362.422,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN, 6,5472.514,-3787.657,359.862,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN, 7,5523.643,-3823.486,360.533,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN, 8,5539.182,-3838.393,372.141,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN, 9,5714.259,-3895.436,371.987,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,10,5714.515,-3944.740,371.987,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,11,5715.673,-4019.310,372.152,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,12,5716.523,-4054.907,353.671,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,13,5716.630,-4188.195,354.075,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,14,5716.644,-4205.305,362.825,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,15,5724.548,-4238.222,362.746,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,16,5724.905,-4258.611,374.355,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,17,5720.831,-4331.177,374.023,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,18,5722.675,-4351.540,385.496,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,19,5728.693,-4374.917,386.492,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,20,5717.937,-4385.863,386.191,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,21,5705.368,-4379.375,385.803,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,22,5705.883,-4371.388,385.803,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,23,5714.739,-4352.132,385.560,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,24,5720.831,-4331.177,374.023,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,25,5724.905,-4258.611,374.355,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,26,5724.548,-4238.222,362.746,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,27,5716.644,-4205.305,362.825,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,28,5716.630,-4188.195,354.075,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,29,5716.523,-4054.907,353.671,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,30,5715.673,-4019.310,372.152,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,31,5714.515,-3944.740,371.987,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,32,5714.259,-3895.436,371.987,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,33,5709.297,-3844.293,372.012,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,34,5672.465,-3815.550,373.647,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN*10, 1,5605.440,-3790.634,362.713,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN*10, 2,5579.467,-3789.876,365.829,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN*10, 3,5552.734,-3794.191,362.082,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN*10, 4,5535.410,-3792.923,362.071,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN*10, 5,5472.514,-3787.657,359.862,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN*10, 6,5464.585,-3784.811,362.422,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN*10, 7,5421.301,-3779.266,361.966,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN*10, 8,5386.707,-3755.923,360.458,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN*10, 9,5365.389,-3750.708,360.531,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN*10,10,5344.119,-3764.440,373.096,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN*10,11,5331.768,-3774.679,371.341,'Har''koa''s Kitten'); +-- Areatrigger info +DELETE FROM `areatrigger_involvedrelation` WHERE `quest`=@QUEST; +INSERT INTO `areatrigger_involvedrelation` (`id`,`quest`) VALUES +(5052,@QUEST); +-- Spell Data +DELETE FROM `spell_area` WHERE `spell`=52485 AND `area`=4322; +INSERT INTO `spell_area` (`spell`,`area`,`quest_start`,`quest_end`,`aura_spell`,`racemask`,`gender`,`autocast`) VALUES +(52485,4322,0,12685,0,0,2,1); +-- Creature Texts +DELETE FROM `creature_text` WHERE `entry` IN (@NPC_HARKOA_KITTEN,@NPC_QUETZLUN); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@NPC_HARKOA_KITTEN,0,0,'Thank you for saving me, $N. This is the least that I could do to return the favor. Hold on tight. Here we go.',15,0,100,0,0,0,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,1,0,'This doesn''t look good. Whatever you do, don''t fall off. There''s a ton of nasty things in there!',15,0,100,0,0,0,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,2,0,'Oh no... Quetz''lun is dead! Stay still. We''ll sneak past the prophet.',15,0,100,0,0,0,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,3,0,'We''re spotted! Hang on. We have to get out of here!',15,0,100,0,0,0,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,4,0,'I think we''re safe now. Let''s get back!',15,0,100,0,0,0,'Har''koa''s Kitten'), +(@NPC_HARKOA_KITTEN,5,0,'We made it! Take care, $N, and thanks again!',15,0,100,0,0,0,'Har''koa''s Kitten'), +(@NPC_QUETZLUN,0,0,'What was that? I sense an intruder. Find and kill them!',14,0,100,0,0,0,'Quetz''lun'); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/sql/updates/world/2012_12_07_03_world_tracker_trista.sql b/sql/updates/world/2012_12_07_03_world_tracker_trista.sql new file mode 100644 index 00000000000..b717f4e53e8 --- /dev/null +++ b/sql/updates/world/2012_12_07_03_world_tracker_trista.sql @@ -0,0 +1,218 @@ +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 1550: Membership Benefits 9884/9885/9886/9887 +-- Add special flags for monthly quests +UPDATE `quest_template` SET `SpecialFlags`=16 WHERE `Id` IN (9884,9885,9886,9887); +-- Add missing creature_quesrelation and involvedrealation that were blocking the next quests +DELETE FROM `creature_questrelation` WHERE `quest`=9884; +INSERT INTO `creature_questrelation` (`id`, `quest`) VALUES +(18265,9884); +DELETE FROM `creature_involvedrelation` WHERE `quest`=9884; +INSERT INTO `creature_involvedrelation` (`id`, `quest`) VALUES +(18265,9884); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 1944: Fix quest Canyon Chase ID: 12145 +-- Checked db and stuff from sniff, as lubomir8 said it had 2 times same credit required, following the alliance version, the fix is this: +UPDATE `quest_template` SET `RequiredNpcOrGo2`=0, `RequiredNpcOrGoCount2`=0 WHERE `Id`=12145; +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 5971: Revenge for the Vargul +-- Closes: #4341 and #2201 +-- Revenge for the Vargul (13059) quest fix by Trista +-- Thanks to Pitcrawler for helping with some sniffs and suggestions +-- Updated by nelegalno and w1sht0l1v3 +SET @Thane_Illskar := 30475; +SET @Volgur := 30483; +SET @Brita := 30484; +SET @ObjectiveCredit := 61779; -- spell, note there are 2 credits +SET @Arbiter := 30501; -- Val"kyr Arbiter +SET @TheDamned := 30523; -- Thane Illskar the Damned +SET @Script := 30475000; +SET @Script1 := 30475001; +SET @Script2 := 30501000; +SET @Summon := 55064; -- this get displayed correctly each time after an active core use it once /first time he start above ground and do all, all rest emerge from groun - core issue with loading addon data/. +SET @Judge := 55063; -- Arbiter - Judge the fallen vrykul, ascending them to Ymirjar or reducing them to vargul. +SET @Challenge := 36851; +SET @Teleport := 34427; +SET @Sword := 192558; +-- Increase "TEMP Thane Illskar be present and that he and his champions not be engaged in battle" GOs radius from 10 to 30 +UPDATE `gameobject_template` SET `data1`=30 WHERE `entry` = 300235; +-- SAI Thane Illskar +UPDATE `creature_template` SET `unit_flags`=`unit_flags`|4,`AIName`= 'SmartAI' WHERE `entry`=@Thane_Illskar; +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@Thane_Illskar; +DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid` IN (@Script,@Script1); +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@Thane_Illskar,0,0,1,8,0,100,0,@Challenge,0,0,0,85,@ObjectiveCredit,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Thane - On spell hit by Sword Challenge - Invoker spell cast on self objectivecomplete credit'), +(@Thane_Illskar,0,1,0,61,0,100,0,0,0,0,0,80,@Script,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Thane - Linked with event 0 - Start script 00'), +(@Thane_Illskar,0,2,0,38,0,100,0,0,1,0,0,80,@Script1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Thane - On data set 0 1 - Start script 01'), +-- Script 00 +(@Script,9,0,0,0,0,100,0,500,500,0,0,1,0,2000,0,0,0,0,21,60,0,0,0,0,0,0, 'Action 0 - Say text 0'), +(@Script,9,1,0,0,0,100,0,1500,1500,0,0,45,0,1,0,0,0,0,9,@Volgur,0,70,0,0,0,0, 'Action 1 - Set data 0 1 to Volgur to trigger his SAI'), +-- Script 01 +(@Script1,9,0,0,0,0,100,0,500,500,0,0,1,1,2000,0,0,0,0,21,60,0,0,0,0,0,0, 'Action 0 - Say text 1'), +(@Script1,9,1,0,0,0,100,0,1500,1500,0,0,45,0,1,0,0,0,0,9,@Brita,0,70,0,0,0,0, 'Action 1 - Set data 0 1 to Brita to trigger her SAI'), +-- Continues normal events +(@Thane_Illskar,0,3,4,38,0,100,0,0,2,0,0,12,@Arbiter,2,180000,0,0,0,8,0,0,0,7851.866699,3399.678955,670.993225,3.665521, 'Thane - On Set data 0 2 - Summon Arbiter Val"kyr in air'), +(@Thane_Illskar,0,4,5,61,0,100,0,0,2,0,0,1,2,2000,0,0,0,0,21,50,0,0,0,0,0,0, 'Thane - Linked with event 3 - Say text 2'), +(@Thane_Illskar,0,5,6,61,0,100,0,0,0,0,0,1,3,2000,0,0,0,0,21,50,0,0,0,0,0,0, 'Thane - Linked with event 4 - Say text 3'), +(@Thane_Illskar,0,6,7,61,0,100,0,0,0,0,0,19,258,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Thane - Linked with event 5 - Remove unattackable flag'), +(@Thane_Illskar,0,7,0,61,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,30,0,0,0,0,0,0, 'Thane - Linked with event 6 - Attack player'), +(@Thane_Illskar,0,8,0,0,0,100,0,2000,6000,8500,15800,11,51779,0,0,0,0,0,2,0,0,0,0,0,0,0,'Thane - IC - Cast spell Frostfire Bolt'), +(@Thane_Illskar,0,9,0,0,0,100,0,2100,8100,2000,9000,11,19816,0,0,0,0,0,0,0,0,0,0,0,0,0,'Thane - IC - Cast spell Fire Ball'), +(@Thane_Illskar,0,10,0,0,0,100,0,4200,10200,1000,10200,11,17145,0,0,0,0,0,2,0,0,0,0,0,0,0,'Thane - IC - Blast Wave'), +(@Thane_Illskar,0,11,0,0,0,100,0,4300,10000,13000,16000,11,20754,0,0,0,0,0,2,0,0,0,0,0,0,0,'Thane - IC - Rain of Fire'), +(@Thane_Illskar,0,12,0,6,0,100,0,0,0,0,0,45,0,1,0,0,0,0,9,@Arbiter,0,70,0,0,0,0, 'Thane - On death - Data set 0 1 on Val"kyr Arbiter'), +(@Thane_Illskar,0,13,14,38,0,100,0,0,3,0,0,11,@Summon,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Thane - Action 0 - Cast Summon'), +(@Thane_Illskar,0,14,0,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Thane - Linked with event 13 - Set unseen'), +(@Thane_Illskar,0,15,0,25,0,100,0,0,0,0,0,45,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Thane - Data set 0 0'); +-- SAI for Volgur +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@Volgur; +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@Volgur; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@Volgur,0,0,1,38,0,100,0,0,1,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Volgur - On data set 0 1 - Remove flag immune to players'), +(@Volgur,0,1,0,61,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,50,0,0,0,0,0,0, 'Volgur - Linked with event 0 - Attack player'), +(@Volgur,0,2,0,0,0,100,0,5000,5000,30000,31000,11,23262,0,0,0,0,0,2,0,0,0,0,0,0,0,'Volgur - IC - Cast spell Demoralize'), +(@Volgur,0,3,0,0,0,100,0,3000,3000,11000,12800,11,43410,0,0,0,0,0,2,0,0,0,0,0,0,0,'Volgur - IC - Cast spell Chop'), +(@Volgur,0,4,0,9,0,100,0,6,30,15000,20000,11,49758,0,0,0,0,0,2,0,0,0,0,0,0,0,'Volgur - On target in range more than 6 yards - Cast spell Charge'), +(@Volgur,0,5,0,0,0,100,0,8000,8000,15000,18000,11,49807,0,0,0,0,0,2,0,0,0,0,0,0,0,'Volgur - IC - Cast spell Whirlwind'), +(@Volgur,0,6,0,6,0,100,0,0,0,0,0,45,0,1,0,0,0,0,9,@Thane_Illskar,0,80,0,0,0,0, 'Volgur - On death - Dataset 0 1 on Thane'), +(@Volgur,0,7,0,25,0,100,0,0,0,0,0,45,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Volgur - On Reset - Data set 0 0'); +-- SAI for Brita +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@Brita; +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@Brita; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@Brita,0,0,1,38,0,100,0,0,1,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Brita - On data set 0 1 - Remove flag immune to players'), +(@Brita,0,1,0,61,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,50,0,0,0,0,0,0, 'Brita - Linked with event 0 - Attack player'), +(@Brita,0,2,0,0,0,100,0,19500,19600,60000,60000,11,43414,0,0,0,0,0,2,0,0,0,0,0,0,0,'Brita - IC - Cast spell Frost trap'), +(@Brita,0,3,0,0,0,100,0,2100,6100,5000,10000,11,44286,0,0,0,0,0,2,0,0,0,0,0,0,0,'Brita - IC - Cast spell Wing Clip'), +(@Brita,0,4,0,0,0,100,0,20000,21000,20000,21000,11,60932,0,0,0,0,0,2,0,0,0,0,0,0,0,'Brita - Linked with event 2 - Cast spell Disengage /Leaps backwards/'), +(@Brita,0,5,6,0,0,100,0,2500,3000,2000,2250,11,60954,1,0,0,0,0,2,0,0,0,0,0,0,0,'Brita - IC - Cast spell Aimed Shot /only out of melee range/'), +(@Brita,0,6,0,61,0,100,0,0,0,0,0,11,49712,0,0,0,0,0,2,0,0,0,0,0,0,0,'Brita - Linked with event 5 - Cast spell Shoot /only out of melee range/'), +(@Brita,0,7,0,6,0,100,0,0,0,0,0,45,0,2,0,0,0,0,9,@Thane_Illskar,0,80,0,0,0,0, 'Brita - On death - Dataset 0 2 on Thane'), +(@Brita,0,8,0,25,0,100,0,0,0,0,0,45,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Brita - On reset - Data set 0 0'); +-- SAI for Arbiter +DELETE FROM `creature_template_addon` WHERE `entry`=@Arbiter; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) +VALUES (@Arbiter, 0, 0, 33554432, 1, 0, NULL); +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@Arbiter; +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@Arbiter; +DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid`=@Script2; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@Arbiter,0,0,0,54,0,100,0,0,0,0,0,11,@Teleport,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Arbiter - On spawn - Cast Ethereal Teleport on self'), +(@Arbiter,0,1,0,38,0,100,0,0,1,0,0,80,@Script2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Arbiter - On Data set 0 1 - Follow Thane Illskar'), +-- Start script 00 (Script2) +(@Script2,9,0,0,0,0,100,0,0,0,0,0,69,1,0,0,0,0,0,0,0,0,0,7835.128906,3389.118408,655.098083,3.915739, 'Action 0 - Move to pos (near Illskar body)'), +(@Script2,9,1,0,0,0,100,0,2250,2250,0,0,1,0,1000,0,0,0,0,1,0,0,0,0,0,0,0, 'Action 1 - Say text 0'), +(@Script2,9,2,0,0,0,100,0,2250,2250,0,0,1,1,2000,0,0,0,0,1,0,0,0,0,0,0,0, 'Action 2 - Say text 1'), +(@Script2,9,3,0,0,0,100,0,0,0,0,0,11,@Judge,0,0,0,0,0,10,121005,@Thane_Illskar,0,0,0,0,0, 'Action 3 - Cast spell Arbiter Judgment /visual stuff/'), +(@Script2,9,4,0,0,0,100,0,5000,5000,0,0,45,0,3,0,0,0,0,10,121005,@Thane_Illskar,0,0,0,0,0, 'Action 4 - Data set 0 3 on Thane'), +(@Script2,9,5,0,0,0,100,0,0,0,0,0,69,1,0,0,0,0,0,0,0,0,0,7851.866699,3399.678955,670.993225,3.665521, 'Action 5 - Move to pos /starting one/'), +(@Script2,9,6,0,0,0,100,0,4000,4000,0,0,45,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Action 6 - Data set 0 0'), +(@Script2,9,7,0,0,0,100,0,0,0,0,0,78,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Action 7 - Reset'), +(@Script2,9,8,0,0,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Action 8 - Set unseen'), +(@Script2,9,9,0,0,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Action 9 - Despawn'); +-- SAI for Thane Illskar the Damned and creature_template_addon data +DELETE FROM `creature_template_addon` WHERE `entry`=@TheDamned; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(@TheDamned, 0, 0, 9, 1, 0, NULL); +UPDATE `creature_template` SET `unit_flags`=33024,`faction_A`=1885,`faction_H`=1885,`AIName`= 'SmartAI' WHERE `entry`=@TheDamned; +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@TheDamned; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@TheDamned,0,0,1,54,0,100,0,0,0,0,0,91,9,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Thane Illskar the Damned - On summon - Remove field byte that makes creature submurged under ground (to create emerge on surface effect)'), +(@TheDamned,0,1,2,61,0,100,0,0,0,0,0,1,0,1000,0,0,0,0,1,0,0,0,0,0,0,0, 'Thane Illskar the Damned - Linked with event 1 - Say text 0'), +(@TheDamned,0,2,3,61,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,0.9, 'Thane Illskar the Damned - Linked with event 2 - Set orientation to look towards Arbiter'), +(@TheDamned,0,3,0,61,0,100,0,0,0,0,0,90,8,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Thane Illskar the Damned - Linked with event 3 - Set unit field bytes for creature kneel state'); +-- Add conditions for Judge +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=@Judge; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition` ,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,@Judge,0,0,31,0,3,@Thane_Illskar,0,0,0,'','Judge can target only Illskar'); +-- Add conditions for Challenge - player can only cast it, if no sword is already on ground /per 3 minutes/ +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry`=@Challenge; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition` ,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(17,0,@Challenge,0,0,30,0,@Sword,30,0,1,0,'','Challenge can be used only, if no aura present from it'); +-- Texts +DELETE FROM `creature_text` WHERE `entry` IN (@Thane_Illskar,@Arbiter,@TheDamned); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@Thane_Illskar,0,0,'Bethod''s Sword?!! Very well, $r, I accept your challenge. But first, you must best my champions. Volgur! Squash this insect!',14,0,100,15,2000,0,'Thane'), +(@Thane_Illskar,1,0,'Brita, create a pincushion of this puny $c!',14,0,100,22,2000,0,'Thane'), +(@Thane_Illskar,2,0,'You may have defeated my champions, $c. I am something else entirely.',14,0,100,66,2000,0,'Thane'), +(@Thane_Illskar,3,0,'Pray to your gods for a quick death.',14,0,100,53,2000,0,'Thane'), +(@Arbiter,0,0,'Thane Illskar, you were challenged to honorable combat and failed.',14,0,100,0,2000,0,'Arbiter'), +(@Arbiter,1,0,'You have been found wanting and are judged accordingly. Now rise, Thane Illskar the Damned!',14,0,100,0,2000,0,'Arbiter'), +(@TheDamned,0,0,'NOOOOOOOOOOOOOOOOOO!',14,0,100,15,2000,0,'Illskar the Damned'); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 5928: Quests 10305, 10306, 10307 and 10182 +-- Closes these issues: #3797 #1965 #1966 #1968 #1967 +-- Implement [Q]{A/H} Abjurist Belmara ID: 10305 & [Q]{A/H} Conjurer Luminrath ID: 10306 & +-- [Q]{A/H} Cohlien Frostweaver: 10307 & [Q]{A/H} Battle-Mage Dathric: 10182 +-- NPCs +SET @Belmara := 19546; -- The required npc to be summoned to thank the player, give credit and despawn +SET @Luminrath := 19580; -- The required npc to be summoned to thank the player, give credit and despawn /with cape/ +SET @LCapeless := 19544; -- /without cape/ +SET @Dathric := 19543; -- The required npc to be summoned to thank the player, give credit and despawn /with hat version/ +SET @Frostweaver := 19579; -- The required npc to be summoned to thank the player, give credit and despawn /with hat version/ +SET @FHatless := 19545; -- /without hat/ +-- Involved spells and credits +SET @Book := 34140; -- The required spell that triggers the event below to summon the npc to give credit +SET @BelmaraCredit := 19547; +SET @Mantle := 34142; -- The required spell that triggers the event below to summon the npc to give credit +SET @LuminrathCredit := 19548; +SET @Hat := 34144; -- The required spell that triggers the event below to summon the npc to give credit +SET @FrostweaverCredit := 19550; +SET @Weapon := 34141; -- The required spell that triggers the event below to summon the npc to give credit +SET @DathricCredit := 19549; +-- Removes the required spell since it doesn't exist in dbc, it's some random made error most likely, +-- on top of that spells values were copied from quest template entry (huh?, anyway this field is deprecated)... +UPDATE `quest_template` SET `RequiredSpellCast1`=0 WHERE `Id` IN (10305,10306,10307); +UPDATE `quest_template` SET `RequiredSpellCast2`=0 WHERE `Id`=10182; +-- Add SAI and db updates for related npcs +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` IN (@Belmara,@Luminrath,@LCapeless,@Dathric,@Frostweaver,@FHatless); +UPDATE `creature_template` SET `maxlevel`=68,`minlevel`=68,`unit_class`=2 WHERE `entry`= @Luminrath; +UPDATE `creature_template` SET `maxlevel`=68,`minlevel`=68,`unit_class`=2 WHERE `entry`= @Frostweaver; +DELETE FROM `creature_ai_scripts` WHERE `creature_id` IN (@Belmara,@Luminrath,@LCapeless,@Dathric,@Frostweaver,@FHatless); +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid` IN (@Belmara,@Luminrath,@LCapeless,@Dathric,@Frostweaver,@FHatless); +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@Belmara,0,0,1,54,0,100,0,0,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ajdurist Belmara - On creature summoned - Switch faction to friendly'), +(@Belmara,0,1,2,61,0,100,0,0,0,0,0,1,0,1000,0,0,0,0,1,0,0,0,0,0,0,0,'Ajdurist Belmara - Linked with event 0 - Say text 0'), +(@Belmara,0,2,0,61,0,100,0,0,0,0,0,33,@BelmaraCredit,0,0,0,0,0,23,0,0,0,0,0,0,0,'Ajdurist Belmara - Linked with event 1 - Call killcredit to player'), +(@Belmara,0,3,0,4,0,100,0,0,0,0,0,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ajdurist Belmara - On aggro - Cast to self Frost armor'), +(@Belmara,0,4,0,0,0,100,0,2000,5000,12000,22000,11,17740,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ajdurist Belmara - IC - Cast to self Mana shield'), +(@Belmara,0,5,0,0,0,100,0,0,6000,2500,8000,11,34447,0,0,0,0,0,2,0,0,0,0,0,0,0,'Ajdurist Belmara - IC - Cast Arcane missles'), +(@Belmara,0,6,0,25,0,100,0,0,0,0,0,28,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ajdurist Belmara - On reset - Remove aura from Frost Armor'), +-- Luminrath /with cape/ +(@Luminrath,0,0,0,54,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Conjurer Luminrath - On creature summoned - Say text 0'), +(@Luminrath,0,1,2,61,0,100,0,0,0,0,0,1,1,1000,0,0,0,0,1,0,0,0,0,0,0,0,'Conjurer Luminrath - Linked with event 0 - Say text 1'), +(@Luminrath,0,2,0,61,0,100,0,0,0,0,0,33,@LuminrathCredit,0,0,0,0,0,21,20,0,0,0,0,0,0,'Conjurer Luminrath - Linked with event 1 - Call credit to player'), +-- Luminrath /without cape/ +(@LCapeless,0,0,0,0,0,100,0,0,2500,1000,7500,11,9532,0,0,0,0,0,2,0,0,0,0,0,0,0,'Conjurer Luminrath - IC - Cast Lightening bolt'), +(@LCapeless,0,1,0,0,0,100,0,0,5000,15000,30000,11,36110,0,0,0,0,0,2,0,0,0,0,0,0,0,'Conjurer Luminrath - IC - Cast Summon Dancing Swords'), +(@LCapeless,0,2,0,0,0,100,0,0,10000,5000,15000,11,36109,0,0,0,0,0,1,0,0,0,0,0,0,0,'Conjurer Luminrath - IC - Cast Blink'), +-- Frostweaver /without hat/ +(@FHatless,0,0,0,0,0,100,0,0,1000,25000,30000,11,33245,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cohlien Frostweaver - IC - Cast Ice Barrier on self'), +(@FHatless,0,1,0,0,0,100,0,0,10000,2500,9500,11,11831,0,0,0,0,0,2,0,0,0,0,0,0,0,'Cohlien Frostweaver - IC - Cast Frost Nova'), +(@FHatless,0,2,0,0,0,100,0,0,2500,2500,11000,11,9672,0,0,0,0,0,2,0,0,0,0,0,0,0,'Cohlien Frostweaver - IC - Cast Frostbolt'), +-- Frostweaver /with hat/ +(@Frostweaver,0,0,1,54,0,100,0,0,0,0,0,1,0,1000,0,0,0,0,1,0,0,0,0,0,0,0,'Cohlien Frostweaver - On creature summoned - Say text 0'), +(@Frostweaver,0,1,0,61,0,100,0,0,0,0,0,33,@FrostweaverCredit,0,0,0,0,0,21,20,0,0,0,0,0,0,'Cohlien Frostweaver - Linked with event 0 - Call credit to player'), +-- Dathric +(@Dathric,0,0,1,54,0,100,0,0,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Dathric - On creature summoned - Switch faction to friendly'), +(@Dathric,0,1,2,61,0,100,0,0,0,0,0,1,0,1000,0,0,0,0,1,0,0,0,0,0,0,0,'Dathric - Linked with event 0 - Say text 0'), +(@Dathric,0,2,0,61,0,100,0,0,0,0,0,33,@DathricCredit,0,0,0,0,0,21,20,0,0,0,0,0,0,'Dathric - Linked with event 1 - Call credit to player'), +(@Dathric,0,3,0,0,0,100,0,0,3000,3000,8000,11,36104,0,0,0,0,0,2,0,0,0,0,0,0,0,'Dathric - IC - Cast Torrent of Flames'), +(@Dathric,0,4,0,0,0,100,0,0,2500,8500,12000,11,17273,0,0,0,0,0,2,0,0,0,0,0,0,0,'Dathric - IC - Cast Pyroblast'); +-- NPCs texts +DELETE FROM `creature_text` WHERE `entry` IN (@Dathric,@Frostweaver,@Luminrath,@Belmara); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@Dathric,0,0,'I don''t know what I was thinking, going out without my sword. I would''ve put it on if I''d seen it here...',12,0,100,1,0,0,'Dathric gratitude'), +-- Frostweaver's text +(@Frostweaver,0,0,'Phew! There''s my lucky hat. I''ve been looking for it everywhere.',12,0,100,1,0,0,'Frostweaver gratitude'), +-- Luminrath's text +(@Luminrath,0,0,'I can''t possibly go out without my cloak. I hope it''s in here...',12,0,100,1,0,0,'Luminrath gratitude'), +(@Luminrath,1,0,'There it is! I could''ve sworn it wasn''t here last time I checked...',12,0,100,1,0,0,'Luminrath gratitude'), +-- Belmara's text +(@Belmara,0,0,'I can''t sleep without a good bedtime story. Now I''m certain to rest well.',12,0,100,1,0,0,'Belmara gratitude'); +-- Gives support for send_event scripts in quest related spells +DELETE FROM `event_scripts` WHERE `id` IN (12607,12608,12609,12610); +INSERT INTO `event_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`x`,`y`,`z`,`o`) VALUES +(12607,0,10,@Belmara,25000,2242.230957,2389.818115,112.811760,2.941585), +(12608,0,10,@Dathric,25000,2228.003662,2314.015869,89.643219,4.822619), +(12609,0,10,@Luminrath,25000,2192.744873,2340.836182,90.353905,4.682819), +(12610,0,10,@Frostweaver,25000,2203.629883,2413.392090,109.257515,3.961037); diff --git a/sql/updates/world/2012_12_07_04_world_misc.sql b/sql/updates/world/2012_12_07_04_world_misc.sql new file mode 100644 index 00000000000..fb4c466d91c --- /dev/null +++ b/sql/updates/world/2012_12_07_04_world_misc.sql @@ -0,0 +1,5 @@ +DELETE FROM `creature_ai_scripts` WHERE `creature_id` =19255; + +UPDATE `conditions` SET `ErrorType`=173,`ErrorTextId`=0 WHERE `SourceTypeOrReferenceId` =17 AND `SourceEntry`=74222; + +UPDATE `quest_template` SET `SpecialFlags`=`SpecialFlags` |0x1 WHERE `Id` IN (9884,9885,9886,9887); diff --git a/sql/updates/world/2012_12_07_05_world_creature_text.sql b/sql/updates/world/2012_12_07_05_world_creature_text.sql new file mode 100644 index 00000000000..8e3e2cd737f --- /dev/null +++ b/sql/updates/world/2012_12_07_05_world_creature_text.sql @@ -0,0 +1,22 @@ +DELETE FROM `creature_text` WHERE `entry` IN (12428,12423,12430,12427,12429); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- Deathguard Kel +(12428, 0, 0, 'Thank you! Thank you, $GPriest:Priestess;. Now I can take on those gnolls with your power to back me!', 12, 1, 100, 1, 0, 0, 'Deathguard Kel - SAY_THANKS'), +(12428, 1, 0, 'Farewell to you, and may shadow always protect you!', 12, 1, 100, 3, 0, 0, 'Deathguard Kel - SAY_GOODBYE'), +(12428, 2, 0, 'Ah, $GPriest:Priestess; you came along just in time. I appreciate it.', 12, 0, 100, 2, 0, 0, 'Deathguard Kel - SAY_HEALED'), +-- Guard Robert +(12423, 0, 0, 'Thank you! Thank you, $GPriest:Priestess;. Now I can take on those murlocs with the Light on my side!', 12, 7, 100, 1, 0, 0, 'Guard Roberts - SAY_THANKS'), +(12423, 1, 0, 'Farewell to you, and may the Light be with you always.', 12, 7, 100, 3, 0, 0, 'Guard Roberts - SAY_GOODBYE'), +(12423, 2, 0, 'Ah, $GPriest:Priestess; you came along just in time. I appreciate it.', 12, 0, 100, 2, 0, 0, 'Guard Robert - SAY_HEALED'), +-- Grunt Kor'ja +(12430, 0, 0, 'Thank you! Thank you, $GPriest:Priestess;. Now I can take on those humans with your power to back me!', 12, 7, 100, 0, 0, 0, 'Grunt Kor''ja - SAY_THANKS'), +(12430, 1, 0, 'Farewell to you, and may our ancestors be with you always!', 12, 1, 100, 3, 0, 0, 'Grunt Kor''ja - SAY_GOODBYE'), +(12430, 2, 0, 'Ah, $GPriest:Priestess; you came along just in time. I appreciate it.', 12, 0, 100, 2, 0, 0, 'Grunt Kor''ja - SAY_HEALED'), +-- Mountaineer Dol +(12427, 0, 0, 'Thank you! Thank you, $GPriest:Priestess;. Now I can take on those wendigo with the Light on my side!', 12, 7, 100, 1, 0, 0, 'Mountaineer Dolf - SAY_THANKS'), +(12427, 1, 0, 'Farewell to you, and may the Light be with you always.', 12, 7, 100, 3, 0, 0, 'Mountaineer Dolf - SAY_GOODBYE'), +(12427, 2, 0, 'Ah, $GPriest:Priestess; you came along just in time. I appreciate it.', 12, 0, 100, 2, 0, 0, 'Mountaineer Dol - SAY_HEALED'), +-- Sentinel Shaya +(12429, 0, 0, 'Thank you! Thank you, $GPriest:Priestess;. Now I can take on those corrupt timberlings with Elune''s power behind me!', 12, 2, 100, 1, 0, 0, 'Sentinel Shaya - SAY_THANKS'), +(12429, 1, 0, 'Farewell to you, and may Elune be with you always.', 12, 2, 100, 3, 0, 0, 'Sentinel Shaya - SAY_GOODBYE'), +(12429, 2, 0, 'Ah, $GPriest:Priestess; you came along just in time. I appreciate it.', 12, 0, 100, 2, 0, 0, 'Sentinel Shaya - SAY_HEALED'); diff --git a/sql/updates/world/2012_12_07_06_world_sai.sql b/sql/updates/world/2012_12_07_06_world_sai.sql new file mode 100644 index 00000000000..d0d1be35766 --- /dev/null +++ b/sql/updates/world/2012_12_07_06_world_sai.sql @@ -0,0 +1,35 @@ +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- After 5 seconds a cleansed version of the plant appears +DELETE FROM `quest_end_scripts` WHERE `id` IN (996,998,1514,2523,2878,3363,4113,4114,4115,4116,4117,4118,4119,4221,4222,4343,4401,4403,4443,4444,4445,4446,4447,4448,4461,4462,4464,4465,4466,4467); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (164887,173327,174599,164886,171939,171942,174594,174595,174600,174596,164888,174597,164885,174601,174602,174603,174598,174604,173284,174605,174606,174607,174684,173324,174686,174608,174712,174713,174708,174709) AND `source_type`=1; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(164887,1,0,1,20,0,100,0,996 ,0,0,0,70,5000,0,0,0,0,0,14,48878,0,0,0,0,0,0, 'On Quest "Corrupted Windblossom" Complete - After 5 seconds - Summon Cleansed Windblossom'), +(173327,1,0,1,20,0,100,0,998 ,0,0,0,70,5000,0,0,0,0,0,14,48879,0,0,0,0,0,0, 'On Quest "Corrupted Windblossom" Complete - After 5 seconds - Summon Cleansed Windblossom'), +(174599,1,0,1,20,0,100,0,1514,0,0,0,70,5000,0,0,0,0,0,14,48880,0,0,0,0,0,0, 'On Quest "Corrupted Windblossom" Complete - After 5 seconds - Summon Cleansed Windblossom'), +(164886,1,0,1,20,0,100,0,2523,0,0,0,70,5000,0,0,0,0,0,14,48876,0,0,0,0,0,0, 'On Quest "Corrupted Songflower" Complete - After 5 seconds - Summon Cleansed Songflower'), +(171939,1,0,1,20,0,100,0,2878,0,0,0,70,5000,0,0,0,0,0,14,48877,0,0,0,0,0,0, 'On Quest "Corrupted Songflower" Complete - After 5 seconds - Summon Cleansed Songflower'), +(171942,1,0,1,20,0,100,0,3363,0,0,0,70,5000,0,0,0,0,0,14,48892,0,0,0,0,0,0, 'On Quest "Corrupted Songflower" Complete - After 5 seconds - Summon Cleansed Songflower'), +(174594,1,0,1,20,0,100,0,4113,0,0,0,70,5000,0,0,0,0,0,14,48893,0,0,0,0,0,0, 'On Quest "Corrupted Songflower" Complete - After 5 seconds - Summon Cleansed Songflower'), +(174595,1,0,1,20,0,100,0,4114,0,0,0,70,5000,0,0,0,0,0,14,48894,0,0,0,0,0,0, 'On Quest "Corrupted Songflower" Complete - After 5 seconds - Summon Cleansed Songflower'), +(174600,1,0,1,20,0,100,0,4115,0,0,0,70,5000,0,0,0,0,0,14,48887,0,0,0,0,0,0, 'On Quest "Corrupted Windblossom" Complete - After 5 seconds - Summon Cleansed Windblossom'), +(174596,1,0,1,20,0,100,0,4116,0,0,0,70,5000,0,0,0,0,0,14,48895,0,0,0,0,0,0, 'On Quest "Corrupted Songflower" Complete - After 5 seconds - Summon Cleansed Songflower'), +(164888,1,0,1,20,0,100,0,4117,0,0,0,70,5000,0,0,0,0,0,14,48881,0,0,0,0,0,0, 'On Quest "Corrupted Whipper Root" Complete - After 5 seconds - Summon Cleansed Whipper Root'), +(174597,1,0,1,20,0,100,0,4118,0,0,0,70,5000,0,0,0,0,0,14,18207,0,0,0,0,0,0, 'On Quest "Corrupted Songflower" Complete - After 5 seconds - Summon Cleansed Songflower'), +(164885,1,0,1,20,0,100,0,4119,0,0,0,70,5000,0,0,0,0,0,14,17641,0,0,0,0,0,0, 'On Quest "Corrupted Night Dragon" Complete - After 5 seconds - Summon Cleansed Night Dragon'), +(174601,1,0,1,20,0,100,0,4221,0,0,0,70,5000,0,0,0,0,0,14,48888,0,0,0,0,0,0, 'On Quest "Corrupted Windblossom" Complete - After 5 seconds - Summon Cleansed Windblossom'), +(174602,1,0,1,20,0,100,0,4222,0,0,0,70,5000,0,0,0,0,0,14,48889,0,0,0,0,0,0, 'On Quest "Corrupted Windblossom" Complete - After 5 seconds - Summon Cleansed Windblossom'), +(174603,1,0,1,20,0,100,0,4343,0,0,0,70,5000,0,0,0,0,0,14,48890,0,0,0,0,0,0, 'On Quest "Corrupted Windblossom" Complete - After 5 seconds - Summon Cleansed Windblossom'), +(174598,1,0,1,20,0,100,0,4401,0,0,0,70,5000,0,0,0,0,0,14,48896,0,0,0,0,0,0, 'On Quest "Corrupted Songflower" Complete - After 5 seconds - Summon Cleansed Songflower'), +(174604,1,0,1,20,0,100,0,4403,0,0,0,70,5000,0,0,0,0,0,14,48891,0,0,0,0,0,0, 'On Quest "Corrupted Windblossom" Complete - After 5 seconds - Summon Cleansed Windblossom'), +(173284,1,0,1,20,0,100,0,4443,0,0,0,70,5000,0,0,0,0,0,14,44882,0,0,0,0,0,0, 'On Quest "Corrupted Whipper Root" Complete - After 5 seconds - Summon Cozy Fire'), +(174605,1,0,1,20,0,100,0,4444,0,0,0,70,5000,0,0,0,0,0,14,48883,0,0,0,0,0,0, 'On Quest "Corrupted Whipper Root" Complete - After 5 seconds - Summon Cleansed Whipper Root'), +(174606,1,0,1,20,0,100,0,4445,0,0,0,70,5000,0,0,0,0,0,14,48884,0,0,0,0,0,0, 'On Quest "Corrupted Whipper Root" Complete - After 5 seconds - Summon Cleansed Whipper Root'), +(174607,1,0,1,20,0,100,0,4446,0,0,0,70,5000,0,0,0,0,0,14,48885,0,0,0,0,0,0, 'On Quest "Corrupted Whipper Root" Complete - After 5 seconds - Summon Cleansed Whipper Root'), +(174684,1,0,1,20,0,100,0,4447,0,0,0,70,5000,0,0,0,0,0,14,48873,0,0,0,0,0,0, 'On Quest "Corrupted Night Dragon" Complete - After 5 seconds - Summon Cleansed Night Dragon'), +(173324,1,0,1,20,0,100,0,4448,0,0,0,70,5000,0,0,0,0,0,14,48874,0,0,0,0,0,0, 'On Quest "Corrupted Night Dragon" Complete - After 5 seconds - Summon Cleansed Night Dragon'), +(174686,1,0,1,20,0,100,0,4461,0,0,0,70,5000,0,0,0,0,0,14,48886,0,0,0,0,0,0, 'On Quest "Corrupted Whipper Root" Complete - After 5 seconds - Summon Cleansed Whipper Root'), +(174608,1,0,1,20,0,100,0,4462,0,0,0,70,5000,0,0,0,0,0,14,48875,0,0,0,0,0,0, 'On Quest "Corrupted Night Dragon" Complete - After 5 seconds - Summon Cleansed Night Dragon'), +(174712,1,0,1,20,0,100,0,4464,0,0,0,70,5000,0,0,0,0,0,14,48898,0,0,0,0,0,0, 'On Quest "Corrupted Songflower" Complete - After 5 seconds - Summon Cleansed Songflower'), +(174713,1,0,1,20,0,100,0,4465,0,0,0,70,5000,0,0,0,0,0,14,48900,0,0,0,0,0,0, 'On Quest "Corrupted Songflower" Complete - After 5 seconds - Summon Cleansed Songflower'), +(174708,1,0,1,20,0,100,0,4466,0,0,0,70,5000,0,0,0,0,0,14,48897,0,0,0,0,0,0, 'On Quest "Corrupted Windblossom" Complete - After 5 seconds - Summon Cleansed Windblossom'), +(174709,1,0,1,20,0,100,0,4467,0,0,0,70,5000,0,0,0,0,0,14,48899,0,0,0,0,0,0, 'On Quest "Corrupted Windblossom" Complete - After 5 seconds - Summon Cleansed Windblossom'); diff --git a/sql/updates/world/2012_12_07_07_world_sai.sql b/sql/updates/world/2012_12_07_07_world_sai.sql new file mode 100644 index 00000000000..d9acb9c310c --- /dev/null +++ b/sql/updates/world/2012_12_07_07_world_sai.sql @@ -0,0 +1,36 @@ +-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +DELETE FROM `quest_end_scripts` WHERE `id`=13082; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=30562; +DELETE FROM `smart_scripts` WHERE `entryorguid`=30562 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(30562,0,0,0,20,1,100,0,13082,0,0,0,11,57786,0,0,0,0,0,7,0,0,0,0,0,0,0,'Crusader Bridenbrad - On Quest Complete - Cast Spell on action Invoker'), +(30562,0,1,0,20,1,100,0,13082,0,0,0,11,57782,0,0,0,0,0,7,0,0,0,0,0,0,0,'Crusader Bridenbrad - On Quest Complete - Cast Spell on action Invoker'), +(30562,0,2,0,20,1,100,0,13082,0,0,0,11,57746,0,0,0,0,0,7,0,0,0,0,0,0,0,'Crusader Bridenbrad - On Quest Complete - Cast Spell on action Invoker'), +(30562,0,3,0,20,1,100,0,13082,0,0,0,11,57747,0,0,0,0,0,7,0,0,0,0,0,0,0,'Crusader Bridenbrad - On Quest Complete - Cast Spell on action Invoker'), +(30562,0,4,0,20,1,100,0,13082,0,0,0,11,57773,0,0,0,0,0,7,0,0,0,0,0,0,0,'Crusader Bridenbrad - On Quest Complete - Cast Spell on action Invoker'); +-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +DELETE FROM `quest_end_scripts` WHERE `id`=10919; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=20206; +DELETE FROM `smart_scripts` WHERE `entryorguid`=20206 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(20206,0,0,0,20,1,100,0,13082,0,0,0,53,0,20206,0,0,0,0,1,0,0,0,0,0,0,0,'Fei Fei - On Quest Complete - Start Waypointing'); +DELETE FROM `waypoints` WHERE `entry`=20206; +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(20206,1,-697.934,2612.59,89.4752,'Fei Fei Treats Quest_End'), +(20206,2,-688.665,2580.78,86.9841,'Fei Fei Treats Quest_End'), +(20206,3,-689.199,2588.81,87.4460,'Fei Fei Treats Quest_End'), +(20206,4,-667.044,2611.74,85.7029,'Fei Fei Treats Quest_End'), +(20206,5,-649.407,2636.82,86.1539,'Fei Fei Treats Quest_End'), +(20206,6,-659.047,2651.34,87.0480,'Fei Fei Treats Quest_End'), +(20206,7,-656.048,2652.06,86.5892,'Fei Fei Treats Quest_End'), +(20206,8,-656.055,2674.20,88.1354,'Fei Fei Treats Quest_End'), +(20206,9,-691.042,2652.45,92.1508,'Fei Fei Treats Quest_End'), +(20206,10,-688.807,2701.25,94.8354,'Fei Fei Treats Quest_End'), +(20206,11,-667.514,2716.08,94.4471,'Fei Fei Treats Quest_End'), +(20206,12,-688.593,2723.67,94.4145,'Fei Fei Treats Quest_End'), +(20206,13,-687.635,2743.10,93.9095,'Fei Fei Treats Quest_End'), +(20206,14,-697.062,2748.04,93.9380,'Fei Fei Treats Quest_End'), +(20206,15,-687.635,2743.10,93.9095,'Fei Fei Treats Quest_End'), +(20206,16,-685.121,2689.01,93.8042,'Fei Fei Treats Quest_End'), +(20206,17,-688.862,2627.19,89.8591,'Fei Fei Treats Quest_End'), +(20206,18,-685.494,2626.74,89.2711,'Fei Fei Treats Quest_End'); diff --git a/sql/updates/world/2012_12_07_08_world_misc.sql b/sql/updates/world/2012_12_07_08_world_misc.sql new file mode 100644 index 00000000000..a696ba401cc --- /dev/null +++ b/sql/updates/world/2012_12_07_08_world_misc.sql @@ -0,0 +1,7 @@ +-- from 2012_12_07_01_world_misc.sql +UPDATE `quest_template` SET `CompleteScript`=0 WHERE `Id` IN (67,166,231,806,1521,3118,7786,10289,10813); +DELETE FROM `quest_end_scripts` WHERE `id` IN (67,166,231,806,1521,3118,7786,10289,10813); +-- from 2012_12_07_06_world_sai.sql +UPDATE `quest_template` SET `CompleteScript`=0 WHERE `Id` IN (996,998,1514,2523,2878,3363,4113,4114,4115,4116,4117,4118,4119,4221,4222,4343,4401,4403,4443,4444,4445,4446,4447,4448,4461,4462,4464,4465,4466,4467); +-- from 2012_12_07_07_world_sai.sql +UPDATE `quest_template` SET `CompleteScript`=0 WHERE `Id` IN (13082,10919); diff --git a/sql/updates/world/2012_12_07_09_world_db_script_string.sql b/sql/updates/world/2012_12_07_09_world_db_script_string.sql new file mode 100644 index 00000000000..4880b84dff0 --- /dev/null +++ b/sql/updates/world/2012_12_07_09_world_db_script_string.sql @@ -0,0 +1,2 @@ +-- Remove texts that are no longer used +DELETE FROM `db_script_string` WHERE `entry` IN (2000000028,2000000055,2000000065,2000000066); diff --git a/sql/updates/world/2012_12_08_00_world_creature_text.sql b/sql/updates/world/2012_12_08_00_world_creature_text.sql new file mode 100644 index 00000000000..5a5cd579e2b --- /dev/null +++ b/sql/updates/world/2012_12_08_00_world_creature_text.sql @@ -0,0 +1,12 @@ +DELETE FROM `creature_text` WHERE `entry`=27656; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +(27656, 0, 0, 'Simpletons! You cannot comprehend the forces you have set in motion. The ley line conduit will not be disrupted! Your defeat shall be absolute!', 14, 0, 100, 0, 0, 13622, 'Ley-Guardian Eregos - SAY_SPAWN'), +(27656, 1, 0, 'You brash interlopers are out of your element! I will ground you!', 14, 0, 100, 0, 0, 13623, 'Ley-Guardian Eregos - SAY_AGGRO'), +(27656, 2, 0, 'Such insolence... such arrogance... must be PUNISHED!', 14, 0, 100, 0, 0, 13624, 'Ley-Guardian Eregos - SAY_ENRAGE'), +(27656, 3, 0, 'It''s a long way down...', 14, 0, 100, 0, 0, 13628, 'Ley-Guardian Eregos - SAY_KILL'), +(27656, 3, 1, 'Back to the earth with you!', 14, 0, 100, 0, 0, 13629, 'Ley-Guardian Eregos - SAY_KILL'), +(27656, 3, 2, 'Enjoy the fall!', 14, 0, 100, 0, 0, 13630, 'Ley-Guardian Eregos - SAY_KILL'), +(27656, 4, 0, 'Savor this small victory, foolish little creatures. You and your dragon allies have won this battle, but we will win... the Nexus War.', 14, 0, 100, 0, 0, 13631, 'Ley-Guardian Eregos - SAY_DEATH'), +(27656, 5, 0, 'We command the arcane! It shall not be used against us.', 14, 0, 100, 0, 0, 13626, 'Ley-Guardian Eregos - SAY_SHIELD'), +(27656, 5, 1, 'It is trivial to extinguish your fire!', 14, 0, 100, 0, 0, 13627, 'Ley-Guardian Eregos - SAY_SHIELD'), +(27656, 5, 2, 'No magic of nature will help you now!', 14, 0, 100, 0, 0, 13625, 'Ley-Guardian Eregos - SAY_SHIELD'); diff --git a/sql/updates/world/2012_12_08_01_world_sai.sql b/sql/updates/world/2012_12_08_01_world_sai.sql new file mode 100644 index 00000000000..2880b01d07a --- /dev/null +++ b/sql/updates/world/2012_12_08_01_world_sai.sql @@ -0,0 +1,56 @@ +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Move Texts to correct table +DELETE FROM `db_script_string` WHERE `entry` IN (2000000090,2000000091,2000000092,2000000097,2000000098,2000000099,2000000100,2000000090,2000000091,2000000092,2000000095,2000000096); +DELETE FROM `creature_text` WHERE `entry` IN (1443,3054,3616,3448,4049); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +-- 1443: Ferzerul Texts +(1443,0,0, 'I hereby destroy these instruments of evil! For the Horde!',14,1,100,0,0,0, 'Felzerul on Quest 1445 finished'), +-- 3054: Zarlman Two-Moons Texts +(3054,0,0, 'Zarlman Two-Moons begins chanting as he mixes the well stones and ambercom before the Tribal Fire.',16,1,100,0,0,0, 'Zarlman Two-Moons on Quest 771 finished 1'), +(3054,1,0, 'The Water of the Seers is ready for your consumption, $N.' ,12,1,100,0,0,0, 'Zarlman Two-Moons on Quest 771 finished 2'), +-- 3448: Tonga Runetotem Texts +(3448,0,0, 'Tonga Runetotem inspects the snapjaw shells...' ,16,1,100,0,0,0, 'Tonga Runetotem on Quest 880 finished'), +(3448,1,0, 'Hm...' ,12,1,100,0,0,0, 'Tonga Runetotem on Quest 880 finished'), +(3448,2,0, 'Strange. Very strange...' ,12,1,100,0,0,0, 'Tonga Runetotem on Quest 880 finished'), +(3448,3,0, '$N. These shells tell me much, but I fear many more questions are now raised...',12,1,100,1,0,0, 'Tonga Runetotem on Quest 880 finished'), +-- 3616: Onu Texts +(3616,0,0, 'Onu studies the parchment from the Twilight Tome...',16,7,100,0,0,0, 'Onu on Quest 950 finished'), +(3616,1,0, 'Onu is struck by unleashed magic!' ,16,7,100,0,0,0, 'Onu on Quest 950 finished'), +(3616,2,0, 'Hmm...' ,12,7,100,0,0,0, 'Onu on Quest 950 finished'), +-- 4049: Seereth Stonebreak Texts +(4049,0,0, 'The spirits of Stonetalon still rage, $N.',16,7,100,0,0,0,'Seereth Stonebreak on Quest 1062 finished'), +(4049,1,0, 'I fear we may never soothe them...' ,16,7,100,0,0,0,'Seereth Stonebreak on Quest 1062 finished'); +-- SAI +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (1443,3054,3448,3616,4049,21311); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (1443,3054,3448,3616,4049,21311) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=305400 AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +-- Ferzerul Converted Quest_end_scripts id 1445 +(1443,0,0,1,20,0,100,0,1062,0,0,0,1 , 0,3000,0,0,0,0,1,0,0,0,0,0,0,0,'Seereth Stonebreak - On quest " The Temple of AtalHakkar" rewarded - Say line 1'), +(1443,0,1,0,20,0,100,0,1062,0,0,0,11,7437, 0,0,0,0,0,1,0,0,0,0,0,0,0,'Seereth Stonebreak - On quest " The Temple of AtalHakkar" rewarded - Cast Spell'), +-- Tonga Runetotem Converted Quest_end_scripts id 880 +(3448,0,0,1,20,0,100,0,880,0,0,0,1,0,5000,0,0,0,0,1,0,0,0,0,0,0,0, 'Tonga Runetotem - On quest "Altered Beings" rewarded - Say line 1'), +(3448,0,1,2,20,0,100,0,880,0,0,0,1,1,4000,0,0,0,0,1,0,0,0,0,0,0,0, 'Tonga Runetotem - On quest "Altered Beings" rewarded - Say line 2'), +(3448,0,2,3,20,0,100,0,880,0,0,0,1,2,4000,0,0,0,0,1,0,0,0,0,0,0,0, 'Tonga Runetotem - On quest "Altered Beings" rewarded - Say line 3'), +(3448,0,3,4,20,0,100,0,880,0,0,0,1,3,2000,0,0,0,0,1,0,0,0,0,0,0,0, 'Tonga Runetotem - On quest "Altered Beings" rewarded - Say line 4'), +-- Onu Converted Quest_end_scripts id 950 +(3616,0,0,1,20,0,100,0,950,0,0,0,1,0,4000,0,0,0,0,1,0,0,0,0,0,0,0, 'Onu - On quest "Return to Onu" rewarded - Say line 1'), +(3616,0,1,2,20,0,100,0,950,0,0,0,1,1,4000,0,0,0,0,1,0,0,0,0,0,0,0, 'Onu - On quest "Return to Onu" rewarded - Say line 2'), +(3616,0,2,0,20,0,100,0,950,0,0,0,1,2, 0,0,0,0,0,1,0,0,0,0,0,0,0, 'Onu - On quest "Return to Onu" rewarded - Say line 3'), +-- Seereth Stonebeak Converted Quest_end_scripts id 1062 +(4049,0,0,1,20,0,100,0,1062,0,0,0,1,0,4000,0,0,0,0,1,0,0,0,0,0,0,0,'Seereth Stonebreak - On quest "Goblin Invaders" rewarded - Say line 1'), +(4049,0,1,0,20,0,100,0,1062,0,0,0,1,1, 0,0,0,0,0,1,0,0,0,0,0,0,0,'Seereth Stonebreak - On quest "Goblin Invaders" rewarded - Say line 2'), +-- Rokgar Bloodgrip Converted Quest_end_scripts id 10526 +(21311,0,0,0,20,0,100,0,10526,0,0,0,12,21950,1,900000,0,0,0,8,0,0,0,2272.95,5984.40,142.79,6.23, 'Rokgah Bloodgrip - On Quest "The Thunderspike" Complete - Summon Garm Wolfbrother'), +(21311,0,1,0,20,0,100,0,10526,0,0,0,12,21952,1,900000,0,0,0,8,0,0,0,2273.26,5986.73,142.75,5.14, 'Rokgah Bloodgrip - On Quest "The Thunderspike" Complete - Summon Lobo'), +(21311,0,2,0,20,0,100,0,10526,0,0,0,12,21951,1,900000,0,0,0,8,0,0,0,2270.95,5982.93,142.83,0.31, 'Rokgah Bloodgrip - On Quest "The Thunderspike" Complete - Summon Thunderlord Clan Sub-Chief'), +(21311,0,3,0,20,0,100,0,10526,0,0,0,12,21951,1,900000,0,0,0,8,0,0,0,2271.17,5986.07,142.81,5.86, 'Rokgah Bloodgrip - On Quest "The Thunderspike" Complete - Summon Thunderlord Clan Sub-Chief'), +-- Zarlman Two-Moons Converted Quest_end_scripts id 771 +(3054 ,0,1,0,20,0,100,0, 771, 0,0,0,80,305400,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zarlman Two-Moons: On quest "" Rewarded - call script'), +(305400,9,0,1,1 ,0,100,0, 0, 0,0,0, 1, 0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zarlman Two-Moons - TimedScript - Say line 1'), +(305400,9,1,2,1 ,0,100,0,1000,1000,0,0,11, 5026,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Zarlman Two-Moons - TimedScript - Cast Spell'), +(305400,9,2,0,1 ,0,100,0,7000,7000,0,0, 1, 1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Zarlman Two-Moons - TimedScript - Say line 2'); +-- Quest_end_script removal +DELETE FROM `quest_end_scripts` WHERE `id` IN (10526,1445,1062,950,880); +UPDATE `quest_template` SET `CompleteScript`=0 WHERE `Id`IN (10526,1445,1062,950,880); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 41c46cf55d2..75845ebdb4f 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -16677,13 +16677,11 @@ bool Player::LoadPositionFromDB(uint32& mapid, float& x, float& y, float& z, flo return true; } -void Player::SetHomebind(WorldLocation const& /*loc*/, uint32 /*area_id*/) +void Player::SetHomebind(WorldLocation const& loc, uint32 areaId) { - m_homebindMapId = GetMapId(); - m_homebindAreaId = GetAreaId(); - m_homebindX = GetPositionX(); - m_homebindY = GetPositionY(); - m_homebindZ = GetPositionZ(); + loc.GetPosition(m_homebindX, m_homebindY, m_homebindZ); + m_homebindMapId = loc.GetMapId(); + m_homebindAreaId = areaId; // update sql homebind PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_PLAYER_HOMEBIND); diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 7d5b0487f4d..cc08e9c2e18 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2312,7 +2312,7 @@ class Player : public Unit, public GridObject<Player> float m_recallO; void SaveRecallPosition(); - void SetHomebind(WorldLocation const& loc, uint32 area_id); + void SetHomebind(WorldLocation const& loc, uint32 areaId); // Homebind coordinates uint32 m_homebindMapId; diff --git a/src/server/game/Handlers/NPCHandler.cpp b/src/server/game/Handlers/NPCHandler.cpp index f3b26452435..a9cb7e9b806 100644 --- a/src/server/game/Handlers/NPCHandler.cpp +++ b/src/server/game/Handlers/NPCHandler.cpp @@ -470,22 +470,6 @@ void WorldSession::SendBindPoint(Creature* npc) uint32 bindspell = 3286; - // update sql homebind - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_PLAYER_HOMEBIND); - stmt->setUInt16(0, _player->GetMapId()); - stmt->setUInt16(1, _player->GetAreaId()); - stmt->setFloat (2, _player->GetPositionX()); - stmt->setFloat (3, _player->GetPositionY()); - stmt->setFloat (4, _player->GetPositionZ()); - stmt->setUInt32(5, _player->GetGUIDLow()); - CharacterDatabase.Execute(stmt); - - _player->m_homebindMapId = _player->GetMapId(); - _player->m_homebindAreaId = _player->GetAreaId(); - _player->m_homebindX = _player->GetPositionX(); - _player->m_homebindY = _player->GetPositionY(); - _player->m_homebindZ = _player->GetPositionZ(); - // send spell for homebinding (3286) npc->CastSpell(_player, bindspell, true); diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 115d56a607c..831b29c2cfd 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -1098,7 +1098,7 @@ bool GridMap::loadData(char *filename) return false; } // loadup height data - if (header.heightMapOffset && !loadHeihgtData(in, header.heightMapOffset, header.heightMapSize)) + if (header.heightMapOffset && !loadHeightData(in, header.heightMapOffset, header.heightMapSize)) { sLog->outError(LOG_FILTER_MAPS, "Error loading map height data\n"); fclose(in); @@ -1154,7 +1154,7 @@ bool GridMap::loadAreaData(FILE* in, uint32 offset, uint32 /*size*/) return true; } -bool GridMap::loadHeihgtData(FILE* in, uint32 offset, uint32 /*size*/) +bool GridMap::loadHeightData(FILE* in, uint32 offset, uint32 /*size*/) { map_heightHeader header; fseek(in, offset, SEEK_SET); diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index 4e4b638faa4..a2ce227e2ea 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -176,7 +176,7 @@ class GridMap bool loadAreaData(FILE* in, uint32 offset, uint32 size); - bool loadHeihgtData(FILE* in, uint32 offset, uint32 size); + bool loadHeightData(FILE* in, uint32 offset, uint32 size); bool loadLiquidData(FILE* in, uint32 offset, uint32 size); // Get height functions and pointers diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 58f9d2856da..bb51d9d0e34 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -1392,7 +1392,7 @@ void Spell::SelectImplicitCasterDestTargets(SpellEffIndex effIndex, SpellImplici if (SpellTargetPosition const* st = sSpellMgr->GetSpellTargetPosition(m_spellInfo->Id)) { // TODO: fix this check - if (m_spellInfo->HasEffect(SPELL_EFFECT_TELEPORT_UNITS)) + if (m_spellInfo->HasEffect(SPELL_EFFECT_TELEPORT_UNITS) || m_spellInfo->HasEffect(SPELL_EFFECT_BIND)) m_targets.SetDst(st->target_X, st->target_Y, st->target_Z, st->target_Orientation, (int32)st->target_mapId); else if (st->target_mapId == m_caster->GetMapId()) m_targets.SetDst(st->target_X, st->target_Y, st->target_Z, st->target_Orientation); diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 72ef429bed0..a642d40c24d 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -6264,51 +6264,38 @@ void Spell::EffectBind(SpellEffIndex effIndex) Player* player = unitTarget->ToPlayer(); - uint32 area_id; - WorldLocation loc; - if (m_spellInfo->Effects[effIndex].TargetA.GetTarget() == TARGET_DEST_DB || m_spellInfo->Effects[effIndex].TargetB.GetTarget() == TARGET_DEST_DB) - { - SpellTargetPosition const* st = sSpellMgr->GetSpellTargetPosition(m_spellInfo->Id); - if (!st) - { - sLog->outError(LOG_FILTER_SPELLS_AURAS, "Spell::EffectBind - unknown teleport coordinates for spell ID %u", m_spellInfo->Id); - return; - } + WorldLocation homeLoc; + uint32 areaId = player->GetAreaId(); - loc.m_mapId = st->target_mapId; - loc.m_positionX = st->target_X; - loc.m_positionY = st->target_Y; - loc.m_positionZ = st->target_Z; - loc.m_orientation = st->target_Orientation; - area_id = player->GetAreaId(); - } + if (m_spellInfo->Effects[effIndex].MiscValue) + areaId = m_spellInfo->Effects[effIndex].MiscValue; + + if (m_targets.HasDst()) + homeLoc.WorldRelocate(*destTarget); else { - player->GetPosition(&loc); - area_id = player->GetAreaId(); + player->GetPosition(&homeLoc); + homeLoc.m_mapId = player->GetMapId(); } - player->SetHomebind(loc, area_id); + player->SetHomebind(homeLoc, areaId); // binding WorldPacket data(SMSG_BINDPOINTUPDATE, (4+4+4+4+4)); - data << float(loc.m_positionX); - data << float(loc.m_positionY); - data << float(loc.m_positionZ); - data << uint32(loc.m_mapId); - data << uint32(area_id); + data << float(homeLoc.GetPositionX()); + data << float(homeLoc.GetPositionY()); + data << float(homeLoc.GetPositionZ()); + data << uint32(homeLoc.GetMapId()); + data << uint32(areaId); player->SendDirectMessage(&data); - sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "New homebind X : %f", loc.m_positionX); - sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "New homebind Y : %f", loc.m_positionY); - sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "New homebind Z : %f", loc.m_positionZ); - sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "New homebind MapId : %u", loc.m_mapId); - sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "New homebind AreaId : %u", area_id); + sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "EffectBind: New homebind X: %f, Y: %f, Z: %f, MapId: %u, AreaId: %u", + homeLoc.GetPositionX(), homeLoc.GetPositionY(), homeLoc.GetPositionZ(), homeLoc.GetMapId(), areaId); // zone update data.Initialize(SMSG_PLAYERBOUND, 8+4); data << uint64(player->GetGUID()); - data << uint32(area_id); + data << uint32(areaId); player->SendDirectMessage(&data); } diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index ecab3712af1..3eefd969eed 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -2978,6 +2978,9 @@ void SpellMgr::LoadDbcDataCorrections() switch (spellInfo->Id) { + case 53096: // Quetz'lun's Judgment + spellInfo->MaxAffectedTargets = 1; + break; case 42730: spellInfo->EffectTriggerSpell[EFFECT_1] = 42739; break; diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp index 4bbb4c1a5ed..b17c471c81b 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp @@ -34,9 +34,12 @@ enum Events enum Says { - SAY_AGGRO = 0, - SAY_ENRAGE = 1, - SAY_DEATH = 2 + SAY_SPAWN = 0, + SAY_AGGRO = 1, + SAY_ENRAGE = 2, + SAY_KILL = 3, + SAY_DEATH = 4, + SAY_SHIELD = 5, }; enum Spells @@ -101,6 +104,11 @@ public: DoAction(ACTION_SET_NORMAL_EVENTS); } + void KilledUnit(Unit* /*victim*/) + { + Talk(SAY_KILL); + } + void EnterCombat(Unit* /*who*/) { _EnterCombat(); @@ -176,6 +184,7 @@ public: events.Reset(); _phase = (me->GetHealthPct() < 60.0f && me->GetHealthPct() > 20.0f) ? PHASE_FIRST_PLANAR : PHASE_SECOND_PLANAR; + Talk(SAY_SHIELD); DoCast(SPELL_PLANAR_SHIFT); // not sure about the amount, and if we should despawn previous spawns (dragon trashs) 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 5699616563a..921d67d6d65 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -1176,7 +1176,7 @@ class npc_lorekeeper : public CreatureScript if (Creature* Branz = creature->FindNearestCreature(NPC_BRANZ_BRONZBEARD, 1000, true)) { Delorah->GetMotionMaster()->MovePoint(0, Branz->GetPositionX()-4, Branz->GetPositionY(), Branz->GetPositionZ()); - //TODO DoScriptText(xxxx, Delorah, Branz); when reached at branz + //TODO Delorah->AI()->Talk(xxxx, Branz->GetGUID()); when reached at branz } } } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp index 0d4e3aad132..82845d10b8c 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp @@ -56,7 +56,7 @@ class boss_thorim : public CreatureScript void EnterEvadeMode() { - DoScriptText(SAY_WIPE, me); + Talk(SAY_WIPE); _EnterEvadeMode(); } @@ -68,7 +68,7 @@ class boss_thorim : public CreatureScript void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); _JustDied(); } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp index aaa95631792..4fe56b346b2 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp @@ -29,14 +29,14 @@ EndScriptData */ enum Yells { //Yells Ingvar - YELL_AGGRO_1 = -1574005, - YELL_AGGRO_2 = -1574006, + YELL_AGGRO_1 = 0, + YELL_AGGRO_2 = 1, - YELL_DEAD_1 = -1574007, - YELL_DEAD_2 = -1574008, + YELL_DEAD_1 = 2, + YELL_DEAD_2 = 3, - YELL_KILL_1 = -1574009, - YELL_KILL_2 = -1574010, + YELL_KILL_1 = 4, + YELL_KILL_2 = 5, }; enum Creatures @@ -151,7 +151,7 @@ public: events.SetPhase(PHASE_EVENT); events.ScheduleEvent(EVENT_SUMMON_BANSHEE, 3 * IN_MILLISECONDS, 0, PHASE_EVENT); - DoScriptText(YELL_DEAD_1, me); + Talk(YELL_DEAD_1); } if (events.GetPhaseMask() & (1 << PHASE_EVENT)) @@ -164,13 +164,13 @@ public: me->UpdateEntry(MOB_INGVAR_UNDEAD); events.ScheduleEvent(EVENT_JUST_TRANSFORMED, 2 * IN_MILLISECONDS, 0, PHASE_EVENT); - DoScriptText(YELL_AGGRO_2, me); + Talk(YELL_AGGRO_2); } void EnterCombat(Unit* /*who*/) { if (!bIsUndead) - DoScriptText(YELL_AGGRO_1, me); + Talk(YELL_AGGRO_1); if (instance) instance->SetData(DATA_INGVAR_EVENT, IN_PROGRESS); @@ -180,7 +180,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(YELL_DEAD_2, me); + Talk(YELL_DEAD_2); if (instance) { @@ -201,10 +201,7 @@ public: void KilledUnit(Unit* /*victim*/) { - if (bIsUndead) - DoScriptText(YELL_KILL_1, me); - else - DoScriptText(YELL_KILL_2, me); + Talk(bIsUndead ? YELL_KILL_1 : YELL_KILL_2); } void UpdateAI(const uint32 diff) @@ -329,7 +326,7 @@ public: { me->GetMotionMaster()->MovePoint(1, x, y, z+15); - // DoScriptText(YELL_RESSURECT, me); + // Talk(YELL_RESSURECT); } } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp index 7c977250e79..aad4c9989c1 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp @@ -29,18 +29,18 @@ EndScriptData */ enum eEnums { //signed for 24200, but used by 24200, 27390 - YELL_SKARVALD_AGGRO = -1574011, - YELL_SKARVALD_DAL_DIED = -1574012, - YELL_SKARVALD_SKA_DIEDFIRST = -1574013, - YELL_SKARVALD_KILL = -1574014, - YELL_SKARVALD_DAL_DIEDFIRST = -1574015, + YELL_SKARVALD_AGGRO = 0, + YELL_SKARVALD_DAL_DIED = 1, + YELL_SKARVALD_SKA_DIEDFIRST = 2, + YELL_SKARVALD_KILL = 3, + YELL_SKARVALD_DAL_DIEDFIRST = 4, //signed for 24201, but used by 24201, 27389 - YELL_DALRONN_AGGRO = -1574016, - YELL_DALRONN_SKA_DIED = -1574017, - YELL_DALRONN_DAL_DIEDFIRST = -1574018, - YELL_DALRONN_KILL = -1574019, - YELL_DALRONN_SKA_DIEDFIRST = -1574020, + YELL_DALRONN_AGGRO = 0, + YELL_DALRONN_SKA_DIED = 1, + YELL_DALRONN_DAL_DIEDFIRST = 2, + YELL_DALRONN_KILL = 3, + YELL_DALRONN_SKA_DIEDFIRST = 4, //Spells of Skarvald and his Ghost MOB_SKARVALD_THE_CONSTRUCTOR = 24200, @@ -123,7 +123,7 @@ public: { if (!ghost && instance) { - DoScriptText(YELL_SKARVALD_AGGRO, me); + Talk(YELL_SKARVALD_AGGRO); Unit* dalronn = Unit::GetUnit(*me, instance->GetData64(DATA_DALRONN)); if (dalronn && dalronn->isAlive() && !dalronn->getVictim()) @@ -151,13 +151,13 @@ public: { if (dalronn->isDead()) { - DoScriptText(YELL_SKARVALD_DAL_DIED, me); + Talk(YELL_SKARVALD_DAL_DIED); instance->SetData(DATA_SKARVALD_DALRONN_EVENT, DONE); } else { - DoScriptText(YELL_SKARVALD_SKA_DIEDFIRST, me); + Talk(YELL_SKARVALD_SKA_DIEDFIRST); me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); //DoCast(me, SPELL_SUMMON_SKARVALD_GHOST, true); @@ -176,7 +176,7 @@ public: { if (!ghost) { - DoScriptText(YELL_SKARVALD_KILL, me); + Talk(YELL_SKARVALD_KILL); } } @@ -211,7 +211,7 @@ public: { if (Response_Timer <= diff) { - DoScriptText(YELL_SKARVALD_DAL_DIEDFIRST, me); + Talk(YELL_SKARVALD_DAL_DIEDFIRST); Response_Timer = 0; } else Response_Timer -= diff; @@ -310,14 +310,14 @@ public: { if (skarvald->isDead()) { - DoScriptText(YELL_DALRONN_SKA_DIED, me); + Talk(YELL_DALRONN_SKA_DIED); if (instance) instance->SetData(DATA_SKARVALD_DALRONN_EVENT, DONE); } else { - DoScriptText(YELL_DALRONN_DAL_DIEDFIRST, me); + Talk(YELL_DALRONN_DAL_DIEDFIRST); me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); //DoCast(me, SPELL_SUMMON_DALRONN_GHOST, true); @@ -336,7 +336,7 @@ public: { if (!ghost) { - DoScriptText(YELL_DALRONN_KILL, me); + Talk(YELL_DALRONN_KILL); } } @@ -355,7 +355,7 @@ public: { if (AggroYell_Timer <= diff) { - DoScriptText(YELL_DALRONN_AGGRO, me); + Talk(YELL_DALRONN_AGGRO); AggroYell_Timer = 0; } else AggroYell_Timer -= diff; @@ -382,7 +382,7 @@ public: { if (Response_Timer <= diff) { - DoScriptText(YELL_DALRONN_SKA_DIEDFIRST, me); + Talk(YELL_DALRONN_SKA_DIEDFIRST); Response_Timer = 0; } else Response_Timer -= diff; } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp index 8cbfe4bafb4..d2772514edf 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp @@ -47,10 +47,9 @@ enum OrbSpells //not in db enum Yells { - SAY_AGGRO = -1575000, - SAY_SLAY_1 = -1575001, - SAY_SLAY_2 = -1575002, - SAY_DEATH = -1575003 + SAY_AGGRO = 0, + SAY_SLAY = 1 + //SAY_DEATH = 2 Missing in database }; enum Creatures @@ -155,7 +154,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void AttackStart(Unit* who) @@ -212,7 +211,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + //Talk(SAY_DEATH); if (instance) instance->SetData(DATA_GORTOK_PALEHOOF_EVENT, DONE); Creature* temp = Unit::GetCreature((*me), instance ? instance->GetData64(DATA_MOB_ORB) : 0); @@ -222,7 +221,7 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + Talk(SAY_SLAY); } void NextPhase() diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp index 63898e57c08..45bab11c46a 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp @@ -34,16 +34,13 @@ Script Data End */ //Yell enum eYells { - SAY_AGGRO = -1575004, - SAY_KILL_1 = -1575005, - SAY_KILL_2 = -1575006, - EMOTE_RANGE = -1575007, //Skadi - SAY_DEATH = -1575008, - SAY_DRAKE_DEATH = -1575009, - EMOTE_BREATH = -1575010, //Grauf - SAY_DRAKE_BREATH_1 = -1575011, - SAY_DRAKE_BREATH_2 = -1575012, - SAY_DRAKE_BREATH_3 = -1575013, + SAY_AGGRO = 0, + SAY_KILL = 1, + EMOTE_RANGE = 2, + SAY_DEATH = 3, + SAY_DRAKE_DEATH = 4, + EMOTE_BREATH = 5, + SAY_DRAKE_BREATH = 6 }; static Position SpawnLoc = {468.931f, -513.555f, 104.723f, 0}; @@ -230,7 +227,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE); @@ -297,7 +294,7 @@ public: } me->GetMotionMaster()->MoveJump(Location[4].GetPositionX(), Location[4].GetPositionY(), Location[4].GetPositionZ(), 5.0f, 10.0f); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE); - DoScriptText(SAY_DRAKE_DEATH, me); + Talk(SAY_DRAKE_DEATH); m_uiCrushTimer = 8000; m_uiPoisonedSpearTimer = 10000; m_uiWhirlwindTimer = 20000; @@ -319,7 +316,7 @@ public: me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE); if (!m_bSaidEmote) { - DoScriptText(EMOTE_RANGE, me); + Talk(EMOTE_RANGE); m_bSaidEmote = true; } } @@ -360,8 +357,8 @@ public: break; case 3: me->GetMotionMaster()->MovePoint(0, Location[69].GetPositionX(), Location[69].GetPositionY(), Location[69].GetPositionZ()); - DoScriptText(RAND(SAY_DRAKE_BREATH_1, SAY_DRAKE_BREATH_2), me); - DoScriptText(EMOTE_BREATH, me); + Talk(SAY_DRAKE_BREATH); + Talk(EMOTE_BREATH); m_uiMovementTimer = 2500; break; case 4: @@ -413,7 +410,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); Summons.DespawnAll(); if (instance) instance->SetData(DATA_SKADI_THE_RUTHLESS_EVENT, DONE); @@ -421,7 +418,7 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me); + Talk(SAY_KILL); } void SpawnMobs() diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp index 0278125deb3..96cfee7c2b8 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp @@ -55,16 +55,13 @@ enum Spells //not in db enum Yells { - SAY_AGGRO = -1575028, - SAY_SLAY_1 = -1575029, - SAY_SLAY_2 = -1575030, - SAY_SLAY_3 = -1575031, - SAY_SLAY_4 = -1575032, - SAY_DEATH = -1575033, - SAY_SUMMON_BJORN = -1575034, - SAY_SUMMON_HALDOR = -1575035, - SAY_SUMMON_RANULF = -1575036, - SAY_SUMMON_TORGYN = -1575037 + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2, + SAY_SUMMON_BJORN = 3, + SAY_SUMMON_HALDOR = 4, + SAY_SUMMON_RANULF = 5, + SAY_SUMMON_TORGYN = 6 }; enum Creatures @@ -190,7 +187,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_KING_YMIRON_EVENT, IN_PROGRESS); @@ -216,7 +213,7 @@ public: { if (m_uiPause_Timer <= diff) { - DoScriptText(ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].say, me); + Talk(ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].say); DoCast(me, SPELL_CHANNEL_YMIRON_TO_SPIRIT); // should be on spirit if (Creature* temp = me->SummonCreature(ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].npc, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnX, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnY, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnZ, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnO, TEMPSUMMON_CORPSE_DESPAWN, 0)) { @@ -370,7 +367,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); DespawnBoatGhosts(m_uiActivedCreatureGUID); DespawnBoatGhosts(m_uiOrbGUID); @@ -381,7 +378,7 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3, SAY_SLAY_4), me); + Talk(SAY_SLAY); } void DespawnBoatGhosts(uint64 m_uiCreatureGUID) diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp index 96e0bc66bd1..8a5e25e4487 100644 --- a/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp +++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp @@ -19,7 +19,10 @@ #include "ScriptedCreature.h" #include "vault_of_archavon.h" -#define EMOTE_BERSERK -1590002 +enum +{ + EMOTE_BERSERK = 0 +}; //Spells Archavon #define SPELL_ROCK_SHARDS 58678 @@ -109,7 +112,7 @@ class boss_archavon : public CreatureScript break; case EVENT_BERSERK: DoCast(me, SPELL_BERSERK); - DoScriptText(EMOTE_BERSERK, me); + Talk(EMOTE_BERSERK); break; default: break; diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp index 903280d317a..b61bb20389d 100644 --- a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp +++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp @@ -37,9 +37,9 @@ enum Spells enum BossEmotes { - EMOTE_OVERCHARGE = -1590000, - EMOTE_MINION_RESPAWN = -1590001, - EMOTE_BERSERK = -1590002, + EMOTE_OVERCHARGE = 0, + EMOTE_MINION_RESPAWN = 1, + EMOTE_BERSERK = 2 }; enum Events @@ -146,14 +146,14 @@ class boss_emalon : public CreatureScript { minion->CastSpell(me, SPELL_OVERCHARGED, true); minion->SetFullHealth(); - DoScriptText(EMOTE_OVERCHARGE, me); + Talk(EMOTE_OVERCHARGE); events.ScheduleEvent(EVENT_OVERCHARGE, 45000); } } break; case EVENT_BERSERK: DoCast(me, SPELL_BERSERK); - DoScriptText(EMOTE_BERSERK, me); + Talk(EMOTE_BERSERK); break; default: break; @@ -198,7 +198,7 @@ class mob_tempest_minion : public CreatureScript if (emalon->isAlive()) { emalon->SummonCreature(MOB_TEMPEST_MINION, 0, 0, 0, 0, TEMPSUMMON_CORPSE_DESPAWN, 0); - DoScriptText(EMOTE_MINION_RESPAWN, me); + Talk(EMOTE_MINION_RESPAWN); } } } @@ -244,7 +244,7 @@ class mob_tempest_minion : public CreatureScript { DoCast(me, SPELL_OVERCHARGED_BLAST); me->DespawnOrUnsummon(); - DoScriptText(EMOTE_MINION_RESPAWN, me); + Talk(EMOTE_MINION_RESPAWN); } } } diff --git a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp index b4ce402e7de..7b1b9e96baf 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp @@ -34,16 +34,13 @@ enum Spells enum Yells { - SAY_AGGRO = -1608000, - SAY_SLAY_1 = -1608001, - SAY_SLAY_2 = -1608002, - SAY_SLAY_3 = -1608003, - SAY_DEATH = -1608004, - SAY_SPAWN = -1608005, - SAY_DISRUPTION = -1608006, - SAY_BREATH_ATTACK = -1608007, - SAY_SPECIAL_ATTACK_1 = -1608008, - SAY_SPECIAL_ATTACK_2 = -1608009 + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2, + SAY_SPAWN = 3, + SAY_DISRUPTION = 4, + SAY_BREATH_ATTACK = 5, + SAY_SPECIAL_ATTACK = 6 }; class boss_cyanigosa : public CreatureScript @@ -84,7 +81,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_CYANIGOSA_EVENT, IN_PROGRESS); @@ -144,7 +141,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(DATA_CYANIGOSA_EVENT, DONE); @@ -154,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/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp index bd59b731c3c..15cd12140cf 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp @@ -34,14 +34,12 @@ enum Spells enum Yells { - SAY_AGGRO = -1608010, - SAY_SLAY_1 = -1608011, - SAY_SLAY_2 = -1608012, - SAY_SLAY_3 = -1608013, - SAY_DEATH = -1608014, - SAY_SPAWN = -1608015, - SAY_ADD_KILLED = -1608016, - SAY_BOTH_ADDS_KILLED = -1608017 + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2, + SAY_SPAWN = 3, + SAY_ADD_KILLED = 4, + SAY_BOTH_ADDS_KILLED = 5 }; class boss_erekem : public CreatureScript @@ -125,7 +123,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); DoCast(me, SPELL_EARTH_SHIELD); if (instance) @@ -209,7 +207,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) { @@ -230,7 +228,7 @@ public: { if (victim == me) return; - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me); + Talk(SAY_SLAY); } uint64 GetChainHealTargetGUID() diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp index cea00417233..fba7efe43ab 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp @@ -40,15 +40,13 @@ enum IchoronCreatures enum Yells { - SAY_AGGRO = -1608018, - SAY_SLAY_1 = -1608019, - SAY_SLAY_2 = -1608020, - SAY_SLAY_3 = -1608021, - SAY_DEATH = -1608022, - SAY_SPAWN = -1608023, - SAY_ENRAGE = -1608024, - SAY_SHATTER = -1608025, - SAY_BUBBLE = -1608026 + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2, + SAY_SPAWN = 3, + SAY_ENRAGE = 4, + SAY_SHATTER = 5, + SAY_BUBBLE = 6 }; enum Actions @@ -120,7 +118,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); DoCast(me, SPELL_PROTECTIVE_BUBBLE); @@ -189,7 +187,7 @@ public: if (!HealthBelowPct(25)) { - DoScriptText(SAY_BUBBLE, me); + Talk(SAY_BUBBLE); DoCast(me, SPELL_PROTECTIVE_BUBBLE, true); } @@ -214,7 +212,7 @@ public: if (!bIsFrenzy && HealthBelowPct(25) && !bIsExploded) { - DoScriptText(SAY_ENRAGE, me); + Talk(SAY_ENRAGE); DoCast(me, SPELL_FRENZY, true); bIsFrenzy = true; } @@ -227,7 +225,7 @@ public: { if (!me->HasAura(SPELL_PROTECTIVE_BUBBLE, 0)) { - DoScriptText(SAY_SHATTER, me); + Talk(SAY_SHATTER); DoCast(me, SPELL_WATER_BLAST); DoCast(me, SPELL_DRAINED); bIsExploded = true; @@ -277,7 +275,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (bIsExploded) { @@ -326,7 +324,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/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp index 58d7b59c7dd..429b2ac32ea 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp @@ -22,41 +22,38 @@ enum Spells { - SPELL_ARCANE_BARRAGE_VOLLEY = 54202, - SPELL_ARCANE_BARRAGE_VOLLEY_H = 59483, - SPELL_ARCANE_BUFFET = 54226, - SPELL_ARCANE_BUFFET_H = 59485, - SPELL_SUMMON_ETHEREAL_SPHERE_1 = 54102, - SPELL_SUMMON_ETHEREAL_SPHERE_2 = 54137, - SPELL_SUMMON_ETHEREAL_SPHERE_3 = 54138, + SPELL_ARCANE_BARRAGE_VOLLEY = 54202, + SPELL_ARCANE_BARRAGE_VOLLEY_H = 59483, + SPELL_ARCANE_BUFFET = 54226, + SPELL_ARCANE_BUFFET_H = 59485, + SPELL_SUMMON_ETHEREAL_SPHERE_1 = 54102, + SPELL_SUMMON_ETHEREAL_SPHERE_2 = 54137, + SPELL_SUMMON_ETHEREAL_SPHERE_3 = 54138, }; enum NPCs { - NPC_ETHEREAL_SPHERE = 29271, - //NPC_ETHEREAL_SPHERE2 = 32582, // heroic only? + NPC_ETHEREAL_SPHERE = 29271, + //NPC_ETHEREAL_SPHERE2 = 32582, // heroic only? }; enum CreatureSpells { - SPELL_ARCANE_POWER = 54160, - H_SPELL_ARCANE_POWER = 59474, - SPELL_SUMMON_PLAYERS = 54164, - SPELL_POWER_BALL_VISUAL = 54141, + SPELL_ARCANE_POWER = 54160, + H_SPELL_ARCANE_POWER = 59474, + SPELL_SUMMON_PLAYERS = 54164, + SPELL_POWER_BALL_VISUAL = 54141, }; enum Yells { - SAY_AGGRO = -1608027, - SAY_SLAY_1 = -1608028, - SAY_SLAY_2 = -1608029, - SAY_SLAY_3 = -1608030, - SAY_DEATH = -1608031, - SAY_SPAWN = -1608032, - SAY_CHARGED = -1608033, - SAY_REPEAT_SUMMON_1 = -1608034, - SAY_REPEAT_SUMMON_2 = -1608035, - SAY_SUMMON_ENERGY = -1608036 + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2, + SAY_SPAWN = 3, + SAY_CHARGED = 4, + SAY_REPEAT_SUMMON = 5, + SAY_SUMMON_ENERGY = 6 }; class boss_xevozz : public CreatureScript @@ -139,7 +136,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) { if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_XEVOZZ_CELL))) @@ -182,7 +179,7 @@ public: if (uiSummonEtherealSphere_Timer < uiDiff) { - DoScriptText(SAY_SPAWN, me); + Talk(SAY_SPAWN); DoCast(me, SPELL_SUMMON_ETHEREAL_SPHERE_1); if (IsHeroic()) // extra one for heroic me->SummonCreature(NPC_ETHEREAL_SPHERE, me->GetPositionX()-5+rand()%10, me->GetPositionY()-5+rand()%10, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 40000); @@ -197,7 +194,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); DespawnSphere(); @@ -220,7 +217,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/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp index 408a7083383..5216ae9f08d 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp @@ -38,14 +38,12 @@ enum ZuramatCreatures enum Yells { - SAY_AGGRO = -1608037, - SAY_SLAY_1 = -1608038, - SAY_SLAY_2 = -1608039, - SAY_SLAY_3 = -1608040, - SAY_DEATH = -1608041, - SAY_SPAWN = -1608042, - SAY_SHIELD = -1608043, - SAY_WHISPER = -1608044 + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2, + SAY_SPAWN = 3, + SAY_SHIELD = 4, + SAY_WHISPER = 5 }; #define DATA_VOID_DANCE 2153 @@ -106,7 +104,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) { if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_ZURAMAT_CELL))) @@ -168,7 +166,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) { @@ -190,7 +188,7 @@ public: if (victim == me) return; - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me); + Talk(SAY_SLAY); } void JustSummoned(Creature* summon) diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp index 5e3bbc01025..c1c93c789de 100644 --- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp @@ -16,6 +16,7 @@ */ #include "ScriptMgr.h" +#include "ScriptedCreature.h" #include "InstanceScript.h" #include "violet_hold.h" #include "Player.h" @@ -94,7 +95,7 @@ const Position MiddleRoomPortalSaboLocation = {1896.622925f, 804.854126f, 38.504 //Cyanigosa's prefight event data enum Yells { - CYANIGOSA_SAY_SPAWN = -1608005 + CYANIGOSA_SAY_SPAWN = 0 }; enum Spells @@ -742,7 +743,7 @@ public: { case 1: pCyanigosa->CastSpell(pCyanigosa, CYANIGOSA_BLUE_AURA, false); - DoScriptText(CYANIGOSA_SAY_SPAWN, pCyanigosa); + pCyanigosa->AI()->Talk(CYANIGOSA_SAY_SPAWN); uiCyanigosaEventTimer = 7*IN_MILLISECONDS; ++uiCyanigosaEventPhase; break; diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp index c73cb97f2d1..5e326af9891 100644 --- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp @@ -125,7 +125,7 @@ enum Spells enum eSinclari { - SAY_SINCLARI_1 = -1608045 + SAY_SINCLARI_1 = 0 }; float FirstPortalWPs [6][3] = @@ -353,7 +353,7 @@ public: switch (uiPhase) { case 1: - DoScriptText(SAY_SINCLARI_1, me); + Talk(SAY_SINCLARI_1); uiTimer = 4000; uiPhase = 2; break; diff --git a/src/server/scripts/Northrend/sholazar_basin.cpp b/src/server/scripts/Northrend/sholazar_basin.cpp index a6d6cda11b1..c0635f897d9 100644 --- a/src/server/scripts/Northrend/sholazar_basin.cpp +++ b/src/server/scripts/Northrend/sholazar_basin.cpp @@ -722,10 +722,17 @@ class npc_adventurous_dwarf : public CreatureScript public: npc_adventurous_dwarf() : CreatureScript("npc_adventurous_dwarf") { } + struct npc_adventurous_dwarfAI : public ScriptedAI + { + npc_adventurous_dwarfAI(Creature* creature) : ScriptedAI(creature) + { + Talk(SAY_DWARF_OUCH); + } + }; + CreatureAI* GetAI(Creature* creature) const { - creature->AI()->Talk(SAY_DWARF_OUCH); - return NULL; + return new npc_adventurous_dwarfAI(creature); } bool OnGossipHello(Player* player, Creature* creature) @@ -750,14 +757,23 @@ public: { player->PlayerTalkClass->ClearMenus(); uint32 spellId = 0; + switch (action) { - case GOSSIP_ACTION_INFO_DEF + 1: spellId = SPELL_ADD_ORANGE; break; - case GOSSIP_ACTION_INFO_DEF + 2: spellId = SPELL_ADD_BANANAS; break; - case GOSSIP_ACTION_INFO_DEF + 3: spellId = SPELL_ADD_PAPAYA; break; + case GOSSIP_ACTION_INFO_DEF + 1: + spellId = SPELL_ADD_ORANGE; + break; + case GOSSIP_ACTION_INFO_DEF + 2: + spellId = SPELL_ADD_BANANAS; + break; + case GOSSIP_ACTION_INFO_DEF + 3: + spellId = SPELL_ADD_PAPAYA; + break; } + if (spellId) player->CastSpell(player, spellId, true); + creature->AI()->Talk(SAY_DWARF_HELP); creature->DespawnOrUnsummon(); return true; diff --git a/src/server/scripts/Northrend/zuldrak.cpp b/src/server/scripts/Northrend/zuldrak.cpp index e5763e5baf6..506c34d40fb 100644 --- a/src/server/scripts/Northrend/zuldrak.cpp +++ b/src/server/scripts/Northrend/zuldrak.cpp @@ -121,9 +121,9 @@ enum eRageclaw SPELL_KNEEL = 39656 }; -const char * SAY_RAGECLAW_1 = "I poop on you, trollses!"; -const char * SAY_RAGECLAW_2 = "ARRRROOOOGGGGAAAA!"; -const char * SAY_RAGECLAW_3 = "No more mister nice wolvar!"; +const char* SAY_RAGECLAW_1 = "I poop on you, trollses!"; +const char* SAY_RAGECLAW_2 = "ARRRROOOOGGGGAAAA!"; +const char* SAY_RAGECLAW_3 = "No more mister nice wolvar!"; #define SAY_RAGECLAW RAND(SAY_RAGECLAW_1, SAY_RAGECLAW_2, SAY_RAGECLAW_3) @@ -265,14 +265,16 @@ enum eGurgthock NPC_FIEND_FIRE = 30042, NPC_FIEND_EARTH = 30043, - SAY_QUEST_ACCEPT_TUSKARRMAGEDON = -1571031, - SAY_QUEST_ACCEPT_KORRAK_1 = -1571033, - SAY_QUEST_ACCEPT_KORRAK_2 = -1571034, - SAY_QUEST_ACCEPT_MAGNATAUR = -1571035, + SAY_QUEST_ACCEPT_TUSKARRMAGEDON = 0, + SAY_QUEST_ACCEPT_KORRAK_1 = 1, + SAY_QUEST_ACCEPT_KORRAK_2 = 2, + SAY_QUEST_ACCEPT_MAGNATAUR = 3, + EMOTE_YGGDRAS_SPAWN = 4, + SAY_STINKBEARD_SPAWN = 5, + SAY_GURGTHOCK_ELEMENTAL_SPAWN = 6, - EMOTE_YGGDRAS_SPAWN = -1571039, - SAY_STINKBEARD_SPAWN = -1571040, - SAY_GURGTHOCK_ELEMENTAL_SPAWN = -1571041, + SAY_CALL_FOR_HELP = 0, + SAY_RECRUIT = 0, SPELL_CRASHING_WAVE = 55909, // water SPELL_SHOCKWAVE = 55918, // earth @@ -380,12 +382,12 @@ public: switch (uiValue) { case QUEST_AMPHITHEATER_ANGUISH_TUSKARRMAGEDDON: - DoScriptText(SAY_QUEST_ACCEPT_TUSKARRMAGEDON, me); + Talk(SAY_QUEST_ACCEPT_TUSKARRMAGEDON); uiPhase = 1; uiTimer = 4000; break; case QUEST_AMPHITHEATER_ANGUISH_KORRAK_BLOODRAGER: - DoScriptText(SAY_QUEST_ACCEPT_KORRAK_1, me); + Talk(SAY_QUEST_ACCEPT_KORRAK_1); uiPhase = 3; uiTimer = 3000; break; @@ -443,7 +445,7 @@ public: SummonGUID = 0; break; case 3: - DoScriptText(SAY_QUEST_ACCEPT_KORRAK_2, me); + Talk(SAY_QUEST_ACCEPT_KORRAK_2); uiTimer = 3000; uiPhase = 4; break; @@ -477,7 +479,7 @@ public: } break; case 8: - DoScriptText(SAY_QUEST_ACCEPT_MAGNATAUR, me); + Talk(SAY_QUEST_ACCEPT_MAGNATAUR); uiTimer = 5000; uiPhase = 11; break; @@ -494,12 +496,12 @@ public: break; case 10: me->SummonCreature(NPC_YGGDRAS, SpawnPosition[1], TEMPSUMMON_CORPSE_DESPAWN, 1000); - DoScriptText(EMOTE_YGGDRAS_SPAWN, me); + Talk(EMOTE_YGGDRAS_SPAWN); uiPhase = 0; break; case 11: if (Creature* creature = me->SummonCreature(NPC_STINKBEARD, SpawnPosition[0], TEMPSUMMON_CORPSE_DESPAWN, 1000)) - DoScriptText(SAY_STINKBEARD_SPAWN, creature); + creature->AI()->Talk(SAY_STINKBEARD_SPAWN); uiPhase = 0; break; case 12: @@ -514,7 +516,7 @@ public: } break; case 13: - DoScriptText(SAY_GURGTHOCK_ELEMENTAL_SPAWN, me); + Talk(SAY_GURGTHOCK_ELEMENTAL_SPAWN); uiTimer = 3000; uiPhase = 14; break; @@ -575,9 +577,7 @@ enum eOrinokoTuskbreaker SPELL_SUMMON_WHISKER = 55946, NPC_WHISKER = 30113, - NPC_HUNGRY_PENGUIN = 30110, - - SAY_CALL_FOR_HELP = -1571032 + NPC_HUNGRY_PENGUIN = 30110 }; class npc_orinoko_tuskbreaker : public CreatureScript @@ -659,7 +659,7 @@ public: if (!bSummoned && !HealthAbovePct(50)) { - DoScriptText(SAY_CALL_FOR_HELP, me); + Talk(SAY_CALL_FOR_HELP); //DoCast(me->getVictim(), SPELL_SUMMON_WHISKER); petai is not working correctly??? if (Creature* pWhisker = me->SummonCreature(NPC_WHISKER, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 0)) @@ -1282,11 +1282,7 @@ enum eCrusade_recruit QUEST_TROLL_PATROL_INTESTINAL_FORTITUDE = 12509, - GOSSIP_CRUSADE_TEXT = 13069, - - SAY_RECRUIT_1 = -1571036, - SAY_RECRUIT_2 = -1571037, - SAY_RECRUIT_3 = -1571038 + GOSSIP_CRUSADE_TEXT = 13069 }; #define GOSSIP_ITEM_1 "Get out there and make those Scourge wish they were never reborn!" @@ -1325,7 +1321,7 @@ public: // say random text me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); - DoScriptText(RAND(SAY_RECRUIT_1, SAY_RECRUIT_2, SAY_RECRUIT_3), me); + Talk(SAY_RECRUIT); m_uiTimer = 3000; m_uiPhase = 2; break; diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp index a8b4b1797cb..5739aa49549 100644 --- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp +++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp @@ -126,30 +126,23 @@ public: }; -#define SAY_INTRO -1558000 -#define SAY_SUMMON -1558001 - -#define SAY_AGGRO_1 -1558002 -#define SAY_AGGRO_2 -1558003 -#define SAY_AGGRO_3 -1558004 - -#define SAY_ROAR -1558005 -#define SAY_SOUL_CLEAVE -1558006 - -#define SAY_SLAY_1 -1558007 -#define SAY_SLAY_2 -1558008 - -#define SAY_DEATH -1558009 - -#define SPELL_RIBBON_OF_SOULS 32422 -#define SPELL_SOUL_SCREAM 32421 - -#define SPELL_STOLEN_SOUL 32346 -#define SPELL_STOLEN_SOUL_VISUAL 32395 - -#define SPELL_SUMMON_AVATAR 32424 - -#define ENTRY_STOLEN_SOUL 18441 +enum ExarchMaladaar +{ + SAY_INTRO = 0, + SAY_SUMMON = 1, + SAY_AGGRO = 2, + SAY_ROAR = 3, + SAY_SLAY = 4, + SAY_DEATH = 5, + + SPELL_RIBBON_OF_SOULS = 32422, + SPELL_SOUL_SCREAM = 32421, + SPELL_STOLEN_SOUL = 32346, + SPELL_STOLEN_SOUL_VISUAL = 32395, + SPELL_SUMMON_AVATAR = 32424, + + ENTRY_STOLEN_SOUL = 18441 +}; class boss_exarch_maladaar : public CreatureScript { @@ -196,7 +189,7 @@ public: { if (!HasTaunted && me->IsWithinDistInMap(who, 150.0f)) { - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); HasTaunted = true; } @@ -205,7 +198,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me); + Talk(SAY_AGGRO); } void JustSummoned(Creature* summoned) @@ -231,12 +224,12 @@ public: if (rand()%2) return; - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); //When Exarch Maladar is defeated D'ore appear. me->SummonCreature(19412, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 600000); } @@ -251,7 +244,7 @@ public: if (me->IsNonMeleeSpellCasted(false)) me->InterruptNonMeleeSpells(true); - DoScriptText(SAY_SUMMON, me); + Talk(SAY_SUMMON); DoCast(me, SPELL_SUMMON_AVATAR); Avatar_summoned = true; @@ -267,11 +260,7 @@ public: if (me->IsNonMeleeSpellCasted(false)) me->InterruptNonMeleeSpells(true); - uint32 i = urand(1, 2); - if (i == 1) - DoScriptText(SAY_ROAR, me); - else - DoScriptText(SAY_SOUL_CLEAVE, me); + Talk(SAY_ROAR); soulmodel = target->GetDisplayId(); soulholder = target->GetGUID(); diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp index 351f30c926f..f7a2eb87d67 100644 --- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp +++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp @@ -33,14 +33,11 @@ EndContentData */ enum ePrince { - SAY_INTRO = -1557000, - SAY_AGGRO_1 = -1557001, - SAY_AGGRO_2 = -1557002, - SAY_AGGRO_3 = -1557003, - SAY_SLAY_1 = -1557004, - SAY_SLAY_2 = -1557005, - SAY_SUMMON = -1557006, - SAY_DEAD = -1557007, + SAY_INTRO = 0, + SAY_AGGRO = 1, + SAY_SLAY = 2, + SAY_SUMMON = 3, + SAY_DEAD = 4, SPELL_BLINK = 34605, SPELL_FROSTBOLT = 32364, @@ -110,14 +107,14 @@ public: { if (!HasTaunted && who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 100.0f)) { - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); HasTaunted = true; } } void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me); + Talk(SAY_AGGRO); DoZoneInCombat(); summons.DoZoneInCombat(); @@ -143,12 +140,12 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEAD, me); + Talk(SAY_DEAD); summons.DespawnAll(); } @@ -203,7 +200,7 @@ public: me->InterruptNonMeleeSpells(true); if (!urand(0, 3)) - DoScriptText(SAY_SUMMON, me); + Talk(SAY_SUMMON); DoCast(me, SPELL_ETHEREAL_BEACON, true); diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp index 459ba3a8f86..f174091311b 100644 --- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp +++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp @@ -26,21 +26,19 @@ EndScriptData */ #include "ScriptMgr.h" #include "ScriptedCreature.h" -#define SAY_AGGRO_1 -1557008 -#define SAY_AGGRO_2 -1557009 -#define SAY_AGGRO_3 -1557010 - -#define SAY_KILL_1 -1557011 -#define SAY_KILL_2 -1557012 - -#define SAY_DEATH -1557013 - -#define EMOTE_DARK_SHELL -1557014 +enum Pandemonius +{ + SAY_AGGRO = 0, + SAY_KILL = 1, + SAY_DEATH = 2, + EMOTE_DARK_SHELL = 3, + + SPELL_VOID_BLAST = 32325, + H_SPELL_VOID_BLAST = 38760, + SPELL_DARK_SHELL = 32358, + H_SPELL_DARK_SHELL = 38759 +}; -#define SPELL_VOID_BLAST 32325 -#define H_SPELL_VOID_BLAST 38760 -#define SPELL_DARK_SHELL 32358 -#define H_SPELL_DARK_SHELL 38759 class boss_pandemonius : public CreatureScript { @@ -71,17 +69,17 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me); + Talk(SAY_KILL); } void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me); + Talk(SAY_AGGRO); } void UpdateAI(const uint32 diff) @@ -112,7 +110,7 @@ public: if (me->IsNonMeleeSpellCasted(false)) me->InterruptNonMeleeSpells(true); - DoScriptText(EMOTE_DARK_SHELL, me); + Talk(EMOTE_DARK_SHELL); DoCast(me, SPELL_DARK_SHELL); DarkShell_Timer = 20000; diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp index 0a85cf1dc5b..5bb396965a6 100644 --- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp +++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp @@ -26,28 +26,25 @@ EndScriptData */ #include "ScriptMgr.h" #include "ScriptedCreature.h" -#define SAY_SUMMON -1556000 - -#define SAY_AGGRO_1 -1556001 -#define SAY_AGGRO_2 -1556002 -#define SAY_AGGRO_3 -1556003 - -#define SAY_SLAY_1 -1556004 -#define SAY_SLAY_2 -1556005 - -#define SAY_DEATH -1556006 - -#define SPELL_FROST_SHOCK 21401 //37865 -#define SPELL_FLAME_SHOCK 34354 -#define SPELL_SHADOW_SHOCK 30138 -#define SPELL_ARCANE_SHOCK 37132 - -#define SPELL_CHAIN_LIGHTNING 15659 //15305 - -#define SPELL_SUMMON_SYTH_FIRE 33537 // Spawns 19203 -#define SPELL_SUMMON_SYTH_ARCANE 33538 // Spawns 19205 -#define SPELL_SUMMON_SYTH_FROST 33539 // Spawns 19204 -#define SPELL_SUMMON_SYTH_SHADOW 33540 // Spawns 19206 +enum DarkweaverSyth +{ + SAY_SUMMON = 0, + SAY_AGGRO = 1, + SAY_SLAY = 2, + SAY_DEATH = 3, + + SPELL_FROST_SHOCK = 21401, //37865 + SPELL_FLAME_SHOCK = 34354, + SPELL_SHADOW_SHOCK = 30138, + SPELL_ARCANE_SHOCK = 37132, + + SPELL_CHAIN_LIGHTNING = 15659, //15305 + + SPELL_SUMMON_SYTH_FIRE = 33537, // Spawns 19203 + SPELL_SUMMON_SYTH_ARCANE = 33538, // Spawns 19205 + SPELL_SUMMON_SYTH_FROST = 33539, // Spawns 19204 + SPELL_SUMMON_SYTH_SHADOW = 33540 // Spawns 19206 +}; #define SPELL_FLAME_BUFFET DUNGEON_MODE(33526, 38141) #define SPELL_ARCANE_BUFFET DUNGEON_MODE(33527, 38138) @@ -95,12 +92,12 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me); + Talk(SAY_AGGRO); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } void KilledUnit(Unit* /*victim*/) @@ -108,7 +105,7 @@ public: if (rand()%2) return; - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + Talk(SAY_SLAY); } void JustSummoned(Creature* summoned) @@ -119,7 +116,7 @@ public: void SythSummoning() { - DoScriptText(SAY_SUMMON, me); + Talk(SAY_SUMMON); if (me->IsNonMeleeSpellCasted(false)) me->InterruptNonMeleeSpells(false); diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp index ec35d6c80b3..07169f031ab 100644 --- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp +++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp @@ -27,31 +27,26 @@ EndScriptData */ #include "ScriptedCreature.h" #include "sethekk_halls.h" -#define SAY_INTRO -1556007 - -#define SAY_AGGRO_1 -1556008 -#define SAY_AGGRO_2 -1556009 -#define SAY_AGGRO_3 -1556010 - -#define SAY_SLAY_1 -1556011 -#define SAY_SLAY_2 -1556012 -#define SAY_DEATH -1556013 -#define EMOTE_ARCANE_EXP -1556015 - -#define SPELL_BLINK 38194 -#define SPELL_BLINK_TELEPORT 38203 -#define SPELL_MANA_SHIELD 38151 -#define SPELL_ARCANE_BUBBLE 9438 -#define H_SPELL_SLOW 35032 - -#define SPELL_POLYMORPH 38245 -#define H_SPELL_POLYMORPH 43309 - -#define SPELL_ARCANE_VOLLEY 35059 -#define H_SPELL_ARCANE_VOLLEY 40424 - -#define SPELL_ARCANE_EXPLOSION 38197 -#define H_SPELL_ARCANE_EXPLOSION 40425 +enum TailonkingIkiss +{ + SAY_INTRO = 0, + SAY_AGGRO = 1, + SAY_SLAY = 2, + SAY_DEATH = 3, + EMOTE_ARCANE_EXP = 4, + + SPELL_BLINK = 38194, + SPELL_BLINK_TELEPORT = 38203, + SPELL_MANA_SHIELD = 38151, + SPELL_ARCANE_BUBBLE = 9438, + H_SPELL_SLOW = 35032, + SPELL_POLYMORPH = 38245, + H_SPELL_POLYMORPH = 43309, + SPELL_ARCANE_VOLLEY = 35059, + H_SPELL_ARCANE_VOLLEY = 40424, + SPELL_ARCANE_EXPLOSION = 38197, + H_SPELL_ARCANE_EXPLOSION = 40425 +}; class boss_talon_king_ikiss : public CreatureScript { @@ -99,7 +94,7 @@ public: if (!Intro && me->IsWithinDistInMap(who, 100)) { Intro = true; - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); } if (!me->CanFly() && me->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) @@ -116,12 +111,12 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me); + Talk(SAY_AGGRO); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(DATA_IKISSDOOREVENT, DONE); @@ -129,7 +124,7 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + Talk(SAY_SLAY); } void UpdateAI(const uint32 diff) @@ -183,7 +178,7 @@ public: if (Blink_Timer <= diff) { - DoScriptText(EMOTE_ARCANE_EXP, me); + Talk(EMOTE_ARCANE_EXP); if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) { diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp index a109e3738b1..c93143c1c5c 100644 --- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp +++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp @@ -30,14 +30,11 @@ EndScriptData */ enum eEnums { - SAY_INTRO = -1555000, - SAY_AGGRO1 = -1555001, - SAY_AGGRO2 = -1555002, - SAY_AGGRO3 = -1555003, - SAY_HELP = -1555004, - SAY_SLAY1 = -1555005, - SAY_SLAY2 = -1555006, - SAY_DEATH = -1555007, + SAY_INTRO = 0, + SAY_AGGRO = 1, + SAY_HELP = 2, + SAY_SLAY = 3, + SAY_DEATH = 4, SPELL_BANISH = 30231, SPELL_CORROSIVE_ACID = 33551, @@ -119,7 +116,7 @@ public: { if (instance->GetData(TYPE_HELLMAW) != FAIL) { - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); Start(true, false, 0, NULL, false, true); } @@ -129,17 +126,17 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), 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_HELLMAW, DONE); diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp index e7063e479ee..eb06cce87fc 100644 --- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp +++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp @@ -27,33 +27,26 @@ EndScriptData */ #include "ScriptedCreature.h" #include "shadow_labyrinth.h" -#define SPELL_INCITE_CHAOS 33676 -#define SPELL_INCITE_CHAOS_B 33684 //debuff applied to each member of party -#define SPELL_CHARGE 33709 -#define SPELL_WAR_STOMP 33707 - -#define SAY_INTRO1 -1555008 //not used -#define SAY_INTRO2 -1555009 //not used -#define SAY_INTRO3 -1555010 //not used -#define SAY_AGGRO1 -1555011 -#define SAY_AGGRO2 -1555012 -#define SAY_AGGRO3 -1555013 -#define SAY_SLAY1 -1555014 -#define SAY_SLAY2 -1555015 -#define SAY_HELP -1555016 //not used -#define SAY_DEATH -1555017 - -//below, not used -#define SAY2_INTRO1 -1555018 -#define SAY2_INTRO2 -1555019 -#define SAY2_INTRO3 -1555020 -#define SAY2_AGGRO1 -1555021 -#define SAY2_AGGRO2 -1555022 -#define SAY2_AGGRO3 -1555023 -#define SAY2_SLAY1 -1555024 -#define SAY2_SLAY2 -1555025 -#define SAY2_HELP -1555026 -#define SAY2_DEATH -1555027 +enum BlackheartTheInciter +{ + SPELL_INCITE_CHAOS = 33676, + SPELL_INCITE_CHAOS_B = 33684, //debuff applied to each member of party + SPELL_CHARGE = 33709, + SPELL_WAR_STOMP = 33707, + + SAY_INTRO = 0, + SAY_AGGRO = 1, + SAY_SLAY = 2, + SAY_HELP = 3, + SAY_DEATH = 4, + + //below, not used + SAY2_INTRO = 5, + SAY2_AGGRO = 6, + SAY2_SLAY = 7, + SAY2_HELP = 8, + SAY2_DEATH = 9 +}; class boss_blackheart_the_inciter : public CreatureScript { @@ -94,12 +87,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(DATA_BLACKHEARTTHEINCITEREVENT, DONE); @@ -107,7 +100,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_BLACKHEARTTHEINCITEREVENT, IN_PROGRESS); diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp index 303a30bea8f..d7dbb8ef722 100644 --- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp +++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp @@ -28,30 +28,30 @@ EndScriptData */ #include "shadow_labyrinth.h" #include "Player.h" -#define SAY_INTRO -1555028 -#define SAY_AGGRO1 -1555029 -#define SAY_AGGRO2 -1555030 -#define SAY_AGGRO3 -1555031 -#define SAY_HELP -1555032 -#define SAY_SLAY1 -1555033 -#define SAY_SLAY2 -1555034 -#define SAY_DEATH -1555035 - -#define SPELL_RAIN_OF_FIRE 33617 -#define H_SPELL_RAIN_OF_FIRE 39363 - -#define SPELL_DRAW_SHADOWS 33563 -#define SPELL_SHADOWBOLT_VOLLEY 33841 -#define SPELL_BANISH 38791 - -#define MOB_VOID_TRAVELER 19226 -#define SPELL_SACRIFICE 33587 -#define SPELL_SHADOW_NOVA 33846 -#define SPELL_EMPOWERING_SHADOWS 33783 -#define H_SPELL_EMPOWERING_SHADOWS 39364 - -#define MOB_VOID_PORTAL 19224 -#define SPELL_VOID_PORTAL_VISUAL 33569 +enum GrandmasterVorpil +{ + SAY_INTRO = 0, + SAY_AGGRO = 1, + SAY_HELP = 2, + SAY_SLAY = 3, + SAY_DEATH = 4, + + SPELL_RAIN_OF_FIRE = 33617, + H_SPELL_RAIN_OF_FIRE = 39363, + + SPELL_DRAW_SHADOWS = 33563, + SPELL_SHADOWBOLT_VOLLEY = 33841, + SPELL_BANISH = 38791, + + MOB_VOID_TRAVELER = 19226, + SPELL_SACRIFICE = 33587, + SPELL_SHADOW_NOVA = 33846, + SPELL_EMPOWERING_SHADOWS = 33783, + H_SPELL_EMPOWERING_SHADOWS = 39364, + + MOB_VOID_PORTAL = 19224, + SPELL_VOID_PORTAL_VISUAL = 33569 +}; float VorpilPosition[3] = {-252.8820f, -264.3030f, 17.1f}; @@ -219,7 +219,7 @@ public: me->SummonCreature(MOB_VOID_TRAVELER, VoidPortalCoords[pos][0], VoidPortalCoords[pos][1], VoidPortalCoords[pos][2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000); if (!HelpYell) { - DoScriptText(SAY_HELP, me); + Talk(SAY_HELP); HelpYell = true; } } @@ -232,12 +232,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); destroyPortals(); if (instance) @@ -246,7 +246,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me); + Talk(SAY_AGGRO); summonPortals(); if (instance) @@ -259,7 +259,7 @@ public: if (!Intro && me->IsWithinLOSInMap(who)&& me->IsWithinDistInMap(who, 100) && me->IsValidAttackTarget(who)) { - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); Intro = true; } } diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp index 1503c9f7234..9ca9f7d089c 100644 --- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp +++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp @@ -28,15 +28,20 @@ EndScriptData */ #include "shadow_labyrinth.h" #include "SpellInfo.h" -#define EMOTE_SONIC_BOOM -1555036 +enum Murmur +{ + SPELL_RESONANCE = 33657, + SPELL_MAGNETIC_PULL = 33689, + SPELL_SONIC_SHOCK = 38797, + SPELL_THUNDERING_STORM = 39365, + EMOTE_SONIC_BOOM = 0 +}; #define SPELL_SONIC_BOOM_CAST DUNGEON_MODE(33923, 38796) #define SPELL_SONIC_BOOM_EFFECT DUNGEON_MODE(33666, 38795) -#define SPELL_RESONANCE 33657 + #define SPELL_MURMURS_TOUCH DUNGEON_MODE(33711, 38794) -#define SPELL_MAGNETIC_PULL 33689 -#define SPELL_SONIC_SHOCK 38797 -#define SPELL_THUNDERING_STORM 39365 + class boss_murmur : public CreatureScript { @@ -123,7 +128,7 @@ public: } if (SonicBoom_Timer <= diff) { - DoScriptText(EMOTE_SONIC_BOOM, me); + Talk(EMOTE_SONIC_BOOM); DoCast(me, SPELL_SONIC_BOOM_CAST); SonicBoom_Timer = 30000; SonicBoom = true; diff --git a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp index fd775df3392..427c23bafa6 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp @@ -27,32 +27,33 @@ EndScriptData */ #include "ScriptedCreature.h" #include "black_temple.h" -//Speech'n'Sound -#define SAY_AGGRO -1564029 -#define SAY_SLAY1 -1564030 -#define SAY_SLAY2 -1564031 -#define SAY_SPECIAL1 -1564032 -#define SAY_SPECIAL2 -1564033 -#define SAY_ENRAGE1 -1564034 -#define SAY_ENRAGE2 -1564035 -#define SAY_DEATH -1564036 - -//Spells -#define SPELL_ACID_GEYSER 40630 -#define SPELL_ACIDIC_WOUND 40481 -#define SPELL_ARCING_SMASH 40599 -#define SPELL_BLOODBOIL 42005 // This spell is AoE whereas it shouldn't be -#define SPELL_FEL_ACID 40508 -#define SPELL_FEL_RAGE_SELF 40594 -#define SPELL_FEL_RAGE_TARGET 40604 -#define SPELL_FEL_RAGE_2 40616 -#define SPELL_FEL_RAGE_3 41625 -#define SPELL_BEWILDERING_STRIKE 40491 -#define SPELL_EJECT1 40486 // 1000 Physical damage + knockback + script effect (should handle threat reduction I think) -#define SPELL_EJECT2 40597 // 1000 Physical damage + Stun (used in phase 2?) -#define SPELL_TAUNT_GURTOGG 40603 -#define SPELL_INSIGNIFIGANCE 40618 -#define SPELL_BERSERK 45078 +enum Bloodboil +{ + //Speech'n'Sound + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_SPECIAL = 2, + SAY_ENRAGE = 3, + SAY_DEATH = 4, + + //Spells + SPELL_ACID_GEYSER = 40630, + SPELL_ACIDIC_WOUND = 40481, + SPELL_ARCING_SMASH = 40599, + SPELL_BLOODBOIL = 42005, // This spell is AoE whereas it shouldn't be + SPELL_FEL_ACID = 40508, + SPELL_FEL_RAGE_SELF = 40594, + SPELL_FEL_RAGE_TARGET = 40604, + SPELL_FEL_RAGE_2 = 40616, + SPELL_FEL_RAGE_3 = 41625, + SPELL_BEWILDERING_STRIKE = 40491, + SPELL_EJECT1 = 40486, // 1000 Physical damage + knockback + script effect (should handle threat reduction I think) + SPELL_EJECT2 = 40597, // 1000 Physical damage + Stun (used in phase 2?) + SPELL_TAUNT_GURTOGG = 40603, + SPELL_INSIGNIFIGANCE = 40618, + SPELL_BERSERK = 45078 +}; + //This is used to sort the players by distance in preparation for the Bloodboil cast. @@ -121,14 +122,14 @@ public: void EnterCombat(Unit* /*who*/) { DoZoneInCombat(); - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_GURTOGGBLOODBOILEVENT, IN_PROGRESS); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) @@ -136,7 +137,7 @@ public: if (instance) instance->SetData(DATA_GURTOGGBLOODBOILEVENT, DONE); - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } // Note: This seems like a very complicated fix. The fix needs to be handled by the core, as implementation of limited-target AoE spells are still not limited. @@ -219,7 +220,7 @@ public: if (EnrageTimer <= diff) { DoCast(me, SPELL_BERSERK); - DoScriptText(RAND(SAY_ENRAGE1, SAY_ENRAGE2), me); + Talk(SAY_ENRAGE); } else EnrageTimer -= diff; } @@ -302,7 +303,7 @@ public: //Cast this without triggered so that it appears in combat logs and shows visual. DoCast(me, SPELL_FEL_RAGE_SELF); - DoScriptText(RAND(SAY_SPECIAL1, SAY_SPECIAL2), me); + Talk(SAY_SPECIAL); AcidGeyserTimer = 1000; PhaseChangeTimer = 30000; diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp index ec25a8f9f60..88e7c063c69 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp @@ -27,31 +27,29 @@ EndScriptData */ #include "ScriptedCreature.h" #include "black_temple.h" -//Speech'n'Sounds -#define SAY_TAUNT1 -1564018 -#define SAY_TAUNT2 -1564019 -#define SAY_TAUNT3 -1564020 -#define SAY_AGGRO -1564021 -#define SAY_SPELL1 -1564022 -#define SAY_SPELL2 -1564023 -#define SAY_SPELL3 -1564024 -#define SAY_SLAY1 -1564025 -#define SAY_SLAY2 -1564026 -#define SAY_ENRAGE -1564027 -#define SAY_DEATH -1564028 - -//Spells -#define SPELL_BEAM_SINISTER 40859 -#define SPELL_BEAM_VILE 40860 -#define SPELL_BEAM_WICKED 40861 -#define SPELL_BEAM_SINFUL 40827 -#define SPELL_ATTRACTION 40871 -#define SPELL_SILENCING_SHRIEK 40823 -#define SPELL_ENRAGE 23537 -#define SPELL_SABER_LASH 40810//43267 -#define SPELL_SABER_LASH_IMM 43690 -#define SPELL_TELEPORT_VISUAL 40869 -#define SPELL_BERSERK 45078 +enum MotherShahraz +{ + //Speech'n'Sounds + SAY_TAUNT = 0, + SAY_AGGRO = 1, + SAY_SPELL = 2, + SAY_SLAY = 3, + SAY_ENRAGE = 4, + SAY_DEATH = 5, + + //Spells + SPELL_BEAM_SINISTER = 40859, + SPELL_BEAM_VILE = 40860, + SPELL_BEAM_WICKED = 40861, + SPELL_BEAM_SINFUL = 40827, + SPELL_ATTRACTION = 40871, + SPELL_SILENCING_SHRIEK = 40823, + SPELL_ENRAGE = 23537, + SPELL_SABER_LASH = 40810,//43267 + SPELL_SABER_LASH_IMM = 43690, + SPELL_TELEPORT_VISUAL = 40869, + SPELL_BERSERK = 45078 +}; uint32 PrismaticAuras[]= { @@ -142,12 +140,12 @@ public: instance->SetData(DATA_MOTHERSHAHRAZEVENT, IN_PROGRESS); DoZoneInCombat(); - 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*/) @@ -155,7 +153,7 @@ public: if (instance) instance->SetData(DATA_MOTHERSHAHRAZEVENT, DONE); - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } void TeleportPlayers() @@ -185,7 +183,7 @@ public: { Enraged = true; DoCast(me, SPELL_ENRAGE, true); - DoScriptText(SAY_ENRAGE, me); + Talk(SAY_ENRAGE); } //Randomly cast one beam. @@ -236,7 +234,7 @@ public: TeleportPlayers(); - DoScriptText(RAND(SAY_SPELL2, SAY_SPELL3), me); + Talk(SAY_SPELL); FatalAttractionExplodeTimer = 2000; FatalAttractionTimer = urand(40, 71) * 1000; } else FatalAttractionTimer -= diff; @@ -284,14 +282,14 @@ public: if (EnrageTimer <= diff) { DoCast(me, SPELL_BERSERK); - DoScriptText(SAY_ENRAGE, me); + Talk(SAY_ENRAGE); } else EnrageTimer -= diff; } //Random taunts if (RandomYellTimer <= diff) { - DoScriptText(RAND(SAY_TAUNT1, SAY_TAUNT2, SAY_TAUNT3), me); + Talk(SAY_TAUNT); RandomYellTimer = urand(60, 151) * 1000; } else RandomYellTimer -= diff; diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp index 5ab9dcab667..00ea405e109 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp @@ -28,64 +28,61 @@ EndScriptData */ #include "black_temple.h" #include "Spell.h" -//Sound'n'speech -//Suffering -#define SUFF_SAY_FREED -1564047 -#define SUFF_SAY_AGGRO -1564048 -#define SUFF_SAY_SLAY1 -1564049 -#define SUFF_SAY_SLAY2 -1564050 -#define SUFF_SAY_SLAY3 -1564051 -#define SUFF_SAY_RECAP -1564052 -#define SUFF_SAY_AFTER -1564053 -#define SUFF_EMOTE_ENRAGE -1564054 - -//Desire -#define DESI_SAY_FREED -1564055 -#define DESI_SAY_SLAY1 -1564056 -#define DESI_SAY_SLAY2 -1564057 -#define DESI_SAY_SLAY3 -1564058 -#define DESI_SAY_SPEC -1564059 -#define DESI_SAY_RECAP -1564060 -#define DESI_SAY_AFTER -1564061 - -//Anger -#define ANGER_SAY_FREED -1564062 -#define ANGER_SAY_FREED2 -1564063 -#define ANGER_SAY_SLAY1 -1564064 -#define ANGER_SAY_SLAY2 -1564065 -#define ANGER_SAY_SPEC -1564066 -#define ANGER_SAY_BEFORE -1564067 -#define ANGER_SAY_DEATH -1564068 - -//Spells -#define AURA_OF_SUFFERING 41292 -#define AURA_OF_SUFFERING_ARMOR 42017 // linked aura, need core support -#define ESSENCE_OF_SUFFERING_PASSIVE 41296 // periodic trigger 41294 -#define ESSENCE_OF_SUFFERING_PASSIVE2 41623 -#define SPELL_FIXATE_TARGET 41294 // dummy, select target -#define SPELL_FIXATE_TAUNT 41295 // force taunt -#define SPELL_ENRAGE 41305 -#define SPELL_SOUL_DRAIN 41303 - -#define AURA_OF_DESIRE 41350 -#define AURA_OF_DESIRE_DAMAGE 41352 -#define SPELL_RUNE_SHIELD 41431 -#define SPELL_DEADEN 41410 -#define SPELL_SOUL_SHOCK 41426 - -#define AURA_OF_ANGER 41337 -#define SPELL_SELF_SEETHE 41364 // force cast 41520 -#define SPELL_ENEMY_SEETHE 41520 -#define SPELL_SOUL_SCREAM 41545 -#define SPELL_SPITE_TARGET 41376 // cast 41377 after 6 sec -#define SPELL_SPITE_DAMAGE 41377 - -#define ENSLAVED_SOUL_PASSIVE 41535 -#define SPELL_SOUL_RELEASE 41542 -#define SPELL_SUBMERGE 37550 //dropout 'head' - -#define CREATURE_ENSLAVED_SOUL 23469 -#define NUMBER_ENSLAVED_SOUL 8 +enum ReliquaryOfSouls +{ + //Sound'n'speech + //Suffering + SUFF_SAY_FREED = 0, + SUFF_SAY_AGGRO = 1, + SUFF_SAY_SLAY = 2, + SUFF_SAY_RECAP = 3, + SUFF_SAY_AFTER = 4, + SUFF_EMOTE_ENRAGE = 5, + + //Desire + DESI_SAY_FREED = 0, + DESI_SAY_SLAY = 1, + DESI_SAY_SPEC = 2, + DESI_SAY_RECAP = 3, + DESI_SAY_AFTER = 4, + + //Anger + ANGER_SAY_FREED = 0, + ANGER_SAY_SLAY = 1, + ANGER_SAY_SPEC = 2, + ANGER_SAY_BEFORE = 3, + ANGER_SAY_DEATH = 4, + + //Spells + AURA_OF_SUFFERING = 41292, + AURA_OF_SUFFERING_ARMOR = 42017, // linked aura, need core support + ESSENCE_OF_SUFFERING_PASSIVE = 41296, // periodic trigger 41294 + ESSENCE_OF_SUFFERING_PASSIVE2 = 41623, + SPELL_FIXATE_TARGET = 41294, // dummy, select target + SPELL_FIXATE_TAUNT = 41295, // force taunt + SPELL_ENRAGE = 41305, + SPELL_SOUL_DRAIN = 41303, + + AURA_OF_DESIRE = 41350, + AURA_OF_DESIRE_DAMAGE = 41352, + SPELL_RUNE_SHIELD = 41431, + SPELL_DEADEN = 41410, + SPELL_SOUL_SHOCK = 41426, + + AURA_OF_ANGER = 41337, + SPELL_SELF_SEETHE = 41364, // force cast 41520 + SPELL_ENEMY_SEETHE = 41520, + SPELL_SOUL_SCREAM = 41545, + SPELL_SPITE_TARGET = 41376, // cast 41377 after 6 sec + SPELL_SPITE_DAMAGE = 41377, + + ENSLAVED_SOUL_PASSIVE = 41535, + SPELL_SOUL_RELEASE = 41542, + SPELL_SUBMERGE = 37550, //dropout 'head' + + CREATURE_ENSLAVED_SOUL = 23469, + NUMBER_ENSLAVED_SOUL = 8 +}; struct Position2d { @@ -337,11 +334,11 @@ public: case 5: if (Phase == 1) { - DoScriptText(SUFF_SAY_AFTER, Essence); + Essence->AI()->Talk(SUFF_SAY_AFTER); } else { - DoScriptText(DESI_SAY_AFTER, Essence); + Essence->AI()->Talk(DESI_SAY_AFTER); } Essence->DespawnOrUnsummon(); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0); @@ -425,7 +422,7 @@ public: damage = 0; me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->Yell(SUFF_SAY_RECAP, LANG_UNIVERSAL, 0); - DoScriptText(SUFF_SAY_RECAP, me); + Talk(SUFF_SAY_RECAP); me->SetReactState(REACT_PASSIVE); } } @@ -434,7 +431,7 @@ public: { if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE)) { - DoScriptText(SUFF_SAY_FREED, me); + Talk(SUFF_SAY_FREED); DoZoneInCombat(); DoCast(me, AURA_OF_SUFFERING, true); // linked aura need core support DoCast(me, ESSENCE_OF_SUFFERING_PASSIVE, true); @@ -445,7 +442,7 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SUFF_SAY_SLAY1, SUFF_SAY_SLAY2, SUFF_SAY_SLAY3), me); + Talk(SUFF_SAY_SLAY); } void CastFixate() @@ -483,7 +480,7 @@ public: FixateTimer = 5000; if (!(rand()%16)) { - DoScriptText(SUFF_SAY_AGGRO, me); + Talk(SUFF_SAY_AGGRO); } } else FixateTimer -= diff; } @@ -496,7 +493,7 @@ public: { DoCast(me, SPELL_ENRAGE); EnrageTimer = 60000; - DoScriptText(SUFF_EMOTE_ENRAGE, me); + Talk(SUFF_EMOTE_ENRAGE); } else EnrageTimer -= diff; if (SoulDrainTimer <= diff) @@ -545,7 +542,7 @@ public: { damage = 0; me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); - DoScriptText(SUFF_SAY_RECAP, me); + Talk(SUFF_SAY_RECAP); me->SetReactState(REACT_PASSIVE); } else @@ -567,14 +564,14 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(DESI_SAY_FREED, me); + Talk(DESI_SAY_FREED); DoZoneInCombat(); DoCast(me, AURA_OF_DESIRE, true); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(DESI_SAY_SLAY1, DESI_SAY_SLAY2, DESI_SAY_SLAY3), me); + Talk(DESI_SAY_SLAY); } void UpdateAI(const uint32 diff) @@ -604,7 +601,7 @@ public: DeadenTimer = urand(25000, 35000); if (!(rand()%2)) { - DoScriptText(DESI_SAY_SPEC, me); + Talk(DESI_SAY_SPEC); } } else DeadenTimer -= diff; @@ -652,7 +649,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(ANGER_SAY_FREED, ANGER_SAY_FREED2), me); + Talk(ANGER_SAY_FREED); DoZoneInCombat(); DoCast(me, AURA_OF_ANGER, true); @@ -660,12 +657,12 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(ANGER_SAY_DEATH, me); + Talk(ANGER_SAY_DEATH); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(ANGER_SAY_SLAY1, ANGER_SAY_SLAY2), me); + Talk(ANGER_SAY_SLAY); } void UpdateAI(const uint32 diff) @@ -684,7 +681,7 @@ public: { if (me->getVictim()->GetGUID() != AggroTargetGUID) { - DoScriptText(ANGER_SAY_BEFORE, me); + Talk(ANGER_SAY_BEFORE); DoCast(me, SPELL_SELF_SEETHE, true); AggroTargetGUID = me->getVictim()->GetGUID(); } @@ -697,7 +694,7 @@ public: SoulScreamTimer = urand(9000, 11000); if (!(rand()%3)) { - DoScriptText(ANGER_SAY_SPEC, me); + Talk(ANGER_SAY_SPEC); } } else SoulScreamTimer -= diff; @@ -705,7 +702,7 @@ public: { DoCast(me, SPELL_SPITE_TARGET); SpiteTimer = 30000; - DoScriptText(ANGER_SAY_SPEC, me); + Talk(ANGER_SAY_SPEC); } else SpiteTimer -= diff; DoMeleeAttackIfReady(); diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp index 6e770249cf0..0180281cde3 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp @@ -29,12 +29,15 @@ EndScriptData */ #include "black_temple.h" #include "Player.h" -#define SAY_DEATH -1564013 -#define SAY_LOW_HEALTH -1564014 -// Ending cinematic text -#define SAY_FREE -1564015 -#define SAY_BROKEN_FREE_01 -1564016 -#define SAY_BROKEN_FREE_02 -1564017 +enum ShadeOfAkama +{ + SAY_DEATH = 0, + SAY_LOW_HEALTH = 1, + // Ending cinematic text + SAY_FREE = 2, + SAY_BROKEN_FREE_01 = 0, + SAY_BROKEN_FREE_02 = 1 +}; #define GOSSIP_ITEM "We are ready to fight alongside you, Akama" @@ -704,7 +707,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); EventBegun = false; ShadeHasDied = false; StartCombat = false; @@ -729,7 +732,7 @@ public: if (HealthBelowPct(15) && !HasYelledOnce) { - DoScriptText(SAY_LOW_HEALTH, me); + Talk(SAY_LOW_HEALTH); HasYelledOnce = true; } @@ -825,7 +828,7 @@ public: SummonBrokenTimer = 1; break; case 1: - DoScriptText(SAY_FREE, me); + Talk(SAY_FREE); ++EndingTalkCount; SoulRetrieveTimer = 25000; break; @@ -838,7 +841,7 @@ public: { if (!Yelled) { - DoScriptText(SAY_BROKEN_FREE_01, unit); + unit->AI()->Talk(SAY_BROKEN_FREE_01); Yelled = true; } unit->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL); @@ -863,7 +866,7 @@ public: { for (std::list<uint64>::const_iterator itr = BrokenList.begin(); itr != BrokenList.end(); ++itr) if (Creature* unit = Unit::GetCreature((*me), *itr)) - unit->MonsterYell(SAY_BROKEN_FREE_02, LANG_UNIVERSAL, 0); + unit->AI()->Talk(SAY_BROKEN_FREE_02); } SoulRetrieveTimer = 0; break; diff --git a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp index 77d1c86951b..388052f0a5e 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp @@ -28,32 +28,35 @@ EndScriptData */ #include "PassiveAI.h" #include "black_temple.h" -#define EMOTE_NEW_TARGET -1564010 -#define EMOTE_PUNCH_GROUND -1564011 //DoScriptText(EMOTE_PUNCH_GROUND, me); -#define EMOTE_GROUND_CRACK -1564012 - -//Spells -#define SPELL_MOLTEN_PUNCH 40126 -#define SPELL_HATEFUL_STRIKE 41926 -#define SPELL_MOLTEN_FLAME 40980 -#define SPELL_VOLCANIC_ERUPTION 40117 -#define SPELL_VOLCANIC_SUMMON 40276 -#define SPELL_BERSERK 45078 - -#define CREATURE_VOLCANO 23085 -#define CREATURE_STALKER 23095 - -#define PHASE_STRIKE 1 -#define PHASE_CHASE 2 - -#define EVENT_BERSERK 1 -#define EVENT_SWITCH_PHASE 2 -#define EVENT_FLAME 3 -#define EVENT_VOLCANO 4 -#define EVENT_SWITCH_TARGET 5 -#define EVENT_HATEFUL_STRIKE 6 - -#define GCD_CAST 1 +enum Supremus +{ + EMOTE_NEW_TARGET = 0, + EMOTE_PUNCH_GROUND = 1, //Talk(EMOTE_PUNCH_GROUND); + EMOTE_GROUND_CRACK = 2, + + //Spells + SPELL_MOLTEN_PUNCH = 40126, + SPELL_HATEFUL_STRIKE = 41926, + SPELL_MOLTEN_FLAME = 40980, + SPELL_VOLCANIC_ERUPTION = 40117, + SPELL_VOLCANIC_SUMMON = 40276, + SPELL_BERSERK = 45078, + + CREATURE_VOLCANO = 23085, + CREATURE_STALKER = 23095, + + PHASE_STRIKE = 1, + PHASE_CHASE = 2, + + EVENT_BERSERK = 1, + EVENT_SWITCH_PHASE = 2, + EVENT_FLAME = 3, + EVENT_VOLCANO = 4, + EVENT_SWITCH_TARGET = 5, + EVENT_HATEFUL_STRIKE = 6, + + GCD_CAST = 1 +}; class molten_flame : public CreatureScript { @@ -230,7 +233,7 @@ public: { DoResetThreat(); me->AddThreat(target, 5000000.0f); - DoScriptText(EMOTE_NEW_TARGET, me); + Talk(EMOTE_NEW_TARGET); } events.ScheduleEvent(EVENT_SWITCH_TARGET, 10000, 0, PHASE_CHASE); break; @@ -242,7 +245,7 @@ public: { //DoCast(target, SPELL_VOLCANIC_SUMMON);//movement bugged me->SummonCreature(CREATURE_VOLCANO, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 30000); - DoScriptText(EMOTE_GROUND_CRACK, me); + Talk(EMOTE_GROUND_CRACK); events.DelayEvents(1500, GCD_CAST); } events.ScheduleEvent(EVENT_VOLCANO, 10000, GCD_CAST, PHASE_CHASE); diff --git a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp index 9a200d07d2b..ce17ac48cf5 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp @@ -27,30 +27,29 @@ EndScriptData */ #include "ScriptedCreature.h" #include "black_temple.h" - //Speech'n'sound -#define SAY_INTRO -1564037 -#define SAY_AGGRO -1564038 -#define SAY_SLAY1 -1564039 -#define SAY_SLAY2 -1564040 -#define SAY_SPELL1 -1564041 -#define SAY_SPELL2 -1564042 -#define SAY_SPECIAL1 -1564043 -#define SAY_SPECIAL2 -1564044 -#define SAY_ENRAGE -1564045 -#define SAY_DEATH -1564046 - -//Spells -#define SPELL_INCINERATE 40239 -#define SPELL_CRUSHING_SHADOWS 40243 -#define SPELL_SHADOWBOLT 40185 -#define SPELL_PASSIVE_SHADOWFORM 40326 -#define SPELL_SHADOW_OF_DEATH 40251 -#define SPELL_BERSERK 45078 - -#define SPELL_ATROPHY 40327 // Shadowy Constructs use this when they get within melee range of a player - -#define CREATURE_DOOM_BLOSSOM 23123 -#define CREATURE_SHADOWY_CONSTRUCT 23111 +enum DoomBlossom +{ + //Speech'n'sound + SAY_INTRO = 0, + SAY_AGGRO = 1, + SAY_SLAY = 2, + SAY_SPELL = 3, + SAY_SPECIAL = 4, + SAY_ENRAGE = 5, + SAY_DEATH = 6, + + //Spells + SPELL_INCINERATE = 40239, + SPELL_CRUSHING_SHADOWS = 40243, + SPELL_SHADOWBOLT = 40185, + SPELL_PASSIVE_SHADOWFORM = 40326, + SPELL_SHADOW_OF_DEATH = 40251, + SPELL_BERSERK = 45078, + SPELL_ATROPHY = 40327, // Shadowy Constructs use this when they get within melee range of a player + + CREATURE_DOOM_BLOSSOM = 23123, + CREATURE_SHADOWY_CONSTRUCT = 23111 +}; class mob_doom_blossom : public CreatureScript { @@ -278,7 +277,7 @@ public: me->GetMotionMaster()->Clear(false); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_TALK); AggroTargetGUID = who->GetGUID(); Intro = true; @@ -290,7 +289,7 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) @@ -298,7 +297,7 @@ public: if (instance) instance->SetData(DATA_TERONGOREFIENDEVENT, DONE); - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } float CalculateRandomLocation(float Loc, uint32 radius) @@ -387,7 +386,7 @@ public: { me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_NONE); Done = true; if (AggroTargetGUID) @@ -461,7 +460,7 @@ public: if (target) { - DoScriptText(RAND(SAY_SPECIAL1, SAY_SPECIAL2), me); + Talk(SAY_SPECIAL); DoCast(target, SPELL_INCINERATE); IncinerateTimer = urand(20, 51) * 1000; } @@ -494,7 +493,7 @@ public: if (RandomYellTimer <= diff) { - DoScriptText(RAND(SAY_SPELL1, SAY_SPELL2), me); + Talk(SAY_SPELL); RandomYellTimer = urand(50, 101) * 1000; } else RandomYellTimer -= diff; @@ -503,7 +502,7 @@ public: if (EnrageTimer <= diff) { DoCast(me, SPELL_BERSERK); - DoScriptText(SAY_ENRAGE, me); + Talk(SAY_ENRAGE); } else EnrageTimer -= diff; } diff --git a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp index 9924bf1ffab..f56d55c36e3 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp @@ -31,16 +31,12 @@ EndScriptData */ enum eEnums { - SAY_AGGRO = -1564000, - SAY_NEEDLE1 = -1564001, - SAY_NEEDLE2 = -1564002, - SAY_SLAY1 = -1564003, - SAY_SLAY2 = -1564004, - SAY_SPECIAL1 = -1564005, - SAY_SPECIAL2 = -1564006, - SAY_ENRAGE1 = -1564007, //is this text actually in use? - SAY_ENRAGE2 = -1564008, - SAY_DEATH = -1564009, + SAY_AGGRO = 0, + SAY_NEEDLE = 1, + SAY_SLAY = 2, + SAY_SPECIAL = 3, + SAY_ENRAGE = 4, + SAY_DEATH = 5, //Spells SPELL_NEEDLE_SPINE = 39992, @@ -97,7 +93,7 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(urand(0, 1) ? SAY_SLAY1 : SAY_SLAY2, me); + Talk(SAY_SLAY); events.DelayEvents(5000, GCD_YELL); } @@ -106,7 +102,7 @@ public: if (instance) instance->SetData(DATA_HIGHWARLORDNAJENTUSEVENT, DONE); - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } void SpellHit(Unit* /*caster*/, const SpellInfo* spell) @@ -124,7 +120,7 @@ public: if (instance) instance->SetData(DATA_HIGHWARLORDNAJENTUSEVENT, IN_PROGRESS); - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); DoZoneInCombat(); events.ScheduleEvent(EVENT_BERSERK, 480000, GCD_CAST); events.ScheduleEvent(EVENT_YELL, 45000 + (rand()%76)*1000, GCD_YELL); @@ -166,7 +162,7 @@ public: ResetTimer(45000); break; case EVENT_BERSERK: - DoScriptText(SAY_ENRAGE2, me); + Talk(SAY_ENRAGE); DoCast(me, SPELL_BERSERK, true); events.DelayEvents(15000, GCD_YELL); break; @@ -180,7 +176,7 @@ public: SpineTargetGUID = target->GetGUID(); //must let target summon, otherwise you cannot click the spine target->SummonGameObject(GOBJECT_SPINE, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), me->GetOrientation(), 0, 0, 0, 0, 30); - DoScriptText(urand(0, 1) ? SAY_NEEDLE1 : SAY_NEEDLE2, me); + Talk(SAY_NEEDLE); events.DelayEvents(1500, GCD_CAST); events.DelayEvents(15000, GCD_YELL); } @@ -199,7 +195,7 @@ public: return; } case EVENT_YELL: - DoScriptText(RAND(SAY_SPECIAL1, SAY_SPECIAL2), me); + Talk(SAY_SPECIAL); events.ScheduleEvent(EVENT_YELL, urand(25000, 100000), GCD_YELL); events.DelayEvents(15000, GCD_YELL); break; diff --git a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp index 673d4bcc96f..5a9b6e5a94e 100644 --- a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp +++ b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp @@ -29,35 +29,69 @@ EndScriptData */ #include "SpellAuraEffects.h" #include "black_temple.h" -//Speech'n'Sounds -#define SAY_GATH_SLAY -1564085 -#define SAY_GATH_SLAY_COMNT -1564089 -#define SAY_GATH_DEATH -1564093 -#define SAY_GATH_SPECIAL1 -1564077 -#define SAY_GATH_SPECIAL2 -1564081 - -#define SAY_VERA_SLAY -1564086 -#define SAY_VERA_COMNT -1564089 //signed for 22949 -#define SAY_VERA_DEATH -1564094 -#define SAY_VERA_SPECIAL1 -1564078 -#define SAY_VERA_SPECIAL2 -1564082 - -#define SAY_MALA_SLAY -1564087 -#define SAY_MALA_COMNT -1564090 -#define SAY_MALA_DEATH -1564095 -#define SAY_MALA_SPECIAL1 -1564079 -#define SAY_MALA_SPECIAL2 -1564083 - -#define SAY_ZERE_SLAY -1564088 -#define SAY_ZERE_COMNT -1564091 -#define SAY_ZERE_DEATH -1564096 -#define SAY_ZERE_SPECIAL1 -1564080 -#define SAY_ZERE_SPECIAL2 -1564084 +enum IllidariCouncil +{ + //Speech'n'Sounds + SAY_GATH_SPECIAL1 = 2, + SAY_GATH_SPECIAL2 = 3, + SAY_GATH_SLAY = 4, + SAY_GATH_COMNT = 5, + SAY_GATH_DEATH = 6, + + SAY_MALA_SPECIAL1 = 2, + SAY_MALA_SPECIAL2 = 3, + SAY_MALA_SLAY = 4, + SAY_MALA_COMNT = 5, + SAY_MALA_DEATH = 6, + + SAY_ZERE_SPECIAL1 = 2, + SAY_ZERE_SPECIAL2 = 3, + SAY_ZERE_SLAY = 4, + SAY_ZERE_COMNT = 5, + SAY_ZERE_DEATH = 6, + + SAY_VERA_SPECIAL1 = 2, + SAY_VERA_SPECIAL2 = 3, + SAY_VERA_SLAY = 4, + SAY_VERA_COMNT = 5, + SAY_VERA_DEATH = 6, + + AKAMAID = 23089, + + // High Nethermancer Zerevor's spells + SPELL_FLAMESTRIKE = 41481, + SPELL_BLIZZARD = 41482, + SPELL_ARCANE_BOLT = 41483, + SPELL_ARCANE_EXPLOSION = 41524, + SPELL_DAMPEN_MAGIC = 41478, + + // Lady Malande's spells + SPELL_EMPOWERED_SMITE = 41471, + SPELL_CIRCLE_OF_HEALING = 41455, + SPELL_REFLECTIVE_SHIELD = 41475, + SPELL_REFLECTIVE_SHIELD_T = 33619, + SPELL_DIVINE_WRATH = 41472, + SPELL_HEAL_VISUAL = 24171, + + // Gathios the Shatterer's spells + SPELL_BLESS_PROTECTION = 41450, + SPELL_BLESS_SPELLWARD = 41451, + SPELL_CONSECRATION = 41541, + SPELL_HAMMER_OF_JUSTICE = 41468, + SPELL_SEAL_OF_COMMAND = 41469, + SPELL_SEAL_OF_BLOOD = 41459, + SPELL_CHROMATIC_AURA = 41453, + SPELL_DEVOTION_AURA = 41452, + + // Veras Darkshadow's spells + SPELL_DEADLY_POISON = 41485, + SPELL_ENVENOM = 41487, + SPELL_VANISH = 41479, + SPELL_BERSERK = 45078 +}; #define ERROR_INST_DATA "SD2 ERROR: Instance Data for Black Temple not set properly; Illidari Council event will not function properly." -#define AKAMAID 23089 - struct CouncilYells { int32 entry; @@ -66,53 +100,21 @@ struct CouncilYells static CouncilYells CouncilAggro[]= { - {-1564069, 5000}, // Gathios - {-1564070, 5500}, // Veras - {-1564071, 5000}, // Malande - {-1564072, 0}, // Zerevor + {0, 5000}, // Gathios + {0, 5500}, // Veras + {0, 5000}, // Malande + {0, 0}, // Zerevor }; // Need to get proper timers for this later static CouncilYells CouncilEnrage[]= { - {-1564073, 2000}, // Gathios - {-1564074, 6000}, // Veras - {-1564075, 5000}, // Malande - {-1564076, 0}, // Zerevor + {1, 2000}, // Gathios + {1, 6000}, // Veras + {1, 5000}, // Malande + {1, 0}, // Zerevor }; -// High Nethermancer Zerevor's spells -#define SPELL_FLAMESTRIKE 41481 -#define SPELL_BLIZZARD 41482 -#define SPELL_ARCANE_BOLT 41483 -#define SPELL_ARCANE_EXPLOSION 41524 -#define SPELL_DAMPEN_MAGIC 41478 - -// Lady Malande's spells -#define SPELL_EMPOWERED_SMITE 41471 -#define SPELL_CIRCLE_OF_HEALING 41455 -#define SPELL_REFLECTIVE_SHIELD 41475 -#define SPELL_REFLECTIVE_SHIELD_T 33619 -#define SPELL_DIVINE_WRATH 41472 -#define SPELL_HEAL_VISUAL 24171 - -// Gathios the Shatterer's spells -#define SPELL_BLESS_PROTECTION 41450 -#define SPELL_BLESS_SPELLWARD 41451 -#define SPELL_CONSECRATION 41541 -#define SPELL_HAMMER_OF_JUSTICE 41468 -#define SPELL_SEAL_OF_COMMAND 41469 -#define SPELL_SEAL_OF_BLOOD 41459 -#define SPELL_CHROMATIC_AURA 41453 -#define SPELL_DEVOTION_AURA 41452 - -// Veras Darkshadow's spells -#define SPELL_DEADLY_POISON 41485 -#define SPELL_ENVENOM 41487 -#define SPELL_VANISH 41479 - -#define SPELL_BERSERK 45078 - class mob_blood_elf_council_voice_trigger : public CreatureScript { public: @@ -179,9 +181,9 @@ public: { if (AggroYellTimer <= diff) { - if (Unit* pMember = Unit::GetUnit(*me, Council[YellCounter])) + if (Creature* pMember = Creature::GetCreature(*me, Council[YellCounter])) { - DoScriptText(CouncilAggro[YellCounter].entry, pMember); + pMember->AI()->Talk(CouncilAggro[YellCounter].entry); AggroYellTimer = CouncilAggro[YellCounter].timer; } ++YellCounter; @@ -194,10 +196,10 @@ public: { if (EnrageTimer <= diff) { - if (Unit* pMember = Unit::GetUnit(*me, Council[YellCounter])) + if (Creature* pMember = Creature::GetCreature(*me, Council[YellCounter])) { pMember->CastSpell(pMember, SPELL_BERSERK, true); - DoScriptText(CouncilEnrage[YellCounter].entry, pMember); + pMember->AI()->Talk(CouncilEnrage[YellCounter].entry); EnrageTimer = CouncilEnrage[YellCounter].timer; } ++YellCounter; @@ -497,12 +499,12 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(SAY_GATH_SLAY, me); + Talk(SAY_GATH_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_GATH_DEATH, me); + Talk(SAY_GATH_DEATH); } Unit* SelectCouncilMember() @@ -631,12 +633,12 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(SAY_ZERE_SLAY, me); + Talk(SAY_ZERE_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_ZERE_DEATH, me); + Talk(SAY_ZERE_DEATH); } void UpdateAI(const uint32 diff) @@ -731,12 +733,12 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(SAY_MALA_SLAY, me); + Talk(SAY_MALA_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_MALA_DEATH, me); + Talk(SAY_MALA_DEATH); } void UpdateAI(const uint32 diff) @@ -817,12 +819,12 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(SAY_VERA_SLAY, me); + Talk(SAY_VERA_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_VERA_DEATH, me); + Talk(SAY_VERA_DEATH); } void UpdateAI(const uint32 diff) diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp index a5737714e71..5a26ffd9acd 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp @@ -28,64 +28,62 @@ EndScriptData */ #include "serpent_shrine.h" #include "ScriptedEscortAI.h" -#define SAY_AGGRO -1548021 -#define SAY_GAIN_BLESSING -1548022 -#define SAY_GAIN_ABILITY1 -1548023 -#define SAY_GAIN_ABILITY2 -1548024 -#define SAY_GAIN_ABILITY3 -1548025 -#define SAY_SLAY1 -1548026 -#define SAY_SLAY2 -1548027 -#define SAY_SLAY3 -1548028 -#define SAY_DEATH -1548029 - -//Karathress spells -#define SPELL_CATACLYSMIC_BOLT 38441 -#define SPELL_POWER_OF_SHARKKIS 38455 -#define SPELL_POWER_OF_TIDALVESS 38452 -#define SPELL_POWER_OF_CARIBDIS 38451 -#define SPELL_ENRAGE 24318 -#define SPELL_SEAR_NOVA 38445 -#define SPELL_BLESSING_OF_THE_TIDES 38449 - -//Sharkkis spells -#define SPELL_LEECHING_THROW 29436 -#define SPELL_THE_BEAST_WITHIN 38373 -#define SPELL_MULTISHOT 38366 -#define SPELL_SUMMON_FATHOM_LURKER 38433 -#define SPELL_SUMMON_FATHOM_SPOREBAT 38431 -#define SPELL_PET_ENRAGE 19574 - -//Tidalvess spells -#define SPELL_FROST_SHOCK 38234 -#define SPELL_SPITFIRE_TOTEM 38236 -#define SPELL_POISON_CLEANSING_TOTEM 38306 -// Spell obsolete -// #define SPELL_POISON_CLEANSING_EFFECT 8167 -#define SPELL_EARTHBIND_TOTEM 38304 -#define SPELL_EARTHBIND_TOTEM_EFFECT 6474 -#define SPELL_WINDFURY_WEAPON 38184 - -//Caribdis Spells -#define SPELL_WATER_BOLT_VOLLEY 38335 -#define SPELL_TIDAL_SURGE 38358 -#define SPELL_TIDAL_SURGE_FREEZE 38357 -#define SPELL_HEAL 38330 -#define SPELL_SUMMON_CYCLONE 38337 -#define SPELL_CYCLONE_CYCLONE 29538 - -//Yells and Quotes -#define SAY_GAIN_BLESSING_OF_TIDES "Your overconfidence will be your undoing! Guards, lend me your strength!" -#define SOUND_GAIN_BLESSING_OF_TIDES 11278 -#define SAY_MISC "Alana be'lendor!" //don't know what use this -#define SOUND_MISC 11283 - -//Summoned Unit GUIDs -#define CREATURE_CYCLONE 22104 -#define CREATURE_FATHOM_SPOREBAT 22120 -#define CREATURE_FATHOM_LURKER 22119 -#define CREATURE_SPITFIRE_TOTEM 22091 -#define CREATURE_EARTHBIND_TOTEM 22486 -#define CREATURE_POISON_CLEANSING_TOTEM 22487 +enum FathomlordKarathress +{ + SAY_AGGRO = 0, + SAY_GAIN_BLESSING = 1, + SAY_GAIN_ABILITY1 = 2, + SAY_GAIN_ABILITY2 = 3, + SAY_GAIN_ABILITY3 = 4, + SAY_SLAY = 5, + SAY_DEATH = 6, + + //Karathress spells + SPELL_CATACLYSMIC_BOLT = 38441, + SPELL_POWER_OF_SHARKKIS = 38455, + SPELL_POWER_OF_TIDALVESS = 38452, + SPELL_POWER_OF_CARIBDIS = 38451, + SPELL_ENRAGE = 24318, + SPELL_SEAR_NOVA = 38445, + SPELL_BLESSING_OF_THE_TIDES = 38449, + + //Sharkkis spells + SPELL_LEECHING_THROW = 29436, + SPELL_THE_BEAST_WITHIN = 38373, + SPELL_MULTISHOT = 38366, + SPELL_SUMMON_FATHOM_LURKER = 38433, + SPELL_SUMMON_FATHOM_SPOREBAT = 38431, + SPELL_PET_ENRAGE = 19574, + + //Tidalvess spells + SPELL_FROST_SHOCK = 38234, + SPELL_SPITFIRE_TOTEM = 38236, + SPELL_POISON_CLEANSING_TOTEM = 38306, + // Spell obsolete + SPELL_EARTHBIND_TOTEM = 38304, + SPELL_EARTHBIND_TOTEM_EFFECT = 6474, + SPELL_WINDFURY_WEAPON = 38184, + + //Caribdis Spells + SPELL_WATER_BOLT_VOLLEY = 38335, + SPELL_TIDAL_SURGE = 38358, + SPELL_TIDAL_SURGE_FREEZE = 38357, + SPELL_HEAL = 38330, + SPELL_SUMMON_CYCLONE = 38337, + SPELL_CYCLONE_CYCLONE = 29538, + + //Yells and Quotes + SOUND_GAIN_BLESSING_OF_TIDES = 11278, + SOUND_MISC = 11283, + + //Summoned Unit GUIDs + CREATURE_CYCLONE = 22104, + CREATURE_FATHOM_SPOREBAT = 22120, + CREATURE_FATHOM_LURKER = 22119, + CREATURE_SPITFIRE_TOTEM = 22091, + CREATURE_EARTHBIND_TOTEM = 22486, + CREATURE_POISON_CLEANSING_TOTEM = 22487, +}; //entry and position for Seer Olum #define SEER_OLUM 22820 @@ -94,6 +92,9 @@ EndScriptData */ #define OLUM_Z -7.54773f #define OLUM_O 0.401581f +#define SAY_GAIN_BLESSING_OF_TIDES "Your overconfidence will be your undoing! Guards, lend me your strength!" +#define SAY_MISC "Alana be'lendor!" //don't know what use this + #define MAX_ADVISORS 3 //Fathom-Lord Karathress AI class boss_fathomlord_karathress : public CreatureScript @@ -160,19 +161,19 @@ public: void EventSharkkisDeath() { - DoScriptText(SAY_GAIN_ABILITY1, me); + Talk(SAY_GAIN_ABILITY1); DoCast(me, SPELL_POWER_OF_SHARKKIS); } void EventTidalvessDeath() { - DoScriptText(SAY_GAIN_ABILITY2, me); + Talk(SAY_GAIN_ABILITY2); DoCast(me, SPELL_POWER_OF_TIDALVESS); } void EventCaribdisDeath() { - DoScriptText(SAY_GAIN_ABILITY3, me); + Talk(SAY_GAIN_ABILITY3); DoCast(me, SPELL_POWER_OF_CARIBDIS); } @@ -193,7 +194,7 @@ public: GetAdvisors(); - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); DoZoneInCombat(); instance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID()); @@ -202,12 +203,12 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(DATA_FATHOMLORDKARATHRESSEVENT, DONE); diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp index bad10752db3..c8589cc05d8 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp @@ -27,43 +27,45 @@ EndScriptData */ #include "ScriptedCreature.h" #include "serpent_shrine.h" -#define SAY_AGGRO -1548000 -#define SAY_SWITCH_TO_CLEAN -1548001 -#define SAY_CLEAN_SLAY1 -1548002 -#define SAY_CLEAN_SLAY2 -1548003 -#define SAY_CLEAN_DEATH -1548004 -#define SAY_SWITCH_TO_CORRUPT -1548005 -#define SAY_CORRUPT_SLAY1 -1548006 -#define SAY_CORRUPT_SLAY2 -1548007 -#define SAY_CORRUPT_DEATH -1548008 - -#define SWITCH_RADIUS 18 - -#define MODEL_CORRUPT 20609 -#define MODEL_CLEAN 20162 - -#define SPELL_WATER_TOMB 38235 -#define SPELL_MARK_OF_HYDROSS1 38215 -#define SPELL_MARK_OF_HYDROSS2 38216 -#define SPELL_MARK_OF_HYDROSS3 38217 -#define SPELL_MARK_OF_HYDROSS4 38218 -#define SPELL_MARK_OF_HYDROSS5 38231 -#define SPELL_MARK_OF_HYDROSS6 40584 -#define SPELL_MARK_OF_CORRUPTION1 38219 -#define SPELL_MARK_OF_CORRUPTION2 38220 -#define SPELL_MARK_OF_CORRUPTION3 38221 -#define SPELL_MARK_OF_CORRUPTION4 38222 -#define SPELL_MARK_OF_CORRUPTION5 38230 -#define SPELL_MARK_OF_CORRUPTION6 40583 -#define SPELL_VILE_SLUDGE 38246 -#define SPELL_ENRAGE 27680 //this spell need verification -#define SPELL_SUMMON_WATER_ELEMENT 36459 //not in use yet(in use ever?) -#define SPELL_ELEMENTAL_SPAWNIN 25035 -#define SPELL_BLUE_BEAM 40227 //channeled Hydross Beam Helper (not in use yet) - -#define ENTRY_PURE_SPAWN 22035 -#define ENTRY_TAINTED_SPAWN 22036 -#define ENTRY_BEAM_DUMMY 21934 +enum HydrossTheUnstable +{ + SAY_AGGRO = 0, + SAY_SWITCH_TO_CLEAN = 1, + SAY_CLEAN_SLAY = 2, + SAY_CLEAN_DEATH = 3, + SAY_SWITCH_TO_CORRUPT = 4, + SAY_CORRUPT_SLAY = 5, + SAY_CORRUPT_DEATH = 6, + + SWITCH_RADIUS = 18, + + MODEL_CORRUPT = 20609, + MODEL_CLEAN = 20162, + + SPELL_WATER_TOMB = 38235, + SPELL_MARK_OF_HYDROSS1 = 38215, + SPELL_MARK_OF_HYDROSS2 = 38216, + SPELL_MARK_OF_HYDROSS3 = 38217, + SPELL_MARK_OF_HYDROSS4 = 38218, + SPELL_MARK_OF_HYDROSS5 = 38231, + SPELL_MARK_OF_HYDROSS6 = 40584, + SPELL_MARK_OF_CORRUPTION1 = 38219, + SPELL_MARK_OF_CORRUPTION2 = 38220, + SPELL_MARK_OF_CORRUPTION3 = 38221, + SPELL_MARK_OF_CORRUPTION4 = 38222, + SPELL_MARK_OF_CORRUPTION5 = 38230, + SPELL_MARK_OF_CORRUPTION6 = 40583, + SPELL_VILE_SLUDGE = 38246, + SPELL_ENRAGE = 27680, //this spell need verification + SPELL_SUMMON_WATER_ELEMENT = 36459, //not in use yet(in use ever?) + SPELL_ELEMENTAL_SPAWNIN = 25035, + SPELL_BLUE_BEAM = 40227, //channeled Hydross Beam Helper (not in use yet) + + ENTRY_PURE_SPAWN = 22035, + ENTRY_TAINTED_SPAWN = 22036, + ENTRY_BEAM_DUMMY = 21934 +}; + #define HYDROSS_X -239.439f #define HYDROSS_Y -363.481f @@ -169,7 +171,7 @@ public: } void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_HYDROSSTHEUNSTABLEEVENT, IN_PROGRESS); @@ -177,10 +179,7 @@ public: void KilledUnit(Unit* /*victim*/) { - if (CorruptedForm) - DoScriptText(RAND(SAY_CORRUPT_SLAY1, SAY_CORRUPT_SLAY2), me); - else - DoScriptText(RAND(SAY_CLEAN_SLAY1, SAY_CLEAN_SLAY2), me); + Talk(CorruptedForm ? SAY_CORRUPT_SLAY : SAY_CLEAN_SLAY); } void JustSummoned(Creature* summoned) @@ -206,10 +205,7 @@ public: void JustDied(Unit* /*killer*/) { - if (CorruptedForm) - DoScriptText(SAY_CORRUPT_DEATH, me); - else - DoScriptText(SAY_CLEAN_DEATH, me); + Talk(CorruptedForm ? SAY_CORRUPT_DEATH : SAY_CLEAN_DEATH); if (instance) instance->SetData(DATA_HYDROSSTHEUNSTABLEEVENT, DONE); @@ -293,7 +289,7 @@ public: CorruptedForm = false; MarkOfHydross_Count = 0; - DoScriptText(SAY_SWITCH_TO_CLEAN, me); + Talk(SAY_SWITCH_TO_CLEAN); DoResetThreat(); SummonBeams(); @@ -377,7 +373,7 @@ public: MarkOfCorruption_Count = 0; CorruptedForm = true; - DoScriptText(SAY_SWITCH_TO_CORRUPT, me); + Talk(SAY_SWITCH_TO_CORRUPT); DoResetThreat(); DeSummonBeams(); diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp index a934d03349c..6c4c51b03fe 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp @@ -30,48 +30,47 @@ EndScriptData */ #include "Player.h" #include "WorldSession.h" -#define SAY_INTRO -1548042 -#define SAY_AGGRO1 -1548043 -#define SAY_AGGRO2 -1548044 -#define SAY_AGGRO3 -1548045 -#define SAY_AGGRO4 -1548046 -#define SAY_PHASE1 -1548047 -#define SAY_PHASE2 -1548048 -#define SAY_PHASE3 -1548049 -#define SAY_BOWSHOT1 -1548050 -#define SAY_BOWSHOT2 -1548051 -#define SAY_SLAY1 -1548052 -#define SAY_SLAY2 -1548053 -#define SAY_SLAY3 -1548054 -#define SAY_DEATH -1548055 - -#define SPELL_SURGE 38044 -#define SPELL_MULTI_SHOT 38310 -#define SPELL_SHOCK_BLAST 38509 -#define SPELL_ENTANGLE 38316 -#define SPELL_STATIC_CHARGE_TRIGGER 38280 -#define SPELL_FORKED_LIGHTNING 40088 -#define SPELL_SHOOT 40873 -#define SPELL_POISON_BOLT 40095 -#define SPELL_TOXIC_SPORES 38575 -#define SPELL_MAGIC_BARRIER 38112 - -#define MIDDLE_X 30.134f -#define MIDDLE_Y -923.65f -#define MIDDLE_Z 42.9f - -#define SPOREBAT_X 30.977156f +enum LadyVashj +{ + SAY_INTRO = 0, + SAY_AGGRO = 1, + SAY_PHASE1 = 2, + SAY_PHASE2 = 3, + SAY_PHASE3 = 4, + SAY_BOWSHOT = 5, + SAY_SLAY = 6, + SAY_DEATH = 7, + + SPELL_SURGE = 38044, + SPELL_MULTI_SHOT = 38310, + SPELL_SHOCK_BLAST = 38509, + SPELL_ENTANGLE = 38316, + SPELL_STATIC_CHARGE_TRIGGER = 38280, + SPELL_FORKED_LIGHTNING = 40088, + SPELL_SHOOT = 40873, + SPELL_POISON_BOLT = 40095, + SPELL_TOXIC_SPORES = 38575, + SPELL_MAGIC_BARRIER = 38112, + + SHIED_GENERATOR_CHANNEL = 19870, + ENCHANTED_ELEMENTAL = 21958, + TAINTED_ELEMENTAL = 22009, + COILFANG_STRIDER = 22056, + COILFANG_ELITE = 22055, + TOXIC_SPOREBAT = 22140, + TOXIC_SPORES_TRIGGER = 22207 +}; + +#define MIDDLE_X 30.134f +#define MIDDLE_Y -923.65f +#define MIDDLE_Z 42.9f + +#define SPOREBAT_X 30.977156f #define SPOREBAT_Y -925.297761f #define SPOREBAT_Z 77.176567f #define SPOREBAT_O 5.223932f -#define SHIED_GENERATOR_CHANNEL 19870 -#define ENCHANTED_ELEMENTAL 21958 -#define TAINTED_ELEMENTAL 22009 -#define COILFANG_STRIDER 22056 -#define COILFANG_ELITE 22055 -#define TOXIC_SPOREBAT 22140 -#define TOXIC_SPORES_TRIGGER 22207 + #define TEXT_NOT_INITIALIZED "Instance script not initialized" #define TEXT_ALREADY_DEACTIVATED "Already deactivated" @@ -226,12 +225,12 @@ public: } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(DATA_LADYVASHJEVENT, DONE); @@ -239,7 +238,7 @@ public: void StartEvent() { - DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3, SAY_AGGRO4), me); + Talk(SAY_AGGRO); Phase = 1; @@ -269,7 +268,7 @@ public: if (!Intro) { Intro = true; - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); } if (!CanAttack) return; @@ -307,7 +306,7 @@ public: } if (rand()%3) { - DoScriptText(RAND(SAY_BOWSHOT1, SAY_BOWSHOT2), me); + Talk(SAY_BOWSHOT); } } @@ -397,7 +396,7 @@ public: if (Creature* creature = me->SummonCreature(SHIED_GENERATOR_CHANNEL, ShieldGeneratorChannelPos[i][0], ShieldGeneratorChannelPos[i][1], ShieldGeneratorChannelPos[i][2], ShieldGeneratorChannelPos[i][3], TEMPSUMMON_CORPSE_DESPAWN, 0)) ShieldGeneratorChannel[i] = creature->GetGUID(); - DoScriptText(SAY_PHASE2, me); + Talk(SAY_PHASE2); } } // Phase 3 @@ -527,7 +526,7 @@ public: me->RemoveAurasDueToSpell(SPELL_MAGIC_BARRIER); - DoScriptText(SAY_PHASE3, me); + Talk(SAY_PHASE3); Phase = 3; diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp index 1221e59b96e..6fe1e86551a 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp @@ -28,47 +28,46 @@ EndScriptData */ #include "serpent_shrine.h" #include "Player.h" -// --- Spells used by Leotheras The Blind -#define SPELL_WHIRLWIND 37640 -#define SPELL_CHAOS_BLAST 37674 -#define SPELL_BERSERK 26662 -#define SPELL_INSIDIOUS_WHISPER 37676 -#define SPELL_DUAL_WIELD 42459 - -// --- Spells used in banish phase --- -#define BANISH_BEAM 38909 -#define AURA_BANISH 37833 - -// --- Spells used by Greyheart Spellbinders -#define SPELL_EARTHSHOCK 39076 -#define SPELL_MINDBLAST 37531 - -// --- Spells used by Inner Demons and Creature ID -#define INNER_DEMON_ID 21857 -#define AURA_DEMONIC_ALIGNMENT 37713 -#define SPELL_SHADOWBOLT 39309 -#define SPELL_SOUL_LINK 38007 -#define SPELL_CONSUMING_MADNESS 37749 //not supported by core yet - -//Misc. -#define MODEL_DEMON 20125 -#define MODEL_NIGHTELF 20514 -#define DEMON_FORM 21875 -#define MOB_SPELLBINDER 21806 -#define INNER_DEMON_VICTIM 1 - -#define SAY_AGGRO -1548009 -#define SAY_SWITCH_TO_DEMON -1548010 -#define SAY_INNER_DEMONS -1548011 -#define SAY_DEMON_SLAY1 -1548012 -#define SAY_DEMON_SLAY2 -1548013 -#define SAY_DEMON_SLAY3 -1548014 -#define SAY_NIGHTELF_SLAY1 -1548015 -#define SAY_NIGHTELF_SLAY2 -1548016 -#define SAY_NIGHTELF_SLAY3 -1548017 -#define SAY_FINAL_FORM -1548018 -#define SAY_FREE -1548019 -#define SAY_DEATH -1548020 +enum LeotherasTheBlind +{ + // Spells used by Leotheras The Blind + SPELL_WHIRLWIND = 37640, + SPELL_CHAOS_BLAST = 37674, + SPELL_BERSERK = 26662, + SPELL_INSIDIOUS_WHISPER = 37676, + SPELL_DUAL_WIELD = 42459, + + // Spells used in banish phase + BANISH_BEAM = 38909, + AURA_BANISH = 37833, + + // Spells used by Greyheart Spellbinders + SPELL_EARTHSHOCK = 39076, + SPELL_MINDBLAST = 37531, + + // Spells used by Inner Demons and Creature ID + INNER_DEMON_ID = 21857, + AURA_DEMONIC_ALIGNMENT = 37713, + SPELL_SHADOWBOLT = 39309, + SPELL_SOUL_LINK = 38007, + SPELL_CONSUMING_MADNESS = 37749, + + //Misc. + MODEL_DEMON = 20125, + MODEL_NIGHTELF = 20514, + DEMON_FORM = 21875, + MOB_SPELLBINDER = 21806, + INNER_DEMON_VICTIM = 1, + + SAY_AGGRO = 0, + SAY_SWITCH_TO_DEMON = 1, + SAY_INNER_DEMONS = 2, + SAY_DEMON_SLAY = 3, + SAY_NIGHTELF_SLAY = 4, + SAY_FINAL_FORM = 5, + SAY_FREE = 6, + SAY_DEATH = 7 +}; class mob_inner_demon : public CreatureScript { @@ -289,7 +288,7 @@ public: void StartEvent() { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_LEOTHERASTHEBLINDEVENT, IN_PROGRESS); } @@ -388,20 +387,13 @@ public: { if (victim->GetTypeId() != TYPEID_PLAYER) return; - - if (DemonForm) - { - DoScriptText(RAND(SAY_DEMON_SLAY1, SAY_DEMON_SLAY2, SAY_DEMON_SLAY3), me); - } - else - { - DoScriptText(RAND(SAY_NIGHTELF_SLAY1, SAY_NIGHTELF_SLAY2, SAY_NIGHTELF_SLAY3), me); - } + + Talk(DemonForm ? SAY_DEMON_SLAY : SAY_NIGHTELF_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); //despawn copy if (Demon) @@ -493,7 +485,7 @@ public: //switch to demon form me->RemoveAurasDueToSpell(SPELL_WHIRLWIND, 0); me->SetDisplayId(MODEL_DEMON); - DoScriptText(SAY_SWITCH_TO_DEMON, me); + Talk(SAY_SWITCH_TO_DEMON); me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID , 0); me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID+1, 0); DemonForm = true; @@ -556,7 +548,7 @@ public: } } } - DoScriptText(SAY_INNER_DEMONS, me); + Talk(SAY_INNER_DEMONS); InnerDemons_Timer = 999999; } else InnerDemons_Timer -= diff; @@ -595,7 +587,7 @@ public: IsFinalForm = true; DemonForm = false; - DoScriptText(SAY_FINAL_FORM, me); + Talk(SAY_FINAL_FORM); me->SetDisplayId(MODEL_NIGHTELF); me->LoadEquipment(me->GetEquipmentId()); } @@ -629,7 +621,7 @@ public: void StartEvent() { - DoScriptText(SAY_FREE, me); + Talk(SAY_FREE); } void KilledUnit(Unit* victim) @@ -637,7 +629,7 @@ public: if (victim->GetTypeId() != TYPEID_PLAYER) return; - DoScriptText(RAND(SAY_DEMON_SLAY1, SAY_DEMON_SLAY2, SAY_DEMON_SLAY3), me); + Talk(SAY_DEMON_SLAY); } void JustDied(Unit* /*killer*/) diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp index 32f03d4d1f9..9c7fdadc18a 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp @@ -30,37 +30,33 @@ EndScriptData */ enum eEnums { // Yell - SAY_AGGRO = -1548030, - SAY_SUMMON1 = -1548031, - SAY_SUMMON2 = -1548032, - SAY_SUMMON_BUBL1 = -1548033, - SAY_SUMMON_BUBL2 = -1548034, - SAY_SLAY1 = -1548035, - SAY_SLAY2 = -1548036, - SAY_SLAY3 = -1548037, - SAY_DEATH = -1548038, + SAY_AGGRO = 0, + SAY_SUMMON = 1, + SAY_SUMMON_BUBL = 2, + SAY_SLAY = 3, + SAY_DEATH = 4, // Emotes - EMOTE_WATERY_GRAVE = -1548039, - EMOTE_EARTHQUAKE = -1548040, - EMOTE_WATERY_GLOBULES = -1548041, + EMOTE_WATERY_GRAVE = 5, + EMOTE_EARTHQUAKE = 6, + EMOTE_WATERY_GLOBULES = 7, // Spells - SPELL_TIDAL_WAVE = 37730, - SPELL_WATERY_GRAVE = 38049, - SPELL_EARTHQUAKE = 37764, - SPELL_WATERY_GRAVE_EXPLOSION = 37852, - - SPELL_WATERY_GRAVE_1 = 38023, - SPELL_WATERY_GRAVE_2 = 38024, - SPELL_WATERY_GRAVE_3 = 38025, - SPELL_WATERY_GRAVE_4 = 37850, - - SPELL_SUMMON_WATER_GLOBULE_1 = 37854, - SPELL_SUMMON_WATER_GLOBULE_2 = 37858, - SPELL_SUMMON_WATER_GLOBULE_3 = 37860, - SPELL_SUMMON_WATER_GLOBULE_4 = 37861, + SPELL_TIDAL_WAVE = 37730, + SPELL_WATERY_GRAVE = 38049, + SPELL_EARTHQUAKE = 37764, + SPELL_WATERY_GRAVE_EXPLOSION = 37852, + + SPELL_WATERY_GRAVE_1 = 38023, + SPELL_WATERY_GRAVE_2 = 38024, + SPELL_WATERY_GRAVE_3 = 38025, + SPELL_WATERY_GRAVE_4 = 37850, + + SPELL_SUMMON_WATER_GLOBULE_1 = 37854, + SPELL_SUMMON_WATER_GLOBULE_2 = 37858, + SPELL_SUMMON_WATER_GLOBULE_3 = 37860, + SPELL_SUMMON_WATER_GLOBULE_4 = 37861, // Creatures - NPC_WATER_GLOBULE = 21913, - NPC_TIDEWALKER_LURKER = 21920, + NPC_WATER_GLOBULE = 21913, + NPC_TIDEWALKER_LURKER = 21920 }; float MurlocCords[10][4] = @@ -130,7 +126,7 @@ public: void StartEvent() { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_MOROGRIMTIDEWALKEREVENT, IN_PROGRESS); @@ -138,12 +134,12 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(DATA_MOROGRIMTIDEWALKEREVENT, DONE); @@ -184,7 +180,7 @@ public: } else { - DoScriptText(RAND(SAY_SUMMON1, SAY_SUMMON2), me); + Talk(SAY_SUMMON); for (uint8 i = 0; i < 10; ++i) { @@ -193,7 +189,7 @@ public: if (target && Murloc) Murloc->AI()->AttackStart(target); } - DoScriptText(EMOTE_EARTHQUAKE, me); + Talk(EMOTE_EARTHQUAKE); Earthquake = false; Earthquake_Timer = 40000+rand()%5000; } @@ -235,9 +231,9 @@ public: } } - DoScriptText(RAND(SAY_SUMMON_BUBL1, SAY_SUMMON_BUBL2), me); + Talk(SAY_SUMMON_BUBL); - DoScriptText(EMOTE_WATERY_GRAVE, me); + Talk(EMOTE_WATERY_GRAVE); WateryGrave_Timer = 30000; } else WateryGrave_Timer -= diff; @@ -271,7 +267,7 @@ public: pGlobuleTarget->CastSpell(pGlobuleTarget, globulespell[g], true); } } - DoScriptText(EMOTE_WATERY_GLOBULES, me); + Talk(EMOTE_WATERY_GLOBULES); WateryGlobules_Timer = 25000; } else WateryGlobules_Timer -= diff; } diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp index 038300213a4..e2d581128fd 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp @@ -32,20 +32,20 @@ EndContentData */ #include "ScriptedCreature.h" #include "steam_vault.h" -#define SAY_SUMMON -1545000 -#define SAY_AGGRO_1 -1545001 -#define SAY_AGGRO_2 -1545002 -#define SAY_AGGRO_3 -1545003 -#define SAY_SLAY_1 -1545004 -#define SAY_SLAY_2 -1545005 -#define SAY_DEAD -1545006 +enum HydromancerThespia +{ + SAY_SUMMON = 0, + SAY_AGGRO = 1, + SAY_SLAY = 2, + SAY_DEAD = 3, -#define SPELL_LIGHTNING_CLOUD 25033 -#define SPELL_LUNG_BURST 31481 -#define SPELL_ENVELOPING_WINDS 31718 + SPELL_LIGHTNING_CLOUD = 25033, + SPELL_LUNG_BURST = 31481, + SPELL_ENVELOPING_WINDS = 31718, -#define SPELL_WATER_BOLT_VOLLEY 34449 -#define H_SPELL_WATER_BOLT_VOLLEY 37924 + SPELL_WATER_BOLT_VOLLEY = 34449, + H_SPELL_WATER_BOLT_VOLLEY = 37924 +}; class boss_hydromancer_thespia : public CreatureScript { @@ -82,7 +82,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEAD, me); + Talk(SAY_DEAD); if (instance) instance->SetData(TYPE_HYDROMANCER_THESPIA, DONE); @@ -90,12 +90,12 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + Talk(SAY_SLAY); } void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me); + Talk(SAY_AGGRO); if (instance) instance->SetData(TYPE_HYDROMANCER_THESPIA, IN_PROGRESS); diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp index 50cc913c669..6a70cb97759 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp @@ -32,22 +32,19 @@ EndContentData */ #include "ScriptedCreature.h" #include "steam_vault.h" -#define SAY_MECHANICS -1545007 -#define SAY_AGGRO_1 -1545008 -#define SAY_AGGRO_2 -1545009 -#define SAY_AGGRO_3 -1545010 -#define SAY_AGGRO_4 -1545011 -#define SAY_SLAY_1 -1545012 -#define SAY_SLAY_2 -1545013 -#define SAY_SLAY_3 -1545014 -#define SAY_DEATH -1545015 - -#define SPELL_SUPER_SHRINK_RAY 31485 -#define SPELL_SAW_BLADE 31486 -#define SPELL_ELECTRIFIED_NET 35107 -#define H_SPELL_ENRAGE 1 //corrent enrage spell not known - -#define ENTRY_STREAMRIGGER_MECHANIC 17951 +enum MekgineerSteamrigger +{ + SAY_MECHANICS = 0, + SAY_AGGRO = 1, + SAY_SLAY = 2, + SAY_DEATH = 3, + + SPELL_SUPER_SHRINK_RAY = 31485, + SPELL_SAW_BLADE = 31486, + SPELL_ELECTRIFIED_NET = 35107, + + ENTRY_STREAMRIGGER_MECHANIC = 17951 +}; class boss_mekgineer_steamrigger : public CreatureScript { @@ -91,7 +88,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(TYPE_MEKGINEER_STEAMRIGGER, DONE); @@ -99,12 +96,12 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me); + Talk(SAY_SLAY); } void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me); + Talk(SAY_AGGRO); if (instance) instance->SetData(TYPE_MEKGINEER_STEAMRIGGER, IN_PROGRESS); @@ -113,7 +110,7 @@ public: //no known summon spells exist void SummonMechanichs() { - DoScriptText(SAY_MECHANICS, me); + Talk(SAY_MECHANICS); DoSpawnCreature(ENTRY_STREAMRIGGER_MECHANIC, 5, 5, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 240000); DoSpawnCreature(ENTRY_STREAMRIGGER_MECHANIC, -5, 5, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 240000); diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp index ac730292545..51c477365a3 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp @@ -28,21 +28,21 @@ EndScriptData */ #include "steam_vault.h" #include "SpellInfo.h" -#define SAY_INTRO -1545016 -#define SAY_REGEN -1545017 -#define SAY_AGGRO1 -1545018 -#define SAY_AGGRO2 -1545019 -#define SAY_AGGRO3 -1545020 -#define SAY_SLAY1 -1545021 -#define SAY_SLAY2 -1545022 -#define SAY_DEATH -1545023 - -#define SPELL_SPELL_REFLECTION 31534 -#define SPELL_IMPALE 39061 -#define SPELL_WARLORDS_RAGE 37081 -#define SPELL_WARLORDS_RAGE_NAGA 31543 - -#define SPELL_WARLORDS_RAGE_PROC 36453 +enum NagaDistiller +{ + SAY_INTRO = 0, + SAY_REGEN = 1, + SAY_AGGRO = 2, + SAY_SLAY = 3, + SAY_DEATH = 4, + + SPELL_SPELL_REFLECTION = 31534, + SPELL_IMPALE = 39061, + SPELL_WARLORDS_RAGE = 37081, + SPELL_WARLORDS_RAGE_NAGA = 31543, + + SPELL_WARLORDS_RAGE_PROC = 36453 +}; class mob_naga_distiller : public CreatureScript { @@ -139,7 +139,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me); + Talk(SAY_AGGRO); if (instance) instance->SetData(TYPE_WARLORD_KALITHRESH, IN_PROGRESS); @@ -147,7 +147,7 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me); + Talk(SAY_SLAY); } void SpellHit(Unit* /*caster*/, const SpellInfo* spell) @@ -161,7 +161,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(TYPE_WARLORD_KALITHRESH, DONE); @@ -176,7 +176,7 @@ public: { if (Creature* distiller = me->FindNearestCreature(17954, 100.0f)) { - DoScriptText(SAY_REGEN, me); + Talk(SAY_REGEN); DoCast(me, SPELL_WARLORDS_RAGE); CAST_AI(mob_naga_distiller::mob_naga_distillerAI, distiller->AI())->StartRageGen(me); } diff --git a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp index 3443103fa70..797d0f0d799 100644 --- a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp +++ b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp @@ -30,17 +30,13 @@ EndScriptData */ enum eEnums { - SAY_AGGRO = -1565010, - SAY_SLAM1 = -1565011, - SAY_SLAM2 = -1565012, - SAY_SHATTER1 = -1565013, - SAY_SHATTER2 = -1565014, - SAY_SLAY1 = -1565015, - SAY_SLAY2 = -1565016, - SAY_SLAY3 = -1565017, - SAY_DEATH = -1565018, - - EMOTE_GROW = -1565019, + SAY_AGGRO = 0, + SAY_SLAM = 1, + SAY_SHATTER = 2, + SAY_SLAY = 3, + SAY_DEATH = 4, + + EMOTE_GROW = 5, SPELL_GROWTH = 36300, SPELL_CAVE_IN = 36240, @@ -100,7 +96,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_GRUULEVENT, IN_PROGRESS); @@ -108,12 +104,12 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) { @@ -172,7 +168,7 @@ public: // Gruul can cast this spell up to 30 times if (m_uiGrowth_Timer <= uiDiff) { - DoScriptText(EMOTE_GROW, me); + Talk(EMOTE_GROW); DoCast(me, SPELL_GROWTH); m_uiGrowth_Timer = 30000; } diff --git a/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp b/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp index 03089d646f9..2d2c36104a2 100644 --- a/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp +++ b/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp @@ -27,46 +27,44 @@ EndScriptData */ #include "ScriptedCreature.h" #include "gruuls_lair.h" -#define SAY_AGGRO -1565000 -#define SAY_ENRAGE -1565001 -#define SAY_OGRE_DEATH1 -1565002 -#define SAY_OGRE_DEATH2 -1565003 -#define SAY_OGRE_DEATH3 -1565004 -#define SAY_OGRE_DEATH4 -1565005 -#define SAY_SLAY1 -1565006 -#define SAY_SLAY2 -1565007 -#define SAY_SLAY3 -1565008 -#define SAY_DEATH -1565009 - -// High King Maulgar -#define SPELL_ARCING_SMASH 39144 -#define SPELL_MIGHTY_BLOW 33230 -#define SPELL_WHIRLWIND 33238 -#define SPELL_BERSERKER_C 26561 -#define SPELL_ROAR 16508 -#define SPELL_FLURRY 33232 -#define SPELL_DUAL_WIELD 29651 //used in phase - -// Olm the Summoner -#define SPELL_DARK_DECAY 33129 -#define SPELL_DEATH_COIL 33130 -#define SPELL_SUMMON_WFH 33131 - -//Kiggler the Craed -#define SPELL_GREATER_POLYMORPH 33173 -#define SPELL_LIGHTNING_BOLT 36152 -#define SPELL_ARCANE_SHOCK 33175 -#define SPELL_ARCANE_EXPLOSION 33237 - -//Blindeye the Seer -#define SPELL_GREATER_PW_SHIELD 33147 -#define SPELL_HEAL 33144 -#define SPELL_PRAYER_OH 33152 - -//Krosh Firehand -#define SPELL_GREATER_FIREBALL 33051 -#define SPELL_SPELLSHIELD 33054 -#define SPELL_BLAST_WAVE 33061 +enum HighKingMaulgar +{ + SAY_AGGRO = 0, + SAY_ENRAGE = 1, + SAY_OGRE_DEATH = 2, + SAY_SLAY = 3, + SAY_DEATH = 4, + + // High King Maulgar + SPELL_ARCING_SMASH = 39144, + SPELL_MIGHTY_BLOW = 33230, + SPELL_WHIRLWIND = 33238, + SPELL_BERSERKER_C = 26561, + SPELL_ROAR = 16508, + SPELL_FLURRY = 33232, + SPELL_DUAL_WIELD = 29651, + + // Olm the Summoner + SPELL_DARK_DECAY = 33129, + SPELL_DEATH_COIL = 33130, + SPELL_SUMMON_WFH = 33131, + + //Kiggler the Craed + SPELL_GREATER_POLYMORPH = 33173, + SPELL_LIGHTNING_BOLT = 36152, + SPELL_ARCANE_SHOCK = 33175, + SPELL_ARCANE_EXPLOSION = 33237, + + //Blindeye the Seer + SPELL_GREATER_PW_SHIELD = 33147, + SPELL_HEAL = 33144, + SPELL_PRAYER_OH = 33152, + + //Krosh Firehand + SPELL_GREATER_FIREBALL = 33051, + SPELL_SPELLSHIELD = 33054, + SPELL_BLAST_WAVE = 33061 +}; bool CheckAllBossDied(InstanceScript* instance, Creature* me) { @@ -171,12 +169,12 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (CheckAllBossDied(instance, me)) instance->SetData(DATA_MAULGAREVENT, DONE); @@ -184,7 +182,7 @@ public: void AddDeath() { - DoScriptText(RAND(SAY_OGRE_DEATH1, SAY_OGRE_DEATH2, SAY_OGRE_DEATH3, SAY_OGRE_DEATH4), me); + Talk(SAY_OGRE_DEATH); } void EnterCombat(Unit* who) @@ -211,7 +209,7 @@ public: GetCouncil(); - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); instance->SetData64(DATA_MAULGAREVENT_TANK, who->GetGUID()); instance->SetData(DATA_MAULGAREVENT, IN_PROGRESS); @@ -269,7 +267,7 @@ public: if (!Phase2 && HealthBelowPct(50)) { Phase2 = true; - DoScriptText(SAY_ENRAGE, me); + Talk(SAY_ENRAGE); DoCast(me, SPELL_DUAL_WIELD, true); me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID, 0); diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp index b42641c5171..4b364d1c0a8 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp @@ -29,7 +29,7 @@ EndScriptData */ enum eEnums { - SAY_AGGRO = -1542008, + SAY_AGGRO = 0, SPELL_SLIME_SPRAY = 30913, SPELL_POISON_CLOUD = 30916, @@ -73,7 +73,7 @@ class boss_broggok : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void JustSummoned(Creature* summoned) diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp index 3c07862e0f6..2fe95e1bf4d 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp @@ -35,14 +35,11 @@ EndContentData */ enum eKelidan { - SAY_WAKE = -1542000, - SAY_ADD_AGGRO_1 = -1542001, - SAY_ADD_AGGRO_2 = -1542002, - SAY_ADD_AGGRO_3 = -1542003, - SAY_KILL_1 = -1542004, - SAY_KILL_2 = -1542005, - SAY_NOVA = -1542006, - SAY_DIE = -1542007, + SAY_WAKE = 0, + SAY_ADD_AGGRO = 1, + SAY_KILL = 2, + SAY_NOVA = 3, + SAY_DIE = 4, SPELL_CORRUPTION = 30938, SPELL_EVOCATION = 30935, @@ -117,7 +114,7 @@ class boss_kelidan_the_breaker : public CreatureScript void EnterCombat(Unit* who) { - DoScriptText(SAY_WAKE, me); + Talk(SAY_WAKE); if (me->IsNonMeleeSpellCasted(false)) me->InterruptNonMeleeSpells(true); DoStartMovement(who); @@ -130,7 +127,7 @@ class boss_kelidan_the_breaker : public CreatureScript if (rand()%2) return; - DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me); + Talk(SAY_KILL); } void ChannelerEngaged(Unit* who) @@ -138,7 +135,7 @@ class boss_kelidan_the_breaker : public CreatureScript if (who && !addYell) { addYell = true; - DoScriptText(RAND(SAY_ADD_AGGRO_1, SAY_ADD_AGGRO_2, SAY_ADD_AGGRO_3), me); + Talk(SAY_ADD_AGGRO); } for (uint8 i=0; i<5; ++i) { @@ -194,7 +191,7 @@ class boss_kelidan_the_breaker : public CreatureScript void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DIE, me); + Talk(SAY_DIE); if (!instance) return; @@ -254,7 +251,7 @@ class boss_kelidan_the_breaker : public CreatureScript if (me->IsNonMeleeSpellCasted(false)) me->InterruptNonMeleeSpells(true); - DoScriptText(SAY_NOVA, me); + Talk(SAY_NOVA); if (SpellInfo const* nova = sSpellMgr->GetSpellInfo(SPELL_BURNING_NOVA)) { diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp index df9aefabe15..4dfd7e8a8e8 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp @@ -29,17 +29,14 @@ EndScriptData */ enum eEnums { - SAY_AGGRO_1 = -1542009, - SAY_AGGRO_2 = -1542010, - SAY_AGGRO_3 = -1542011, - SAY_KILL_1 = -1542012, - SAY_KILL_2 = -1542013, - SAY_DIE = -1542014, - - SPELL_ACID_SPRAY = 38153, // heroic 38973 ??? 38153 + SAY_AGGRO = 0, + SAY_KILL = 1, + SAY_DIE = 2, + + SPELL_ACID_SPRAY = 38153, SPELL_EXPLODING_BREAKER = 30925, SPELL_KNOCKDOWN = 20276, - SPELL_DOMINATION = 25772 // ??? + SPELL_DOMINATION = 25772 }; class boss_the_maker : public CreatureScript @@ -81,7 +78,7 @@ class boss_the_maker : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me); + Talk(SAY_AGGRO); if (!instance) return; @@ -92,12 +89,12 @@ class boss_the_maker : public CreatureScript void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me); + Talk(SAY_KILL); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DIE, me); + Talk(SAY_DIE); if (!instance) return; diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp index 56365216be5..a40c2e480bd 100644 --- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp @@ -29,14 +29,12 @@ EndScriptData */ enum eSays { - SAY_AGGRO_1 = -1543009, - SAY_AGGRO_2 = -1543010, - SAY_AGGRO_3 = -1543011, - SAY_SUMMON = -1543012, - SAY_CURSE = -1543013, - SAY_KILL_1 = -1543014, - SAY_DIE = -1543015, - SAY_WIPE = -1543016, + SAY_AGGRO = 0, + SAY_SUMMON = 1, + SAY_CURSE = 2, + SAY_KILL_1 = 3, + SAY_DIE = 4, + SAY_WIPE = 5, }; enum eSpells @@ -79,7 +77,7 @@ class boss_omor_the_unscarred : public CreatureScript void Reset() { - DoScriptText(SAY_WIPE, me); + Talk(SAY_WIPE); OrbitalStrike_Timer = 25000; ShadowWhip_Timer = 2000; @@ -94,7 +92,7 @@ class boss_omor_the_unscarred : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me); + Talk(SAY_AGGRO); } void KilledUnit(Unit* /*victim*/) @@ -102,12 +100,12 @@ class boss_omor_the_unscarred : public CreatureScript if (rand()%2) return; - DoScriptText(SAY_KILL_1, me); + Talk(SAY_KILL_1); } void JustSummoned(Creature* summoned) { - DoScriptText(SAY_SUMMON, me); + Talk(SAY_SUMMON); if (Unit* random = SelectTarget(SELECT_TARGET_RANDOM, 0)) summoned->AI()->AttackStart(random); @@ -117,7 +115,7 @@ class boss_omor_the_unscarred : public CreatureScript void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DIE, me); + Talk(SAY_DIE); } void UpdateAI(const uint32 diff) @@ -192,7 +190,7 @@ class boss_omor_the_unscarred : public CreatureScript if (Aura_Timer <= diff) { - DoScriptText(SAY_CURSE, me); + Talk(SAY_CURSE); if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) { diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp index f0c4330c9a3..7fa476100d5 100644 --- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp @@ -39,7 +39,7 @@ enum eSpells SPELL_REVENGE = 19130, SPELL_REVENGE_H = 40392, SPELL_KIDNEY_SHOT = 30621, - SPELL_FIRE_NOVA_VISUAL = 19823, + SPELL_FIRE_NOVA_VISUAL = 19823 }; enum eUnits @@ -50,20 +50,17 @@ enum eUnits ENTRY_NAZAN = 17536, ENTRY_LIQUID_FIRE = 22515, ENTRY_REINFORCED_FEL_IRON_CHEST = 185168, - ENTRY_REINFORCED_FEL_IRON_CHEST_H = 185169, + ENTRY_REINFORCED_FEL_IRON_CHEST_H = 185169 }; enum eSays { - SAY_INTRO = -1543017, - SAY_WIPE = -1543018, - SAY_AGGRO_1 = -1543019, - SAY_AGGRO_2 = -1543020, - SAY_AGGRO_3 = -1543021, - SAY_KILL_1 = -1543022, - SAY_KILL_2 = -1543023, - SAY_DIE = -1543024, - EMOTE = -1543025, + SAY_INTRO = 0, + SAY_WIPE = 1, + SAY_AGGRO = 2, + SAY_KILL = 3, + SAY_DIE = 4, + EMOTE = 5 }; const float VazrudenMiddle[3] = {-1406.5f, 1746.5f, 81.2f}; @@ -153,7 +150,7 @@ class boss_nazan : public CreatureScript if (Unit* victim = SelectTarget(SELECT_TARGET_NEAREST, 0)) me->AI()->AttackStart(victim); DoStartMovement(me->getVictim()); - DoScriptText(EMOTE, me); + Talk(EMOTE); return; } else @@ -229,19 +226,19 @@ class boss_vazruden : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me); + Talk(SAY_AGGRO); } void KilledUnit(Unit* who) { if (who && who->GetEntry() != ENTRY_VAZRUDEN) - DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me); + Talk(SAY_KILL); } void JustDied(Unit* killer) { if (killer && killer != me) - DoScriptText(SAY_DIE, me); + Talk(SAY_DIE); } void UpdateAI(const uint32 diff) @@ -252,7 +249,7 @@ class boss_vazruden : public CreatureScript { if (!WipeSaid) { - DoScriptText(SAY_WIPE, me); + Talk(SAY_WIPE); WipeSaid = true; } me->DisappearAndDie(); @@ -364,7 +361,7 @@ class boss_vazruden_the_herald : public CreatureScript { phase = 1; check = 0; - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); } } diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp index 1d2ecccf3c7..156d5cbae2c 100644 --- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp @@ -28,15 +28,12 @@ EndScriptData */ enum eSays { - SAY_TAUNT = -1543000, - SAY_HEAL = -1543001, - SAY_SURGE = -1543002, - SAY_AGGRO_1 = -1543003, - SAY_AGGRO_2 = -1543004, - SAY_AGGRO_3 = -1543005, - SAY_KILL_1 = -1543006, - SAY_KILL_2 = -1543007, - SAY_DIE = -1543008, + SAY_TAUNT = 0, + SAY_HEAL = 1, + SAY_SURGE = 2, + SAY_AGGRO = 3, + SAY_KILL = 4, + SAY_DIE = 5 }; enum eSpells @@ -81,7 +78,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me); + Talk(SAY_AGGRO); } void MoveInLineOfSight(Unit* who) @@ -99,7 +96,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript } else if (!HasTaunted && me->IsWithinDistInMap(who, 60.0f)) { - DoScriptText(SAY_TAUNT, me); + Talk(SAY_TAUNT); HasTaunted = true; } } @@ -107,12 +104,12 @@ class boss_watchkeeper_gargolmar : public CreatureScript void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me); + Talk(SAY_KILL); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DIE, me); + Talk(SAY_DIE); } void UpdateAI(const uint32 diff) @@ -130,7 +127,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript if (Surge_Timer <= diff) { - DoScriptText(SAY_SURGE, me); + Talk(SAY_SURGE); if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) DoCast(target, SPELL_SURGE); @@ -155,7 +152,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript { if (HealthBelowPct(40)) { - DoScriptText(SAY_HEAL, me); + Talk(SAY_HEAL); YelledForHeal = true; } } diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp index 94272e4a50f..c5f79a2babd 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp @@ -29,36 +29,22 @@ EndScriptData */ #include "Player.h" #include "SpellInfo.h" -struct Yell -{ - int32 id; -}; - -static Yell RandomTaunt[]= -{ - {-1544000}, - {-1544001}, - {-1544002}, - {-1544003}, - {-1544004}, - {-1544005}, -}; - enum eSays { - SAY_FREED = -1544006, - SAY_AGGRO = -1544007, - SAY_BANISH = -1544008, - SAY_CHAMBER_DESTROY = -1544009, - SAY_PLAYER_KILLED = -1544010, - SAY_DEATH = -1544011, + SAY_TAUNT = 0, + SAY_FREED = 1, + SAY_AGGRO = 2, + SAY_BANISH = 3, + SAY_CHAMBER_DESTROY = 4, + SAY_PLAYER_KILLED = 5, + SAY_DEATH = 6 }; enum eEmotes { - EMOTE_BERSERK = -1544012, - EMOTE_BLASTNOVA = -1544013, - EMOTE_BEGIN = -1544014, + EMOTE_BERSERK = 7, + EMOTE_BLASTNOVA = 8, + EMOTE_BEGIN = 9 }; enum eCreatures @@ -309,7 +295,7 @@ class boss_magtheridon : public CreatureScript // if 5 clickers from other cubes apply shadow cage if (ClickerNum >= CLICKERS_COUNT && !me->HasAura(SPELL_SHADOW_CAGE)) { - DoScriptText(SAY_BANISH, me); + Talk(SAY_BANISH); DoCast(me, SPELL_SHADOW_CAGE, true); } else @@ -322,7 +308,7 @@ class boss_magtheridon : public CreatureScript void KilledUnit(Unit* /*victim*/) { - DoScriptText(SAY_PLAYER_KILLED, me); + Talk(SAY_PLAYER_KILLED); } void JustDied(Unit* /*killer*/) @@ -330,7 +316,7 @@ class boss_magtheridon : public CreatureScript if (instance) instance->SetData(DATA_MAGTHERIDON_EVENT, DONE); - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } void MoveInLineOfSight(Unit* /*who*/) {} @@ -350,7 +336,7 @@ class boss_magtheridon : public CreatureScript me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); me->RemoveAurasDueToSpell(SPELL_SHADOW_CAGE_C); - DoScriptText(SAY_FREED, me); + Talk(SAY_FREED); } void UpdateAI(const uint32 diff) @@ -359,7 +345,7 @@ class boss_magtheridon : public CreatureScript { if (RandChat_Timer <= diff) { - DoScriptText(RandomTaunt[rand()%6].id, me); + Talk(SAY_TAUNT); RandChat_Timer = 90000; } else @@ -374,7 +360,7 @@ class boss_magtheridon : public CreatureScript if (Berserk_Timer <= diff) { DoCast(me, SPELL_BERSERK, true); - DoScriptText(EMOTE_BERSERK, me); + Talk(EMOTE_BERSERK); Berserk_Timer = 60000; } else @@ -393,7 +379,7 @@ class boss_magtheridon : public CreatureScript // to avoid earthquake interruption if (!me->HasUnitState(UNIT_STATE_STUNNED)) { - DoScriptText(EMOTE_BLASTNOVA, me); + Talk(EMOTE_BLASTNOVA); DoCast(me, SPELL_BLASTNOVA); BlastNova_Timer = 60000; } @@ -437,7 +423,7 @@ class boss_magtheridon : public CreatureScript && !me->HasUnitState(UNIT_STATE_STUNNED)) // shadow cage and earthquake { Phase3 = true; - DoScriptText(SAY_CHAMBER_DESTROY, me); + Talk(SAY_CHAMBER_DESTROY); DoCast(me, SPELL_CAMERA_SHAKE, true); DoCast(me, SPELL_DEBRIS_KNOCKDOWN, true); diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp index c6434d9a989..e5b6ea71eb0 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp @@ -33,38 +33,15 @@ EndContentData */ #include "ScriptedCreature.h" #include "shattered_halls.h" -struct Say -{ - int32 id; -}; - -static Say PeonAttacked[]= -{ - {-1540001}, - {-1540002}, - {-1540003}, - {-1540004}, -}; -static Say PeonDies[]= -{ - {-1540005}, - {-1540006}, - {-1540007}, - {-1540008}, -}; - enum eSays { - SAY_INTRO = -1540000, - SAY_TAUNT_1 = -1540009, - SAY_TAUNT_2 = -1540010, - SAY_TAUNT_3 = -1540011, - SAY_AGGRO_1 = -1540012, - SAY_AGGRO_2 = -1540013, - SAY_AGGRO_3 = -1540014, - SAY_SLAY_1 = -1540015, - SAY_SLAY_2 = -1540016, - SAY_DIE = -1540017, + SAY_INTRO = 0, + SAY_PEON_ATTACKED = 1, + SAY_PEON_DIES = 2, + SAY_TAUNT = 3, + SAY_AGGRO = 4, + SAY_SLAY = 5, + SAY_DIE = 6 }; enum eSpells @@ -137,7 +114,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript if (PeonEngagedCount >= 4) return; - DoScriptText(PeonAttacked[PeonEngagedCount].id, me); + Talk(SAY_PEON_ATTACKED); ++PeonEngagedCount; } @@ -146,7 +123,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript if (PeonKilledCount >= 4) return; - DoScriptText(PeonDies[PeonKilledCount].id, me); + Talk(SAY_PEON_DIES); ++PeonKilledCount; if (PeonKilledCount == 4) @@ -159,7 +136,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript void DoTauntPeons() { - DoScriptText(RAND(SAY_TAUNT_1, SAY_TAUNT_2, SAY_TAUNT_3), me); + Talk(SAY_TAUNT); //TODO: kill the peons first IsIntroEvent = false; @@ -190,7 +167,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript if (who->GetTypeId() != TYPEID_PLAYER) return; - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); IntroOnce = true; IsIntroEvent = true; @@ -206,7 +183,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3), me); + Talk(SAY_AGGRO); } void JustSummoned(Creature* summoned) @@ -222,12 +199,12 @@ class boss_grand_warlock_nethekurse : public CreatureScript void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DIE, me); + Talk(SAY_DIE); if (!instance) return; diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp index 3d2d39e9817..5d3ff2abcc5 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp @@ -34,9 +34,9 @@ EndContentData */ enum eEnums { - YELL_DIE_L = -1540039, - YELL_DIE_R = -1540040, - EMOTE_ENRAGE = -1540041, + YELL_DIE_L = 0, + YELL_DIE_R = 1, + EMOTE_ENRAGE = 2, SPELL_BLAST_WAVE = 30600, SPELL_FEAR = 30584, @@ -57,49 +57,49 @@ struct Yell static Yell GoCombat[]= { - {-1540018, NPC_LEFT_HEAD}, - {-1540019, NPC_LEFT_HEAD}, - {-1540020, NPC_LEFT_HEAD}, + {0, NPC_LEFT_HEAD}, + {1, NPC_LEFT_HEAD}, + {2, NPC_LEFT_HEAD}, }; static Yell GoCombatDelay[]= { - {-1540021, NPC_RIGHT_HEAD}, - {-1540022, NPC_RIGHT_HEAD}, - {-1540023, NPC_RIGHT_HEAD}, + {0, NPC_RIGHT_HEAD}, + {1, NPC_RIGHT_HEAD}, + {2, NPC_RIGHT_HEAD}, }; static Yell Threat[]= { - {-1540024, NPC_LEFT_HEAD}, - {-1540025, NPC_RIGHT_HEAD}, - {-1540026, NPC_LEFT_HEAD}, - {-1540027, NPC_LEFT_HEAD}, + {3, NPC_LEFT_HEAD}, + {3, NPC_RIGHT_HEAD}, + {4, NPC_LEFT_HEAD}, + {5, NPC_LEFT_HEAD}, }; static Yell ThreatDelay1[]= { - {-1540028, NPC_RIGHT_HEAD}, - {-1540029, NPC_LEFT_HEAD}, - {-1540030, NPC_RIGHT_HEAD}, - {-1540031, NPC_RIGHT_HEAD}, + {4, NPC_RIGHT_HEAD}, + {6, NPC_LEFT_HEAD}, + {5, NPC_RIGHT_HEAD}, + {6, NPC_RIGHT_HEAD}, }; static Yell ThreatDelay2[]= { - {-1540032, NPC_LEFT_HEAD}, - {-1540033, NPC_RIGHT_HEAD}, - {-1540034, NPC_LEFT_HEAD}, - {-1540035, NPC_LEFT_HEAD}, + {7, NPC_LEFT_HEAD}, + {7, NPC_RIGHT_HEAD}, + {8, NPC_LEFT_HEAD}, + {9, NPC_LEFT_HEAD}, }; static Yell Killing[]= { - {-1540036, NPC_LEFT_HEAD}, - {-1540037, NPC_RIGHT_HEAD}, + {10, NPC_LEFT_HEAD}, + {8, NPC_RIGHT_HEAD}, }; static Yell KillingDelay[]= { - {-1540038, NPC_RIGHT_HEAD}, - {-1000000, NPC_LEFT_HEAD}, + {9, NPC_RIGHT_HEAD}, + {11, NPC_LEFT_HEAD}, }; class mob_omrogg_heads : public CreatureScript @@ -137,7 +137,7 @@ class mob_omrogg_heads : public CreatureScript if (Death_Timer <= diff) { - DoScriptText(YELL_DIE_R, me); + Talk(YELL_DIE_R); Death_Timer = false; me->setDeathState(JUST_DIED); } else Death_Timer -= diff; @@ -222,17 +222,17 @@ class boss_warbringer_omrogg : public CreatureScript void DoYellForThreat() { - Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID); - Unit* pRightHead = Unit::GetUnit(*me, RightHeadGUID); + Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID); + Creature* pRightHead = Unit::GetCreature(*me, RightHeadGUID); if (!pLeftHead || !pRightHead) return; ithreat = rand()%4; - Unit* source = (pLeftHead->GetEntry() == Threat[ithreat].creature ? pLeftHead : pRightHead); + Creature* source = (pLeftHead->GetEntry() == Threat[ithreat].creature ? pLeftHead : pRightHead); - DoScriptText(Threat[ithreat].id, source); + source->AI()->Talk(Threat[ithreat].id); Delay_Timer = 3500; ThreatYell = true; @@ -243,11 +243,11 @@ class boss_warbringer_omrogg : public CreatureScript me->SummonCreature(NPC_LEFT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0); me->SummonCreature(NPC_RIGHT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0); - if (Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID)) + if (Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID)) { iaggro = rand()%3; - DoScriptText(GoCombat[iaggro].id, pLeftHead); + pLeftHead->AI()->Talk(GoCombat[iaggro].id); Delay_Timer = 3500; AggroYell = true; @@ -272,25 +272,25 @@ class boss_warbringer_omrogg : public CreatureScript void KilledUnit(Unit* /*victim*/) { - Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID); - Unit* pRightHead = Unit::GetUnit(*me, RightHeadGUID); + Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID); + Creature* pRightHead = Creature::GetCreature(*me, RightHeadGUID); if (!pLeftHead || !pRightHead) return; ikilling = rand()%2; - Unit* source = (pLeftHead->GetEntry() == Killing[ikilling].creature ? pLeftHead : pRightHead); + Creature* source = (pLeftHead->GetEntry() == Killing[ikilling].creature ? pLeftHead : pRightHead); switch (ikilling) { case 0: - DoScriptText(Killing[ikilling].id, source); + source->AI()->Talk(Killing[ikilling].id); Delay_Timer = 3500; KillingYell = true; break; case 1: - DoScriptText(Killing[ikilling].id, source); + source->AI()->Talk(Killing[ikilling].id); KillingYell = false; break; } @@ -298,13 +298,13 @@ class boss_warbringer_omrogg : public CreatureScript void JustDied(Unit* /*killer*/) { - Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID); - Unit* pRightHead = Unit::GetUnit(*me, RightHeadGUID); + Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID); + Creature* pRightHead = Creature::GetCreature(*me, RightHeadGUID); if (!pLeftHead || !pRightHead) return; - DoScriptText(YELL_DIE_L, pLeftHead); + pLeftHead->AI()->Talk(YELL_DIE_L); CAST_AI(mob_omrogg_heads::mob_omrogg_headsAI, CAST_CRE(pRightHead)->AI())->DoDeathYell(); @@ -318,40 +318,40 @@ class boss_warbringer_omrogg : public CreatureScript { Delay_Timer = 3500; - Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID); - Unit* pRightHead = Unit::GetUnit(*me, RightHeadGUID); + Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID); + Creature* pRightHead = Creature::GetCreature(*me, RightHeadGUID); if (!pLeftHead || !pRightHead) return; if (AggroYell) { - DoScriptText(GoCombatDelay[iaggro].id, pRightHead); + pRightHead->AI()->Talk(GoCombatDelay[iaggro].id); AggroYell = false; } if (ThreatYell2) { - Unit* source = (pLeftHead->GetEntry() == ThreatDelay2[ithreat].creature ? pLeftHead : pRightHead); + Creature* source = (pLeftHead->GetEntry() == ThreatDelay2[ithreat].creature ? pLeftHead : pRightHead); - DoScriptText(ThreatDelay2[ithreat].id, source); + source->AI()->Talk(ThreatDelay2[ithreat].id); ThreatYell2 = false; } if (ThreatYell) { - Unit* source = (pLeftHead->GetEntry() == ThreatDelay1[ithreat].creature ? pLeftHead : pRightHead); + Creature* source = (pLeftHead->GetEntry() == ThreatDelay1[ithreat].creature ? pLeftHead : pRightHead); - DoScriptText(ThreatDelay1[ithreat].id, source); + source->AI()->Talk(ThreatDelay1[ithreat].id); ThreatYell = false; ThreatYell2 = true; } if (KillingYell) { - Unit* source = (pLeftHead->GetEntry() == KillingDelay[ikilling].creature ? pLeftHead : pRightHead); + Creature* source = (pLeftHead->GetEntry() == KillingDelay[ikilling].creature ? pLeftHead : pRightHead); - DoScriptText(KillingDelay[ikilling].id, source); + source->AI()->Talk(KillingDelay[ikilling].id); KillingYell = false; } } else Delay_Timer -= diff; @@ -373,7 +373,7 @@ class boss_warbringer_omrogg : public CreatureScript if (BurningMaul_Timer <= diff) { - DoScriptText(EMOTE_ENRAGE, me); + Talk(EMOTE_ENRAGE); DoCast(me, SPELL_BURNING_MAUL); BurningMaul_Timer = 40000; BlastWave_Timer = 16000; diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp index 99f7c69aff2..37cd5666f73 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp @@ -32,12 +32,9 @@ EndContentData */ enum eSays { - SAY_AGGRO1 = -1540042, - SAY_AGGRO2 = -1540043, - SAY_AGGRO3 = -1540044, - SAY_SLAY1 = -1540045, - SAY_SLAY2 = -1540046, - SAY_DEATH = -1540047, + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2 }; enum eSpells @@ -111,7 +108,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me); + Talk(SAY_AGGRO); } void JustSummoned(Creature* summoned) @@ -134,13 +131,13 @@ class boss_warchief_kargath_bladefist : public CreatureScript { if (victim->GetTypeId() == TYPEID_PLAYER) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me); + Talk(SAY_SLAY); } } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); removeAdds(); } diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp index 5b5c3ff2326..91ff608a6c7 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp @@ -32,15 +32,13 @@ EndScriptData */ enum eEnums { - SAY_AGGRO = -1550007, - SAY_SUMMON1 = -1550008, - SAY_SUMMON2 = -1550009, - SAY_KILL1 = -1550010, - SAY_KILL2 = -1550011, - SAY_KILL3 = -1550012, - SAY_DEATH = -1550013, - SAY_VOIDA = -1550014, - SAY_VOIDB = -1550015, + SAY_AGGRO = 0, + SAY_SUMMON1 = 1, + SAY_SUMMON2 = 2, + SAY_KILL = 3, + SAY_DEATH = 4, + SAY_VOIDA = 5, + SAY_VOIDB = 6, SPELL_ARCANE_MISSILES = 33031, SPELL_WRATH_OF_THE_ASTROMANCER = 42783, @@ -149,21 +147,21 @@ class boss_high_astromancer_solarian : public CreatureScript void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_KILL1, SAY_KILL2, SAY_KILL3), me); + Talk(SAY_KILL); } void JustDied(Unit* /*killer*/) { me->SetObjectScale(defaultsize); me->SetDisplayId(MODEL_HUMAN); - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(DATA_HIGHASTROMANCERSOLARIANEVENT, DONE); } void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); DoZoneInCombat(); if (instance) @@ -333,7 +331,7 @@ class boss_high_astromancer_solarian : public CreatureScript for (int j=1; j <= 4; j++) SummonMinion(NPC_SOLARIUM_AGENT, Portals[i][0], Portals[i][1], Portals[i][2]); - DoScriptText(SAY_SUMMON1, me); + Talk(SAY_SUMMON1); Phase2_Timer = 10000; } else @@ -360,7 +358,7 @@ class boss_high_astromancer_solarian : public CreatureScript me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->SetVisible(true); - DoScriptText(SAY_SUMMON2, me); + Talk(SAY_SUMMON2); AppearDelay = true; Phase3_Timer = 15000; } @@ -394,8 +392,8 @@ class boss_high_astromancer_solarian : public CreatureScript //To make sure she wont be invisible or not selecatble me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->SetVisible(true); - DoScriptText(SAY_VOIDA, me); - DoScriptText(SAY_VOIDB, me); + Talk(SAY_VOIDA); + Talk(SAY_VOIDB); me->SetArmor(WV_ARMOR); me->SetDisplayId(MODEL_VOIDWALKER); me->SetObjectScale(defaultsize*2.5f); diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index 2dbfb7b46c5..e87009737f1 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -32,42 +32,37 @@ EndScriptData */ enum eEnums { //kael'thas Speech - SAY_INTRO = -1550016, - SAY_INTRO_CAPERNIAN = -1550017, - SAY_INTRO_TELONICUS = -1550018, - SAY_INTRO_THALADRED = -1550019, - SAY_INTRO_SANGUINAR = -1550020, - SAY_PHASE2_WEAPON = -1550021, - SAY_PHASE3_ADVANCE = -1550022, - SAY_PHASE4_INTRO2 = -1550023, - SAY_PHASE5_NUTS = -1550024, - SAY_SLAY1 = -1550025, - SAY_SLAY2 = -1550026, - SAY_SLAY3 = -1550027, - SAY_MINDCONTROL1 = -1550028, - SAY_MINDCONTROL2 = -1550029, - SAY_GRAVITYLAPSE1 = -1550030, - SAY_GRAVITYLAPSE2 = -1550031, - SAY_SUMMON_PHOENIX1 = -1550032, - SAY_SUMMON_PHOENIX2 = -1550033, - SAY_DEATH = -1550034, + SAY_INTRO = 0, + SAY_INTRO_CAPERNIAN = 1, + SAY_INTRO_TELONICUS = 2, + SAY_INTRO_THALADRED = 3, + SAY_INTRO_SANGUINAR = 4, + SAY_PHASE2_WEAPON = 5, + SAY_PHASE3_ADVANCE = 6, + SAY_PHASE4_INTRO2 = 7, + SAY_PHASE5_NUTS = 8, + SAY_SLAY = 9, + SAY_MINDCONTROL = 10, + SAY_GRAVITYLAPSE = 11, + SAY_SUMMON_PHOENIX = 12, + SAY_DEATH = 13, //Thaladred the Darkener speech - SAY_THALADRED_AGGRO = -1550035, - SAY_THALADRED_DEATH = -1550036, - EMOTE_THALADRED_GAZE = -1550037, + SAY_THALADRED_AGGRO = 0, + SAY_THALADRED_DEATH = 1, + EMOTE_THALADRED_GAZE = 2, //Lord Sanguinar speech - SAY_SANGUINAR_AGGRO = -1550038, - SAY_SANGUINAR_DEATH = -1550039, + SAY_SANGUINAR_AGGRO = 0, + SAY_SANGUINAR_DEATH = 1, //Grand Astromancer Capernian speech - SAY_CAPERNIAN_AGGRO = -1550040, - SAY_CAPERNIAN_DEATH = -1550041, + SAY_CAPERNIAN_AGGRO = 0, + SAY_CAPERNIAN_DEATH = 1, //Master Engineer Telonicus speech - SAY_TELONICUS_AGGRO = -1550042, - SAY_TELONICUS_DEATH = -1550043, + SAY_TELONICUS_AGGRO = 0, + SAY_TELONICUS_DEATH = 1, //Phase 2 spells SPELL_SUMMON_WEAPONS = 36976, @@ -369,7 +364,7 @@ class boss_kaelthas : public CreatureScript { sLog->outError(LOG_FILTER_TSCR, "Kael'Thas One or more advisors missing, Skipping Phases 1-3"); - DoScriptText(SAY_PHASE4_INTRO2, me); + Talk(SAY_PHASE4_INTRO2); Phase = 4; @@ -385,7 +380,7 @@ class boss_kaelthas : public CreatureScript { PrepareAdvisors(); - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); instance->SetData(DATA_KAELTHASEVENT, 1); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); @@ -431,7 +426,7 @@ class boss_kaelthas : public CreatureScript void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me); + Talk(SAY_SLAY); } void JustSummoned(Creature* summoned) @@ -456,7 +451,7 @@ class boss_kaelthas : public CreatureScript me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); summons.DespawnAll(); @@ -487,7 +482,7 @@ class boss_kaelthas : public CreatureScript case 0: if (Phase_Timer <= diff) { - DoScriptText(SAY_INTRO_THALADRED, me); + Talk(SAY_INTRO_THALADRED); //start advisor within 7 seconds Phase_Timer = 7000; @@ -521,7 +516,7 @@ class boss_kaelthas : public CreatureScript if (Advisor && (Advisor->getStandState() == UNIT_STAND_STATE_DEAD)) { - DoScriptText(SAY_INTRO_SANGUINAR, me); + Talk(SAY_INTRO_SANGUINAR); //start advisor within 12.5 seconds Phase_Timer = 12500; @@ -555,7 +550,7 @@ class boss_kaelthas : public CreatureScript if (Advisor && (Advisor->getStandState() == UNIT_STAND_STATE_DEAD)) { - DoScriptText(SAY_INTRO_CAPERNIAN, me); + Talk(SAY_INTRO_CAPERNIAN); //start advisor within 7 seconds Phase_Timer = 7000; @@ -589,7 +584,7 @@ class boss_kaelthas : public CreatureScript if (Advisor && (Advisor->getStandState() == UNIT_STAND_STATE_DEAD)) { - DoScriptText(SAY_INTRO_TELONICUS, me); + Talk(SAY_INTRO_TELONICUS); //start advisor within 8.4 seconds Phase_Timer = 8400; @@ -628,7 +623,7 @@ class boss_kaelthas : public CreatureScript if (instance) instance->SetData(DATA_KAELTHASEVENT, 2); - DoScriptText(SAY_PHASE2_WEAPON, me); + Talk(SAY_PHASE2_WEAPON); PhaseSubphase = 0; Phase_Timer = 3500; @@ -669,7 +664,7 @@ class boss_kaelthas : public CreatureScript { if (Phase_Timer <= diff) { - DoScriptText(SAY_PHASE3_ADVANCE, me); + Talk(SAY_PHASE3_ADVANCE); if (instance) instance->SetData(DATA_KAELTHASEVENT, 3); Phase = 3; @@ -705,7 +700,7 @@ class boss_kaelthas : public CreatureScript if (Phase_Timer <= diff) { - DoScriptText(SAY_PHASE4_INTRO2, me); + Talk(SAY_PHASE4_INTRO2); Phase = 4; if (instance) @@ -801,7 +796,7 @@ class boss_kaelthas : public CreatureScript if (Phoenix_Timer <= diff) { DoCast(me, SPELL_PHOENIX_ANIMATION); - DoScriptText(RAND(SAY_SUMMON_PHOENIX1, SAY_SUMMON_PHOENIX2), me); + Talk(SAY_SUMMON_PHOENIX); Phoenix_Timer = 60000; } @@ -818,7 +813,7 @@ class boss_kaelthas : public CreatureScript Phase = 5; Phase_Timer = 10000; - DoScriptText(SAY_PHASE5_NUTS, me); + Talk(SAY_PHASE5_NUTS); me->StopMoving(); me->GetMotionMaster()->Clear(); @@ -913,7 +908,7 @@ class boss_kaelthas : public CreatureScript break; case 1: - DoScriptText(RAND(SAY_GRAVITYLAPSE1, SAY_GRAVITYLAPSE2), me); + Talk(SAY_GRAVITYLAPSE); // 2) At that point he will put a Gravity Lapse debuff on everyone for (i = threatlist.begin(); i != threatlist.end(); ++i) @@ -1041,14 +1036,14 @@ class boss_thaladred_the_darkener : public CreatureScript if (!who || FakeDeath) return; - DoScriptText(SAY_THALADRED_AGGRO, me); + Talk(SAY_THALADRED_AGGRO); me->AddThreat(who, 5000000.0f); } void JustDied(Unit* /*killer*/) { if (instance && instance->GetData(DATA_KAELTHASEVENT) == 3) - DoScriptText(SAY_THALADRED_DEATH, me); + Talk(SAY_THALADRED_DEATH); } void UpdateAI(const uint32 diff) @@ -1070,7 +1065,7 @@ class boss_thaladred_the_darkener : public CreatureScript { DoResetThreat(); me->AddThreat(target, 5000000.0f); - DoScriptText(EMOTE_THALADRED_GAZE, me, target); + Talk(EMOTE_THALADRED_GAZE, target->GetGUID()); Gaze_Timer = 8500; } } @@ -1134,13 +1129,13 @@ class boss_lord_sanguinar : public CreatureScript if (!who || FakeDeath) return; - DoScriptText(SAY_SANGUINAR_AGGRO, me); + Talk(SAY_SANGUINAR_AGGRO); } void JustDied(Unit* /*killer*/) { if (instance && instance->GetData(DATA_KAELTHASEVENT) == 3) - DoScriptText(SAY_SANGUINAR_DEATH, me); + Talk(SAY_SANGUINAR_DEATH); } void UpdateAI(const uint32 diff) @@ -1205,7 +1200,7 @@ class boss_grand_astromancer_capernian : public CreatureScript void JustDied(Unit* /*killer*/) { if (instance && instance->GetData(DATA_KAELTHASEVENT) == 3) - DoScriptText(SAY_CAPERNIAN_DEATH, me); + Talk(SAY_CAPERNIAN_DEATH); } void AttackStart(Unit* who) @@ -1249,7 +1244,7 @@ class boss_grand_astromancer_capernian : public CreatureScript { if (Yell_Timer <= diff) { - DoScriptText(SAY_CAPERNIAN_AGGRO, me); + Talk(SAY_CAPERNIAN_AGGRO); Yell = true; } else @@ -1344,7 +1339,7 @@ class boss_master_engineer_telonicus : public CreatureScript void JustDied(Unit* /*killer*/) { if (instance && instance->GetData(DATA_KAELTHASEVENT) == 3) - DoScriptText(SAY_TELONICUS_DEATH, me); + Talk(SAY_TELONICUS_DEATH); } void EnterCombat(Unit* who) @@ -1355,7 +1350,7 @@ class boss_master_engineer_telonicus : public CreatureScript if (!who || FakeDeath) return; - DoScriptText(SAY_TELONICUS_AGGRO, me); + Talk(SAY_TELONICUS_AGGRO); } void UpdateAI(const uint32 diff) diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp index 2c778485131..14895f1d898 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp @@ -29,13 +29,10 @@ EndScriptData */ enum eEnums { - SAY_AGGRO = -1550000, - SAY_SLAY1 = -1550001, - SAY_SLAY2 = -1550002, - SAY_SLAY3 = -1550003, - SAY_DEATH = -1550004, - SAY_POUNDING1 = -1550005, - SAY_POUNDING2 = -1550006, + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2, + SAY_POUNDING = 3, SPELL_POUNDING = 34162, SPELL_ARCANE_ORB = 34172, @@ -83,12 +80,12 @@ class boss_void_reaver : public CreatureScript void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); DoZoneInCombat(); if (instance) @@ -97,7 +94,7 @@ class boss_void_reaver : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_VOIDREAVEREVENT, IN_PROGRESS); @@ -111,7 +108,7 @@ class boss_void_reaver : public CreatureScript if (Pounding_Timer <= diff) { DoCast(me->getVictim(), SPELL_POUNDING); - DoScriptText(RAND(SAY_POUNDING1, SAY_POUNDING2), me); + Talk(SAY_POUNDING); Pounding_Timer = 15000; //cast time(3000) + cooldown time(12000) } else diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp index 83acc1258be..15241e35a4a 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp @@ -28,13 +28,11 @@ EndScriptData */ enum eSays { - SAY_AGGRO_1 = -1554006, - SAY_HAMMER_1 = -1554007, - SAY_HAMMER_2 = -1554008, - SAY_SLAY_1 = -1554009, - SAY_SLAY_2 = -1554010, - SAY_DEATH_1 = -1554011, - EMOTE_HAMMER = -1554012, + SAY_AGGRO = 0, + SAY_HAMMER = 1, + SAY_SLAY = 2, + SAY_DEATH = 3, + EMOTE_HAMMER = 4 }; enum eSpells @@ -76,7 +74,7 @@ class boss_gatewatcher_iron_hand : public CreatureScript } void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO_1, me); + Talk(SAY_AGGRO); } void KilledUnit(Unit* /*victim*/) @@ -84,12 +82,12 @@ class boss_gatewatcher_iron_hand : public CreatureScript if (rand()%2) return; - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH_1, me); + Talk(SAY_DEATH); //TODO: Add door check/open code } @@ -112,14 +110,14 @@ class boss_gatewatcher_iron_hand : public CreatureScript if (Jackhammer_Timer <= diff) { //TODO: expect cast this about 5 times in a row (?), announce it by emote only once - DoScriptText(EMOTE_HAMMER, me); + Talk(EMOTE_HAMMER); DoCast(me->getVictim(), SPELL_JACKHAMMER); //chance to yell, but not same time as emote (after spell in fact casted) if (rand()%2) - return; + return; - DoScriptText(RAND(SAY_HAMMER_1, SAY_HAMMER_2), me); + Talk(SAY_HAMMER); Jackhammer_Timer = 30000; } else diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp index 02be844711d..1602ea56d93 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp @@ -29,13 +29,11 @@ EndScriptData */ enum eSays { - SAY_AGGRO = -1554013, - SAY_SUMMON = -1554014, - SAY_DRAGONS_BREATH_1 = -1554015, - SAY_DRAGONS_BREATH_2 = -1554016, - SAY_SLAY1 = -1554017, - SAY_SLAY2 = -1554018, - SAY_DEATH = -1554019, + SAY_AGGRO = 0, + SAY_SUMMON = 1, + SAY_DRAGONS_BREATH = 2, + SAY_SLAY = 3, + SAY_DEATH = 4 }; enum eSpells @@ -92,19 +90,19 @@ class boss_nethermancer_sepethrea : public CreatureScript if (instance) instance->SetData(DATA_NETHERMANCER_EVENT, IN_PROGRESS); - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); DoCast(who, SPELL_SUMMON_RAGIN_FLAMES); - DoScriptText(SAY_SUMMON, me); + Talk(SAY_SUMMON); } 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(DATA_NETHERMANCER_EVENT, DONE); } @@ -140,7 +138,7 @@ class boss_nethermancer_sepethrea : public CreatureScript { if (rand()%2) return; - DoScriptText(RAND(SAY_DRAGONS_BREATH_1, SAY_DRAGONS_BREATH_2), me); + Talk(SAY_DRAGONS_BREATH); } dragons_breath_Timer = urand(12000, 22000); } diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp index 622e6e6d7e6..adf1aac0639 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp @@ -28,14 +28,12 @@ EndScriptData */ enum eSays { - SAY_AGGRO = -1554020, - SAY_DOMINATION_1 = -1554021, - SAY_DOMINATION_2 = -1554022, - SAY_SUMMON = -1554023, - SAY_ENRAGE = -1554024, - SAY_SLAY_1 = -1554025, - SAY_SLAY_2 = -1554026, - SAY_DEATH = -1554027, + SAY_AGGRO = 0, + SAY_DOMINATION = 1, + SAY_SUMMON = 2, + SAY_ENRAGE = 3, + SAY_SLAY = 4, + SAY_DEATH = 5 }; // Spells to be casted enum eSpells @@ -96,17 +94,17 @@ class boss_pathaleon_the_calculator : public CreatureScript } void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); summons.DespawnAll(); } @@ -135,7 +133,7 @@ class boss_pathaleon_the_calculator : public CreatureScript if (target && Wraith) Wraith->AI()->AttackStart(target); } - DoScriptText(SAY_SUMMON, me); + Talk(SAY_SUMMON); Summon_Timer = urand(30000, 45000); } else @@ -161,7 +159,7 @@ class boss_pathaleon_the_calculator : public CreatureScript { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) { - DoScriptText(RAND(SAY_DOMINATION_1, SAY_DOMINATION_2), me); + Talk(SAY_DOMINATION); DoCast(target, SPELL_DOMINATION); } Domination_Timer = urand(25000, 30000); @@ -184,7 +182,7 @@ class boss_pathaleon_the_calculator : public CreatureScript if (!Enraged && HealthBelowPct(21)) { DoCast(me, SPELL_FRENZY); - DoScriptText(SAY_ENRAGE, me); + Talk(SAY_ENRAGE); Enraged = true; } diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp index 730bab7e626..8a107090a28 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp @@ -34,16 +34,13 @@ EndContentData */ enum eSays { - SAY_INTRO = -1552000, - SAY_AGGRO = -1552001, - SAY_KILL_1 = -1552002, - SAY_KILL_2 = -1552003, - SAY_MIND_1 = -1552004, - SAY_MIND_2 = -1552005, - SAY_FEAR_1 = -1552006, - SAY_FEAR_2 = -1552007, - SAY_IMAGE = -1552008, - SAY_DEATH = -1552009, + SAY_INTRO = 0, + SAY_AGGRO = 1, + SAY_KILL = 2, + SAY_MIND = 3, + SAY_FEAR = 4, + SAY_IMAGE = 5, + SAY_DEATH = 6 }; enum eSpells @@ -115,7 +112,7 @@ class boss_harbinger_skyriss : public CreatureScript void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(TYPE_HARBINGERSKYRISS, DONE); } @@ -139,7 +136,7 @@ class boss_harbinger_skyriss : public CreatureScript if (victim->GetEntry() == 21436) return; - DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me); + Talk(SAY_KILL); } void DoSplit(uint32 val) @@ -147,7 +144,7 @@ class boss_harbinger_skyriss : public CreatureScript if (me->IsNonMeleeSpellCasted(false)) me->InterruptNonMeleeSpells(false); - DoScriptText(SAY_IMAGE, me); + Talk(SAY_IMAGE); if (val == 66) DoCast(me, SPELL_66_ILLUSION); @@ -167,13 +164,13 @@ class boss_harbinger_skyriss : public CreatureScript switch (Intro_Phase) { case 1: - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); instance->HandleGameObject(instance->GetData64(DATA_SPHERE_SHIELD), true); ++Intro_Phase; Intro_Timer = 25000; break; case 2: - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (Unit* mellic = Unit::GetUnit(*me, instance->GetData64(DATA_MELLICHAR))) { //should have a better way to do this. possibly spell exist. @@ -224,7 +221,7 @@ class boss_harbinger_skyriss : public CreatureScript if (me->IsNonMeleeSpellCasted(false)) return; - DoScriptText(RAND(SAY_FEAR_1, SAY_FEAR_2), me); + Talk(SAY_FEAR); if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) DoCast(target, SPELL_FEAR); @@ -241,7 +238,7 @@ class boss_harbinger_skyriss : public CreatureScript if (me->IsNonMeleeSpellCasted(false)) return; - DoScriptText(RAND(SAY_MIND_1, SAY_MIND_2), me); + Talk(SAY_MIND); if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) DoCast(target, SPELL_DOMINATION); diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp index a53f62c96f4..4288061860e 100644 --- a/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp +++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp @@ -28,12 +28,10 @@ EndScriptData */ enum eSays { - SAY_AGGRO = -1553000, - SAY_KILL_1 = -1553001, - SAY_KILL_2 = -1553002, - SAY_TREE_1 = -1553003, - SAY_TREE_2 = -1553004, - SAY_DEATH = -1553005, + SAY_AGGRO = 0, + SAY_KILL = 1, + SAY_TREE = 2, + SAY_DEATH = 3 }; enum eSpells @@ -83,7 +81,7 @@ class boss_high_botanist_freywinn : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void JustSummoned(Creature* summoned) @@ -105,12 +103,12 @@ class boss_high_botanist_freywinn : public CreatureScript void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me); + Talk(SAY_KILL); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } void UpdateAI(const uint32 diff) @@ -120,7 +118,7 @@ class boss_high_botanist_freywinn : public CreatureScript if (TreeForm_Timer <= diff) { - DoScriptText(RAND(SAY_TREE_1, SAY_TREE_2), me); + Talk(SAY_TREE); if (me->IsNonMeleeSpellCasted(false)) me->InterruptNonMeleeSpells(true); diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp index ed04c42edc7..3bda920fdeb 100644 --- a/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp +++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp @@ -42,7 +42,7 @@ enum eSpells }; enum eOthers { - EMOTE_SUMMON = -1553006, + EMOTE_SUMMON = 0, MODEL_DEFAULT = 13109, MODEL_ARCANE = 14213, MODEL_FIRE = 13110, @@ -175,7 +175,7 @@ class boss_laj : public CreatureScript { if (Summon_Timer <= diff) { - DoScriptText(EMOTE_SUMMON, me); + Talk(EMOTE_SUMMON); DoSummons(); Summon_Timer = 2500; } diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp index 2937a5b9987..74f10f97754 100644 --- a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp +++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp @@ -28,12 +28,10 @@ EndScriptData */ enum eSays { - SAY_AGGRO = -1553007, - SAY_SLAY_1 = -1553008, - SAY_SLAY_2 = -1553009, - SAY_SUMMON_1 = -1553010, - SAY_SUMMON_2 = -1553011, - SAY_DEATH = -1553012, + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_SUMMON = 2, + SAY_DEATH = 3 }; enum eSpells @@ -162,17 +160,17 @@ class boss_warp_splinter : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } void SummonTreants() @@ -188,7 +186,7 @@ class boss_warp_splinter : public CreatureScript if (Creature* pTreant = me->SummonCreature(CREATURE_TREANT, treant_pos[i][0], treant_pos[i][1], treant_pos[i][2], O, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 25000)) CAST_AI(mob_warp_splinter_treant::mob_warp_splinter_treantAI, pTreant->AI())->WarpGuid = me->GetGUID(); } - DoScriptText(RAND(SAY_SUMMON_1, SAY_SUMMON_2), me); + Talk(SAY_SUMMON); } void UpdateAI(const uint32 diff) diff --git a/src/server/scripts/Outland/blades_edge_mountains.cpp b/src/server/scripts/Outland/blades_edge_mountains.cpp index c263ac85ef5..3932b96ad07 100644 --- a/src/server/scripts/Outland/blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/blades_edge_mountains.cpp @@ -87,11 +87,12 @@ public: enum eNetherdrake { - SAY_NIHIL_1 = -1000169, //signed for 5955 - SAY_NIHIL_2 = -1000170, //signed for 5955 - SAY_NIHIL_3 = -1000171, //signed for 5955 - SAY_NIHIL_4 = -1000172, //signed for 20021, used by 20021, 21817, 21820, 21821, 21823 - SAY_NIHIL_INTERRUPT = -1000173, //signed for 20021, used by 20021, 21817, 21820, 21821, 21823 + //Used by 20021, 21817, 21820, 21821, 21823 but not existing in database + SAY_NIHIL_1 = 0, + SAY_NIHIL_2 = 1, + SAY_NIHIL_3 = 2, + SAY_NIHIL_4 = 3, + SAY_NIHIL_INTERRUPT = 4, ENTRY_WHELP = 20021, ENTRY_PROTO = 21821, @@ -176,7 +177,7 @@ public: //we are nihil, so say before transform if (me->GetEntry() == ENTRY_NIHIL) { - DoScriptText(SAY_NIHIL_INTERRUPT, me); + Talk(SAY_NIHIL_INTERRUPT); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); IsNihil = false; } @@ -203,19 +204,19 @@ public: switch (NihilSpeech_Phase) { case 0: - DoScriptText(SAY_NIHIL_1, me); + Talk(SAY_NIHIL_1); ++NihilSpeech_Phase; break; case 1: - DoScriptText(SAY_NIHIL_2, me); + Talk(SAY_NIHIL_2); ++NihilSpeech_Phase; break; case 2: - DoScriptText(SAY_NIHIL_3, me); + Talk(SAY_NIHIL_3); ++NihilSpeech_Phase; break; case 3: - DoScriptText(SAY_NIHIL_4, me); + Talk(SAY_NIHIL_4); ++NihilSpeech_Phase; break; case 4: @@ -266,7 +267,7 @@ public: enum eDaranelle { - SAY_SPELL_INFLUENCE = -1000174, + SAY_SPELL_INFLUENCE = 0, SPELL_LASHHAN_CHANNEL = 36904 }; @@ -294,7 +295,7 @@ public: { if (who->HasAura(SPELL_LASHHAN_CHANNEL) && me->IsWithinDistInMap(who, 10.0f)) { - DoScriptText(SAY_SPELL_INFLUENCE, me, who); + Talk(SAY_SPELL_INFLUENCE, who->GetGUID()); //TODO: Move the below to updateAI and run if this statement == true DoCast(who, 37028, true); } diff --git a/src/server/scripts/Outland/hellfire_peninsula.cpp b/src/server/scripts/Outland/hellfire_peninsula.cpp index 4da98281eb2..7ac90320347 100644 --- a/src/server/scripts/Outland/hellfire_peninsula.cpp +++ b/src/server/scripts/Outland/hellfire_peninsula.cpp @@ -46,8 +46,8 @@ EndContentData */ enum eAeranas { - SAY_SUMMON = -1000138, - SAY_FREE = -1000139, + SAY_SUMMON = 0, + SAY_FREE = 1, FACTION_HOSTILE = 16, FACTION_FRIENDLY = 35, @@ -85,7 +85,7 @@ public: me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); me->setFaction(FACTION_FRIENDLY); - DoScriptText(SAY_SUMMON, me); + Talk(SAY_SUMMON); } void UpdateAI(const uint32 diff) @@ -109,7 +109,7 @@ public: me->RemoveAllAuras(); me->DeleteThreatList(); me->CombatStop(true); - DoScriptText(SAY_FREE, me); + Talk(SAY_FREE); return; } @@ -136,9 +136,9 @@ public: enum eAncestralWolf { - EMOTE_WOLF_LIFT_HEAD = -1000496, - EMOTE_WOLF_HOWL = -1000497, - SAY_WOLF_WELCOME = -1000498, + EMOTE_WOLF_LIFT_HEAD = 0, + EMOTE_WOLF_HOWL = 1, + SAY_WOLF_WELCOME = 2, SPELL_ANCESTRAL_WOLF_BUFF = 29981, @@ -168,7 +168,7 @@ public: Reset(); } - Unit* pRyga; + Creature* pRyga; void Reset() { @@ -178,8 +178,9 @@ public: void MoveInLineOfSight(Unit* who) { - if (!pRyga && who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_RYGA && me->IsWithinDistInMap(who, 15.0f)) - pRyga = who; + if (!pRyga && who->GetEntry() == NPC_RYGA && me->IsWithinDistInMap(who, 15.0f)) + if (Creature* temp = who->ToCreature()) + pRyga = temp; npc_escortAI::MoveInLineOfSight(who); } @@ -189,14 +190,14 @@ public: switch (waypointId) { case 0: - DoScriptText(EMOTE_WOLF_LIFT_HEAD, me); + Talk(EMOTE_WOLF_LIFT_HEAD); break; case 2: - DoScriptText(EMOTE_WOLF_HOWL, me); + Talk(EMOTE_WOLF_HOWL); break; case 50: if (pRyga && pRyga->isAlive() && !pRyga->isInCombat()) - DoScriptText(SAY_WOLF_WELCOME, pRyga); + pRyga->AI()->Talk(SAY_WOLF_WELCOME); break; } } @@ -368,12 +369,12 @@ public: enum eWoundedBloodElf { - SAY_ELF_START = -1000117, - SAY_ELF_SUMMON1 = -1000118, - SAY_ELF_RESTING = -1000119, - SAY_ELF_SUMMON2 = -1000120, - SAY_ELF_COMPLETE = -1000121, - SAY_ELF_AGGRO = -1000122, + SAY_ELF_START = 0, + SAY_ELF_SUMMON1 = 1, + SAY_ELF_RESTING = 2, + SAY_ELF_SUMMON2 = 3, + SAY_ELF_COMPLETE = 4, + SAY_ELF_AGGRO = 5, QUEST_ROAD_TO_FALCON_WATCH = 9375 }; @@ -415,25 +416,25 @@ public: switch (waypointId) { case 0: - DoScriptText(SAY_ELF_START, me, player); + Talk(SAY_ELF_START, player->GetGUID()); break; case 9: - DoScriptText(SAY_ELF_SUMMON1, me, player); + Talk(SAY_ELF_SUMMON1, player->GetGUID()); // Spawn two Haal'eshi Talonguard DoSpawnCreature(16967, -15, -15, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); DoSpawnCreature(16967, -17, -17, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); break; case 13: - DoScriptText(SAY_ELF_RESTING, me, player); + Talk(SAY_ELF_RESTING, player->GetGUID()); break; case 14: - DoScriptText(SAY_ELF_SUMMON2, me, player); + Talk(SAY_ELF_SUMMON2, player->GetGUID()); // Spawn two Haal'eshi Windwalker DoSpawnCreature(16966, -15, -15, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); DoSpawnCreature(16966, -17, -17, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); break; case 27: - DoScriptText(SAY_ELF_COMPLETE, me, player); + Talk(SAY_ELF_COMPLETE, player->GetGUID()); // Award quest credit player->GroupEventHappens(QUEST_ROAD_TO_FALCON_WATCH, me); break; @@ -445,7 +446,7 @@ public: void EnterCombat(Unit* /*who*/) { if (HasEscortState(STATE_ESCORT_ESCORTING)) - DoScriptText(SAY_ELF_AGGRO, me); + Talk(SAY_ELF_AGGRO); } void JustSummoned(Creature* summoned) diff --git a/src/server/scripts/Outland/nagrand.cpp b/src/server/scripts/Outland/nagrand.cpp index 0c9a60603f5..54565553e94 100644 --- a/src/server/scripts/Outland/nagrand.cpp +++ b/src/server/scripts/Outland/nagrand.cpp @@ -149,13 +149,13 @@ public: enum eMagharCaptive { - SAY_MAG_START = -1000482, - SAY_MAG_NO_ESCAPE = -1000483, - SAY_MAG_MORE = -1000484, - SAY_MAG_MORE_REPLY = -1000485, - SAY_MAG_LIGHTNING = -1000486, - SAY_MAG_SHOCK = -1000487, - SAY_MAG_COMPLETE = -1000488, + SAY_MAG_START = 0, + SAY_MAG_NO_ESCAPE = 0, + SAY_MAG_MORE = 1, + SAY_MAG_MORE_REPLY = 0, + SAY_MAG_LIGHTNING = 2, + SAY_MAG_SHOCK = 3, + SAY_MAG_COMPLETE = 4, SPELL_CHAIN_LIGHTNING = 16006, SPELL_EARTHBIND_TOTEM = 15786, @@ -189,7 +189,7 @@ public: pEscortAI->Start(true, false, player->GetGUID(), quest); - DoScriptText(SAY_MAG_START, creature); + creature->AI()->Talk(SAY_MAG_START); creature->SummonCreature(NPC_MURK_RAIDER, m_afAmbushA[0]+2.5f, m_afAmbushA[1]-2.5f, m_afAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); creature->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushA[0]-2.5f, m_afAmbushA[1]+2.5f, m_afAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); @@ -229,17 +229,17 @@ public: switch (waypointId) { case 7: - DoScriptText(SAY_MAG_MORE, me); + Talk(SAY_MAG_MORE); if (Creature* temp = me->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushB[0], m_afAmbushB[1], m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000)) - DoScriptText(SAY_MAG_MORE_REPLY, temp); + temp->AI()->Talk(SAY_MAG_MORE_REPLY); me->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushB[0]-2.5f, m_afAmbushB[1]-2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); me->SummonCreature(NPC_MURK_SCAVENGER, m_afAmbushB[0]+2.5f, m_afAmbushB[1]+2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); me->SummonCreature(NPC_MURK_SCAVENGER, m_afAmbushB[0]+2.5f, m_afAmbushB[1]-2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); break; case 16: - DoScriptText(SAY_MAG_COMPLETE, me); + Talk(SAY_MAG_COMPLETE); if (Player* player = GetPlayerForEscort()) player->GroupEventHappens(QUEST_TOTEM_KARDASH_H, me); @@ -252,7 +252,7 @@ public: void JustSummoned(Creature* summoned) { if (summoned->GetEntry() == NPC_MURK_BRUTE) - DoScriptText(SAY_MAG_NO_ESCAPE, summoned); + summoned->AI()->Talk(SAY_MAG_NO_ESCAPE); if (summoned->isTotem()) return; @@ -270,7 +270,7 @@ public: if (rand()%10) return; - DoScriptText(SAY_MAG_LIGHTNING, me); + Talk(SAY_MAG_LIGHTNING); } } @@ -367,18 +367,18 @@ enum CorkiData NPC_CORKI = 18445, NPC_CORKI_CREDIT_1 = 18369, GO_CORKIS_PRISON = 182349, - CORKI_SAY_THANKS = -1800071, + CORKI_SAY_THANKS = 0, // 2nd quest QUEST_CORKIS_GONE_MISSING_AGAIN = 9924, NPC_CORKI_2 = 20812, GO_CORKIS_PRISON_2 = 182350, - CORKI_SAY_PROMISE = -1800072, + CORKI_SAY_PROMISE = 0, // 3rd quest QUEST_CHOWAR_THE_PILLAGER = 9955, NPC_CORKI_3 = 18369, NPC_CORKI_CREDIT_3 = 18444, GO_CORKIS_PRISON_3 = 182521, - CORKI_SAY_LAST = -1800073 + CORKI_SAY_LAST = 0 }; class go_corkis_prison : public GameObjectScript @@ -468,11 +468,11 @@ public: Say_Timer = 5000; ReleasedFromCage = true; if (me->GetEntry() == NPC_CORKI) - DoScriptText(CORKI_SAY_THANKS, me); + Talk(CORKI_SAY_THANKS); if (me->GetEntry() == NPC_CORKI_2) - DoScriptText(CORKI_SAY_PROMISE, me); + Talk(CORKI_SAY_PROMISE); if (me->GetEntry() == NPC_CORKI_3) - DoScriptText(CORKI_SAY_LAST, me); + Talk(CORKI_SAY_LAST); } }; }; @@ -521,7 +521,7 @@ public: { creature->SetStandState(UNIT_STAND_STATE_STAND); EscortAI->Start(true, false, player->GetGUID(), quest); - DoScriptText(SAY_KUR_START, creature); + creature->AI()->Talk(SAY_KUR_START); creature->SummonCreature(NPC_KUR_MURK_RAIDER, kurenaiAmbushA[0]+2.5f, kurenaiAmbushA[1]-2.5f, kurenaiAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); creature->SummonCreature(NPC_KUR_MURK_BRUTE, kurenaiAmbushA[0]-2.5f, kurenaiAmbushA[1]+2.5f, kurenaiAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); diff --git a/src/server/scripts/Outland/netherstorm.cpp b/src/server/scripts/Outland/netherstorm.cpp index eaea4960712..96f707b06f1 100644 --- a/src/server/scripts/Outland/netherstorm.cpp +++ b/src/server/scripts/Outland/netherstorm.cpp @@ -45,12 +45,12 @@ EndContentData */ //used by 20209, 20417, 20418, 20440, signed for 20209 enum eManaforgeConsoleData { - EMOTE_START = -1000211, - EMOTE_60 = -1000212, - EMOTE_30 = -1000213, - EMOTE_10 = -1000214, - EMOTE_COMPLETE = -1000215, - EMOTE_ABORT = -1000216, + EMOTE_START = 0, + EMOTE_60 = 1, + EMOTE_30 = 2, + EMOTE_10 = 3, + EMOTE_COMPLETE = 4, + EMOTE_ABORT = 5, ENTRY_BNAAR_C_CONSOLE = 20209, ENTRY_CORUU_C_CONSOLE = 20417, @@ -114,7 +114,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(EMOTE_ABORT, me); + Talk(EMOTE_ABORT); if (someplayer) { @@ -247,31 +247,32 @@ public: if (someplayer) { Unit* u = Unit::GetUnit(*me, someplayer); - if (u && u->GetTypeId() == TYPEID_PLAYER) DoScriptText(EMOTE_START, me, u); + if (u && u->GetTypeId() == TYPEID_PLAYER) + Talk(EMOTE_START, u->GetGUID()); } Event_Timer = 60000; Wave = true; ++Phase; break; case 2: - DoScriptText(EMOTE_60, me); + Talk(EMOTE_60); Event_Timer = 30000; ++Phase; break; case 3: - DoScriptText(EMOTE_30, me); + Talk(EMOTE_30); Event_Timer = 20000; DoFinalSpawnForCreature(me); ++Phase; break; case 4: - DoScriptText(EMOTE_10, me); + Talk(EMOTE_10); Event_Timer = 10000; Wave = false; ++Phase; break; case 5: - DoScriptText(EMOTE_COMPLETE, me); + Talk(EMOTE_COMPLETE); if (someplayer) { Unit* u = Unit::GetUnit(*me, someplayer); @@ -361,18 +362,20 @@ public: // The Speech of Dawnforge, Ardonis & Pathaleon enum eCommanderDawnforgeData { - SAY_COMMANDER_DAWNFORGE_1 = -1000128, - SAY_ARCANIST_ARDONIS_1 = -1000129, - SAY_COMMANDER_DAWNFORGE_2 = -1000130, - SAY_PATHALEON_CULATOR_IMAGE_1 = -1000131, - SAY_COMMANDER_DAWNFORGE_3 = -1000132, - SAY_PATHALEON_CULATOR_IMAGE_2 = -1000133, - SAY_PATHALEON_CULATOR_IMAGE_2_1 = -1000134, - SAY_PATHALEON_CULATOR_IMAGE_2_2 = -1000135, - SAY_COMMANDER_DAWNFORGE_4 = -1000136, - SAY_ARCANIST_ARDONIS_2 = -1000136, - SAY_COMMANDER_DAWNFORGE_5 = -1000137, - + SAY_COMMANDER_DAWNFORGE_1 = 0, + SAY_COMMANDER_DAWNFORGE_2 = 1, + SAY_COMMANDER_DAWNFORGE_3 = 2, + SAY_COMMANDER_DAWNFORGE_4 = 3, + SAY_COMMANDER_DAWNFORGE_5 = 4, + + SAY_ARCANIST_ARDONIS_1 = 0, + SAY_ARCANIST_ARDONIS_2 = 1, + + SAY_PATHALEON_CULATOR_IMAGE_1 = 0, + SAY_PATHALEON_CULATOR_IMAGE_2 = 1, + SAY_PATHALEON_CULATOR_IMAGE_2_1 = 2, + SAY_PATHALEON_CULATOR_IMAGE_2_2 = 3, + QUEST_INFO_GATHERING = 10198, SPELL_SUNFURY_DISGUISE = 34603, }; @@ -516,8 +519,8 @@ public: return; } - Unit* ardonis = Unit::GetUnit(*me, ardonisGUID); - Unit* pathaleon = Unit::GetUnit(*me, pathaleonGUID); + Creature* ardonis = Creature::GetCreature(*me, ardonisGUID); + Creature* pathaleon = Creature::GetCreature(*me, pathaleonGUID); Player* player = Unit::GetPlayer(*me, PlayerGUID); if (!ardonis || !player) @@ -536,19 +539,19 @@ public: switch (Phase) { case 1: - DoScriptText(SAY_COMMANDER_DAWNFORGE_1, me); + Talk(SAY_COMMANDER_DAWNFORGE_1); ++Phase; Phase_Timer = 16000; break; //Phase 2 Ardonis say case 2: - DoScriptText(SAY_ARCANIST_ARDONIS_1, ardonis); + ardonis->AI()->Talk(SAY_ARCANIST_ARDONIS_1); ++Phase; Phase_Timer = 16000; break; //Phase 3 Dawnforge say case 3: - DoScriptText(SAY_COMMANDER_DAWNFORGE_2, me); + Talk(SAY_COMMANDER_DAWNFORGE_2); ++Phase; Phase_Timer = 16000; break; @@ -561,7 +564,7 @@ public: break; //Phase 5 Pathaleon say case 5: - DoScriptText(SAY_PATHALEON_CULATOR_IMAGE_1, pathaleon); + pathaleon->AI()->Talk(SAY_PATHALEON_CULATOR_IMAGE_1); ++Phase; Phase_Timer = 6000; break; @@ -577,7 +580,7 @@ public: break; //Subphase 2 Dawnforge say case 1: - DoScriptText(SAY_COMMANDER_DAWNFORGE_3, me); + Talk(SAY_COMMANDER_DAWNFORGE_3); PhaseSubphase = 0; ++Phase; Phase_Timer = 8000; @@ -590,19 +593,19 @@ public: { //Subphase 1 case 0: - DoScriptText(SAY_PATHALEON_CULATOR_IMAGE_2, pathaleon); + pathaleon->AI()->Talk(SAY_PATHALEON_CULATOR_IMAGE_2); ++PhaseSubphase; Phase_Timer = 12000; break; //Subphase 2 case 1: - DoScriptText(SAY_PATHALEON_CULATOR_IMAGE_2_1, pathaleon); + pathaleon->AI()->Talk(SAY_PATHALEON_CULATOR_IMAGE_2_1); ++PhaseSubphase; Phase_Timer = 16000; break; //Subphase 3 case 2: - DoScriptText(SAY_PATHALEON_CULATOR_IMAGE_2_2, pathaleon); + pathaleon->AI()->Talk(SAY_PATHALEON_CULATOR_IMAGE_2_2); PhaseSubphase = 0; ++Phase; Phase_Timer = 10000; @@ -611,8 +614,8 @@ public: break; //Phase 8 Dawnforge & Ardonis say case 8: - DoScriptText(SAY_COMMANDER_DAWNFORGE_4, me); - DoScriptText(SAY_ARCANIST_ARDONIS_2, ardonis); + Talk(SAY_COMMANDER_DAWNFORGE_4); + ardonis->AI()->Talk(SAY_ARCANIST_ARDONIS_2); ++Phase; Phase_Timer = 4000; break; @@ -627,7 +630,7 @@ public: break; //Phase 10 Dawnforge say case 10: - DoScriptText(SAY_COMMANDER_DAWNFORGE_5, me); + Talk(SAY_COMMANDER_DAWNFORGE_5); player->AreaExploredOrEventHappens(QUEST_INFO_GATHERING); Reset(); break; @@ -667,7 +670,7 @@ enum eProfessorDabiriData { SPELL_PHASE_DISTRUPTOR = 35780, - WHISPER_DABIRI = -1000522, + //WHISPER_DABIRI = 0, not existing in database QUEST_DIMENSIUS = 10439, QUEST_ON_NETHERY_WINGS = 10438, @@ -680,13 +683,9 @@ class npc_professor_dabiri : public CreatureScript public: npc_professor_dabiri() : CreatureScript("npc_professor_dabiri") { } - bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) - { - if (quest->GetQuestId() == QUEST_DIMENSIUS) - DoScriptText(WHISPER_DABIRI, creature, player); - - return true; - } + //OnQuestAccept: + //if (quest->GetQuestId() == QUEST_DIMENSIUS) + //creature->AI()->Talk(WHISPER_DABIRI, player->GetGUID()); bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) { @@ -725,7 +724,7 @@ enum ePhaseHunterData NPC_PHASE_HUNTER_ENTRY = 18879, NPC_DRAINED_PHASE_HUNTER_ENTRY = 19595, - EMOTE_WEAK = -1000303, + EMOTE_WEAK = 0, // Spells SPELL_RECHARGING_BATTERY = 34219, @@ -827,7 +826,7 @@ public: if (!Weak && HealthBelowPct(WeakPercent) && player->GetQuestStatus(QUEST_RECHARGING_THE_BATTERIES) == QUEST_STATUS_INCOMPLETE) { - DoScriptText(EMOTE_WEAK, me); + Talk(EMOTE_WEAK); Weak = true; } if (Weak && !Drained && me->HasAura(SPELL_RECHARGING_BATTERY)) @@ -857,8 +856,8 @@ enum eBessyData N_THADELL = 20464, SPAWN_FIRST = 20512, SPAWN_SECOND = 19881, - SAY_THADELL_1 = -1000524, - SAY_THADELL_2 = -1000525, + SAY_THADELL_1 = 0, + SAY_THADELL_2 = 1, }; class npc_bessy : public CreatureScript @@ -912,11 +911,11 @@ public: case 12: player->GroupEventHappens(Q_ALMABTRIEB, me); if (me->FindNearestCreature(N_THADELL, 30)) - DoScriptText(SAY_THADELL_1, me); + Talk(SAY_THADELL_1); break; case 13: if (me->FindNearestCreature(N_THADELL, 30)) - DoScriptText(SAY_THADELL_2, me, player); + Talk(SAY_THADELL_2, player->GetGUID()); break; } } diff --git a/src/server/scripts/Outland/shadowmoon_valley.cpp b/src/server/scripts/Outland/shadowmoon_valley.cpp index dc91fb2c14f..55fce0c4a8d 100644 --- a/src/server/scripts/Outland/shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/shadowmoon_valley.cpp @@ -55,7 +55,7 @@ EndContentData */ enum eMatureNetherwing { - SAY_JUST_EATEN = -1000175, + SAY_JUST_EATEN = 0, SPELL_PLACE_CARCASS = 38439, SPELL_JUST_EATEN = 38502, @@ -152,7 +152,7 @@ public: else if (bIsEating) { DoCast(me, SPELL_JUST_EATEN); - DoScriptText(SAY_JUST_EATEN, me); + Talk(SAY_JUST_EATEN); if (Player* pPlr = Unit::GetPlayer(*me, uiPlayerGUID)) { @@ -674,25 +674,25 @@ enum eOverlordData SPELL_THREE = 40216, // Dragonaw Faction SPELL_FOUR = 42016, // Dragonaw Trasform - OVERLORD_SAY_1 = -1000606, - OVERLORD_SAY_2 = -1000607, - OVERLORD_SAY_3 = -1000608, //signed for 28315 - OVERLORD_SAY_4 = -1000609, - OVERLORD_SAY_5 = -1000610, - OVERLORD_SAY_6 = -1000611, - - OVERLORD_YELL_1 = -1000612, - OVERLORD_YELL_2 = -1000613, - - LORD_ILLIDAN_SAY_1 = -1000614, - LORD_ILLIDAN_SAY_2 = -1000615, - LORD_ILLIDAN_SAY_3 = -1000616, - LORD_ILLIDAN_SAY_4 = -1000617, - LORD_ILLIDAN_SAY_5 = -1000618, - LORD_ILLIDAN_SAY_6 = -1000619, - LORD_ILLIDAN_SAY_7 = -1000620, - - YARZILL_THE_MERC_SAY = -1000621, + OVERLORD_SAY_1 = 0, + OVERLORD_SAY_2 = 1, + //OVERLORD_SAY_3 = 2, + OVERLORD_SAY_4 = 3, + OVERLORD_SAY_5 = 4, + OVERLORD_SAY_6 = 5, + + OVERLORD_YELL_1 = 6, + OVERLORD_YELL_2 = 7, + + LORD_ILLIDAN_SAY_1 = 0, + LORD_ILLIDAN_SAY_2 = 1, + LORD_ILLIDAN_SAY_3 = 2, + LORD_ILLIDAN_SAY_4 = 3, + LORD_ILLIDAN_SAY_5 = 4, + LORD_ILLIDAN_SAY_6 = 5, + LORD_ILLIDAN_SAY_7 = 6, + + YARZILL_THE_MERC_SAY = 0 }; class npc_overlord_morghor : public CreatureScript @@ -754,7 +754,7 @@ public: { Player* player = Unit::GetPlayer(*me, PlayerGUID); if (player) - DoScriptText(OVERLORD_SAY_1, me, player); + Talk(OVERLORD_SAY_1, player->GetGUID()); } ConversationTimer = 4200; Step = 0; @@ -764,7 +764,7 @@ public: uint32 NextStep(uint32 Step) { Player* player = Unit::GetPlayer(*me, PlayerGUID); - Unit* Illi = Unit::GetUnit(*me, IllidanGUID); + Creature* Illi = Creature::GetCreature(*me, IllidanGUID); if (!player || !Illi) { @@ -782,7 +782,7 @@ public: return 9000; break; case 2: - DoScriptText(OVERLORD_YELL_1, me, player); + Talk(OVERLORD_YELL_1, player->GetGUID()); return 4500; break; case 3: @@ -790,7 +790,7 @@ public: return 3200; break; case 4: - DoScriptText(OVERLORD_SAY_2, me, player); + Talk(OVERLORD_SAY_2, player->GetGUID()); return 2000; break; case 5: @@ -805,31 +805,27 @@ public: return 2000; break; case 7: - DoScriptText(OVERLORD_YELL_2, me); + Talk(OVERLORD_YELL_2); return 4500; break; case 8: me->SetUInt32Value(UNIT_FIELD_BYTES_1, 8); - return 2500; - break; - case 9: - DoScriptText(OVERLORD_SAY_3, me); - return 6500; + return 9000; break; case 10: - DoScriptText(LORD_ILLIDAN_SAY_1, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_1); return 5000; break; case 11: - DoScriptText(OVERLORD_SAY_4, me, player); + Talk(OVERLORD_SAY_4, player->GetGUID()); return 6000; break; case 12: - DoScriptText(LORD_ILLIDAN_SAY_2, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_2); return 5500; break; case 13: - DoScriptText(LORD_ILLIDAN_SAY_3, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_3); return 4000; break; case 14: @@ -837,7 +833,7 @@ public: return 1500; break; case 15: - DoScriptText(LORD_ILLIDAN_SAY_4, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_4); return 1500; break; case 16: @@ -847,15 +843,15 @@ public: return 5000; break; case 17: - DoScriptText(LORD_ILLIDAN_SAY_5, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_5); return 5000; break; case 18: - DoScriptText(LORD_ILLIDAN_SAY_6, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_6); return 5000; break; case 19: - DoScriptText(LORD_ILLIDAN_SAY_7, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_7); return 5000; break; case 20: @@ -864,7 +860,7 @@ public: return 500; break; case 21: - DoScriptText(OVERLORD_SAY_5, me); + Talk(OVERLORD_SAY_5); return 500; break; case 22: @@ -881,7 +877,7 @@ public: return 5000; break; case 25: - DoScriptText(OVERLORD_SAY_6, me); + Talk(OVERLORD_SAY_6); return 2000; break; case 26: @@ -905,24 +901,21 @@ public: break; case 29: { - Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50); - if (Yarzill) - DoScriptText(YARZILL_THE_MERC_SAY, Yarzill, player); + if (Creature* Yarzill = me->FindNearestCreature(C_YARZILL, 50.0f)) + Yarzill->AI()->Talk(YARZILL_THE_MERC_SAY, player->GetGUID()); return 5000; } break; case 30: { - Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50); - if (Yarzill) + if (Creature* Yarzill = me->FindNearestCreature(C_YARZILL, 50.0f)) Yarzill->SetTarget(0); return 5000; } break; case 31: { - Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50); - if (Yarzill) + if (Creature* Yarzill = me->FindNearestCreature(C_YARZILL, 50.0f)) Yarzill->CastSpell(player, 41540, true); return 1000; } @@ -960,16 +953,13 @@ public: enum eEarthmender { - SAY_WIL_START = -1000381, - SAY_WIL_AGGRO1 = -1000382, - SAY_WIL_AGGRO2 = -1000383, - SAY_WIL_PROGRESS1 = -1000384, - SAY_WIL_PROGRESS2 = -1000385, - SAY_WIL_FIND_EXIT = -1000386, - SAY_WIL_PROGRESS4 = -1000387, - SAY_WIL_PROGRESS5 = -1000388, - SAY_WIL_JUST_AHEAD = -1000389, - SAY_WIL_END = -1000390, + SAY_WIL_START = 0, + SAY_WIL_AGGRO = 1, + SAY_WIL_PROGRESS1 = 2, + SAY_WIL_PROGRESS2 = 3, + SAY_WIL_FIND_EXIT = 4, + SAY_WIL_JUST_AHEAD = 5, + SAY_WIL_END = 6, SPELL_CHAIN_LIGHTNING = 16006, SPELL_EARTHBING_TOTEM = 15786, @@ -990,7 +980,7 @@ public: { if (quest->GetQuestId() == QUEST_ESCAPE_COILSCAR) { - DoScriptText(SAY_WIL_START, creature, player); + creature->AI()->Talk(SAY_WIL_START, player->GetGUID()); creature->setFaction(FACTION_EARTHEN); if (npc_earthmender_wildaAI* pEscortAI = CAST_AI(npc_earthmender_wilda::npc_earthmender_wildaAI, creature->AI())) @@ -1024,14 +1014,14 @@ public: switch (waypointId) { case 13: - DoScriptText(SAY_WIL_PROGRESS1, me, player); + Talk(SAY_WIL_PROGRESS1, player->GetGUID()); DoSpawnAssassin(); break; case 14: DoSpawnAssassin(); break; case 15: - DoScriptText(SAY_WIL_FIND_EXIT, me, player); + Talk(SAY_WIL_FIND_EXIT, player->GetGUID()); break; case 19: DoRandomSay(); @@ -1058,7 +1048,7 @@ public: DoSpawnAssassin(); break; case 39: - DoScriptText(SAY_WIL_JUST_AHEAD, me, player); + Talk(SAY_WIL_JUST_AHEAD, player->GetGUID()); break; case 43: DoRandomSay(); @@ -1067,7 +1057,7 @@ public: DoSpawnAssassin(); break; case 50: - DoScriptText(SAY_WIL_END, me, player); + Talk(SAY_WIL_END, player->GetGUID()); player->GroupEventHappens(QUEST_ESCAPE_COILSCAR, me); break; } @@ -1082,7 +1072,7 @@ public: //this is very unclear, random say without no real relevance to script/event void DoRandomSay() { - DoScriptText(RAND(SAY_WIL_PROGRESS2, SAY_WIL_PROGRESS4, SAY_WIL_PROGRESS5), me); + Talk(SAY_WIL_PROGRESS2); } void DoSpawnAssassin() @@ -1102,7 +1092,7 @@ public: { //appears to be random if (urand(0, 1)) - DoScriptText(RAND(SAY_WIL_AGGRO1, SAY_WIL_AGGRO2), who); + Talk(SAY_WIL_AGGRO); } } @@ -1140,28 +1130,25 @@ npc_lord_illidan_stormrage : Creature that controls the event. go_crystal_prison : GameObject that begins the event and hands out quest EndContentData */ -#define END_TEXT -1000366 //signed for 10646 - #define QUEST_BATTLE_OF_THE_CRIMSON_WATCH 10781 #define EVENT_AREA_RADIUS 65 //65yds #define EVENT_COOLDOWN 30000 //in ms. appear after event completed or failed (should be = Adds despawn time) struct TorlothCinematic { - int32 TextId; uint32 creature, Timer; }; // Creature 0 - Torloth, 1 - Illidan static TorlothCinematic TorlothAnim[]= { - {-1000367, 0, 2000}, - {-1000368, 1, 7000}, - {-1000369, 0, 3000}, - {0, 0, 2000}, // Torloth stand - {-1000370, 0, 1000}, - {0, 0, 3000}, - {0, 0, 0} + {0, 2000}, + {1, 7000}, + {0, 3000}, + {0, 2000}, // Torloth stand + {0, 1000}, + {0, 3000}, + {0, 0} }; struct Location @@ -1195,15 +1182,14 @@ struct WaveData { uint8 SpawnCount, UsedSpawnPoint; uint32 CreatureId, SpawnTimer, YellTimer; - int32 WaveTextId; }; static WaveData WavesInfo[]= { - {9, 0, 22075, 10000, 7000, -1000371}, //Illidari Soldier - {2, 9, 22074, 10000, 7000, -1000372}, //Illidari Mind Breaker - {4, 11, 19797, 10000, 7000, -1000373}, //Illidari Highlord - {1, 15, 22076, 10000, 7000, -1000374} //Torloth The Magnificent + {9, 0, 22075, 10000, 7000}, //Illidari Soldier + {2, 9, 22074, 10000, 7000}, //Illidari Mind Breaker + {4, 11, 19797, 10000, 7000}, //Illidari Highlord + {1, 15, 22076, 10000, 7000} //Torloth The Magnificent }; struct SpawnSpells @@ -1278,9 +1264,6 @@ public: return; } - if (TorlothAnim[AnimationCount].TextId) - DoScriptText(TorlothAnim[AnimationCount].TextId, creature); - AnimationTimer = TorlothAnim[AnimationCount].Timer; switch (AnimationCount) @@ -1377,7 +1360,6 @@ public: if (Creature* LordIllidan = (Unit::GetCreature(*me, LordIllidanGUID))) { - DoScriptText(END_TEXT, LordIllidan, killer); LordIllidan->AI()->EnterEvadeMode(); } } @@ -1512,14 +1494,17 @@ public: { if (!Announced && AnnounceTimer <= diff) { - DoScriptText(WavesInfo[WaveCount].WaveTextId, me); Announced = true; - } else AnnounceTimer -= diff; + } + else + AnnounceTimer -= diff; if (WaveTimer <= diff) { SummonNextWave(); - } else WaveTimer -= diff; + } + else + WaveTimer -= diff; } CheckEventFail(); diff --git a/src/server/scripts/Outland/shattrath_city.cpp b/src/server/scripts/Outland/shattrath_city.cpp index 76cffa9e1fe..c45ad519d39 100644 --- a/src/server/scripts/Outland/shattrath_city.cpp +++ b/src/server/scripts/Outland/shattrath_city.cpp @@ -286,28 +286,32 @@ public: # npc_kservant ######*/ -#define SAY1 -1000234 -#define WHISP1 -1000235 -#define WHISP2 -1000236 -#define WHISP3 -1000237 -#define WHISP4 -1000238 -#define WHISP5 -1000239 -#define WHISP6 -1000240 -#define WHISP7 -1000241 -#define WHISP8 -1000242 -#define WHISP9 -1000243 -#define WHISP10 -1000244 -#define WHISP11 -1000245 -#define WHISP12 -1000246 -#define WHISP13 -1000247 -#define WHISP14 -1000248 -#define WHISP15 -1000249 -#define WHISP16 -1000250 -#define WHISP17 -1000251 -#define WHISP18 -1000252 -#define WHISP19 -1000253 -#define WHISP20 -1000254 -#define WHISP21 -1000255 +enum KServant +{ + SAY1 = 0, + WHISP1 = 1, + WHISP2 = 2, + WHISP3 = 3, + WHISP4 = 4, + WHISP5 = 5, + WHISP6 = 6, + WHISP7 = 7, + WHISP8 = 8, + WHISP9 = 9, + WHISP10 = 10, + WHISP11 = 11, + WHISP12 = 12, + WHISP13 = 13, + WHISP14 = 14, + WHISP15 = 15, + WHISP16 = 16, + WHISP17 = 17, + WHISP18 = 18, + WHISP19 = 19, + WHISP20 = 20, + WHISP21 = 21 +}; + class npc_kservant : public CreatureScript { public: @@ -332,70 +336,70 @@ public: switch (waypointId) { case 0: - DoScriptText(SAY1, me, player); + Talk(SAY1, player->GetGUID()); break; case 4: - DoScriptText(WHISP1, me, player); + Talk(WHISP1, player->GetGUID()); break; case 6: - DoScriptText(WHISP2, me, player); + Talk(WHISP2, player->GetGUID()); break; case 7: - DoScriptText(WHISP3, me, player); + Talk(WHISP3, player->GetGUID()); break; case 8: - DoScriptText(WHISP4, me, player); + Talk(WHISP4, player->GetGUID()); break; case 17: - DoScriptText(WHISP5, me, player); + Talk(WHISP5, player->GetGUID()); break; case 18: - DoScriptText(WHISP6, me, player); + Talk(WHISP6, player->GetGUID()); break; case 19: - DoScriptText(WHISP7, me, player); + Talk(WHISP7, player->GetGUID()); break; case 33: - DoScriptText(WHISP8, me, player); + Talk(WHISP8, player->GetGUID()); break; case 34: - DoScriptText(WHISP9, me, player); + Talk(WHISP9, player->GetGUID()); break; case 35: - DoScriptText(WHISP10, me, player); + Talk(WHISP10, player->GetGUID()); break; case 36: - DoScriptText(WHISP11, me, player); + Talk(WHISP11, player->GetGUID()); break; case 43: - DoScriptText(WHISP12, me, player); + Talk(WHISP12, player->GetGUID()); break; case 44: - DoScriptText(WHISP13, me, player); + Talk(WHISP13, player->GetGUID()); break; case 49: - DoScriptText(WHISP14, me, player); + Talk(WHISP14, player->GetGUID()); break; case 50: - DoScriptText(WHISP15, me, player); + Talk(WHISP15, player->GetGUID()); break; case 51: - DoScriptText(WHISP16, me, player); + Talk(WHISP16, player->GetGUID()); break; case 52: - DoScriptText(WHISP17, me, player); + Talk(WHISP17, player->GetGUID()); break; case 53: - DoScriptText(WHISP18, me, player); + Talk(WHISP18, player->GetGUID()); break; case 54: - DoScriptText(WHISP19, me, player); + Talk(WHISP19, player->GetGUID()); break; case 55: - DoScriptText(WHISP20, me, player); + Talk(WHISP20, player->GetGUID()); break; case 56: - DoScriptText(WHISP21, me, player); + Talk(WHISP21, player->GetGUID()); player->GroupEventHappens(10211, me); break; } @@ -429,16 +433,19 @@ public: #define GOSSIP_BOOK "Ezekiel said that you might have a certain book..." -#define SAY_1 -1000274 -#define SAY_2 -1000275 -#define SAY_3 -1000276 -#define SAY_4 -1000277 -#define SAY_5 -1000278 -#define SAY_GIVEUP -1000279 - -#define QUEST_WBI 10231 -#define NPC_CREEPJACK 19726 -#define NPC_MALONE 19725 +enum DirtyLarry +{ + SAY_1 = 0, + SAY_2 = 1, + SAY_3 = 2, + SAY_4 = 3, + SAY_5 = 4, + SAY_GIVEUP = 5, + + QUEST_WBI = 10231, + NPC_CREEPJACK = 19726, + NPC_MALONE = 19725 +}; class npc_dirty_larry : public CreatureScript { @@ -500,11 +507,11 @@ public: if (Malone) Malone->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); }return 2000; - case 1: DoScriptText(SAY_1, me, player); return 3000; - case 2: DoScriptText(SAY_2, me, player); return 5000; - case 3: DoScriptText(SAY_3, me, player); return 2000; - case 4: DoScriptText(SAY_4, me, player); return 2000; - case 5: DoScriptText(SAY_5, me, player); return 2000; + case 1: Talk(SAY_1, player->GetGUID()); return 3000; + case 2: Talk(SAY_2, player->GetGUID()); return 5000; + case 3: Talk(SAY_3, player->GetGUID()); return 2000; + case 4: Talk(SAY_4, player->GetGUID()); return 2000; + case 5: Talk(SAY_5, player->GetGUID()); return 2000; case 6: Attack = true; return 2000; default: return 0; } @@ -572,7 +579,7 @@ public: } me->setFaction(1194); Done = true; - DoScriptText(SAY_GIVEUP, me, NULL); + Talk(SAY_GIVEUP); me->DeleteThreatList(); me->CombatStop(); me->GetMotionMaster()->MoveTargetedHome(); diff --git a/src/server/scripts/Outland/terokkar_forest.cpp b/src/server/scripts/Outland/terokkar_forest.cpp index 2298f676692..d1f37dd5bfc 100644 --- a/src/server/scripts/Outland/terokkar_forest.cpp +++ b/src/server/scripts/Outland/terokkar_forest.cpp @@ -45,14 +45,16 @@ EndContentData */ ## mob_unkor_the_ruthless ######*/ -#define SAY_SUBMIT -1000194 +enum UnkorTheRuthless +{ + SAY_SUBMIT = 0, -#define FACTION_HOSTILE 45 -#define FACTION_FRIENDLY 35 -#define QUEST_DONTKILLTHEFATONE 9889 + FACTION_HOSTILE = 45, + FACTION_FRIENDLY = 35, + QUEST_DONTKILLTHEFATONE = 9889, -#define SPELL_PULVERIZE 2676 -//#define SPELL_QUID9889 32174 + SPELL_PULVERIZE = 2676 +}; class mob_unkor_the_ruthless : public CreatureScript { @@ -85,7 +87,7 @@ public: void DoNice() { - DoScriptText(SAY_SUBMIT, me); + Talk(SAY_SUBMIT); me->setFaction(FACTION_FRIENDLY); me->SetStandState(UNIT_STAND_STATE_SIT); me->RemoveAllAuras(); @@ -344,7 +346,7 @@ public: enum eFloon { - SAY_FLOON_ATTACK = -1000195, + SAY_FLOON_ATTACK = 0, SPELL_SILENCE = 6726, SPELL_FROSTBOLT = 9672, @@ -371,7 +373,7 @@ public: { player->CLOSE_GOSSIP_MENU(); creature->setFaction(FACTION_HOSTILE_FL); - DoScriptText(SAY_FLOON_ATTACK, creature, player); + creature->AI()->Talk(SAY_FLOON_ATTACK, player->GetGUID()); creature->AI()->AttackStart(player); } return true; @@ -447,10 +449,10 @@ public: ######*/ enum eIslaStarmaneData { - SAY_PROGRESS_1 = -1000571, - SAY_PROGRESS_2 = -1000572, - SAY_PROGRESS_3 = -1000573, - SAY_PROGRESS_4 = -1000574, + SAY_PROGRESS_1 = 0, + SAY_PROGRESS_2 = 1, + SAY_PROGRESS_3 = 2, + SAY_PROGRESS_4 = 3, QUEST_EFTW_H = 10052, QUEST_EFTW_A = 10051, @@ -480,16 +482,16 @@ public: Cage->SetGoState(GO_STATE_ACTIVE); break; case 2: - DoScriptText(SAY_PROGRESS_1, me, player); + Talk(SAY_PROGRESS_1, player->GetGUID()); break; case 5: - DoScriptText(SAY_PROGRESS_2, me, player); + Talk(SAY_PROGRESS_2, player->GetGUID()); break; case 6: - DoScriptText(SAY_PROGRESS_3, me, player); + Talk(SAY_PROGRESS_3, player->GetGUID()); break; case 29: - DoScriptText(SAY_PROGRESS_4, me, player); + Talk(SAY_PROGRESS_4, player->GetGUID()); if (player->GetTeam() == ALLIANCE) player->GroupEventHappens(QUEST_EFTW_A, me); else if (player->GetTeam() == HORDE) diff --git a/src/server/scripts/Outland/zangarmarsh.cpp b/src/server/scripts/Outland/zangarmarsh.cpp index 03e40b8d7dc..1fbb8a48324 100644 --- a/src/server/scripts/Outland/zangarmarsh.cpp +++ b/src/server/scripts/Outland/zangarmarsh.cpp @@ -45,9 +45,24 @@ EndContentData */ #define GOSSIP_ITEM_BLESS_ASH "Grant me your mark, wise ancient." #define GOSSIP_ITEM_BLESS_KEL "Grant me your mark, mighty ancient." -//signed for 17900 but used by 17900, 17901 -#define GOSSIP_REWARD_BLESS -1000359 -//#define TEXT_BLESSINGS "<You need higher standing with Cenarion Expedition to recive a blessing.>" + +enum AshyenAndKeleth +{ + GOSSIP_REWARD_BLESS = 0, + + NPC_ASHYEN = 17900, + NPC_KELETH = 17901, + + SPELL_BLESS_ASH_EXA = 31815, + SPELL_BLESS_ASH_REV = 31811, + SPELL_BLESS_ASH_HON = 31810, + SPELL_BLESS_ASH_FRI = 31808, + + SPELL_BLESS_KEL_EXA = 31814, + SPELL_BLESS_KEL_REV = 31813, + SPELL_BLESS_KEL_HON = 31812, + SPELL_BLESS_KEL_FRI = 31807 +}; class npcs_ashyen_and_keleth : public CreatureScript { @@ -58,10 +73,10 @@ public: { if (player->GetReputationRank(942) > REP_NEUTRAL) { - if (creature->GetEntry() == 17900) + if (creature->GetEntry() == NPC_ASHYEN) player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BLESS_ASH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - if (creature->GetEntry() == 17901) + if (creature->GetEntry() == NPC_KELETH) player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BLESS_KEL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); } player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); @@ -78,54 +93,60 @@ public: creature->SetMaxPower(POWER_MANA, 200); //set a "fake" mana value, we can't depend on database doing it in this case creature->SetPower(POWER_MANA, 200); - if (creature->GetEntry() == 17900) //check which Creature we are dealing with + if (creature->GetEntry() == NPC_ASHYEN) //check which Creature we are dealing with { + uint32 spell = 0; switch (player->GetReputationRank(942)) { //mark of lore case REP_FRIENDLY: - creature->CastSpell(player, 31808, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_ASH_FRI; break; case REP_HONORED: - creature->CastSpell(player, 31810, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_ASH_HON; break; case REP_REVERED: - creature->CastSpell(player, 31811, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_ASH_REV; break; case REP_EXALTED: - creature->CastSpell(player, 31815, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_ASH_EXA; break; default: break; } + + if (spell) + { + creature->CastSpell(player, spell, true); + creature->AI()->Talk(GOSSIP_REWARD_BLESS); + } } - if (creature->GetEntry() == 17901) + if (creature->GetEntry() == NPC_KELETH) { + uint32 spell = 0; switch (player->GetReputationRank(942)) //mark of war { case REP_FRIENDLY: - creature->CastSpell(player, 31807, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_KEL_FRI; break; case REP_HONORED: - creature->CastSpell(player, 31812, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_KEL_HON; break; case REP_REVERED: - creature->CastSpell(player, 31813, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_KEL_REV; break; case REP_EXALTED: - creature->CastSpell(player, 31814, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_KEL_EXA; break; default: break; } + + if (spell) + { + creature->CastSpell(player, spell, true); + creature->AI()->Talk(GOSSIP_REWARD_BLESS); + } } player->CLOSE_GOSSIP_MENU(); player->TalkedToCreature(creature->GetEntry(), creature->GetGUID()); @@ -304,12 +325,11 @@ public: enum eKayra { - SAY_START = -1000343, - SAY_AMBUSH1 = -1000344, - SAY_PROGRESS = -1000345, - SAY_AMBUSH2 = -1000346, - SAY_NEAR_END = -1000347, - SAY_END = -1000348, //this is signed for 10646 + SAY_START = 0, + SAY_AMBUSH1 = 1, + SAY_PROGRESS = 2, + SAY_AMBUSH2 = 3, + SAY_END = 4, QUEST_ESCAPE_FROM = 9752, NPC_SLAVEBINDER = 18042 @@ -335,25 +355,24 @@ public: switch (waypointId) { case 4: - DoScriptText(SAY_AMBUSH1, me, player); + Talk(SAY_AMBUSH1, player->GetGUID()); DoSpawnCreature(NPC_SLAVEBINDER, -10.0f, -5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); DoSpawnCreature(NPC_SLAVEBINDER, -8.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); break; case 5: - DoScriptText(SAY_PROGRESS, me, player); + Talk(SAY_PROGRESS, player->GetGUID()); SetRun(); break; case 16: - DoScriptText(SAY_AMBUSH2, me, player); + Talk(SAY_AMBUSH2, player->GetGUID()); DoSpawnCreature(NPC_SLAVEBINDER, -10.0f, -5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); DoSpawnCreature(NPC_SLAVEBINDER, -8.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); break; case 17: SetRun(false); - DoScriptText(SAY_NEAR_END, me, player); break; case 25: - DoScriptText(SAY_END, me, player); + Talk(SAY_END, player->GetGUID()); player->GroupEventHappens(QUEST_ESCAPE_FROM, me); break; } @@ -364,7 +383,7 @@ public: { if (quest->GetQuestId() == QUEST_ESCAPE_FROM) { - DoScriptText(SAY_START, creature, player); + creature->AI()->Talk(SAY_START, player->GetGUID()); if (npc_escortAI* pEscortAI = CAST_AI(npc_kayra_longmane::npc_kayra_longmaneAI, creature->AI())) pEscortAI->Start(false, false, player->GetGUID()); diff --git a/src/server/scripts/World/guards.cpp b/src/server/scripts/World/guards.cpp index 951c0ed9688..8fc63a1eacf 100644 --- a/src/server/scripts/World/guards.cpp +++ b/src/server/scripts/World/guards.cpp @@ -39,9 +39,7 @@ enum GuardGeneric { GENERIC_CREATURE_COOLDOWN = 5000, - SAY_GUARD_SIL_AGGRO1 = -1070001, - SAY_GUARD_SIL_AGGRO2 = -1070002, - SAY_GUARD_SIL_AGGRO3 = -1070003, + SAY_GUARD_SIL_AGGRO = 0, NPC_CENARION_HOLD_INFANTRY = 15184, NPC_STORMWIND_CITY_GUARD = 68, @@ -67,7 +65,7 @@ public: void EnterCombat(Unit* who) { if (me->GetEntry() == NPC_CENARION_HOLD_INFANTRY) - DoScriptText(RAND(SAY_GUARD_SIL_AGGRO1, SAY_GUARD_SIL_AGGRO2, SAY_GUARD_SIL_AGGRO3), me, who); + Talk(SAY_GUARD_SIL_AGGRO, who->GetGUID()); if (SpellInfo const* spell = me->reachWithSpellAttack(who)) DoCast(who, spell->Id); } diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 5ed799bbec1..76d2c230808 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -313,12 +313,16 @@ public: # npc_chicken_cluck #########*/ -#define EMOTE_HELLO -1070004 -#define EMOTE_CLUCK_TEXT -1070006 +enum ChickenCluck +{ + EMOTE_HELLO_A = 0, + EMOTE_HELLO_H = 1, + EMOTE_CLUCK_TEXT = 2, -#define QUEST_CLUCK 3861 -#define FACTION_FRIENDLY 35 -#define FACTION_CHICKEN 31 + QUEST_CLUCK = 3861, + FACTION_FRIENDLY = 35, + FACTION_CHICKEN = 31 +}; class npc_chicken_cluck : public CreatureScript { @@ -367,7 +371,7 @@ public: { me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); me->setFaction(FACTION_FRIENDLY); - DoScriptText(EMOTE_HELLO, me); + Talk(player->GetTeam() == HORDE ? EMOTE_HELLO_H : EMOTE_HELLO_A); } break; case TEXT_EMOTE_CHEER: @@ -375,7 +379,7 @@ public: { me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); me->setFaction(FACTION_FRIENDLY); - DoScriptText(EMOTE_CLUCK_TEXT, me); + Talk(EMOTE_CLUCK_TEXT); } break; } @@ -500,15 +504,15 @@ public: ## Triage quest ######*/ -//signed for 9623 -#define SAY_DOC1 -1000201 -#define SAY_DOC2 -1000202 -#define SAY_DOC3 -1000203 +enum Doctor +{ + SAY_DOC = 0, -#define DOCTOR_ALLIANCE 12939 -#define DOCTOR_HORDE 12920 -#define ALLIANCE_COORDS 7 -#define HORDE_COORDS 6 + DOCTOR_ALLIANCE = 12939, + DOCTOR_HORDE = 12920, + ALLIANCE_COORDS = 7, + HORDE_COORDS = 6 +}; struct Location { @@ -773,7 +777,7 @@ public: //stand up me->SetUInt32Value(UNIT_FIELD_BYTES_1, UNIT_STAND_STATE_STAND); - DoScriptText(RAND(SAY_DOC1, SAY_DOC2, SAY_DOC3), me); + Talk(SAY_DOC); uint32 mobId = me->GetEntry(); me->SetWalk(false); @@ -879,7 +883,7 @@ void npc_doctor::npc_doctorAI::UpdateAI(uint32 const diff) //TODO: get text for each NPC -enum eGarments +enum Garments { SPELL_LESSER_HEAL_R2 = 2052, SPELL_FORTITUDE_R1 = 1243, @@ -896,18 +900,10 @@ enum eGarments ENTRY_KORJA = 12430, ENTRY_DG_KEL = 12428, - //used by 12429, 12423, 12427, 12430, 12428, but signed for 12429 - SAY_COMMON_HEALED = -1000164, - SAY_DG_KEL_THANKS = -1000165, - SAY_DG_KEL_GOODBYE = -1000166, - SAY_ROBERTS_THANKS = -1000167, - SAY_ROBERTS_GOODBYE = -1000168, - SAY_KORJA_THANKS = -1000169, - SAY_KORJA_GOODBYE = -1000170, - SAY_DOLF_THANKS = -1000171, - SAY_DOLF_GOODBYE = -1000172, - SAY_SHAYA_THANKS = -1000173, - SAY_SHAYA_GOODBYE = -1000174, //signed for 21469 + // used by 12429, 12423, 12427, 12430, 12428, but signed for 12429 + SAY_THANKS = 0, + SAY_GOODBYE = 1, + SAY_HEALED = 2, }; class npc_garments_of_quests : public CreatureScript @@ -917,7 +913,10 @@ public: struct npc_garments_of_questsAI : public npc_escortAI { - npc_garments_of_questsAI(Creature* creature) : npc_escortAI(creature) {Reset();} + npc_garments_of_questsAI(Creature* creature) : npc_escortAI(creature) + { + Reset(); + } uint64 CasterGUID; @@ -936,15 +935,15 @@ public: RunAwayTimer = 5000; me->SetStandState(UNIT_STAND_STATE_KNEEL); - //expect database to have RegenHealth=0 + // expect database to have RegenHealth=0 me->SetHealth(me->CountPctFromMaxHealth(70)); } - void EnterCombat(Unit* /*who*/) {} + void EnterCombat(Unit* /*who*/) { } - void SpellHit(Unit* caster, SpellInfo const* Spell) + void SpellHit(Unit* caster, SpellInfo const* spell) { - if (Spell->Id == SPELL_LESSER_HEAL_R2 || Spell->Id == SPELL_FORTITUDE_R1) + if (spell->Id == SPELL_LESSER_HEAL_R2 || spell->Id == SPELL_FORTITUDE_R1) { //not while in combat if (me->isInCombat()) @@ -961,16 +960,16 @@ public: case ENTRY_SHAYA: if (player->GetQuestStatus(QUEST_MOON) == QUEST_STATUS_INCOMPLETE) { - if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1) + if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1) { - DoScriptText(SAY_SHAYA_THANKS, me, caster); + Talk(SAY_THANKS, caster->GetGUID()); CanRun = true; } - else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2) + else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2) { CasterGUID = caster->GetGUID(); me->SetStandState(UNIT_STAND_STATE_STAND); - DoScriptText(SAY_COMMON_HEALED, me, caster); + Talk(SAY_HEALED, caster->GetGUID()); IsHealed = true; } } @@ -978,16 +977,16 @@ public: case ENTRY_ROBERTS: if (player->GetQuestStatus(QUEST_LIGHT_1) == QUEST_STATUS_INCOMPLETE) { - if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1) + if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1) { - DoScriptText(SAY_ROBERTS_THANKS, me, caster); + Talk(SAY_THANKS, caster->GetGUID()); CanRun = true; } - else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2) + else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2) { CasterGUID = caster->GetGUID(); me->SetStandState(UNIT_STAND_STATE_STAND); - DoScriptText(SAY_COMMON_HEALED, me, caster); + Talk(SAY_HEALED, caster->GetGUID()); IsHealed = true; } } @@ -995,16 +994,16 @@ public: case ENTRY_DOLF: if (player->GetQuestStatus(QUEST_LIGHT_2) == QUEST_STATUS_INCOMPLETE) { - if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1) + if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1) { - DoScriptText(SAY_DOLF_THANKS, me, caster); + Talk(SAY_THANKS, caster->GetGUID()); CanRun = true; } - else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2) + else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2) { CasterGUID = caster->GetGUID(); me->SetStandState(UNIT_STAND_STATE_STAND); - DoScriptText(SAY_COMMON_HEALED, me, caster); + Talk(SAY_HEALED, caster->GetGUID()); IsHealed = true; } } @@ -1012,16 +1011,16 @@ public: case ENTRY_KORJA: if (player->GetQuestStatus(QUEST_SPIRIT) == QUEST_STATUS_INCOMPLETE) { - if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1) + if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1) { - DoScriptText(SAY_KORJA_THANKS, me, caster); + Talk(SAY_THANKS, caster->GetGUID()); CanRun = true; } - else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2) + else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2) { CasterGUID = caster->GetGUID(); me->SetStandState(UNIT_STAND_STATE_STAND); - DoScriptText(SAY_COMMON_HEALED, me, caster); + Talk(SAY_HEALED, caster->GetGUID()); IsHealed = true; } } @@ -1029,23 +1028,23 @@ public: case ENTRY_DG_KEL: if (player->GetQuestStatus(QUEST_DARKNESS) == QUEST_STATUS_INCOMPLETE) { - if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1) + if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1) { - DoScriptText(SAY_DG_KEL_THANKS, me, caster); + Talk(SAY_THANKS, caster->GetGUID()); CanRun = true; } - else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2) + else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2) { CasterGUID = caster->GetGUID(); me->SetStandState(UNIT_STAND_STATE_STAND); - DoScriptText(SAY_COMMON_HEALED, me, caster); + Talk(SAY_HEALED, caster->GetGUID()); IsHealed = true; } } break; } - //give quest credit, not expect any special quest objectives + // give quest credit, not expect any special quest objectives if (CanRun) player->TalkedToCreature(me->GetEntry(), me->GetGUID()); } @@ -1068,19 +1067,19 @@ public: switch (me->GetEntry()) { case ENTRY_SHAYA: - DoScriptText(SAY_SHAYA_GOODBYE, me, unit); + Talk(SAY_GOODBYE, unit->GetGUID()); break; case ENTRY_ROBERTS: - DoScriptText(SAY_ROBERTS_GOODBYE, me, unit); + Talk(SAY_GOODBYE, unit->GetGUID()); break; case ENTRY_DOLF: - DoScriptText(SAY_DOLF_GOODBYE, me, unit); + Talk(SAY_GOODBYE, unit->GetGUID()); break; case ENTRY_KORJA: - DoScriptText(SAY_KORJA_GOODBYE, me, unit); + Talk(SAY_GOODBYE, unit->GetGUID()); break; case ENTRY_DG_KEL: - DoScriptText(SAY_DG_KEL_GOODBYE, me, unit); + Talk(SAY_GOODBYE, unit->GetGUID()); break; } |
