mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-13 17:19:07 +00:00
fix(Scripts/DB): Quest OOX 09 - 17 - 2FE (#7792)
This commit is contained in:
committed by
GitHub
parent
9dca6381f7
commit
bb343b482e
264
data/sql/updates/pending_db_world/rev_1631167991750650946.sql
Normal file
264
data/sql/updates/pending_db_world/rev_1631167991750650946.sql
Normal file
@@ -0,0 +1,264 @@
|
||||
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1631167991750650946');
|
||||
|
||||
--
|
||||
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`) VALUES
|
||||
(@ID,0,0,7803,-8343.939,-4444.1963,9.410067,4.06661,4,60000),
|
||||
(@ID,0,0,7803,-8342.946,-4454.9834,9.538595,2.18166,4,60000),
|
||||
(@ID,0,0,7803,-8356.769,-4448.491,10.246145,6.21337,4,60000);
|
||||
|
||||
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`) VALUES
|
||||
(@ID,0,0,7808,186.032150,-3820.854492,131.839096,1.997256,4,60000),
|
||||
(@ID,0,0,7808,183.976471,-3825.723389,131.506836,1.961913,4,60000),
|
||||
(@ID,0,0,7808,183.759094,-3820.448730,131.293335,2.197530,4,60000);
|
||||
|
||||
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`) VALUES
|
||||
(@ID,0,0,7848,-4773.208008,1578.041870,86.939781,3.471461,4,60000),
|
||||
(@ID,0,0,7848,-4775.565430,1582.444702,86.232521,3.874370,4,60000);
|
||||
|
||||
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");
|
||||
@@ -7,12 +7,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 */
|
||||
|
||||
@@ -21,109 +20,6 @@ EndContentData */
|
||||
#include "ScriptedEscortAI.h"
|
||||
#include "ScriptMgr.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,
|
||||
FACTION_ESCORTEE_A = 774,
|
||||
FACTION_ESCORTEE_H = 775
|
||||
};
|
||||
|
||||
class npc_oox09hl : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_oox09hl() : CreatureScript("npc_oox09hl") { }
|
||||
|
||||
struct npc_oox09hlAI : public npc_escortAI
|
||||
{
|
||||
npc_oox09hlAI(Creature* creature) : npc_escortAI(creature) { }
|
||||
|
||||
void Reset() override { }
|
||||
|
||||
void EnterCombat(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 sQuestAccept(Player* player, Quest const* quest) override
|
||||
{
|
||||
if (quest->GetQuestId() == QUEST_RESQUE_OOX_09)
|
||||
{
|
||||
me->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
me->setFaction(player->GetTeamId() == TEAM_ALLIANCE ? FACTION_ESCORTEE_A : FACTION_ESCORTEE_H);
|
||||
Talk(SAY_OOX_START, player);
|
||||
npc_escortAI::Start(false, false, player->GetGUID(), quest);
|
||||
}
|
||||
}
|
||||
|
||||
void WaypointReached(uint32 waypointId) 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 WaypointStart(uint32 pointId) 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, dst);
|
||||
DoSummon(NPC_MARAUDING_OWL, dst, 25000, 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, dst);
|
||||
me->SummonCreature(NPC_VILE_AMBUSHER, dst, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 25000);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new npc_oox09hlAI(creature);
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## npc_rinji
|
||||
######*/
|
||||
@@ -319,6 +215,5 @@ public:
|
||||
|
||||
void AddSC_hinterlands()
|
||||
{
|
||||
new npc_oox09hl();
|
||||
new npc_rinji();
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/* ScriptData
|
||||
SDName: Feralas
|
||||
SD%Complete: 100
|
||||
SDComment: Quest support: 3520, 2767, Special vendor Gregan Brewspewer
|
||||
SDComment: Quest support: 3520 Special vendor Gregan Brewspewer
|
||||
SDCategory: Feralas
|
||||
EndScriptData */
|
||||
|
||||
@@ -18,118 +18,6 @@ EndScriptData */
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellScript.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,
|
||||
FACTION_ESCORTEE_A = 774,
|
||||
FACTION_ESCORTEE_H = 775
|
||||
};
|
||||
|
||||
class npc_oox22fe : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_oox22fe() : CreatureScript("npc_oox22fe") { }
|
||||
|
||||
bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) override
|
||||
{
|
||||
if (quest->GetQuestId() == QUEST_RESCUE_OOX22FE)
|
||||
{
|
||||
creature->AI()->Talk(SAY_OOX_START);
|
||||
//change that the npc is not lying dead on the ground
|
||||
creature->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
|
||||
if (player->GetTeamId() == TEAM_ALLIANCE)
|
||||
creature->setFaction(FACTION_ESCORTEE_A);
|
||||
|
||||
if (player->GetTeamId() == TEAM_HORDE)
|
||||
creature->setFaction(FACTION_ESCORTEE_H);
|
||||
|
||||
if (npc_escortAI* pEscortAI = CAST_AI(npc_oox22fe::npc_oox22feAI, creature->AI()))
|
||||
pEscortAI->Start(true, false, player->GetGUID());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new npc_oox22feAI(creature);
|
||||
}
|
||||
|
||||
struct npc_oox22feAI : public npc_escortAI
|
||||
{
|
||||
npc_oox22feAI(Creature* creature) : npc_escortAI(creature) { }
|
||||
|
||||
void WaypointReached(uint32 waypointId) 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, 10000);
|
||||
me->SummonCreature(NPC_YETI, -4837.61f, 1568.58f, 78.21f, 3.13f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
|
||||
me->SummonCreature(NPC_YETI, -4841.89f, 1569.95f, 76.53f, 0.68f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
|
||||
break;
|
||||
//Second Ambush(3 Gorillas)
|
||||
case 21:
|
||||
Talk(SAY_OOX_AMBUSH);
|
||||
me->SummonCreature(NPC_GORILLA, -4652.76f, 1956.69f, 67.99f, 3.74f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
|
||||
me->SummonCreature(NPC_GORILLA, -4654.73f, 1959.71f, 47.66f, 3.78f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
|
||||
me->SummonCreature(NPC_GORILLA, -4657.01f, 1963.19f, 67.48f, 3.84f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
|
||||
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, 10000);
|
||||
me->SummonCreature(NPC_WOODPAW_BRUTE, -4426.68f, 2077.98f, 47.57f, 3.77f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
|
||||
me->SummonCreature(NPC_WOODPAW_MYSTIC, -4428.33f, 2080.24f, 47.43f, 3.87f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
|
||||
me->SummonCreature(NPC_WOODPAW_ALPHA, -4430.04f, 2075.54f, 46.83f, 3.81f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
|
||||
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 EnterCombat(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);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
enum GordunniTrap
|
||||
{
|
||||
GO_GORDUNNI_DIRT_MOUND = 144064,
|
||||
@@ -166,12 +54,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## AddSC
|
||||
######*/
|
||||
|
||||
void AddSC_feralas()
|
||||
{
|
||||
new npc_oox22fe();
|
||||
new spell_gordunni_trap();
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/* ScriptData
|
||||
SDName: Tanaris
|
||||
SD%Complete: 80
|
||||
SDComment: Quest support: 648, 1560, 2954, 4005, 10277, 10279(Special flight path). Noggenfogger vendor
|
||||
SDComment: Quest support: 1560, 2954, 4005, 10277, 10279(Special flight path). Noggenfogger vendor
|
||||
SDCategory: Tanaris
|
||||
EndScriptData */
|
||||
|
||||
@@ -16,7 +16,6 @@ npc_aquementas
|
||||
npc_custodian_of_time
|
||||
npc_steward_of_time
|
||||
npc_stone_watcher_of_norgannon
|
||||
npc_OOX17
|
||||
npc_tooga
|
||||
EndContentData */
|
||||
|
||||
@@ -378,96 +377,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") { }
|
||||
|
||||
bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
|
||||
{
|
||||
if (quest->GetQuestId() == Q_OOX17)
|
||||
{
|
||||
creature->setFaction(113);
|
||||
creature->SetFullHealth();
|
||||
creature->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
|
||||
creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
|
||||
creature->AI()->Talk(SAY_OOX_START);
|
||||
|
||||
if (npc_escortAI* pEscortAI = CAST_AI(npc_OOX17::npc_OOX17AI, creature->AI()))
|
||||
pEscortAI->Start(true, false, player->GetGUID());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new npc_OOX17AI(creature);
|
||||
}
|
||||
|
||||
struct npc_OOX17AI : public npc_escortAI
|
||||
{
|
||||
npc_OOX17AI(Creature* creature) : npc_escortAI(creature) { }
|
||||
|
||||
void WaypointReached(uint32 waypointId) 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, 25000);
|
||||
me->SummonCreature(SPAWN_FIRST, -8355.96f, -4447.79f, 10.10f, 6.27f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
||||
me->SummonCreature(SPAWN_FIRST, -8353.96f, -4442.79f, 10.10f, 6.08f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
||||
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, 25000);
|
||||
me->SummonCreature(SPAWN_SECOND_2, -7515.07f, -4797.50f, 9.35f, 6.22f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
||||
me->SummonCreature(SPAWN_SECOND_2, -7518.07f, -4792.50f, 9.35f, 6.22f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
||||
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 EnterCombat(Unit* /*who*/) override
|
||||
{
|
||||
Talk(SAY_OOX_AGGRO);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summoned) override
|
||||
{
|
||||
summoned->AI()->AttackStart(me);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
/*####
|
||||
# npc_tooga
|
||||
####*/
|
||||
@@ -636,6 +545,5 @@ void AddSC_tanaris()
|
||||
new npc_custodian_of_time();
|
||||
new npc_steward_of_time();
|
||||
new npc_stone_watcher_of_norgannon();
|
||||
new npc_OOX17();
|
||||
new npc_tooga();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user