diff options
30 files changed, 1993 insertions, 579 deletions
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..19044160dfb --- /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/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 76fc8c18e79..308ac07f404 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -3001,6 +3001,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/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/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/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 d601c717562..96f7db23281 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; } |