Scripts/Outland: Implement Hellfire event in Honor Hold (#21110)

* Script/Outland: Implement Hellfire event in Honor Hold

This is hourly, event is only 60 seconds long.

(cherry picked from commit acc73d469319a2b22804e55c0603e82615f5c8c2)
This commit is contained in:
Kittnz
2021-05-29 21:27:11 +02:00
committed by funjoker
parent 488a9a06cf
commit 299746f9f6
2 changed files with 545 additions and 0 deletions
@@ -0,0 +1,338 @@
UPDATE `creature_template` SET `ScriptName`='npc_watch_commander_leonus' WHERE `entry`=19392;
UPDATE `creature_template` SET `ScriptName`='npc_fear_controller' WHERE `entry`=19393;
UPDATE `creature_template` SET `InhabitType`=4, `unit_flags`=33554688, `unit_flags2`=2099200, `mechanic_immune_mask`=16, `ScriptName`='npc_infernal_rain_hellfire' WHERE `entry`=18729;
SET @CGUID:=86515;
DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+14;
INSERT INTO `creature` (`guid`, `id`, `map`, `spawnDifficulties`, `PhaseId`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`) VALUES
(@CGUID+0 , 18729, 530, '0', 169, 0, 0, -683.1428, 2622.864, 89.59037, 5.80891, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+1 , 18729, 530, '0', 169, 0, 0, -713.3168, 2651.34, 93.92698, 5.471165, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+2 , 18729, 530, '0', 169, 0, 0, -741.99, 2684.844, 102.0951, 4.382171, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+3 , 18729, 530, '0', 169, 0, 0, -693.7301, 2633.678, 90.98701, 0.2279181, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+4 , 18729, 530, '0', 169, 0, 0, -735.713, 2694.272, 104.4392, 0.5298103, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+5 , 18729, 530, '0', 169, 0, 0, -681.5517, 2599.244, 87.77497, 0.3001323, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+6 , 18729, 530, '0', 169, 0, 0, -642.3084, 2637.57, 86.72314, 0.4260551, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+7 , 18729, 530, '0', 169, 0, 0, -659.7936, 2608.224, 86.08431, 2.401085, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+8 , 18729, 530, '0', 169, 0, 0, -623.8005, 2710.563, 87.20694, 0.7798759, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+9 , 18729, 530, '0', 169, 0, 0, -641.7952, 2562.457, 80.51072, 4.093502, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+10, 18729, 530, '0', 169, 0, 0, -691.3125, 2778.354, 146.9783, 0.1396263, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+11, 18729, 530, '0', 169, 0, 0, -722.2483, 2568.132, 143.0607, 1.291544, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+12, 18729, 530, '0', 169, 0, 0, -649.1522, 2588.543, 125.6584, 6.195919, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+13, 18729, 530, '0', 169, 0, 0, -774.342, 2746.167, 185.9423, 4.572762, 120, 0, 0, 0, 0, 0, 0, 0, 0), -- 18729 (Area: 3538)
(@CGUID+14, 18729, 530, '0', 169, 0, 0, -588.2762, 2632.034, 146.1269, 4.29351, 120, 0, 0, 0, 0, 0, 0, 0, 0); -- 18729 (Area: 3538)
-- Pathing for INFERNAL RAIN (Hellfire) Entry: 18729 'TDB FORMAT'
SET @NPC := @CGUID+0;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-698.8525,`position_y`=2632.825,`position_z`=91.81726 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-698.8525,2632.825,91.81726,0,0,0,0,100,0), -- 15:21:08
(@PATH,2,-677.9506,2644.509,90.49536,0,0,0,0,100,0), -- 15:21:10
(@PATH,3,-676.4061,2653.433,90.78812,0,0,0,0,100,0), -- 15:21:18
(@PATH,4,-681.5089,2671.245,91.57988,0,0,0,0,100,0), -- 15:21:11
(@PATH,5,-687.4851,2676.51,93.05498,0,0,0,0,100,0), -- 15:21:27
(@PATH,6,-698.7255,2680.534,94.95392,0,0,0,0,100,0), -- 15:21:12
(@PATH,7,-719.0013,2673.964,96.20638,0,0,0,0,100,0), -- 15:21:13
(@PATH,8,-724.5556,2664.502,95.43507,0,0,0,0,100,0), -- 15:21:22
(@PATH,9,-724.8938,2656.548,95.15915,0,0,0,0,100,0), -- 15:21:14
(@PATH,10,-717.3865,2639.541,93.57843,0,0,0,0,100,0), -- 15:21:23
(@PATH,11,-708.137,2634.875,92.46405,0,0,0,0,100,0); -- 15:21:16
-- 0x203CC84240124A400000440000351C35 .go -698.8525 2632.825 91.81726
-- Pathing for Infernal Rain (Hellfire) Entry: 18729 'TDB FORMAT'
SET @NPC := @CGUID+1;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-656.7727,`position_y`=2602.906,`position_z`=85.797 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-656.7727,2602.906,85.797,0,0,0,0,100,0), -- 15:22:43
(@PATH,2,-678.8431,2618.197,88.64764,0,0,0,0,100,0), -- 15:22:44
(@PATH,3,-675.5577,2630.384,88.95792,0,0,0,0,100,0), -- 15:22:46
(@PATH,4,-656.4027,2644.927,87.55663,0,0,0,0,100,0), -- 15:22:47
(@PATH,5,-648.3109,2634.846,86.95815,0,0,0,0,100,0), -- 15:22:48
(@PATH,6,-647.9454,2635.122,87.21871,0,0,0,0,100,0), -- 15:22:49
(@PATH,7,-636.1139,2640.37,86.79756,0,0,0,0,100,0), -- 15:22:49
(@PATH,8,-626.1254,2626.464,85.096,0,0,0,0,100,0), -- 15:22:50
(@PATH,9,-647.9573,2611.305,86.06158,0,0,0,0,100,0); -- 15:22:52
-- 0x203CC84240124A400000440000B51C35 .go -656.7727 2602.906 85.797
-- Pathing for Infernal Rain (Hellfire) Entry: 18729 'TDB FORMAT'
SET @NPC := @CGUID+2;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-613.5233,`position_y`=2568.954,`position_z`=81.81258 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-613.5233,2568.954,81.81258,0,0,0,0,100,0), -- 15:21:22
(@PATH,2,-629.8984,2569.196,81.15677,0,0,0,0,100,0), -- 15:21:23
(@PATH,3,-654.4181,2550.052,78.73563,0,0,0,0,100,0), -- 15:21:24
(@PATH,4,-658.7616,2530.438,73.62208,0,0,0,0,100,0), -- 15:21:27
(@PATH,5,-636.1871,2545.187,77.4874,0,0,0,0,100,0), -- 15:21:28
(@PATH,6,-631.4529,2548.692,77.04776,0,0,0,0,100,0), -- 15:21:29
(@PATH,7,-584.7521,2568.345,76.42328,0,0,0,0,100,0), -- 15:21:30
(@PATH,8,-586.6555,2596.958,88.95888,0,0,0,0,100,0), -- 15:21:33
(@PATH,9,-591.6433,2598.593,87.90211,0,0,0,0,100,0), -- 15:21:34
(@PATH,10,-600.2521,2585.858,82.3437,0,0,0,0,100,0), -- 15:21:35
(@PATH,11,-613.5173,2569.089,81.87325,0,0,0,0,100,0), -- 15:21:36
(@PATH,12,-643.5018,2559.942,80.45127,0,0,0,0,100,0), -- 15:21:38
(@PATH,13,-654.5405,2550.142,78.79336,0,0,0,0,100,0), -- 15:21:39
(@PATH,14,-669.284,2539.369,74.70662,0,0,0,0,100,0), -- 15:21:40
(@PATH,15,-658.7957,2530.59,73.66014,0,0,0,0,100,0), -- 15:21:41
(@PATH,16,-636.2113,2545.337,77.37846,0,0,0,0,100,0), -- 15:21:42
(@PATH,17,-631.4822,2548.737,76.93141,0,0,0,0,100,0), -- 15:21:44
(@PATH,18,-584.7199,2568.445,76.33899,0,0,0,0,100,0), -- 15:21:45
(@PATH,19,-582.5537,2571.944,76.96735,0,0,0,0,100,0), -- 15:21:46
(@PATH,20,-586.6714,2596.896,88.93387,0,0,0,0,100,0), -- 15:21:47
(@PATH,21,-600.2708,2585.577,82.16212,0,0,0,0,100,0), -- 15:21:48
(@PATH,22,-613.3537,2569.01,81.93314,0,0,0,0,100,0), -- 15:21:50
(@PATH,23,-615.0601,2567.808,81.13249,0,0,0,0,100,0), -- 15:21:51
(@PATH,24,-643.3428,2559.926,80.59372,0,0,0,0,100,0), -- 15:21:52
(@PATH,25,-654.5143,2549.978,78.61452,0,0,0,0,100,0), -- 15:21:53
(@PATH,26,-669.2421,2538.915,74.92723,0,0,0,0,100,0), -- 15:21:55
(@PATH,27,-658.9216,2530.562,73.78191,0,0,0,0,100,0), -- 15:21:56
(@PATH,28,-636.2302,2545.251,77.44119,0,0,0,0,100,0), -- 15:21:57
(@PATH,29,-631.1454,2548.875,76.91211,0,0,0,0,100,0), -- 15:21:58
(@PATH,30,-584.6096,2568.467,76.48515,0,0,0,0,100,0), -- 15:21:59
(@PATH,31,-582.5697,2571.928,76.96999,0,0,0,0,100,0), -- 15:22:01
(@PATH,32,-591.4938,2598.523,88.00578,0,0,0,0,100,0), -- 15:22:02
(@PATH,33,-600.2296,2585.605,82.09475,0,0,0,0,100,0), -- 15:22:03
(@PATH,34,-613.3531,2569.051,81.79434,0,0,0,0,100,0); -- 15:22:04
-- 0x203CC84240124A400000440001B51C35 .go -613.5233 2568.954 81.81258
-- Pathing for Infernal Rain (Hellfire) Entry: 18729 'TDB FORMAT'
SET @NPC := @CGUID+3;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-620.3628,`position_y`=2564.344,`position_z`=79.32322 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-620.3628,2564.344,79.32322,0,0,0,0,100,0), -- 15:21:33
(@PATH,2,-634.0519,2571.64,81.53027,0,0,0,0,100,0), -- 15:21:34
(@PATH,3,-649.1782,2594.351,84.73848,0,0,0,0,100,0), -- 15:21:35
(@PATH,4,-664.6262,2612.697,86.85725,0,0,0,0,100,0), -- 15:21:36
(@PATH,5,-665.9905,2624.81,87.50397,0,0,0,0,100,0), -- 15:21:38
(@PATH,6,-674.386,2625.81,88.74261,0,0,0,0,100,0), -- 15:21:39
(@PATH,7,-660.9735,2608.719,86.27945,0,0,0,0,100,0), -- 15:21:40
(@PATH,8,-645.7166,2575.045,83.09628,0,0,0,0,100,0), -- 15:21:41
(@PATH,9,-632.8522,2543.363,77.10129,0,0,0,0,100,0), -- 15:21:42
(@PATH,10,-610.8413,2554.551,75.4816,0,0,0,0,100,0), -- 15:21:44
(@PATH,11,-600.859,2562.016,78.13591,0,0,0,0,100,0), -- 15:21:45
(@PATH,12,-596.7775,2586.915,82.92734,0,0,0,0,100,0), -- 15:21:46
(@PATH,13,-609.1469,2570.99,81.41309,0,0,0,0,100,0); -- 15:21:47
-- 0x203CC84240124A400000440003351C35 .go -620.3628 2564.344 79.32322
-- Pathing for Infernal Rain (Hellfire) Entry: 18729 'TDB FORMAT'
SET @NPC := @CGUID+4;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-689.8017,`position_y`=2595.023,`position_z`=89.04801 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-689.8017,2595.023,89.04801,0,0,0,0,100,0), -- 15:23:08
(@PATH,2,-694.9512,2616.941,90.54378,0,0,0,0,100,0), -- 15:23:09
(@PATH,3,-677.0544,2619.867,88.82404,0,0,0,0,100,0), -- 15:23:10
(@PATH,4,-676.0784,2598.351,87.68272,0,0,0,0,100,0), -- 15:23:11
(@PATH,5,-695.2137,2603.727,90.68155,0,0,0,0,100,0), -- 15:23:13
(@PATH,6,-688.4651,2622.775,90.59154,0,0,0,0,100,0), -- 15:23:14
(@PATH,7,-671.8881,2610.943,87.61096,0,0,0,0,100,0), -- 15:23:15
(@PATH,8,-682.2012,2594.566,88.13221,0,0,0,0,100,0), -- 15:23:16
(@PATH,9,-695.6737,2608.772,90.66994,0,0,0,0,100,0), -- 15:23:18
(@PATH,10,-677.1846,2619.737,88.83925,0,0,0,0,100,0), -- 15:23:19
(@PATH,11,-676.1918,2598.365,87.90189,0,0,0,0,100,0), -- 15:23:20
(@PATH,12,-695.1645,2603.547,90.49475,0,0,0,0,100,0), -- 15:23:21
(@PATH,13,-688.2673,2622.599,90.37753,0,0,0,0,100,0), -- 15:23:22
(@PATH,14,-671.6782,2610.918,87.62653,0,0,0,0,100,0), -- 15:23:23
(@PATH,15,-682.1849,2594.786,88.28103,0,0,0,0,100,0), -- 15:23:25
(@PATH,16,-695.7292,2608.76,90.58568,0,0,0,0,100,0), -- 15:23:26
(@PATH,17,-683.2664,2622.867,89.8029,0,0,0,0,100,0), -- 15:23:27
(@PATH,18,-672.1084,2603.935,87.34198,0,0,0,0,100,0), -- 15:23:28
(@PATH,19,-695.3795,2603.66,90.5396,0,0,0,0,100,0), -- 15:23:30
(@PATH,20,-694.9478,2616.933,90.5663,0,0,0,0,100,0), -- 15:23:31
(@PATH,21,-677.1843,2619.85,88.79141,0,0,0,0,100,0), -- 15:23:32
(@PATH,22,-682.2476,2594.647,88.20087,0,0,0,0,100,0), -- 15:23:33
(@PATH,23,-695.7581,2608.89,90.5127,0,0,0,0,100,0), -- 15:23:35
(@PATH,24,-683.1781,2622.934,89.70201,0,0,0,0,100,0), -- 15:23:36
(@PATH,25,-672.0298,2603.892,87.34035,0,0,0,0,100,0), -- 15:23:37
(@PATH,26,-689.723,2595.061,88.93065,0,0,0,0,100,0), -- 15:23:38
(@PATH,27,-694.8854,2616.875,90.43231,0,0,0,0,100,0), -- 15:23:39
(@PATH,28,-677.0415,2619.769,88.80734,0,0,0,0,100,0), -- 15:23:40
(@PATH,29,-682.0645,2594.695,88.17558,0,0,0,0,100,0), -- 15:23:42
(@PATH,30,-695.1677,2603.533,90.49393,0,0,0,0,100,0), -- 15:23:43
(@PATH,31,-683.2116,2622.866,89.75854,0,0,0,0,100,0), -- 15:23:44
(@PATH,32,-671.9715,2603.812,87.33574,0,0,0,0,100,0); -- 15:23:46
-- 0x203CC84240124A400000440003B51C35 .go -689.8017 2595.023 89.04801
-- Pathing for Infernal Rain (Hellfire) Entry: 18729 'TDB FORMAT'
SET @NPC := @CGUID+5;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-700.4591,`position_y`=2581.236,`position_z`=89.85777 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-700.4591,2581.236,89.85777,0,0,0,0,100,0), -- 15:21:00
(@PATH,2,-686.7537,2594.742,88.65184,0,0,0,0,100,0), -- 15:21:01
(@PATH,3,-681.7879,2599.051,87.94156,0,0,0,0,100,0), -- 15:21:03
(@PATH,4,-645.0184,2615.645,85.78815,0,0,0,0,100,0), -- 15:21:04
(@PATH,5,-652.3442,2621.35,87.0186,0,0,0,0,100,0), -- 15:21:05
(@PATH,6,-677.1797,2618.292,88.59647,0,0,0,0,100,0), -- 15:21:06
(@PATH,7,-692.8289,2608.688,90.29023,0,0,0,0,100,0), -- 15:21:08
(@PATH,8,-694.9995,2595.214,89.93396,0,0,0,0,100,0); -- 15:21:09
-- 0x203CC84240124A400000440004351C35 .go -700.4591 2581.236 89.85777
-- Pathing for Infernal Rain (Hellfire) Entry: 18729 'TDB FORMAT'
SET @NPC := @CGUID+6;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-630.4395,`position_y`=2714.029,`position_z`=88.03479 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-630.4395,2714.029,88.03479,0,0,0,0,100,0), -- 15:20:57
(@PATH,2,-639.6129,2702.679,89.08209,0,0,0,0,100,0), -- 15:20:58
(@PATH,3,-653.7972,2691.186,89.59717,0,0,0,0,100,0), -- 15:20:59
(@PATH,4,-676.4966,2688.914,93.74294,0,0,0,0,100,0), -- 15:21:00
(@PATH,5,-668.0986,2710.315,95.53355,0,0,0,0,100,0), -- 15:21:02
(@PATH,6,-678.1981,2712.437,96.50993,0,0,0,0,100,0), -- 15:21:03
(@PATH,7,-689.6499,2683.876,94.61096,0,0,0,0,100,0), -- 15:21:04
(@PATH,8,-676.4872,2670.626,91.28802,0,0,0,0,100,0), -- 15:21:06
(@PATH,9,-648.0355,2690.657,89.56966,0,0,0,0,100,0), -- 15:21:07
(@PATH,10,-641.1539,2694.737,89.20296,0,0,0,0,100,0), -- 15:21:08
(@PATH,11,-622.3976,2712.029,87.43461,0,0,0,0,100,0), -- 15:21:09
(@PATH,12,-618.0607,2730.373,86.00659,0,0,0,0,100,0), -- 15:21:10
(@PATH,13,-639.5991,2702.866,89.00571,0,0,0,0,100,0), -- 15:21:12
(@PATH,14,-653.4491,2691.407,89.64917,0,0,0,0,100,0), -- 15:21:13
(@PATH,15,-675.2776,2686.989,92.92959,0,0,0,0,100,0), -- 15:21:14
(@PATH,16,-668.0339,2710.14,95.59471,0,0,0,0,100,0), -- 15:21:15
(@PATH,17,-678.3527,2712.485,96.54314,0,0,0,0,100,0), -- 15:21:16
(@PATH,18,-689.8736,2688.418,95.18272,0,0,0,0,100,0), -- 15:21:18
(@PATH,19,-680.2233,2671.275,91.65306,0,0,0,0,100,0), -- 15:21:19
(@PATH,20,-647.9753,2690.686,89.70755,0,0,0,0,100,0), -- 15:21:20
(@PATH,21,-641.0308,2694.546,89.32167,0,0,0,0,100,0), -- 15:21:21
(@PATH,22,-622.1934,2711.996,87.52415,0,0,0,0,100,0), -- 15:21:23
(@PATH,23,-618.2394,2730.46,85.93001,0,0,0,0,100,0), -- 15:21:24
(@PATH,24,-630.5289,2714.474,87.94388,0,0,0,0,100,0), -- 15:21:25
(@PATH,25,-653.4489,2691.482,89.69986,0,0,0,0,100,0), -- 15:21:26
(@PATH,26,-675.2495,2687.212,92.96544,0,0,0,0,100,0), -- 15:21:27
(@PATH,27,-668.3044,2701.24,94.87445,0,0,0,0,100,0), -- 15:21:28
(@PATH,28,-672.5935,2718.499,95.4474,0,0,0,0,100,0), -- 15:21:30
(@PATH,29,-689.8506,2688.373,95.21011,0,0,0,0,100,0), -- 15:21:31
(@PATH,30,-689.2906,2680.638,93.79676,0,0,0,0,100,0), -- 15:21:32
(@PATH,31,-647.8615,2690.679,89.63545,0,0,0,0,100,0), -- 15:21:33
(@PATH,32,-622.1901,2712.1,87.35561,0,0,0,0,100,0), -- 15:21:36
(@PATH,33,-613.1973,2727.032,85.68462,0,0,0,0,100,0), -- 15:21:37
(@PATH,34,-630.4551,2714.255,87.89551,0,0,0,0,100,0); -- 15:21:38
-- 0x203CC84240124A400000440005351C34 .go -630.4395 2714.029 88.03479
-- Pathing for Infernal Rain (Hellfire) Entry: 18729 'TDB FORMAT'
SET @NPC := @CGUID+7;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-761.1827,`position_y`=2701.847,`position_z`=108.3081 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-761.1827,2701.847,108.3081,0,0,0,0,100,0), -- 15:21:41
(@PATH,2,-763.432,2721.831,117.5021,0,0,0,0,100,0), -- 15:21:42
(@PATH,3,-773.3309,2720.005,117.13,0,0,0,0,100,0), -- 15:21:43
(@PATH,4,-788.311,2733.121,117.8913,0,0,0,0,100,0), -- 15:21:44
(@PATH,5,-758.8734,2722.237,116.7121,0,0,0,0,100,0), -- 15:21:46
(@PATH,6,-750.6326,2715.539,113.1729,0,0,0,0,100,0), -- 15:21:47
(@PATH,7,-740.0147,2690.306,104.178,0,0,0,0,100,0), -- 15:21:48
(@PATH,8,-752.843,2679.486,101.8023,0,0,0,0,100,0), -- 15:21:49
(@PATH,9,-784.1663,2686.454,104.5872,0,0,0,0,100,0), -- 15:21:50
(@PATH,10,-795.9035,2686.967,105.288,0,0,0,0,100,0), -- 15:21:52
(@PATH,11,-807.5844,2704.689,108.8084,0,0,0,0,100,0), -- 15:21:53
(@PATH,12,-790.9392,2709.087,109.056,0,0,0,0,100,0), -- 15:21:54
(@PATH,13,-783.5266,2701.725,107.6792,0,0,0,0,100,0), -- 15:21:55
(@PATH,14,-762.7386,2720.122,116.8518,0,0,0,0,100,0), -- 15:21:57
(@PATH,15,-773.3821,2719.644,116.9987,0,0,0,0,100,0), -- 15:21:58
(@PATH,16,-797.9175,2733.678,117.4854,0,0,0,0,100,0), -- 15:21:59
(@PATH,17,-758.7566,2722.274,116.7635,0,0,0,0,100,0), -- 15:22:00
(@PATH,18,-750.7303,2715.479,113.2036,0,0,0,0,100,0), -- 15:22:01
(@PATH,19,-742.5223,2706.447,109.2216,0,0,0,0,100,0), -- 15:22:03
(@PATH,20,-753.0249,2679.495,101.9872,0,0,0,0,100,0), -- 15:22:04
(@PATH,21,-767.0206,2684.747,103.4404,0,0,0,0,100,0), -- 15:22:05
(@PATH,22,-795.8685,2687.028,105.4345,0,0,0,0,100,0), -- 15:22:06
(@PATH,23,-807.5786,2704.569,108.8766,0,0,0,0,100,0), -- 15:22:08
(@PATH,24,-806.0139,2706.778,109.1797,0,0,0,0,100,0), -- 15:22:09
(@PATH,25,-783.2947,2701.656,107.6781,0,0,0,0,100,0), -- 15:22:10
(@PATH,26,-762.7495,2720.095,116.9874,0,0,0,0,100,0), -- 15:22:11
(@PATH,27,-773.2406,2719.672,116.9973,0,0,0,0,100,0), -- 15:22:12
(@PATH,28,-795.0907,2729.675,117.6628,0,0,0,0,100,0), -- 15:22:14
(@PATH,29,-788.4598,2733.199,117.8639,0,0,0,0,100,0), -- 15:22:15
(@PATH,30,-754.7383,2719.982,115.1603,0,0,0,0,100,0), -- 15:22:16
(@PATH,31,-742.5227,2706.411,109.1998,0,0,0,0,100,0), -- 15:22:17
(@PATH,32,-740.782,2688.58,103.606,0,0,0,0,100,0), -- 15:22:18
(@PATH,33,-767.0979,2684.736,103.8746,0,0,0,0,100,0), -- 15:22:20
(@PATH,34,-784.1396,2686.581,104.4419,0,0,0,0,100,0), -- 15:22:21
(@PATH,35,-802.2366,2687.199,105.5248,0,0,0,0,100,0), -- 15:22:22
(@PATH,36,-805.9133,2706.766,109.1137,0,0,0,0,100,0), -- 15:22:23
(@PATH,37,-783.6552,2701.552,107.567,0,0,0,0,100,0); -- 15:22:25
-- 0x203CC84240124A400000440005B51C34 .go -761.1827 2701.847 108.3081
-- Pathing for Infernal Rain (Hellfire) Entry: 18729 'TDB FORMAT'
SET @NPC := @CGUID+8;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-696.4537,`position_y`=2672.248,`position_z`=94.02368 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-696.4537,2672.248,94.02368,0,0,0,0,100,0), -- 15:22:22
(@PATH,2,-715.4374,2665.521,94.87578,0,0,0,0,100,0), -- 15:22:23
(@PATH,3,-691.6254,2645.292,93.06143,0,0,0,0,100,0), -- 15:22:25
(@PATH,4,-687.4556,2661.372,93.48894,0,0,0,0,100,0), -- 15:22:26
(@PATH,5,-696.2938,2672.279,94.02504,0,0,0,0,100,0), -- 15:22:27
(@PATH,6,-715.679,2654.232,94.33944,0,0,0,0,100,0), -- 15:22:28
(@PATH,7,-691.636,2645.265,93.06179,0,0,0,0,100,0), -- 15:22:29
(@PATH,8,-687.5698,2661.478,93.46684,0,0,0,0,100,0), -- 15:22:31
(@PATH,9,-706.7507,2672.399,94.58054,0,0,0,0,100,0), -- 15:22:32
(@PATH,10,-715.6765,2654.364,94.39523,0,0,0,0,100,0), -- 15:22:33
(@PATH,11,-691.6421,2645.341,93.04417,0,0,0,0,100,0), -- 15:22:34
(@PATH,12,-687.571,2661.364,93.44951,0,0,0,0,100,0); -- 15:22:35
-- 0x203CC84240124A400000440006351C34 .go -696.4537 2672.248 94.02368
-- Pathing for Infernal Rain (Hellfire) Entry: 18729 'TDB FORMAT'
SET @NPC := @CGUID+9;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-736.5909,`position_y`=2643.926,`position_z`=99.57889 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-736.5909,2643.926,99.57889,0,0,0,0,100,0), -- 15:21:12
(@PATH,2,-739.5054,2650.205,101.1051,0,0,0,0,100,0), -- 15:21:13
(@PATH,3,-751.2732,2672.356,100.7091,0,0,0,0,100,0), -- 15:21:14
(@PATH,4,-739.7455,2691.94,104.7795,0,0,0,0,100,0), -- 15:21:15
(@PATH,5,-725.373,2704.028,98.12045,0,0,0,0,100,0), -- 15:21:31
(@PATH,6,-719.1994,2702.7,96.82434,0,0,0,0,100,0), -- 15:21:16
(@PATH,7,-704.6559,2687.181,95.32121,0,0,0,0,100,0), -- 15:21:18
(@PATH,8,-725.9246,2683.021,99.72587,0,0,0,0,100,0), -- 15:21:19
(@PATH,9,-741.8126,2673.67,98.87859,0,0,0,0,100,0), -- 15:21:20
(@PATH,10,-734.7253,2659.843,97.42217,0,0,0,0,100,0), -- 15:21:21
(@PATH,11,-720.5742,2666.832,95.61575,0,0,0,0,100,0), -- 15:21:23
(@PATH,12,-731.9807,2650.673,97.47429,0,0,0,0,100,0), -- 15:21:24
(@PATH,13,-715.4817,2625.815,91.41167,0,0,0,0,100,0); -- 15:21:25
-- 0x203CC84240124A400000440007351C34 .go -736.5909 2643.926 99.57889
-- Add text for watch_commander_leonus
DELETE FROM `creature_text` WHERE `CreatureID`=19392;
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
(19392, 0, 0, 'WE''RE UNDER ATTACK! RUN FOR COVER!', 14, 0, 100, 0, 0, 0, 16575, 0, 'Watch Commander Leonus'),
(19392, 0, 1, 'INFERNALS! CLEAR THE COURTYARD!', 14, 0, 100, 0, 0, 0, 16574, 0, 'Watch Commander Leonus'),
(19392, 0, 2, 'INFERNAL RAIN ON THE RISE! TAKE COVER!', 14, 0, 100, 0, 0, 0, 16573, 0, 'Watch Commander Leonus');
-- Condition for source Spell implicit target condition type Near creature
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=2 AND `SourceEntry`=33814 AND `SourceId`=0;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13, 2, 33814, 0, 0, 29, 0, 18729, 1000, 0, 0, 0, 0, '', 'Spell SPELL_INFERNAL_RAIN (effect 1) will hit the potential target of the spell if target is unit NPC_INFERNAL_RAIN within 1000 yards.');
@@ -30,6 +30,8 @@ npc_fel_guard_hound
EndContentData */
#include "ScriptMgr.h"
#include "CellImpl.h"
#include "GridNotifiersImpl.h"
#include "Log.h"
#include "MotionMaster.h"
#include "ObjectAccessor.h"
@@ -1039,6 +1041,208 @@ public:
}
};
enum WatchCommanderLeonus
{
SAY_COVER = 0,
EVENT_LEONUS_TALK = 1,
EVENT_INFERNAL_RAIN_ATTACK = 2,
EVENT_FEAR_CONTROLLER_CAST = 3,
EVENT_ACTIVE_FALSE = 4,
NPC_INFERNAL_RAIN = 18729,
SPELL_INFERNAL_RAIN = 33814,
NPC_FEAR_CONTROLLER = 19393,
DATA_ACTIVE = 1,
};
struct npc_watch_commander_leonus : public ScriptedAI
{
npc_watch_commander_leonus(Creature* creature) : ScriptedAI(creature) { }
void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_LEONUS_TALK, 2min, 10min);
_events.ScheduleEvent(EVENT_INFERNAL_RAIN_ATTACK, 2min, 10min);
_events.ScheduleEvent(EVENT_FEAR_CONTROLLER_CAST, 2min, 10min);
}
void SetData(uint32 /*type*/, uint32 data) override
{
switch (data)
{
case DATA_ACTIVE:
_events.ScheduleEvent(EVENT_ACTIVE_FALSE, 1s);
break;
default:
break;
}
}
void UpdateAI(uint32 diff) override
{
_events.Update(diff);
while (uint32 eventId = _events.ExecuteEvent())
{
switch (eventId)
{
case EVENT_LEONUS_TALK:
Talk(SAY_COVER);
me->HandleEmoteCommand(EMOTE_ONESHOT_SHOUT);
break;
case EVENT_INFERNAL_RAIN_ATTACK:
{
std::list<Creature*> infernalrainList;
Trinity::AllCreaturesOfEntryInRange checkerInfernalrain(me, NPC_INFERNAL_RAIN, 200.0f);
Trinity::CreatureListSearcher<Trinity::AllCreaturesOfEntryInRange> searcherInfernal(me, infernalrainList, checkerInfernalrain);
Cell::VisitAllObjects(me, searcherInfernal, 200.0f);
for (Creature* infernal : infernalrainList)
if (!infernal->isMoving() && infernal->GetPositionZ() > 118.0f)
infernal->AI()->SetData(DATA_ACTIVE, DATA_ACTIVE);
break;
}
case EVENT_FEAR_CONTROLLER_CAST:
{
std::list<Creature*> fearcontrollerList;
Trinity::AllCreaturesOfEntryInRange checkerFear(me, NPC_FEAR_CONTROLLER, 200.0f);
Trinity::CreatureListSearcher<Trinity::AllCreaturesOfEntryInRange> searcherFear(me, fearcontrollerList, checkerFear);
Cell::VisitAllObjects(me, searcherFear, 200.0f);
for (Creature* fearController : fearcontrollerList)
fearController->AI()->SetData(DATA_ACTIVE, DATA_ACTIVE);
break;
}
case EVENT_ACTIVE_FALSE:
_events.ScheduleEvent(EVENT_LEONUS_TALK, 1h);
_events.ScheduleEvent(EVENT_INFERNAL_RAIN_ATTACK, 1h);
_events.ScheduleEvent(EVENT_FEAR_CONTROLLER_CAST, 1h);
break;
}
}
if (!UpdateVictim())
return;
DoMeleeAttackIfReady();
}
private:
EventMap _events;
};
enum InfernalRainHellfire
{
EVENT_INFERNAL_RAIN_CAST = 1,
EVENT_INFERNAL_RAIN_STOP = 2,
NPC_WATCH_COMMANDER_LEONUS = 19392
};
struct npc_infernal_rain_hellfire : public ScriptedAI
{
npc_infernal_rain_hellfire(Creature* creature) : ScriptedAI(creature) { }
void SetData(uint32 /*type*/, uint32 data) override
{
switch (data)
{
case DATA_ACTIVE:
_events.ScheduleEvent(EVENT_INFERNAL_RAIN_CAST, 1s, 2s);
_events.ScheduleEvent(EVENT_INFERNAL_RAIN_STOP, 60s);
break;
default:
break;
}
}
void UpdateAI(uint32 diff) override
{
_events.Update(diff);
while (uint32 eventId = _events.ExecuteEvent())
{
switch (eventId)
{
case EVENT_INFERNAL_RAIN_CAST:
{
std::list<Creature*> infernalrainList;
Trinity::AllCreaturesOfEntryInRange checker(me, NPC_INFERNAL_RAIN, 200.0f);
Trinity::CreatureListSearcher<Trinity::AllCreaturesOfEntryInRange> searcher(me, infernalrainList, checker);
Cell::VisitAllObjects(me, searcher, 200.0f);
if (!infernalrainList.empty())
{
Creature* random = Trinity::Containers::SelectRandomContainerElement(infernalrainList);
if (random->isMoving() && random->GetPositionZ() < 118.0f)
{
CastSpellExtraArgs args;
args.SpellValueOverrides.AddMod(SPELLVALUE_MAX_TARGETS, 1);
me->CastSpell(random, SPELL_INFERNAL_RAIN, args);
}
}
_events.ScheduleEvent(EVENT_INFERNAL_RAIN_CAST, 1s, 2s);
break;
}
case EVENT_INFERNAL_RAIN_STOP:
_events.CancelEvent(EVENT_INFERNAL_RAIN_CAST);
if (Creature* watchcommanderLeonus = me->FindNearestCreature(NPC_WATCH_COMMANDER_LEONUS, 200))
watchcommanderLeonus->AI()->SetData(DATA_ACTIVE, DATA_ACTIVE);
break;
}
}
}
private:
EventMap _events;
};
enum fear_controller
{
EVENT_FEAR_CAST = 1,
EVENT_FEAR_STOP = 2,
SPELL_FEAR = 33815 // Serverside spell
};
struct npc_fear_controller : public ScriptedAI
{
npc_fear_controller(Creature* creature) : ScriptedAI(creature) { }
void SetData(uint32 /*type*/, uint32 data) override
{
if (data == DATA_ACTIVE)
{
_events.ScheduleEvent(EVENT_FEAR_CAST, 1s);
_events.ScheduleEvent(EVENT_FEAR_STOP, 60s);
}
}
void UpdateAI(uint32 diff) override
{
_events.Update(diff);
while (uint32 eventId = _events.ExecuteEvent())
{
switch (eventId)
{
case EVENT_FEAR_CAST:
DoCastAOE(SPELL_FEAR);
_events.Repeat(10s);
break;
case EVENT_FEAR_STOP:
_events.CancelEvent(EVENT_FEAR_CAST);
break;
}
}
}
private:
EventMap _events;
};
void AddSC_hellfire_peninsula()
{
new npc_aeranas();
@@ -1048,4 +1252,7 @@ void AddSC_hellfire_peninsula()
new npc_colonel_jules();
new npc_barada();
new npc_magister_aledis();
RegisterCreatureAI(npc_watch_commander_leonus);
RegisterCreatureAI(npc_infernal_rain_hellfire);
RegisterCreatureAI(npc_fear_controller);
}