diff --git a/data/sql/updates/pending_db_world/stratholme_toc_txt_fix.sql b/data/sql/updates/pending_db_world/stratholme_toc_txt_fix.sql new file mode 100644 index 0000000000..2c1c96f8ab --- /dev/null +++ b/data/sql/updates/pending_db_world/stratholme_toc_txt_fix.sql @@ -0,0 +1,24 @@ +DELETE FROM `gossip_menu_option` WHERE `MenuID` IN (9610, 9611, 9612, 11277) AND `OptionID`=1; + +DELETE FROM `creature_text` WHERE `CreatureID`=26499 AND `GroupID`=39 AND `ID`=0; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(26499, 39, 0, 'I can\'t afford to spare you.', 12, 0, 100, 0, 0, 0, 31355, 0, 'culling SAY_PHASE305_1'); + +DELETE FROM `creature_text` WHERE `CreatureID`=28169 AND `GroupID`=1 AND `ID`=0 ; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(28169, 1, 0, 'Oh, no...', 12, 0, 100, 0, 0, 0, 27552, 0, 'culling SAY_PHASE204_1'); + +DELETE FROM `creature_text` WHERE `CreatureID`=32281 AND `GroupID`=0 AND `ID`=0; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(32281, 0, 0, 'You have my thanks for saving my existence in this timeline. Now I must report back to my superiors. They must know immediately of what I just experienced.', 12, 0, 100, 0, 0, 0, 32645, 0, 'culling SAY_THANKS'); + +DELETE FROM `creature_text` WHERE `CreatureID` IN (28167, 28169); +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(28167, 0, 0, 'Prince Arthas, may the light be praised! Many people in the town have begun to fall seriously ill, can you help us?', 12, 0, 100, 0, 0, 0, 27547, 0, 'culling SAY_PHASE202'), +(28167, 1, 0, 'What? This can\'t be!', 12, 0, 100, 274, 0, 0, 27549, 0, 'culling SAY_PHASE204'), +(28169, 0, 0, 'Oh, no...', 12, 0, 100, 0, 0, 0, 27552, 0, 'culling SAY_PHASE204_1'); + +DELETE FROM `creature_text_locale` WHERE `CreatureID` IN (34799, 35144) AND `GroupID`=2 AND `ID`=0 AND `Locale`='ruRU'; +INSERT INTO `creature_text_locale` (`CreatureID`, `GroupID`, `ID`, `Locale`, `Text`) VALUES +(34799, 2, 0, 'ruRU', '%s вылезает из-под земли!'), +(35144, 2, 0, 'ruRU', '%s вылезает из-под земли!'); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp index c815ce3fd5..7ec0d095c3 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp @@ -37,7 +37,8 @@ enum Yells { SAY_AGGRO = 0, SAY_DEATH = 1, - SAY_FAIL = 2 + SAY_FAIL = 2, + SAY_THANKS = 0 }; class boss_infinite_corruptor : public CreatureScript @@ -98,7 +99,7 @@ public: { cr->DespawnOrUnsummon(5000); cr->RemoveAllAuras(); - cr->Say("You have my thanks for saving my existence in this timeline. Now i must report back to my superiors. They must know immediately of what i just experienced.", LANG_UNIVERSAL); + cr->AI()->Talk(SAY_THANKS); } } } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp index cc94d7dc06..2c5516ddd9 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp @@ -97,13 +97,15 @@ enum Says //Cityman SAY_PHASE202 = 0, + SAY_PHASE204_1 = 0, //Crazyman - SAY_PHASE204 = 0, + SAY_PHASE204 = 1, //Drakonian SAY_PHASE302 = 0, SAY_PHASE305 = 1, + SAY_PHASE305_1 = 39, }; enum NPCs @@ -559,7 +561,7 @@ public: case 11: if (Creature* cityman = GetEventNpc(NPC_CITY_MAN2)) { - cityman->Say("Oh no...", LANG_UNIVERSAL); // missing script_text + cityman->AI()->Talk(SAY_PHASE204_1); me->CastSpell(cityman, SPELL_ARTHAS_CRUSADER_STRIKE, true); } me->SetReactState(REACT_DEFENSIVE); @@ -1019,7 +1021,7 @@ public: } summons.DespawnAll(); - me->Say("I can't afford to spare you.", LANG_UNIVERSAL); + Talk(SAY_PHASE305_1); me->SetFacingTo(0.0f); ScheduleNextEvent(currentEvent, 5000); break; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp index d15aa40b24..661cab6df5 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp @@ -36,10 +36,9 @@ enum Yells EMOTE_VORTEX = 3, EMOTE_TWINK_PACT = 4, SAY_TWINK_PACT = 5, - SAY_KILL_PLAYER_1 = 6, + SAY_KILL_PLAYER = 6, SAY_BERSERK = 7, SAY_DEATH = 8, - SAY_KILL_PLAYER_2 = 9, }; enum Equipment @@ -502,10 +501,9 @@ struct boss_twin_valkyrAI : public ScriptedAI { if( who->GetTypeId() == TYPEID_PLAYER ) { - int32 id = urand(0, 1) ? SAY_KILL_PLAYER_1 : SAY_KILL_PLAYER_2; - Talk(id); + Talk(SAY_KILL_PLAYER); if( Creature* twin = GetSister() ) - twin->AI()->Talk(id); + twin->AI()->Talk(SAY_KILL_PLAYER); } } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp index db34dcd54c..591991e78d 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp @@ -884,8 +884,7 @@ public: { if( Creature* c = instance->GetCreature(NPC_JaraxxusGUID) ) { - c->Yell("Banished to the Nether!", LANG_UNIVERSAL); - c->PlayDirectSound(16146, 0); + c->AI()->Talk(SAY_STAGE_1_06_1); if( Creature* f = instance->GetCreature(NPC_FizzlebangGUID) ) { c->CastSpell(f, 67888, true); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h index 320f316e21..cc1ac35992 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h @@ -260,6 +260,7 @@ enum eTexts // Lord Jaraxxus SAY_STAGE_1_05 = 0, + SAY_STAGE_1_06_1 = 9, // The Lich King SAY_STAGE_4_02 = 0,