aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/3.3.5/2020_09_12_05_world.sql262
-rw-r--r--src/server/scripts/EasternKingdoms/zone_hinterlands.cpp103
-rw-r--r--src/server/scripts/Kalimdor/zone_feralas.cpp116
-rw-r--r--src/server/scripts/Kalimdor/zone_tanaris.cpp92
4 files changed, 265 insertions, 308 deletions
diff --git a/sql/updates/world/3.3.5/2020_09_12_05_world.sql b/sql/updates/world/3.3.5/2020_09_12_05_world.sql
new file mode 100644
index 00000000000..90ac14a4cc2
--- /dev/null
+++ b/sql/updates/world/3.3.5/2020_09_12_05_world.sql
@@ -0,0 +1,262 @@
+--
+DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id` IN (7784,7806,7807));
+
+-- Homing Robot OOX-17/TN SAI (Source: Sniffs)
+SET @ID := 7784;
+UPDATE `creature_template` SET `AIName` = "SmartAI", `ScriptName` = "", `flags_extra` = `flags_extra`|512 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+2 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,11,0,100,0,0,0,0,0,0,90,7,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Respawn - Set Flag Standstate Dead"),
+(@ID,0,1,0,4,0,25,0,0,0,0,0,0,1,1,0,1,0,0,0,7,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Aggro - Say Line 1"),
+(@ID,0,2,0,19,0,100,0,648,0,0,0,0,80,@ID*100+0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Quest 'Rescue OOX-17/TN!' Taken - Run Script"),
+(@ID,0,3,0,40,0,100,0,16,0,0,0,0,80,@ID*100+1,2,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Waypoint 16 Reached - Run Script"),
+(@ID,0,4,0,1,1,100,0,500,500,500,500,0,80,@ID*100+2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - Out of Combat - Run Script (Phase 1)"),
+(@ID,0,5,0,40,0,100,0,19,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Waypoint 19 Reached - Despawn Instant"),
+(@ID,0,6,0,6,0,100,0,0,0,0,0,0,6,648,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Death - Fail Quest 'Rescue OOX-17/TN!'"),
+-- If quest is not sharable, it probably means credit will be not awarded to party members, do not store all guids
+(@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,"Homing Robot OOX-17/TN - 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,"Homing Robot OOX-17/TN - On Script - Say Line 0"),
+(@ID*100+0,9,2,0,0,0,100,0,0,0,0,0,0,53,0,7784,0,0,0,2,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Start Waypoint"),
+(@ID*100+0,9,3,0,0,0,100,0,0,0,0,0,0,2,113,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Set Faction 113"),
+(@ID*100+0,9,4,0,0,0,100,0,0,0,0,0,0,19,512,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Remove Flag Immune To NPC's"),
+(@ID*100+0,9,5,0,0,0,100,0,0,0,0,0,0,91,7,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Remove Flag Standstate Dead"),
+(@ID*100+0,9,6,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,"Homing Robot OOX-17/TN - On Script - Remove NPC Flag Questgiver"),
+-- To be changed to 0 when WP pause issue will be fixed
+(@ID*100+1,9,0,0,0,0,100,0,0,0,0,0,0,54,30000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Pause Waypoint"),
+(@ID*100+1,9,1,0,0,0,100,0,0,0,0,0,0,1,2,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Say Line 2"),
+(@ID*100+1,9,2,0,0,0,100,0,1000,1000,0,0,0,107,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Summon Group 0"),
+-- This part is pretty tricky. Final actions are called after 20 sec (value from https://youtu.be/uiG-tnvsAJc?t=113
+-- and https://youtu.be/2zvTguAWo34?t=116 https://youtu.be/P3I2qClvKDQ?t=115)
+-- The problem is timer can tick both in combat and OOC but the actions are called only while OOC
+-- and not after killing summoned creatures (check videos, in two of them they even didn't spawned)
+-- Currently we set phase to 1 here and in phase 1 we are trying to call action list every 500 ms
+-- Once action list is called, we set phase to 0 to prevent double call
+-- All other ways are way much more ugly or does not work like this one
+-- Ideally we need to call ONE action list with update type 2 (in combat and out of combat) to allow timer tick in combat too
+-- And call half of actions after 20 sec only if creature is not in combat
+(@ID*100+1,9,3,0,0,0,100,0,20000,20000,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Set Event Phase 1"),
+
+(@ID*100+2,9,0,0,0,0,100,0,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Set Event Phase 1"),
+(@ID*100+2,9,1,0,0,0,100,0,0,0,0,0,0,1,3,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Say Line 3"),
+(@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,"Homing Robot OOX-17/TN - On Script - Set Run On"),
+(@ID*100+2,9,3,0,0,0,100,0,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Set Active"),
+(@ID*100+2,9,4,0,0,0,100,0,1000,1000,0,0,0,11,68499,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Cast 'OOX Lift Off'"),
+(@ID*100+2,9,5,0,0,0,100,0,0,0,0,0,0,15,648,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Quest Credit 'Rescue OOX-17/TN!'"),
+(@ID*100+2,9,6,0,0,0,100,0,0,0,0,0,0,18,512,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Add Flag Immune To NPC's"),
+(@ID*100+2,9,7,0,0,0,100,0,2000,2000,0,0,0,60,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Set Fly On"),
+(@ID*100+2,9,8,0,0,0,100,0,0,0,0,0,0,65,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-17/TN - On Script - Resume Waypoint");
+
+DELETE FROM `creature_summon_groups` WHERE `summonerId` = @ID AND `summonerType` = 0;
+INSERT INTO `creature_summon_groups` (`summonerId`,`summonerType`,`groupId`,`entry`,`position_x`,`position_y`,`position_z`,`orientation`,`summonType`,`summonTime`,`Comment`) VALUES
+(@ID,0,0,7803,-8343.939,-4444.1963,9.410067,4.06661,4,60000,"Homing Robot OOX-17/TN - Group 0 - Scorpid Duneburrower"),
+(@ID,0,0,7803,-8342.946,-4454.9834,9.538595,2.18166,4,60000,"Homing Robot OOX-17/TN - Group 0 - Scorpid Duneburrower"),
+(@ID,0,0,7803,-8356.769,-4448.491,10.246145,6.21337,4,60000,"Homing Robot OOX-17/TN - Group 0 - Scorpid Duneburrower");
+
+DELETE FROM `script_waypoint` WHERE `entry` = 7784;
+DELETE FROM `waypoints` WHERE `entry` = 7784;
+INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES
+(7784,1,-8810.634,-4373.8345,32.58877,"Homing Robot OOX-17/TN"),
+(7784,2,-8794.969,-4366.311,26.136408,"Homing Robot OOX-17/TN"),
+(7784,3,-8752.488,-4366.4326,24.101122,"Homing Robot OOX-17/TN"),
+(7784,4,-8724.97,-4352.2266,20.744633,"Homing Robot OOX-17/TN"),
+(7784,5,-8708.822,-4353.277,18.369633,"Homing Robot OOX-17/TN"),
+(7784,6,-8684.997,-4379.1943,13.567807,"Homing Robot OOX-17/TN"),
+(7784,7,-8656.829,-4388.013,12.275239,"Homing Robot OOX-17/TN"),
+(7784,8,-8612.755,-4397.2524,9.712765,"Homing Robot OOX-17/TN"),
+(7784,9,-8578.566,-4408.652,11.488994,"Homing Robot OOX-17/TN"),
+(7784,10,-8539.096,-4421.452,12.616913,"Homing Robot OOX-17/TN"),
+(7784,11,-8514.029,-4425.8203,13.824177,"Homing Robot OOX-17/TN"),
+(7784,12,-8486.308,-4428.784,11.637026,"Homing Robot OOX-17/TN"),
+(7784,13,-8446.95,-4440.7183,9.385215,"Homing Robot OOX-17/TN"),
+(7784,14,-8417.598,-4445.191,10.385215,"Homing Robot OOX-17/TN"),
+(7784,15,-8388.8955,-4448.0015,10.996256,"Homing Robot OOX-17/TN"),
+(7784,16,-8352.005,-4447.594,10.134734,"Homing Robot OOX-17/TN"), --
+(7784,17,-8327.56,-4442.5103,18.585197,"Homing Robot OOX-17/TN"),
+(7784,18,-8262.676,-4426.0054,34.8352,"Homing Robot OOX-17/TN"),
+(7784,19,-8161.7275,-4410.5435,58.08519,"Homing Robot OOX-17/TN"); -- No despawn packet, probably incomplete
+
+UPDATE `creature_text` SET `comment` = "Homing Robot OOX-17/TN" WHERE `CreatureID` = 7784;
+
+-- Scorpid Duneburrower SAI (Source: ACID 4.0.3 Official Data)
+SET @ID := 7803;
+UPDATE `creature_template` SET `AIName` = "SmartAI" WHERE `entry` = @ID;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @ID 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`,`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,49,0,0,0,0,0,0,21,50,0,0,0,0,0,0,0,"Scorpid Duneburrower - On Just Summoned - Start Attacking Closest Player"),
+(@ID,0,1,0,0,0,100,0,6400,14700,20900,45800,0,11,5416,0,0,0,0,0,2,0,0,0,0,0,0,0,0,"Scorpid Duneburrower - In Combat - Cast 'Venom Sting'");
+
+-- Homing Robot OOX-09/HL SAI (Source: Homing Robot OOX-17/TN & https://www.youtube.com/watch?v=6nhntDjHhc8)
+SET @ID := 7806;
+UPDATE `creature_template` SET `AIName` = "SmartAI", `ScriptName` = "", `flags_extra` = `flags_extra`|512 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+2 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,11,0,100,0,0,0,0,0,0,90,7,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Respawn - Set Flag Standstate Dead"),
+(@ID,0,1,0,4,0,25,0,0,0,0,0,0,1,1,0,1,0,0,0,7,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Aggro - Say Line 1"),
+(@ID,0,2,0,19,0,100,0,836,0,0,0,0,80,@ID*100+0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Quest 'Rescue OOX-09/HL!' Taken - Run Script"),
+(@ID,0,3,0,40,0,100,0,27,0,0,0,0,80,@ID*100+1,2,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Waypoint 27 Reached - Run Script"),
+(@ID,0,4,0,1,1,100,0,500,500,500,500,0,80,@ID*100+2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - Out of Combat - Run Script (Phase 1)"),
+(@ID,0,5,0,40,0,100,0,30,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Waypoint 30 Reached - Despawn Instant"),
+(@ID,0,6,0,6,0,100,0,0,0,0,0,0,6,836,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Death - Fail Quest 'Rescue OOX-09/HL!'"),
+-- If quest is not sharable, it probably means credit will be not awarded to party members, do not store all guids
+(@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,"Homing Robot OOX-09/HL - 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,"Homing Robot OOX-09/HL - On Script - Say Line 0"),
+(@ID*100+0,9,2,0,0,0,100,0,0,0,0,0,0,53,0,7806,0,0,0,2,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Start Waypoint"),
+(@ID*100+0,9,3,0,0,0,100,0,0,0,0,0,0,2,113,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Set Faction 113"),
+(@ID*100+0,9,4,0,0,0,100,0,0,0,0,0,0,19,512,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Remove Flag Immune To NPC's"),
+(@ID*100+0,9,5,0,0,0,100,0,0,0,0,0,0,91,7,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Remove Flag Standstate Dead"),
+(@ID*100+0,9,6,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,"Homing Robot OOX-09/HL - On Script - Remove NPC Flag Questgiver"),
+-- To be changed to 0 when WP pause issue will be fixed
+(@ID*100+1,9,0,0,0,0,100,0,0,0,0,0,0,54,30000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Pause Waypoint"),
+(@ID*100+1,9,1,0,0,0,100,0,0,0,0,0,0,1,2,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Say Line 2"),
+(@ID*100+1,9,2,0,0,0,100,0,1000,1000,0,0,0,107,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Summon Group 0"),
+(@ID*100+1,9,3,0,0,0,100,0,20000,20000,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Set Event Phase 1"),
+
+(@ID*100+2,9,0,0,0,0,100,0,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Set Event Phase 1"),
+(@ID*100+2,9,1,0,0,0,100,0,0,0,0,0,0,1,3,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Say Line 3"),
+(@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,"Homing Robot OOX-09/HL - On Script - Set Run On"),
+(@ID*100+2,9,3,0,0,0,100,0,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Set Active"),
+(@ID*100+2,9,4,0,0,0,100,0,1000,1000,0,0,0,11,68499,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Cast 'OOX Lift Off'"),
+(@ID*100+2,9,5,0,0,0,100,0,0,0,0,0,0,15,836,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Quest Credit 'Rescue OOX-09/HL!'"),
+(@ID*100+2,9,6,0,0,0,100,0,0,0,0,0,0,18,512,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Add Flag Immune To NPC's"),
+(@ID*100+2,9,7,0,0,0,100,0,2000,2000,0,0,0,60,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Set Fly On"),
+(@ID*100+2,9,8,0,0,0,100,0,0,0,0,0,0,65,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-09/HL - On Script - Resume Waypoint");
+
+DELETE FROM `creature_summon_groups` WHERE `summonerId` = @ID AND `summonerType` = 0;
+INSERT INTO `creature_summon_groups` (`summonerId`,`summonerType`,`groupId`,`entry`,`position_x`,`position_y`,`position_z`,`orientation`,`summonType`,`summonTime`,`Comment`) VALUES
+(@ID,0,0,7808,186.032150,-3820.854492,131.839096,1.997256,4,60000,"Homing Robot OOX-09/HL - Group 0 - Marauding Owlbeast"),
+(@ID,0,0,7808,183.976471,-3825.723389,131.506836,1.961913,4,60000,"Homing Robot OOX-09/HL - Group 0 - Marauding Owlbeast"),
+(@ID,0,0,7808,183.759094,-3820.448730,131.293335,2.197530,4,60000,"Homing Robot OOX-09/HL - Group 0 - Marauding Owlbeast");
+
+DELETE FROM `script_waypoint` WHERE `entry` = 7806;
+DELETE FROM `waypoints` WHERE `entry` = 7806;
+INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES
+(7806,1,495.404,-3478.35,114.837,"Homing Robot OOX-09/HL"),
+(7806,2,492.705,-3486.11,108.627,"Homing Robot OOX-09/HL"),
+(7806,3,487.25,-3485.76,107.89,"Homing Robot OOX-09/HL"),
+(7806,4,476.852,-3489.88,99.985,"Homing Robot OOX-09/HL"),
+(7806,5,467.212,-3493.36,99.819,"Homing Robot OOX-09/HL"),
+(7806,6,460.017,-3496.98,104.481,"Homing Robot OOX-09/HL"),
+(7806,7,439.619,-3500.73,110.534,"Homing Robot OOX-09/HL"),
+(7806,8,428.326,-3495.87,118.662,"Homing Robot OOX-09/HL"),
+(7806,9,424.664,-3489.38,121.999,"Homing Robot OOX-09/HL"),
+(7806,10,424.137,-3470.95,124.333,"Homing Robot OOX-09/HL"),
+(7806,11,421.791,-3449.24,119.126,"Homing Robot OOX-09/HL"),
+(7806,12,404.247,-3429.38,117.644,"Homing Robot OOX-09/HL"),
+(7806,13,335.465,-3430.72,116.456,"Homing Robot OOX-09/HL"),
+(7806,14,317.16,-3426.71,116.226,"Homing Robot OOX-09/HL"),
+(7806,15,331.18,-3464,117.143,"Homing Robot OOX-09/HL"),
+(7806,16,336.394,-3501.88,118.201,"Homing Robot OOX-09/HL"),
+(7806,17,337.251,-3544.76,117.284,"Homing Robot OOX-09/HL"),
+(7806,18,337.749,-3565.42,116.797,"Homing Robot OOX-09/HL"),
+(7806,19,336.011,-3597.36,118.225,"Homing Robot OOX-09/HL"),
+(7806,20,324.619,-3622.88,119.811,"Homing Robot OOX-09/HL"),
+(7806,21,308.027,-3648.6,123.047,"Homing Robot OOX-09/HL"),
+(7806,22,276.325,-3685.74,128.356,"Homing Robot OOX-09/HL"),
+(7806,23,239.981,-3717.33,131.874,"Homing Robot OOX-09/HL"),
+(7806,24,224.951,-3730.17,132.125,"Homing Robot OOX-09/HL"),
+(7806,25,198.708,-3768.29,129.42,"Homing Robot OOX-09/HL"),
+(7806,26,183.758,-3791.07,128.045,"Homing Robot OOX-09/HL"),
+(7806,27,178.111,-3801.58,128.37,"Homing Robot OOX-09/HL"),
+(7806,28,149.076660,-3855.435791,144.834961,"Homing Robot OOX-09/HL"),
+(7806,29,121.005402,-3906.975342,155.940018,"Homing Robot OOX-09/HL"),
+(7806,30,96.769798,-3951.472656,165.527695,"Homing Robot OOX-09/HL");
+
+UPDATE `creature_text` SET `comment` = "Homing Robot OOX-09/HL" WHERE `CreatureID` = 7806;
+UPDATE `creature_text` SET `BroadcastTextId` = 3819 WHERE `CreatureID` = 7806 AND `GroupID` = 0 AND `ID` = 0;
+UPDATE `creature_text` SET `BroadcastTextId` = 3821 WHERE `CreatureID` = 7806 AND `GroupID` = 2 AND `ID` = 0;
+UPDATE `creature_text` SET `BroadcastTextId` = 3820, `Text` = "Flight systems online! CLUCK! Engaging rockets for transport to Booty Bay!" WHERE `CreatureID` = 7806 AND `GroupID` = 3 AND `ID` = 0;
+DELETE FROM `creature_text` WHERE `CreatureID` = 7806 AND `GroupID` = 4 AND `ID` = 0;
+
+-- Marauding Owlbeast SAI (Source: https://www.youtube.com/watch?v=6nhntDjHhc8)
+SET @ID := 7808;
+UPDATE `creature_template` SET `AIName` = "SmartAI" WHERE `entry` = @ID;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @ID 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`,`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,49,0,0,0,0,0,0,21,50,0,0,0,0,0,0,0,"Marauding Owlbeast - On Just Summoned - Start Attacking Closest Player"),
+(@ID,0,1,2,2,0,100,1,0,50,0,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Marauding Owlbeast - Between 0-50% Health - Cast 'Enrage' (No Repeat)"),
+(@ID,0,2,0,61,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Marauding Owlbeast - On Link - Say Line 0");
+
+DELETE FROM `creature_text` WHERE `CreatureID` = @ID;
+INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
+(@ID,0,0,"%s goes into a frenzy!",16,0,100,0,0,0,1191,0,"Marauding Owlbeast");
+
+-- Homing Robot OOX-22/FE SAI (Source: Homing Robot OOX-17/TN & https://www.youtube.com/watch?v=97CIQ81Y_0M & https://www.youtube.com/watch?v=6nhntDjHhc8)
+-- This one is sligthly different from previous two
+SET @ID := 7807;
+UPDATE `creature_template` SET `AIName` = "SmartAI", `ScriptName` = "", `flags_extra` = `flags_extra`|512 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+2 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,11,0,100,0,0,0,0,0,0,90,7,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Respawn - Set Flag Standstate Dead"),
+(@ID,0,1,0,4,0,25,0,0,0,0,0,0,1,1,0,1,0,0,0,7,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Aggro - Say Line 1"),
+(@ID,0,2,0,19,0,100,0,2767,0,0,0,0,80,@ID*100+0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Quest 'Rescue OOX-22/FE!' Taken - Run Script"),
+(@ID,0,3,0,40,0,100,0,15,0,0,0,0,80,@ID*100+1,2,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Waypoint 15 Reached - Run Script"),
+(@ID,0,4,0,40,0,100,0,16,0,0,0,0,80,@ID*100+2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Waypoint 16 Reached - Run Script"),
+(@ID,0,5,0,40,0,100,0,19,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Waypoint 19 Reached - Despawn Instant"),
+(@ID,0,6,0,6,0,100,0,0,0,0,0,0,6,2767,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Death - Fail Quest 'Rescue OOX-22/FE!'"),
+-- If quest is not sharable, it probably means credit will be not awarded to party members, do not store all guids
+(@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,"Homing Robot OOX-22/FE - 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,"Homing Robot OOX-22/FE - On Script - Say Line 0"),
+(@ID*100+0,9,2,0,0,0,100,0,0,0,0,0,0,53,0,7807,0,0,0,2,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Start Waypoint"),
+(@ID*100+0,9,3,0,0,0,100,0,0,0,0,0,0,2,113,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Set Faction 113"),
+(@ID*100+0,9,4,0,0,0,100,0,0,0,0,0,0,19,512,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Remove Flag Immune To NPC's"),
+(@ID*100+0,9,5,0,0,0,100,0,0,0,0,0,0,91,7,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Remove Flag Standstate Dead"),
+(@ID*100+0,9,6,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,"Homing Robot OOX-22/FE - On Script - Remove NPC Flag Questgiver"),
+-- To be changed to 0 when WP pause issue will be fixed
+(@ID*100+1,9,0,0,0,0,100,0,0,0,0,0,0,54,30000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Pause Waypoint"),
+(@ID*100+1,9,1,0,0,0,100,0,0,0,0,0,0,1,2,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Say Line 2"),
+(@ID*100+1,9,2,0,0,0,100,0,1000,1000,0,0,0,107,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Summon Group 0"),
+(@ID*100+1,9,3,0,0,0,100,0,20000,20000,0,0,0,65,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Resume Waypoint"),
+-- To be changed to 0 when WP pause issue will be fixed
+(@ID*100+2,9,0,0,0,0,100,0,0,0,0,0,0,54,20000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Pause Waypoint"),
+(@ID*100+2,9,1,0,0,0,100,0,1000,1000,0,0,0,1,3,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Say Line 3"),
+(@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,"Homing Robot OOX-22/FE - On Script - Set Run On"),
+(@ID*100+2,9,3,0,0,0,100,0,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Set Active"),
+(@ID*100+2,9,4,0,0,0,100,0,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1.49775,"Homing Robot OOX-22/FE - On Script - Set Orientation"),
+(@ID*100+2,9,5,0,0,0,100,0,0,0,0,0,0,11,68499,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Cast 'OOX Lift Off'"),
+(@ID*100+2,9,6,0,0,0,100,0,0,0,0,0,0,15,2767,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Quest Credit 'Rescue OOX-22/FE!'"),
+(@ID*100+2,9,7,0,0,0,100,0,0,0,0,0,0,18,512,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Add Flag Immune To NPC's"),
+(@ID*100+2,9,8,0,0,0,100,0,2000,2000,0,0,0,60,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Set Fly On"),
+(@ID*100+2,9,9,0,0,0,100,0,0,0,0,0,0,65,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Homing Robot OOX-22/FE - On Script - Resume Waypoint");
+
+DELETE FROM `creature_summon_groups` WHERE `summonerId` = @ID AND `summonerType` = 0;
+INSERT INTO `creature_summon_groups` (`summonerId`,`summonerType`,`groupId`,`entry`,`position_x`,`position_y`,`position_z`,`orientation`,`summonType`,`summonTime`,`Comment`) VALUES
+(@ID,0,0,7848,-4773.208008,1578.041870,86.939781,3.471461,4,60000,"Homing Robot OOX-22/FE - Group 0 - Lurking Feral Scar"),
+(@ID,0,0,7848,-4775.565430,1582.444702,86.232521,3.874370,4,60000,"Homing Robot OOX-22/FE - Group 0 - Lurking Feral Scar");
+
+DELETE FROM `script_waypoint` WHERE `entry` = 7807;
+DELETE FROM `waypoints` WHERE `entry` = 7807;
+INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES
+(7807,1,-4943.74,1715.74,62.74,"Homing Robot OOX-22/FE"),
+(7807,2,-4944.93,1706.66,63.16,"Homing Robot OOX-22/FE"),
+(7807,3,-4942.82,1690.22,64.25,"Homing Robot OOX-22/FE"),
+(7807,4,-4946.47,1669.62,63.84,"Homing Robot OOX-22/FE"),
+(7807,5,-4955.93,1651.88,63,"Homing Robot OOX-22/FE"),
+(7807,6,-4967.58,1643.86,64.31,"Homing Robot OOX-22/FE"),
+(7807,7,-4978.12,1607.9,64.3,"Homing Robot OOX-22/FE"),
+(7807,8,-4975.38,1596.16,64.7,"Homing Robot OOX-22/FE"),
+(7807,9,-4972.82,1581.89,61.75,"Homing Robot OOX-22/FE"),
+(7807,10,-4958.65,1581.05,61.81,"Homing Robot OOX-22/FE"),
+(7807,11,-4936.72,1594.89,65.96,"Homing Robot OOX-22/FE"),
+(7807,12,-4885.69,1598.1,67.45,"Homing Robot OOX-22/FE"),
+(7807,13,-4874.2,1601.73,68.54,"Homing Robot OOX-22/FE"),
+(7807,14,-4816.64,1594.47,78.2,"Homing Robot OOX-22/FE"),
+(7807,15,-4802.2,1571.92,87.01,"Homing Robot OOX-22/FE"),
+(7807,16,-4746.4,1576.11,84.59,"Homing Robot OOX-22/FE"),
+(7807,17,-4746.320801,1624.022339,98.728851,"Homing Robot OOX-22/FE"),
+(7807,18,-4743.309082,1665.165527,108.609444,"Homing Robot OOX-22/FE"),
+(7807,19,-4743.872070,1744.252808,121.255127,"Homing Robot OOX-22/FE");
+
+UPDATE `creature_text` SET `comment` = "Homing Robot OOX-22/FE" WHERE `CreatureID` = 7807;
+UPDATE `creature_text` SET `BroadcastTextId` = 3824 WHERE `CreatureID` = 7807 AND `GroupID` = 0 AND `ID` = 0;
+UPDATE `creature_text` SET `BroadcastTextId` = 3822 WHERE `CreatureID` = 7807 AND `GroupID` = 2 AND `ID` = 0;
+UPDATE `creature_text` SET `BroadcastTextId` = 3823 WHERE `CreatureID` = 7807 AND `GroupID` = 3 AND `ID` = 0;
+
+-- Lurking Feral Scar SAI (Source: https://www.youtube.com/watch?v=97CIQ81Y_0M & https://www.youtube.com/watch?v=6nhntDjHhc8)
+SET @ID := 7848;
+UPDATE `creature_template` SET `AIName` = "SmartAI" WHERE `entry` = @ID;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @ID 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`,`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,49,0,0,0,0,0,0,21,50,0,0,0,0,0,0,0,"Lurking Feral Scar - On Just Summoned - Start Attacking Closest Player");
diff --git a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
index bfe0851a5af..33fa4724221 100644
--- a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
@@ -18,12 +18,11 @@
/* ScriptData
SDName: Hinterlands
SD%Complete: 100
-SDComment: Quest support: 863, 2742
+SDComment: Quest support: 2742
SDCategory: The Hinterlands
EndScriptData */
/* ContentData
-npc_oox09hl
npc_rinji
EndContentData */
@@ -34,105 +33,6 @@ EndContentData */
#include "ScriptedEscortAI.h"
/*######
-## npc_oox09hl
-######*/
-
-enum OOX
-{
- SAY_OOX_START = 0,
- SAY_OOX_AGGRO = 1,
- SAY_OOX_AMBUSH = 2,
- SAY_OOX_AMBUSH_REPLY = 3,
- SAY_OOX_END = 4,
- QUEST_RESQUE_OOX_09 = 836,
- NPC_MARAUDING_OWL = 7808,
- NPC_VILE_AMBUSHER = 7809
-};
-
-class npc_oox09hl : public CreatureScript
-{
-public:
- npc_oox09hl() : CreatureScript("npc_oox09hl") { }
-
- struct npc_oox09hlAI : public EscortAI
- {
- npc_oox09hlAI(Creature* creature) : EscortAI(creature) { }
-
- void Reset() override { }
-
- void JustEngagedWith(Unit* who) override
- {
- if (who->GetEntry() == NPC_MARAUDING_OWL || who->GetEntry() == NPC_VILE_AMBUSHER)
- return;
-
- Talk(SAY_OOX_AGGRO);
- }
-
- void JustSummoned(Creature* summoned) override
- {
- summoned->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
- }
-
- void OnQuestAccept(Player* player, Quest const* quest) override
- {
- if (quest->GetQuestId() == QUEST_RESQUE_OOX_09)
- {
- me->SetStandState(UNIT_STAND_STATE_STAND);
- me->SetFaction(player->GetTeam() == ALLIANCE ? FACTION_ESCORTEE_A_PASSIVE : FACTION_ESCORTEE_H_PASSIVE);
- Talk(SAY_OOX_START, player);
- EscortAI::Start(false, false, player->GetGUID(), quest);
- }
- }
-
- void WaypointReached(uint32 waypointId, uint32 /*pathId*/) override
- {
- switch (waypointId)
- {
- case 26:
- Talk(SAY_OOX_AMBUSH);
- break;
- case 43:
- Talk(SAY_OOX_AMBUSH);
- break;
- case 64:
- Talk(SAY_OOX_END);
- if (Player* player = GetPlayerForEscort())
- player->GroupEventHappens(QUEST_RESQUE_OOX_09, me);
- break;
- }
- }
-
- void WaypointStarted(uint32 pointId, uint32 /*pathId*/) override
- {
- switch (pointId)
- {
- case 27:
- for (uint8 i = 0; i < 3; ++i)
- {
- const Position src = {147.927444f, -3851.513428f, 130.893f, 0};
- Position dst = me->GetRandomPoint(src, 7.0f);
- DoSummon(NPC_MARAUDING_OWL, dst, 25s, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
- }
- break;
- case 44:
- for (uint8 i = 0; i < 3; ++i)
- {
- const Position src = {-141.151581f, -4291.213867f, 120.130f, 0};
- Position dst = me->GetRandomPoint(src, 7.0f);
- me->SummonCreature(NPC_VILE_AMBUSHER, dst, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 25s);
- }
- break;
- }
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_oox09hlAI(creature);
- }
-};
-
-/*######
## npc_rinji
######*/
@@ -324,6 +224,5 @@ public:
void AddSC_hinterlands()
{
- new npc_oox09hl();
new npc_rinji();
}
diff --git a/src/server/scripts/Kalimdor/zone_feralas.cpp b/src/server/scripts/Kalimdor/zone_feralas.cpp
index 8af8057c3f5..2754c3e1725 100644
--- a/src/server/scripts/Kalimdor/zone_feralas.cpp
+++ b/src/server/scripts/Kalimdor/zone_feralas.cpp
@@ -18,12 +18,11 @@
/* ScriptData
SDName: Feralas
SD%Complete: 100
-SDComment: Quest support: 2767, 2987
+SDComment: Quest support: 2987
SDCategory: Feralas
EndScriptData */
/* ContentData
-npc_oox22fe
spell_gordunni_trap
EndContentData */
@@ -37,114 +36,6 @@ EndContentData */
#include "WorldSession.h"
/*######
-## npc_oox22fe
-######*/
-
-enum OOX
-{
- SAY_OOX_START = 0,
- SAY_OOX_AGGRO = 1,
- SAY_OOX_AMBUSH = 2,
- SAY_OOX_END = 3,
-
- NPC_YETI = 7848,
- NPC_GORILLA = 5260,
- NPC_WOODPAW_REAVER = 5255,
- NPC_WOODPAW_BRUTE = 5253,
- NPC_WOODPAW_ALPHA = 5258,
- NPC_WOODPAW_MYSTIC = 5254,
-
- QUEST_RESCUE_OOX22FE = 2767
-};
-
-class npc_oox22fe : public CreatureScript
-{
-public:
- npc_oox22fe() : CreatureScript("npc_oox22fe") { }
-
- struct npc_oox22feAI : public EscortAI
- {
- npc_oox22feAI(Creature* creature) : EscortAI(creature) { }
-
- void WaypointReached(uint32 waypointId, uint32 /*pathId*/) override
- {
- switch (waypointId)
- {
- // First Ambush(3 Yetis)
- case 11:
- Talk(SAY_OOX_AMBUSH);
- me->SummonCreature(NPC_YETI, -4841.01f, 1593.91f, 73.42f, 3.98f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10s);
- me->SummonCreature(NPC_YETI, -4837.61f, 1568.58f, 78.21f, 3.13f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10s);
- me->SummonCreature(NPC_YETI, -4841.89f, 1569.95f, 76.53f, 0.68f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10s);
- break;
- //Second Ambush(3 Gorillas)
- case 21:
- Talk(SAY_OOX_AMBUSH);
- me->SummonCreature(NPC_GORILLA, -4595.81f, 2005.99f, 53.08f, 3.74f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10s);
- me->SummonCreature(NPC_GORILLA, -4597.53f, 2008.31f, 52.70f, 3.78f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10s);
- me->SummonCreature(NPC_GORILLA, -4599.37f, 2010.59f, 52.77f, 3.84f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10s);
- break;
- //Third Ambush(4 Gnolls)
- case 30:
- Talk(SAY_OOX_AMBUSH);
- me->SummonCreature(NPC_WOODPAW_REAVER, -4425.14f, 2075.87f, 47.77f, 3.77f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10s);
- me->SummonCreature(NPC_WOODPAW_BRUTE, -4426.68f, 2077.98f, 47.57f, 3.77f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10s);
- me->SummonCreature(NPC_WOODPAW_MYSTIC, -4428.33f, 2080.24f, 47.43f, 3.87f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10s);
- me->SummonCreature(NPC_WOODPAW_ALPHA, -4430.04f, 2075.54f, 46.83f, 3.81f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10s);
- break;
- case 37:
- Talk(SAY_OOX_END);
- // Award quest credit
- if (Player* player = GetPlayerForEscort())
- player->GroupEventHappens(QUEST_RESCUE_OOX22FE, me);
- break;
- }
- }
-
- void Reset() override
- {
- if (!HasEscortState(STATE_ESCORT_ESCORTING))
- me->SetStandState(UNIT_STAND_STATE_DEAD);
- }
-
- void JustEngagedWith(Unit* /*who*/) override
- {
- //For an small probability the npc says something when he get aggro
- if (urand(0, 9) > 7)
- Talk(SAY_OOX_AGGRO);
- }
-
- void JustSummoned(Creature* summoned) override
- {
- summoned->AI()->AttackStart(me);
- }
-
- void OnQuestAccept(Player* player, Quest const* quest) override
- {
- if (quest->GetQuestId() == QUEST_RESCUE_OOX22FE)
- {
- Talk(SAY_OOX_START);
- //change that the npc is not lying dead on the ground
- me->SetStandState(UNIT_STAND_STATE_STAND);
-
- if (player->GetTeam() == ALLIANCE)
- me->SetFaction(FACTION_ESCORTEE_A_PASSIVE);
-
- if (player->GetTeam() == HORDE)
- me->SetFaction(FACTION_ESCORTEE_H_PASSIVE);
-
- Start(true, false, player->GetGUID());
- }
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_oox22feAI(creature);
- }
-};
-
-/*######
## spell_gordunni_trap
######*/
@@ -181,12 +72,7 @@ class spell_gordunni_trap : public SpellScriptLoader
}
};
-/*######
-## AddSC
-######*/
-
void AddSC_feralas()
{
- new npc_oox22fe();
new spell_gordunni_trap();
}
diff --git a/src/server/scripts/Kalimdor/zone_tanaris.cpp b/src/server/scripts/Kalimdor/zone_tanaris.cpp
index 656c37bfd50..144bc19932a 100644
--- a/src/server/scripts/Kalimdor/zone_tanaris.cpp
+++ b/src/server/scripts/Kalimdor/zone_tanaris.cpp
@@ -18,13 +18,12 @@
/* ScriptData
SDName: Tanaris
SD%Complete: 80
-SDComment: Quest support: 648, 1560, 4005, 10277
+SDComment: Quest support: 1560, 4005, 10277
SDCategory: Tanaris
EndScriptData */
/* ContentData
npc_custodian_of_time
-npc_OOX17
npc_tooga
EndContentData */
@@ -173,94 +172,6 @@ public:
};
-/*######
-## npc_OOX17
-######*/
-
-enum Npc00X17
-{
- SAY_OOX_START = 0,
- SAY_OOX_AGGRO = 1,
- SAY_OOX_AMBUSH = 2,
- SAY_OOX17_AMBUSH_REPLY = 0,
- SAY_OOX_END = 3,
-
- Q_OOX17 = 648,
- SPAWN_FIRST = 7803,
- SPAWN_SECOND_1 = 5617,
- SPAWN_SECOND_2 = 7805
-};
-
-class npc_OOX17 : public CreatureScript
-{
-public:
- npc_OOX17() : CreatureScript("npc_OOX17") { }
-
- struct npc_OOX17AI : public EscortAI
- {
- npc_OOX17AI(Creature* creature) : EscortAI(creature) { }
-
- void WaypointReached(uint32 waypointId, uint32 /*pathId*/) override
- {
- if (Player* player = GetPlayerForEscort())
- {
- switch (waypointId)
- {
- case 23:
- me->SummonCreature(SPAWN_FIRST, -8350.96f, -4445.79f, 10.10f, 6.20f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
- me->SummonCreature(SPAWN_FIRST, -8355.96f, -4447.79f, 10.10f, 6.27f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
- me->SummonCreature(SPAWN_FIRST, -8353.96f, -4442.79f, 10.10f, 6.08f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
- Talk(SAY_OOX_AMBUSH);
- break;
- case 56:
- me->SummonCreature(SPAWN_SECOND_1, -7510.07f, -4795.50f, 9.35f, 6.06f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
- me->SummonCreature(SPAWN_SECOND_2, -7515.07f, -4797.50f, 9.35f, 6.22f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
- me->SummonCreature(SPAWN_SECOND_2, -7518.07f, -4792.50f, 9.35f, 6.22f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
- Talk(SAY_OOX_AMBUSH);
- if (Creature* scoff = me->FindNearestCreature(SPAWN_SECOND_2, 30))
- scoff->AI()->Talk(SAY_OOX17_AMBUSH_REPLY);
- break;
- case 86:
- Talk(SAY_OOX_END);
- player->GroupEventHappens(Q_OOX17, me);
- break;
- }
- }
- }
-
- void Reset() override { }
-
- void JustEngagedWith(Unit* /*who*/) override
- {
- Talk(SAY_OOX_AGGRO);
- }
-
- void JustSummoned(Creature* summoned) override
- {
- summoned->AI()->AttackStart(me);
- }
-
- void OnQuestAccept(Player* player, Quest const* quest) override
- {
- if (quest->GetQuestId() == Q_OOX17)
- {
- me->SetFaction(FACTION_ESCORTEE_N_NEUTRAL_PASSIVE);
- me->SetFullHealth();
- me->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
- me->SetImmuneToPC(false);
- Talk(SAY_OOX_START);
-
- Start(true, false, player->GetGUID());
- }
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_OOX17AI(creature);
- }
-};
-
/*####
# npc_tooga
####*/
@@ -425,6 +336,5 @@ public:
void AddSC_tanaris()
{
new npc_custodian_of_time();
- new npc_OOX17();
new npc_tooga();
}