diff options
author | offl <offl@users.noreply.github.com> | 2020-05-21 00:28:41 +0200 |
---|---|---|
committer | Killyana <morphone1@gmail.com> | 2020-05-21 00:28:41 +0200 |
commit | cfe6b651bc38239de58d6a3f95e8897bfb7d1869 (patch) | |
tree | 638570b09d362009acd7dcc0ba66d1836f18165d | |
parent | e80b66fd528b3fe38db5392957adf1aa82f19f9b (diff) |
DB/Quest: Convert Escape from Umbrafen to SAI
Closes #24648
-rw-r--r-- | sql/updates/world/3.3.5/2020_05_20_01_world.sql | 100 | ||||
-rw-r--r-- | src/server/scripts/Outland/outland_script_loader.cpp | 4 | ||||
-rw-r--r-- | src/server/scripts/Outland/zone_zangarmarsh.cpp | 117 |
3 files changed, 102 insertions, 119 deletions
diff --git a/sql/updates/world/3.3.5/2020_05_20_01_world.sql b/sql/updates/world/3.3.5/2020_05_20_01_world.sql new file mode 100644 index 00000000000..4feb480671e --- /dev/null +++ b/sql/updates/world/3.3.5/2020_05_20_01_world.sql @@ -0,0 +1,100 @@ +-- +DELETE FROM `script_waypoint` WHERE `entry` = 17969; +UPDATE `creature_template_addon` SET `bytes1`=0 WHERE `entry` IN (17969); + +-- Kayra Longmane SAI +SET @ID := 17969; +UPDATE `creature_template` SET `AIName` = "SmartAI", `ScriptName` = "" WHERE `entry` = @ID; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @ID AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` BETWEEN @ID*100+0 AND @ID*100+5 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`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ID,0,0,0,19,0,100,0,9752,0,0,0,0,80,@ID*100+0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Quest 'Escape from Umbrafen' Taken - Run Script"), +(@ID,0,1,0,40,0,100,0,5,0,0,0,0,80,@ID*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Waypoint 5 Reached - Run Script"), +(@ID,0,2,0,40,0,100,0,6,0,0,0,0,80,@ID*100+2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Waypoint 6 Reached - Run Script"), +(@ID,0,3,0,40,0,100,0,17,0,0,0,0,80,@ID*100+3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Waypoint 17 Reached - Run Script"), +(@ID,0,4,0,40,0,100,0,18,0,0,0,0,80,@ID*100+4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Waypoint 18 Reached - Run Script"), +(@ID,0,5,0,40,0,100,0,26,0,0,0,0,80,@ID*100+5,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Waypoint 26 Reached - Run Script"), +(@ID,0,6,0,6,0,100,0,0,0,0,0,0,6,9752,0,0,0,0,0,16,0,0,0,0,0,0,0,0,"Kayra Longmane - On Death - Fail Quest 'Escape from Umbrafen'"), +(@ID,0,7,0,11,0,100,0,0,0,0,0,0,90,8,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On spawn - Set Flag Standstate Kneel"), +(@ID,0,8,0,0,0,100,0,1000,2000,2000,3000,0,11,9739,64,0,0,0,0,2,0,0,0,0,0,0,0,0,"Kayra Longmane - IC - Cast Wrath"), +(@ID,0,9,0,0,0,100,0,5000,6000,6000,7000,0,11,31401,64,0,0,0,0,2,0,0,0,0,0,0,0,0,"Kayra Longmane - IC - Cast Moonfire"), +(@ID*100+0,9,0,0,0,0,100,0,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Store Targetlist"), +(@ID*100+0,9,1,0,0,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Say Line 0"), +(@ID*100+0,9,2,0,0,0,100,0,0,0,0,0,0,2,495,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Set Faction 495"), +(@ID*100+0,9,3,0,0,0,100,0,0,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Remove NPC Flag Questgiver"), +(@ID*100+0,9,4,0,0,0,100,0,3000,3000,0,0,0,91,8,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Remove Flag Standstate Kneel"), +(@ID*100+0,9,5,0,0,0,100,0,0,0,0,0,0,53,0,17969,0,0,0,2,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Start Waypoint"), +-- Seems like with no time and resume when all creatures are killed +(@ID*100+1,9,0,0,0,0,100,0,0,0,0,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Pause Waypoint"), +(@ID*100+1,9,1,0,0,0,100,0,0,0,0,0,0,1,1,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Say Line 1"), +(@ID*100+1,9,2,0,0,0,100,0,2000,2000,0,0,0,107,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Summon Group 0"), +(@ID*100+1,9,3,0,0,0,100,0,1000,1000,0,0,0,1,0,0,0,0,0,0,19,18042,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Say text"), +(@ID*100+2,9,0,0,0,0,100,0,0,0,0,0,0,54,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Pause Waypoint"), +(@ID*100+2,9,1,0,0,0,100,0,4000,4000,0,0,0,1,2,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Say Line 2"), +(@ID*100+2,9,2,0,0,0,100,0,0,0,0,0,0,59,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Set Run On"), +-- Seems like with no time and resume when all creatures are killed +(@ID*100+3,9,0,0,0,0,100,0,0,0,0,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Pause Waypoint"), +(@ID*100+3,9,1,0,0,0,100,0,3000,3000,0,0,0,1,3,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Say Line 3"), +(@ID*100+3,9,2,0,0,0,100,0,2000,2000,0,0,0,107,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Summon Group 1"), +(@ID*100+3,9,3,0,0,0,100,0,1000,1000,0,0,0,1,0,0,0,0,0,0,19,18042,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Say text"), +(@ID*100+4,9,0,0,0,0,100,0,0,0,0,0,0,54,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Pause Waypoint"), +(@ID*100+4,9,1,0,0,0,100,0,1000,1000,0,0,0,1,4,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Say Line 4"), +(@ID*100+5,9,0,0,0,0,100,0,0,0,0,0,0,54,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Pause Waypoint"), +(@ID*100+5,9,1,0,0,0,100,0,0,0,0,0,0,1,5,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Say Line 5"), +(@ID*100+5,9,2,0,0,0,100,0,0,0,0,0,0,15,9752,0,0,0,0,0,16,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Quest Credit 'Escape from Umbrafen'"), +(@ID*100+5,9,3,0,0,0,100,0,0,0,0,0,0,41,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Kayra Longmane - On Script - Despawn (10000)"); + +UPDATE `creature_text` SET `comment` = "Kayra Longmane" WHERE `CreatureID` = @ID; +DELETE FROM `creature_text` WHERE `CreatureID` = @ID AND `GroupID` = 5; +INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`BroadcastTextId`,`TextRange`,`comment`) VALUES +(@ID,5,0,"I can see my fellow druids from here. Thank you, $n. I'm sure Ysiel will reward you for your actions!",12,0,100,0,0,0,14729,0,"Kayra Longmane"); + +SET @Slavebinder :=18042; +DELETE FROM `creature_text` WHERE `CreatureId` = @Slavebinder; +INSERT INTO `creature_text` (`CreatureId`, `GroupId`, `ID`, `Text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextId`) VALUES +(@Slavebinder, 0, 0, "You won't escape us, druid!", 12, 0, 100, 0, 0, 0, 'Slavebinder',14731); + +-- Umbrafen Slavebinder SAI +SET @ID := 18042; +UPDATE `creature_template` SET `AIName` = "SmartAI" WHERE `entry` = @ID; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @ID AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @ID*100+0 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`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ID,0,0,0,54,0,100,0,0,0,0,0,0,80,@ID*100+0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Umbrafen Slavebinder - On Just Summoned - Run Script"), +(@ID*100+0,9,0,0,0,0,100,0,2000,2000,0,0,0,49,0,0,0,0,0,0,19,17969,0,0,0,0,0,0,0,"Umbrafen Slavebinder - On Script - Start Attacking Closest Creature 'Kayra Longmane'"); + +DELETE FROM `creature_summon_groups` WHERE `summonerId` = 17969; +INSERT INTO `creature_summon_groups` (`summonerId`,`summonerType`,`groupId`,`entry`,`position_x`,`position_y`,`position_z`,`orientation`,`summonType`,`summonTime`) VALUES +(17969,0,0,18042,-916.4861,5355.635,18.25233,5.0,1,60000), +(17969,0,0,18042,-918.9288,5358.430,18.05894,5.0,1,60000), +(17969,0,1,18042,-668.2899,5382.913,22.32479,5.0,1,60000), +(17969,0,1,18042,-669.2795,5386.802,23.01249,5.0,1,60000); + +DELETE FROM `waypoints` WHERE `entry` = 17969; +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(17969,1,-930.049,5288.08,23.8484,"Kayra Longmane"), +(17969,2,-925.678,5296.48,18.1837,"Kayra Longmane"), +(17969,3,-924.297,5299.02,17.7109,"Kayra Longmane"), +(17969,4,-928.39,5317.02,18.2086,"Kayra Longmane"), +(17969,5,-930.621,5329.92,18.7734,"Kayra Longmane"), +(17969,6,-931.49,5357.65,18.0272,"Kayra Longmane"), +(17969,7,-934.778,5369.34,22.278,"Kayra Longmane"), +(17969,8,-934.522,5373.41,22.8347,"Kayra Longmane"), +(17969,9,-937.009,5382.98,22.6991,"Kayra Longmane"), +(17969,10,-941.948,5404.14,22.6697,"Kayra Longmane"), +(17969,11,-931.244,5415.85,23.064,"Kayra Longmane"), +(17969,12,-901.498,5420.32,24.2133,"Kayra Longmane"), +(17969,13,-860.312,5415.62,23.6711,"Kayra Longmane"), +(17969,14,-777.989,5391.98,23.0017,"Kayra Longmane"), +(17969,15,-750.362,5385.79,22.7658,"Kayra Longmane"), +(17969,16,-731.339,5382.45,22.5171,"Kayra Longmane"), +(17969,17,-681.236,5381.38,22.0502,"Kayra Longmane"), +(17969,18,-637.944,5384.34,22.2056,"Kayra Longmane"), +(17969,19,-608.954,5408.72,21.6304,"Kayra Longmane"), +(17969,20,-598.134,5413.61,21.4123,"Kayra Longmane"), +(17969,21,-571.269,5420.77,21.1849,"Kayra Longmane"), +(17969,22,-553.1,5424.62,21.1937,"Kayra Longmane"), +(17969,23,-524.745,5443.95,20.977,"Kayra Longmane"), +(17969,24,-502.985,5446.28,22.1494,"Kayra Longmane"), +(17969,25,-472.464,5449.55,22.5615,"Kayra Longmane"), +(17969,26,-454.533,5461.3,22.6028,"Kayra Longmane"); diff --git a/src/server/scripts/Outland/outland_script_loader.cpp b/src/server/scripts/Outland/outland_script_loader.cpp index bb8ca800119..6fbf36332e8 100644 --- a/src/server/scripts/Outland/outland_script_loader.cpp +++ b/src/server/scripts/Outland/outland_script_loader.cpp @@ -133,7 +133,7 @@ void AddSC_netherstorm(); void AddSC_shadowmoon_valley(); void AddSC_shattrath_city(); void AddSC_terokkar_forest(); -void AddSC_zangarmarsh(); +// void AddSC_zangarmarsh(); // The name of this function should match: // void Add${NameOfDirectory}Scripts() @@ -256,5 +256,5 @@ void AddOutlandScripts() AddSC_shadowmoon_valley(); AddSC_shattrath_city(); AddSC_terokkar_forest(); - AddSC_zangarmarsh(); + // AddSC_zangarmarsh(); } diff --git a/src/server/scripts/Outland/zone_zangarmarsh.cpp b/src/server/scripts/Outland/zone_zangarmarsh.cpp deleted file mode 100644 index 4ef442cf3d3..00000000000 --- a/src/server/scripts/Outland/zone_zangarmarsh.cpp +++ /dev/null @@ -1,117 +0,0 @@ -/* - * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -/* ScriptData -SDName: Zangarmarsh -SD%Complete: 100 -SDCategory: Zangarmarsh -EndScriptData */ - -/* ContentData -npc_kayra_longmane -EndContentData */ - -#include "ScriptMgr.h" -#include "ScriptedCreature.h" -#include "ScriptedGossip.h" -#include "ScriptedEscortAI.h" -#include "Player.h" -#include "WorldSession.h" - -/*###### -## npc_kayra_longmane -######*/ - -enum Kayra -{ - SAY_START = 0, - SAY_AMBUSH1 = 1, - SAY_PROGRESS = 2, - SAY_AMBUSH2 = 3, - SAY_END = 4, - - QUEST_ESCAPE_FROM = 9752, - NPC_SLAVEBINDER = 18042 -}; - -class npc_kayra_longmane : public CreatureScript -{ -public: - npc_kayra_longmane() : CreatureScript("npc_kayra_longmane") { } - - struct npc_kayra_longmaneAI : public EscortAI - { - npc_kayra_longmaneAI(Creature* creature) : EscortAI(creature) { } - - void Reset() override { } - - void WaypointReached(uint32 waypointId, uint32 /*pathId*/) override - { - Player* player = GetPlayerForEscort(); - if (!player) - return; - - switch (waypointId) - { - case 4: - Talk(SAY_AMBUSH1, player); - 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: - Talk(SAY_PROGRESS, player); - SetRun(); - break; - case 16: - Talk(SAY_AMBUSH2, player); - 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); - break; - case 25: - Talk(SAY_END, player); - player->GroupEventHappens(QUEST_ESCAPE_FROM, me); - break; - } - } - - void QuestAccept(Player* player, Quest const* quest) override - { - if (quest->GetQuestId() == QUEST_ESCAPE_FROM) - { - Talk(SAY_START, player); - Start(false, false, player->GetGUID()); - } - } - }; - - CreatureAI* GetAI(Creature* creature) const override - { - return new npc_kayra_longmaneAI(creature); - } -}; - -/*###### -## AddSC -######*/ - -void AddSC_zangarmarsh() -{ - new npc_kayra_longmane(); -} |