Merge branch 'master' into Playerbot
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
-- DB update 2023_12_12_16 -> 2023_12_24_00
|
||||
-- Spell Bomb
|
||||
UPDATE `spell_proc_event` SET `Cooldown`=1000 WHERE `entry`=40303;
|
||||
@@ -0,0 +1,28 @@
|
||||
-- DB update 2023_12_24_00 -> 2023_12_24_01
|
||||
-- update various midsummer NPC spawns with sniffed values
|
||||
DELETE FROM `creature` WHERE (`id1` IN (16817, 16818, 25697, 25710, 25754)) AND (`guid` IN (202768, 202862, 94855, 94856, 94857, 202750, 94858, 94859, 94860, 94861, 202734, 245704, 202735, 202736, 202737));
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
|
||||
-- 16817 'Festival Loremaster'
|
||||
(202768, 16817, 530, 1, 1, 0, -3787.9111328125, -11506.0986328125, -134.600814819335937, 5.969026088714599609, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(202862, 16817, 0, 1, 1, 0, -8832.986328125, 862.3447265625, 98.96456146240234375, 0.296705961227416992, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(94855, 16817, 1, 1, 1, 0, 8697.384765625, 936.7188720703125, 14.6749267578125, 1.797689080238342285, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(94856, 16817, 530, 1, 1, 0, -1751.86669921875, 5333.408203125, -12.3448038101196289, 2.30383467674255371, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(94857, 16817, 0, 1, 1, 0, -4702.794921875, -1218.0499267578125, 501.74273681640625, 1.93731546401977539, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
-- 16818 'Festival Talespinner'
|
||||
(202750, 16818, 530, 1, 1, 0, 9807, -7246.8203125, 26.21605491638183593, 5.672319889068603515, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(94858, 16818, 1, 1, 1, 0, -1042.9757080078125, 291.024322509765625, 135.6658477783203125, 2.338741064071655273, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(94859, 16818, 530, 1, 1, 0, -1752.97216796875, 5323.267578125, -12.3448047637939453, 4.136430263519287109, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(94860, 16818, 0, 1, 1, 0, 1824.94580078125, 224.4239349365234375, 60.3980560302734375, 1.850049018859863281, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(94861, 16818, 1, 1, 1, 0, 1918.1146240234375, -4336.3505859375, 21.28496551513671875, 0.139626339077949523, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
-- 25697 'Luma Skymother'
|
||||
(202734, 25697, 547, 3, 1, 0, -92.4571914672851562, -110.664161682128906, -2.86675882339477539, 2.408554315567016601, 7200, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
-- 25710 'Numa Cloudsister'
|
||||
(245704, 25710, 547, 3, 1, 0, 131.4105682373046875, -120.632652282714843, -1.50722658634185791, 4.206243515014648437, 7200, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
-- 25754 'Earthen Ring Flamecaller'
|
||||
(202735, 25754, 547, 3, 1, 0, -110.19451904296875, -116.621482849121093, -3.25569367408752441, 0.104719758033752441, 7200, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(202736, 25754, 547, 3, 1, 0, -112.209869384765625, -120.209037780761718, -2.65799570083618164, 5.183627605438232421, 7200, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(202737, 25754, 547, 3, 1, 0, -93.1847915649414062, -115.92059326171875, -2.69253182411193847, 3.804817676544189453, 7200, 0, 0, 0, 0, 0, "", 50172, 1, NULL);
|
||||
|
||||
-- enable all spawns for eventEntry 1
|
||||
DELETE FROM `game_event_creature` WHERE (`eventEntry` = 1) AND (`guid` IN (SELECT `guid` FROM `creature` WHERE `id1` IN (16817, 16818, 25697, 25710, 25754)));
|
||||
INSERT INTO `game_event_creature` (SELECT 1, `guid` FROM `creature` WHERE `id1` IN (16817, 16818, 25697, 25710, 25754));
|
||||
@@ -0,0 +1,195 @@
|
||||
-- DB update 2023_12_24_01 -> 2023_12_25_00
|
||||
-- Implement Midsummer Bonfire Mechanics
|
||||
-- Assign ArtKits to Alliance and Horde Bonfires
|
||||
UPDATE `gameobject_template_addon` SET `artkit0` = 121, `artkit1` = 122 WHERE (`entry` IN (187564, 187914, 187916, 187917, 187919, 187920, 187921, 187922, 187923, 187924, 187925, 187926, 187927, 187928, 187929, 187930, 187931, 187932, 187933, 187934, 187935, 187936, 187937, 187938, 187939, 187940, 187941, 187942, 187943, 187944, 187945, 187946, 194032, 194035, 194036, 194038, 194040, 194044, 194045, 194049, 187559, 187947, 187948, 187949, 187950, 187951, 187952, 187953, 187954, 187955, 187956, 187957, 187958, 187959, 187960, 187961, 187962, 187963, 187964, 187965, 187966, 187967, 187968, 187969, 187970, 187971, 187972, 187973, 187974, 187975, 194033, 194034, 194037, 194039, 194042, 194043, 194046, 194048));
|
||||
|
||||
-- assign implicit targets to spells
|
||||
-- 28806 'Toss Fuel on Bonfire' targets 16592 'Midsummer Bonfire' (already in DB)
|
||||
-- 45437 'Stamp Out Bonfire' targets 16592 'Midsummer Bonfire' (already in DB)
|
||||
|
||||
-- 46903 'Stamp Out Bonfire (Art Kit)' targets Alliance / Horde Bonfires
|
||||
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceEntry` = 46903);
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(13, 1, 46903, 0, 0, 31, 0, 5, 187564, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 1, 31, 0, 5, 187914, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 2, 31, 0, 5, 187916, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 3, 31, 0, 5, 187917, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 4, 31, 0, 5, 187919, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 5, 31, 0, 5, 187920, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 6, 31, 0, 5, 187921, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 7, 31, 0, 5, 187922, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 8, 31, 0, 5, 187923, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 9, 31, 0, 5, 187924, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 10, 31, 0, 5, 187925, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 11, 31, 0, 5, 187926, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 12, 31, 0, 5, 187927, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 13, 31, 0, 5, 187928, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 14, 31, 0, 5, 187929, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 15, 31, 0, 5, 187930, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 16, 31, 0, 5, 187931, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 17, 31, 0, 5, 187932, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 18, 31, 0, 5, 187933, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 19, 31, 0, 5, 187934, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 20, 31, 0, 5, 187935, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 21, 31, 0, 5, 187936, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 22, 31, 0, 5, 187937, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 23, 31, 0, 5, 187938, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 24, 31, 0, 5, 187939, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 25, 31, 0, 5, 187940, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 26, 31, 0, 5, 187941, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 27, 31, 0, 5, 187942, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 28, 31, 0, 5, 187943, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 29, 31, 0, 5, 187944, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 30, 31, 0, 5, 187945, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 31, 31, 0, 5, 187946, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 32, 31, 0, 5, 194032, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 33, 31, 0, 5, 194035, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 34, 31, 0, 5, 194036, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 35, 31, 0, 5, 194038, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 36, 31, 0, 5, 194040, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 37, 31, 0, 5, 194044, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 38, 31, 0, 5, 194045, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 39, 31, 0, 5, 194049, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46903, 0, 40, 31, 0, 5, 187559, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 41, 31, 0, 5, 187947, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 42, 31, 0, 5, 187948, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 43, 31, 0, 5, 187949, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 44, 31, 0, 5, 187950, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 45, 31, 0, 5, 187951, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 46, 31, 0, 5, 187952, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 47, 31, 0, 5, 187953, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 48, 31, 0, 5, 187954, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 49, 31, 0, 5, 187955, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 50, 31, 0, 5, 187956, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 51, 31, 0, 5, 187957, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 52, 31, 0, 5, 187958, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 53, 31, 0, 5, 187959, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 54, 31, 0, 5, 187960, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 55, 31, 0, 5, 187961, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 56, 31, 0, 5, 187962, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 57, 31, 0, 5, 187963, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 58, 31, 0, 5, 187964, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 59, 31, 0, 5, 187965, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 60, 31, 0, 5, 187966, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 61, 31, 0, 5, 187967, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 62, 31, 0, 5, 187968, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 63, 31, 0, 5, 187969, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 64, 31, 0, 5, 187970, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 65, 31, 0, 5, 187971, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 66, 31, 0, 5, 187972, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 67, 31, 0, 5, 187973, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 68, 31, 0, 5, 187974, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 69, 31, 0, 5, 187975, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 70, 31, 0, 5, 194033, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 71, 31, 0, 5, 194034, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 72, 31, 0, 5, 194037, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 73, 31, 0, 5, 194039, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 74, 31, 0, 5, 194042, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 75, 31, 0, 5, 194043, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 76, 31, 0, 5, 194046, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46903, 0, 77, 31, 0, 5, 194048, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire');
|
||||
|
||||
-- 46904 'Light Bonfire (Art Kit)' targets Alliance / Horde Bonfires
|
||||
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceEntry` = 46904);
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(13, 1, 46904, 0, 0, 31, 0, 5, 187564, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 1, 31, 0, 5, 187914, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 2, 31, 0, 5, 187916, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 3, 31, 0, 5, 187917, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 4, 31, 0, 5, 187919, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 5, 31, 0, 5, 187920, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 6, 31, 0, 5, 187921, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 7, 31, 0, 5, 187922, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 8, 31, 0, 5, 187923, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 9, 31, 0, 5, 187924, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 10, 31, 0, 5, 187925, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 11, 31, 0, 5, 187926, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 12, 31, 0, 5, 187927, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 13, 31, 0, 5, 187928, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 14, 31, 0, 5, 187929, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 15, 31, 0, 5, 187930, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 16, 31, 0, 5, 187931, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 17, 31, 0, 5, 187932, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 18, 31, 0, 5, 187933, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 19, 31, 0, 5, 187934, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 20, 31, 0, 5, 187935, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 21, 31, 0, 5, 187936, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 22, 31, 0, 5, 187937, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 23, 31, 0, 5, 187938, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 24, 31, 0, 5, 187939, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 25, 31, 0, 5, 187940, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 26, 31, 0, 5, 187941, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 27, 31, 0, 5, 187942, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 28, 31, 0, 5, 187943, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 29, 31, 0, 5, 187944, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 30, 31, 0, 5, 187945, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 31, 31, 0, 5, 187946, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 32, 31, 0, 5, 194032, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 33, 31, 0, 5, 194035, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 34, 31, 0, 5, 194036, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 35, 31, 0, 5, 194038, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 36, 31, 0, 5, 194040, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 37, 31, 0, 5, 194044, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 38, 31, 0, 5, 194045, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 39, 31, 0, 5, 194049, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Alliance Bonfire'),
|
||||
(13, 1, 46904, 0, 40, 31, 0, 5, 187559, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 41, 31, 0, 5, 187947, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 42, 31, 0, 5, 187948, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 43, 31, 0, 5, 187949, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 44, 31, 0, 5, 187950, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 45, 31, 0, 5, 187951, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 46, 31, 0, 5, 187952, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 47, 31, 0, 5, 187953, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 48, 31, 0, 5, 187954, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 49, 31, 0, 5, 187955, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 50, 31, 0, 5, 187956, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 51, 31, 0, 5, 187957, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 52, 31, 0, 5, 187958, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 53, 31, 0, 5, 187959, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 54, 31, 0, 5, 187960, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 55, 31, 0, 5, 187961, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 56, 31, 0, 5, 187962, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 57, 31, 0, 5, 187963, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 58, 31, 0, 5, 187964, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 59, 31, 0, 5, 187965, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 60, 31, 0, 5, 187966, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 61, 31, 0, 5, 187967, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 62, 31, 0, 5, 187968, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 63, 31, 0, 5, 187969, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 64, 31, 0, 5, 187970, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 65, 31, 0, 5, 187971, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 66, 31, 0, 5, 187972, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 67, 31, 0, 5, 187973, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 68, 31, 0, 5, 187974, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 69, 31, 0, 5, 187975, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 70, 31, 0, 5, 194033, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 71, 31, 0, 5, 194034, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 72, 31, 0, 5, 194037, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 73, 31, 0, 5, 194039, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 74, 31, 0, 5, 194042, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 75, 31, 0, 5, 194043, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 76, 31, 0, 5, 194046, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire'),
|
||||
(13, 1, 46904, 0, 77, 31, 0, 5, 194048, 0, 0, 0, 0, '', 'Light Bonfire (Art Kit) targets Horde Bonfire');
|
||||
|
||||
-- Creature 16592 Midsummer Bonfire
|
||||
UPDATE `creature_template` SET `AIName` = '', `ScriptName` = 'npc_midsummer_bonfire' WHERE (`entry` = 16592);
|
||||
|
||||
-- Spell 45444 Bonfire's Blessing
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id` = 45444 AND `ScriptName` = 'spell_bonfires_blessing';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(45444, 'spell_bonfires_blessing');
|
||||
|
||||
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 24) AND (`SourceEntry` = 45444);
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(24, 0, 45444, 0, 0, 12, 0, 1, 0, 0, 0, 0, 0, '', 'Spell \'Bonfire\'s Blessing\' PROC requires Midsummer Fire Festival');
|
||||
|
||||
-- proc cooldown 45 seconds
|
||||
DELETE FROM `spell_proc_event` WHERE (`entry` = 45444);
|
||||
INSERT INTO `spell_proc_event` (`entry`, `Cooldown`) VALUES
|
||||
(45444, 45000);
|
||||
|
||||
-- remove all spawns of 181376, 'Midsummer Bonfire Campfire Damage Trap'
|
||||
-- it's the linked trap of 181377
|
||||
-- which is beeing spawned by spell 29114 'Midsummer Bonfire Bunnies 2' by NPC 16592 if the fire is burning
|
||||
DELETE FROM `game_event_gameobject` WHERE (`guid` IN (SELECT `guid` FROM `gameobject` WHERE `id` = 181376));
|
||||
DELETE FROM `gameobject` WHERE (`id` = 181376);
|
||||
@@ -0,0 +1,7 @@
|
||||
-- DB update 2023_12_25_00 -> 2023_12_25_01
|
||||
--
|
||||
DELETE FROM `spell_custom_attr` WHERE `spell_id` = 37546;
|
||||
INSERT INTO `spell_custom_attr` (`spell_id`, `attributes`) VALUES
|
||||
(37546, 2147483648);
|
||||
|
||||
UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask` |131072 WHERE `entry` = 21215;
|
||||
@@ -0,0 +1,5 @@
|
||||
-- DB update 2023_12_25_01 -> 2023_12_26_00
|
||||
-- Spawn NPC 'Crown Apothecary' for event 'Love is in the Air' only
|
||||
DELETE FROM `game_event_creature` WHERE (`eventEntry` = 8) AND (`guid` = 146624);
|
||||
INSERT INTO `game_event_creature` (`eventEntry`,`guid`) VALUES
|
||||
(8, 146624);
|
||||
@@ -0,0 +1,168 @@
|
||||
-- DB update 2023_12_26_00 -> 2023_12_28_00
|
||||
-- Update Midsummer creature 'Flame Keeper' / 'Flame Warden' spawns with sniffed values
|
||||
DELETE FROM `creature` WHERE (`id1` IN(32801, 32802, 32803, 32804, 32805, 32806, 32807, 32808, 32809, 32810, 32811, 32812, 32813, 32814, 32815, 32816, 25883, 25884, 25887, 25890, 25893, 25894, 25895, 25896, 25897, 25898, 25899, 25900, 25901, 25902, 25904, 25906, 25908, 25909, 25910, 25911, 25914, 25915, 25916, 25917, 25919, 25920, 25921, 25922, 25923, 25925, 25927, 25928, 25929, 25930, 25931, 25932, 25933, 25934, 25935, 25936, 25937, 25939, 25940, 25941, 25942, 25943, 25944, 25945, 25946, 25947, 25892, 25888, 25891, 25907, 25938, 25905, 25912, 25903, 25889, 25926, 25913, 25918)) AND (`guid` IN (245500, 245501, 245502, 245503, 245504, 245505, 245506, 245507, 245508, 245509, 245510, 245511, 245512, 245513, 245514, 245515, 245642, 245643, 245644, 245647, 245650, 245651, 245652, 245653, 245654, 245655, 245656, 245657, 245658, 245659, 245661, 245663, 245665, 245666, 245667, 245668, 245671, 245672, 245673, 245674, 245676, 245677, 245678, 245679, 245680, 245681, 245683, 245684, 245685, 245686, 245687, 245688, 245689, 245690, 245691, 245692, 245693, 245695, 245696, 245697, 245698, 245699, 245700, 245701, 245702, 245703, 248581, 248584, 248585, 248586, 248587, 248588, 248589, 248590, 248591, 248592, 248593, 248594));
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
|
||||
(245500, 32801, 571, 1, 1, 0, 4131.27880859375, 5394.60400390625, 26.09047317504882812, 3.59537816047668457, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245501, 32802, 571, 1, 1, 0, 5360.001953125, 4834.39306640625, -196.398086547851562, 5.550147056579589843, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245502, 32803, 571, 1, 1, 0, 3936.923583984375, -595.4437255859375, 241.1533660888671875, 5.951572895050048828, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245503, 32804, 571, 1, 1, 0, 2466.96533203125, -4892.67529296875, 262.54742431640625, 2.30383467674255371, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245504, 32805, 571, 1, 1, 0, 3400.944091796875, -2890.375, 201.4967803955078125, 2.30383467674255371, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245505, 32806, 571, 1, 1, 0, 6087.44189453125, -1105.5230712890625, 418.2672119140625, 1.099557399749755859, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245506, 32807, 571, 1, 1, 0, 5141.77587890625, -685.00274658203125, 170.273834228515625, 5.951572895050048828, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245507, 32808, 571, 1, 1, 0, 5627.93212890625, -2616.493408203125, 292.501861572265625, 1.518436431884765625, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245508, 32809, 571, 1, 1, 0, 4454.66650390625, 5623.537109375, 56.91561508178710937, 4.136430263519287109, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245509, 32810, 571, 1, 1, 0, 5499.81201171875, 4878.97607421875, -197.865234375, 3.176499128341674804, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245510, 32811, 571, 1, 1, 0, 3762.38720703125, 1481.287109375, 92.8881988525390625, 3.438298702239990234, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245511, 32812, 571, 1, 1, 0, 2586.682373046875, -4337.068359375, 276.06976318359375, 4.136430263519287109, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245512, 32813, 571, 1, 1, 0, 3376.009033203125, -2124.778076171875, 124.6639862060546875, 0.139626339077949523, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245513, 32814, 571, 1, 1, 0, 6150.9453125, -1023.0499267578125, 408.364166259765625, 1.431169986724853515, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245514, 32815, 571, 1, 1, 0, 5536.51611328125, -733.718505859375, 149.6217498779296875, 3.124139308929443359, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245515, 32816, 571, 1, 1, 0, 5280.306640625, -2766.146240234375, 292.501861572265625, 2.30383467674255371, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245642, 25883, 1, 1, 1, 0, 2568.965087890625, -478.949615478515625, 108.39166259765625, 1.675516128540039062, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245643, 25884, 1, 1, 1, 0, 2009.33056640625, -2345.086181640625, 89.7369232177734375, 2.94960641860961914, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245644, 25887, 0, 1, 1, 0, -1209.2672119140625, -2667.495361328125, 45.18304061889648437, 5.934119224548339843, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245647, 25890, 0, 1, 1, 0, -10946.642578125, -3227.52587890625, 41.4308319091796875, 4.520402908325195312, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245650, 25893, 1, 1, 1, 0, 6317.34716796875, 520.6370849609375, 18.50266075134277343, 1.343903541564941406, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245651, 25894, 1, 1, 1, 0, -60.1540260314941406, 1260.6822509765625, 90.85235595703125, 2.984513044357299804, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245652, 25895, 0, 1, 1, 0, -5418.35791015625, -497.67083740234375, 397.224212646484375, 4.764749050140380859, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245653, 25896, 0, 1, 1, 0, -10699.7001953125, -1156.25634765625, 25.06201362609863281, 3.909537553787231445, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245654, 25897, 1, 1, 1, 0, -3449.224609375, -4220.4794921875, 11.50491142272949218, 2.617993831634521484, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245655, 25898, 0, 1, 1, 0, -9389.173828125, 26.72422981262207031, 60.13254165649414062, 4.520402908325195312, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245656, 25899, 1, 1, 1, 0, -4400.099609375, 3474.04638671875, 11.66966533660888671, 5.864306449890136718, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245657, 25900, 530, 1, 1, 0, -526.0140380859375, 2328.915771484375, 39.06064224243164062, 3.59537816047668457, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245658, 25901, 0, 1, 1, 0, -615.18017578125, -547.1456298828125, 36.26576995849609375, 4.520402908325195312, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245659, 25902, 0, 1, 1, 0, -5240.81103515625, -2891.7265625, 338.1416015625, 1.93731546401977539, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245661, 25904, 0, 1, 1, 0, -9428.7666015625, -2118.62744140625, 66.248504638671875, 4.520402908325195312, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245663, 25906, 1, 1, 1, 0, 9780.8486328125, 1011.06207275390625, 1299.6243896484375, 6.195918560028076171, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245665, 25908, 0, 1, 1, 0, 181.5362396240234375, -2127.068603515625, 103.5297622680664062, 3.665191411972045898, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245666, 25909, 0, 1, 1, 0, 1006.46612548828125, -1452.320068359375, 61.63693618774414062, 5.16617441177368164, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245667, 25910, 0, 1, 1, 0, -10647.8984375, 1059.494384765625, 32.95148086547851562, 5.497786998748779296, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245668, 25911, 0, 1, 1, 0, -3445.115478515625, -946.04742431640625, 10.35079002380371093, 4.101523876190185546, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245671, 25914, 1, 1, 1, 0, -6776.85693359375, 535.37042236328125, -1.13637661933898925, 3.211405754089355468, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245672, 25915, 0, 1, 1, 0, -14296.548828125, 57.83572006225585937, 1.239098429679870605, 2.548180580139160156, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245673, 25916, 1, 1, 1, 0, -7225.96923828125, -3859.081298828125, 11.69223976135253906, 3.892084121704101562, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245674, 25917, 1, 1, 1, 0, 6856.548828125, -4757.7919921875, 696.747314453125, 0.890117883682250976, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245676, 25919, 1, 1, 1, 0, -6990.8369140625, 919.427734375, 9.771059989929199218, 1.029744267463684082, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245677, 25920, 0, 1, 1, 0, -14368.7802734375, 119.6214981079101562, 1.169593334197998046, 5.724679946899414062, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245678, 25921, 1, 1, 1, 0, -7113.9248046875, -3657.283447265625, 9.638824462890625, 1.029744267463684082, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245679, 25922, 1, 1, 1, 0, 6846.09912109375, -4567.4072265625, 709.08477783203125, 4.433136463165283203, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245680, 25923, 0, 1, 1, 0, -1128.567626953125, -3538.506103515625, 51.01441192626953125, 3.996803998947143554, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245681, 25925, 0, 1, 1, 0, -6695.68603515625, -2196.149658203125, 248.552642822265625, 1.570796370506286621, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245683, 25927, 0, 1, 1, 0, -7598.5302734375, -2075.66796875, 127.084625244140625, 2.792526721954345703, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245684, 25928, 1, 1, 1, 0, -1853.5321044921875, 3057.98681640625, 0.857634305953979492, 1.413716673851013183, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245685, 25929, 1, 1, 1, 0, 140.2664947509765625, -4721.44189453125, 17.75169944763183593, 5.270894527435302734, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(245686, 25930, 1, 1, 1, 0, -3115.071533203125, -2730.114013671875, 33.80213165283203125, 3.03687286376953125, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245687, 25931, 530, 1, 1, 0, 9380.330078125, -6772.7578125, 14.1056976318359375, 4.607669353485107421, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245688, 25932, 1, 1, 1, 0, -4580.9453125, 411.727874755859375, 42.02591705322265625, 3.717551231384277343, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245689, 25933, 530, 1, 1, 0, 7687.181640625, -6831.15478515625, 78.56020355224609375, 1.466076612472534179, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245690, 25934, 530, 1, 1, 0, 33.56027603149414062, 2589.915283203125, 69.20654296875, 3.630284786224365234, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245691, 25935, 0, 1, 1, 0, -142.508621215820312, -807.7791748046875, 55.47702407836914062, 2.426007747650146484, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245692, 25936, 1, 1, 1, 0, -2321.74365234375, -619.74908447265625, -9.08914852142333984, 5.672319889068603515, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245693, 25937, 530, 1, 1, 0, -1215.727783203125, 7482.88916015625, 22.181121826171875, 3.228859186172485351, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245695, 25939, 0, 1, 1, 0, 593.8203125, 1362.9957275390625, 90.1024169921875, 1.01229095458984375, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245696, 25940, 1, 1, 1, 0, 947.726806640625, 780.1524658203125, 104.1993026733398437, 3.804817676544189453, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245697, 25941, 0, 1, 1, 0, -10339.1572265625, -3294.16650390625, 22.53605270385742187, 1.797689080238342285, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245698, 25942, 530, 1, 1, 0, -2544.9462890625, 4274.578125, 19.87278175354003906, 0.610865235328674316, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245699, 25943, 1, 1, 1, 0, -282.30377197265625, -2668.305419921875, 92.95586395263671875, 4.607669353485107421, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245700, 25944, 0, 1, 1, 0, -457.318572998046875, -4525.64111328125, 9.816510200500488281, 1.867502331733703613, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245701, 25945, 1, 1, 1, 0, -5519.482421875, -2294.23046875, -57.9950790405273437, 3.176499128341674804, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245702, 25946, 0, 1, 1, 0, 2278.419189453125, 447.48089599609375, 34.1212310791015625, 3.159045934677124023, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(245703, 25947, 530, 1, 1, 0, 205.462860107421875, 7693.14599609375, 23.38621330261230468, 2.042035102844238281, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(248581, 25892, 0, 1, 1, 0, -8258.7978515625, -2618.704345703125, 133.3751983642578125, 1.343903541564941406, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(248584, 25888, 530, 1, 1, 0, -4219.21923828125, -12310.5498046875, 2.439188241958618164, 5.934119224548339843, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(248585, 25891, 530, 1, 1, 0, -2234.829833984375, -11895.943359375, 26.62420845031738281, 4.694935798645019531, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(248586, 25907, 530, 1, 1, 0, -2998.8544921875, 4164.04150390625, 5.169013500213623046, 0.593411922454833984, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(248587, 25938, 530, 1, 1, 0, -3067.27783203125, 2387.9033203125, 62.19348907470703125, 3.368485450744628906, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(248588, 25905, 530, 1, 1, 0, -3951.3046875, 2045.650146484375, 95.148040771484375, 4.520402908325195312, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(248589, 25912, 530, 1, 1, 0, 193.7308807373046875, 6016.71337890625, 22.73372650146484375, 6.161012172698974609, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(248590, 25903, 530, 1, 1, 0, -2517.064208984375, 7555.0849609375, -1.79315662384033203, 5.375614166259765625, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(248591, 25889, 530, 1, 1, 0, 2024.90625, 6590.5322265625, 135.321380615234375, 5.934119224548339843, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL),
|
||||
(248592, 25926, 530, 1, 1, 0, 2286.706787109375, 6137.61767578125, 136.3055572509765625, 1.570796370506286621, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(248593, 25913, 530, 1, 1, 0, 3127.551025390625, 3743.1484375, 141.770599365234375, 6.161012172698974609, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL),
|
||||
(248594, 25918, 530, 1, 1, 0, 2917.2216796875, 3693.41064453125, 143.7702789306640625, 2.932153224945068359, 120, 0, 0, 0, 0, 0, "", 50063, 1, NULL);
|
||||
|
||||
DELETE FROM `game_event_creature` WHERE (`eventEntry` = 1) AND (`guid` IN (245500, 245501, 245502, 245503, 245504, 245505, 245506, 245507, 245508, 245509, 245510, 245511, 245512, 245513, 245514, 245515, 245642, 245643, 245644, 245647, 245650, 245651, 245652, 245653, 245654, 245655, 245656, 245657, 245658, 245659, 245661, 245663, 245665, 245666, 245667, 245668, 245671, 245672, 245673, 245674, 245676, 245677, 245678, 245679, 245680, 245681, 245683, 245684, 245685, 245686, 245687, 245688, 245689, 245690, 245691, 245692, 245693, 245695, 245696, 245697, 245698, 245699, 245700, 245701, 245702, 245703, 248581, 248584, 248585, 248586, 248587, 248588, 248589, 248590, 248591, 248592, 248593, 248594));
|
||||
INSERT INTO `game_event_creature` (`eventEntry`,`guid`) VALUES
|
||||
(1, 245500),
|
||||
(1, 245501),
|
||||
(1, 245502),
|
||||
(1, 245503),
|
||||
(1, 245504),
|
||||
(1, 245505),
|
||||
(1, 245506),
|
||||
(1, 245507),
|
||||
(1, 245508),
|
||||
(1, 245509),
|
||||
(1, 245510),
|
||||
(1, 245511),
|
||||
(1, 245512),
|
||||
(1, 245513),
|
||||
(1, 245514),
|
||||
(1, 245515),
|
||||
(1, 245642),
|
||||
(1, 245643),
|
||||
(1, 245644),
|
||||
(1, 245647),
|
||||
(1, 245650),
|
||||
(1, 245651),
|
||||
(1, 245652),
|
||||
(1, 245653),
|
||||
(1, 245654),
|
||||
(1, 245655),
|
||||
(1, 245656),
|
||||
(1, 245657),
|
||||
(1, 245658),
|
||||
(1, 245659),
|
||||
(1, 245661),
|
||||
(1, 245663),
|
||||
(1, 245665),
|
||||
(1, 245666),
|
||||
(1, 245667),
|
||||
(1, 245668),
|
||||
(1, 245671),
|
||||
(1, 245672),
|
||||
(1, 245673),
|
||||
(1, 245674),
|
||||
(1, 245676),
|
||||
(1, 245677),
|
||||
(1, 245678),
|
||||
(1, 245679),
|
||||
(1, 245680),
|
||||
(1, 245681),
|
||||
(1, 245683),
|
||||
(1, 245684),
|
||||
(1, 245685),
|
||||
(1, 245686),
|
||||
(1, 245687),
|
||||
(1, 245688),
|
||||
(1, 245689),
|
||||
(1, 245690),
|
||||
(1, 245691),
|
||||
(1, 245692),
|
||||
(1, 245693),
|
||||
(1, 245695),
|
||||
(1, 245696),
|
||||
(1, 245697),
|
||||
(1, 245698),
|
||||
(1, 245699),
|
||||
(1, 245700),
|
||||
(1, 245701),
|
||||
(1, 245702),
|
||||
(1, 245703),
|
||||
(1, 248581),
|
||||
(1, 248584),
|
||||
(1, 248585),
|
||||
(1, 248586),
|
||||
(1, 248587),
|
||||
(1, 248588),
|
||||
(1, 248589),
|
||||
(1, 248590),
|
||||
(1, 248591),
|
||||
(1, 248592),
|
||||
(1, 248593),
|
||||
(1, 248594);
|
||||
|
||||
-- remove duplicate spawns
|
||||
DELETE FROM `creature` WHERE (`id1` IN (25889, 25903, 25905, 25907, 25912, 25913, 25918, 25926, 25938, 32804, 32814)) AND (`guid` IN (245646, 245660, 245662, 245664, 245669, 245670, 245675, 245682, 245694, 248572, 248575));
|
||||
DELETE FROM `creature_addon` WHERE (`guid` IN (245646, 245660, 245662, 245664, 245669, 245670, 245675, 245682, 245694, 248572, 248575));
|
||||
DELETE FROM `game_event_creature` WHERE (`guid` IN (245646, 245660, 245662, 245664, 245669, 245670, 245675, 245682, 245694, 248572, 248575));
|
||||
@@ -30,10 +30,8 @@
|
||||
#include "SecretMgr.h"
|
||||
#include "StringConvert.h"
|
||||
#include "TOTP.h"
|
||||
#include "Timer.h"
|
||||
#include "Util.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <openssl/crypto.h>
|
||||
|
||||
using boost::asio::ip::tcp;
|
||||
|
||||
|
||||
@@ -740,6 +740,7 @@ Logger.spells.scripts=2,Console Errors
|
||||
#Logger.scripts.ai.sai=4,Console Server
|
||||
#Logger.scripts.ai=4,Console Server
|
||||
#Logger.scripts.cos=4,Console Server
|
||||
#Logger.scripts.midsummer=4,Console Server
|
||||
#Logger.scripts=4,Console Server
|
||||
#Logger.server.authserver=4,Console Server
|
||||
#Logger.spells.aura.effect.nospell=4,Console Server
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
#include "DatabaseLoader.h"
|
||||
#include "GitRevision.h"
|
||||
#include "Log.h"
|
||||
#include "QueryResult.h"
|
||||
#include "StartProcess.h"
|
||||
#include "UpdateFetcher.h"
|
||||
#include <filesystem>
|
||||
|
||||
@@ -2193,6 +2193,11 @@ bool Creature::IsImmunedToSpell(SpellInfo const* spellInfo, Spell const* spell)
|
||||
if (!spellInfo)
|
||||
return false;
|
||||
|
||||
if (spellInfo->HasAttribute(SPELL_ATTR0_CU_BYPASS_MECHANIC_IMMUNITY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Xinef: this should exclude self casts...
|
||||
// Spells that don't have effectMechanics.
|
||||
if (spellInfo->Mechanic > MECHANIC_NONE && HasMechanicTemplateImmunity(1 << (spellInfo->Mechanic - 1)))
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "ObjectMgr.h"
|
||||
#include "AccountMgr.h"
|
||||
#include "AchievementMgr.h"
|
||||
#include "ArenaTeamMgr.h"
|
||||
#include "CharacterCache.h"
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#include "GridNotifiers.h"
|
||||
#include "Map.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellMgr.h"
|
||||
#include "Transport.h"
|
||||
#include "UpdateData.h"
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include "Battleground.h"
|
||||
#include "Group.h"
|
||||
#include "InstanceSaveMgr.h"
|
||||
#include "MMapFactory.h"
|
||||
#include "MapMgr.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "Player.h"
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
#include "MoveSpline.h"
|
||||
#include "MoveSplineInit.h"
|
||||
#include "Player.h"
|
||||
#include "World.h"
|
||||
|
||||
template<class T>
|
||||
void EscortMovementGenerator<T>::DoInitialize(T* unit)
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
#include "CreatureAI.h"
|
||||
#include "DisableMgr.h"
|
||||
#include "MoveSplineInit.h"
|
||||
#include "WorldPacket.h"
|
||||
|
||||
void HomeMovementGenerator<Creature>::DoInitialize(Creature* owner)
|
||||
{
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
#include "Common.h"
|
||||
#include "GameTime.h"
|
||||
#include "GridNotifiers.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Log.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "ObjectMgr.h"
|
||||
|
||||
@@ -204,6 +204,7 @@ enum SpellCustomAttributes
|
||||
SPELL_ATTR0_CU_FORCE_SEND_CATEGORY_COOLDOWNS = 0x10000000,
|
||||
SPELL_ATTR0_CU_FORCE_AURA_SAVING = 0x20000800,
|
||||
SPELL_ATTR0_CU_ENCOUNTER_REWARD = 0x40000000, // pussywizard
|
||||
SPELL_ATTR0_CU_BYPASS_MECHANIC_IMMUNITY = 0x80000000,
|
||||
|
||||
SPELL_ATTR0_CU_NEGATIVE = SPELL_ATTR0_CU_NEGATIVE_EFF0 | SPELL_ATTR0_CU_NEGATIVE_EFF1 | SPELL_ATTR0_CU_NEGATIVE_EFF2,
|
||||
SPELL_ATTR0_CU_POSITIVE = SPELL_ATTR0_CU_POSITIVE_EFF0 | SPELL_ATTR0_CU_POSITIVE_EFF1 | SPELL_ATTR0_CU_POSITIVE_EFF2,
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "CharacterDatabaseCleaner.h"
|
||||
#include "Common.h"
|
||||
#include "DBCStores.h"
|
||||
#include "Database/DatabaseEnv.h"
|
||||
#include "Log.h"
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include "CommandScript.h"
|
||||
#include "DatabaseEnv.h"
|
||||
#include "Item.h"
|
||||
#include "Language.h"
|
||||
#include "Mail.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "Pet.h"
|
||||
|
||||
@@ -24,10 +24,8 @@
|
||||
|
||||
#include "Chat.h"
|
||||
#include "CommandScript.h"
|
||||
#include "Config.h"
|
||||
#include "GameTime.h"
|
||||
#include "GitRevision.h"
|
||||
#include "Language.h"
|
||||
#include "ModuleMgr.h"
|
||||
#include "MotdMgr.h"
|
||||
#include "MySQLThreading.h"
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
#include "Chat.h"
|
||||
#include "CommandScript.h"
|
||||
#include "Player.h"
|
||||
#include "World.h"
|
||||
|
||||
using namespace Acore::ChatCommands;
|
||||
|
||||
|
||||
@@ -27,7 +27,6 @@ EndScriptData */
|
||||
#include "DBCStores.h"
|
||||
#include "DatabaseEnv.h"
|
||||
#include "Group.h"
|
||||
#include "Language.h"
|
||||
#include "MapMgr.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "Player.h"
|
||||
|
||||
@@ -26,7 +26,6 @@ EndScriptData */
|
||||
#include "Chat.h"
|
||||
#include "CommandScript.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "Opcodes.h"
|
||||
#include "Player.h"
|
||||
#include "Realm.h"
|
||||
#include "TicketMgr.h"
|
||||
|
||||
@@ -25,7 +25,6 @@ EndScriptData */
|
||||
#include "Chat.h"
|
||||
#include "CommandScript.h"
|
||||
#include "DBCStores.h"
|
||||
#include "Language.h"
|
||||
#include "Player.h"
|
||||
|
||||
using namespace Acore::ChatCommands;
|
||||
|
||||
@@ -24,7 +24,6 @@ EndScriptData */
|
||||
|
||||
#include "Chat.h"
|
||||
#include "CommandScript.h"
|
||||
#include "Language.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "Player.h"
|
||||
#include "WaypointMgr.h"
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
/*
|
||||
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Affero General Public License as published by the
|
||||
* Free Software Foundation; either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* ScriptData
|
||||
SDName: Alterac_Mountains
|
||||
SD%Complete: 0
|
||||
SDComment: Placeholder
|
||||
SDCategory: Alterac Mountains
|
||||
EndScriptData */
|
||||
|
||||
/* ContentData
|
||||
EndContentData */
|
||||
|
||||
//#include "CreatureScript.h"
|
||||
//#include "ScriptedCreature.h"
|
||||
|
||||
/*void AddSC_alterac_mountains()
|
||||
{
|
||||
Script* newscript;
|
||||
}*/
|
||||
@@ -1,18 +0,0 @@
|
||||
/*
|
||||
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Affero General Public License as published by the
|
||||
* Free Software Foundation; either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
//void AddSC_ironforge() { }
|
||||
@@ -16,9 +16,11 @@
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "GameEventMgr.h"
|
||||
#include "GameObjectScript.h"
|
||||
#include "GameTime.h"
|
||||
#include "Player.h"
|
||||
#include "PlayerScript.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "Spell.h"
|
||||
@@ -29,10 +31,28 @@
|
||||
|
||||
enum eBonfire
|
||||
{
|
||||
GO_MIDSUMMER_BONFIRE = 181288,
|
||||
GO_MIDSUMMER_BONFIRE_CAMPFIRE_SPELL_FOCUS = 181377,
|
||||
GO_AHUNE_BONFIRE = 188073,
|
||||
|
||||
SPELL_MIDSUMMER_BONFIRE_BUNNIES_2 = 29114,
|
||||
|
||||
SPELL_STAMP_OUT_BONFIRE = 45437,
|
||||
SPELL_LIGHT_BONFIRE = 29831,
|
||||
SPELL_STAMP_OUT_BONFIRE_ART_KIT = 46903,
|
||||
|
||||
SPELL_TOSS_FUEL_ON_BONFIRE = 28806,
|
||||
SPELL_LIGHT_BONFIRE_ART_KIT = 46904,
|
||||
|
||||
SPELL_BONFIRES_BLESSING = 45444,
|
||||
|
||||
BONFIRE_TYPE_NONE = 0,
|
||||
BONFIRE_TYPE_ALLIANCE = 1,
|
||||
BONFIRE_TYPE_HORDE = 2,
|
||||
BONFIRE_TYPE_CITY = 3,
|
||||
BONFIRE_TYPE_AHUNE = 4,
|
||||
|
||||
COUNT_GO_BONFIRE_ALLIANCE = 40,
|
||||
COUNT_GO_BONFIRE_HORDE = 38,
|
||||
COUNT_GO_BONFIRE_CITY = 9,
|
||||
};
|
||||
|
||||
class go_midsummer_bonfire : public GameObjectScript
|
||||
@@ -49,6 +69,313 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
static bool BonfireStampedOutState[COUNT_GO_BONFIRE_ALLIANCE + COUNT_GO_BONFIRE_HORDE];
|
||||
|
||||
// <mapId, zoneId, teamId>, <state>
|
||||
const std::map<std::tuple<uint32, uint32, TeamId>, bool*> BonfireStateStore = {
|
||||
// Map 0
|
||||
{ { 0, 1, TEAM_ALLIANCE }, &BonfireStampedOutState[0] },
|
||||
{ { 0, 3, TEAM_HORDE }, &BonfireStampedOutState[1] },
|
||||
{ { 0, 4, TEAM_ALLIANCE }, &BonfireStampedOutState[2] },
|
||||
{ { 0, 8, TEAM_HORDE }, &BonfireStampedOutState[3] },
|
||||
{ { 0, 10, TEAM_ALLIANCE }, &BonfireStampedOutState[4] },
|
||||
{ { 0, 11, TEAM_ALLIANCE }, &BonfireStampedOutState[5] },
|
||||
{ { 0, 12, TEAM_ALLIANCE }, &BonfireStampedOutState[6] },
|
||||
{ { 0, 28, TEAM_ALLIANCE }, &BonfireStampedOutState[7] },
|
||||
{ { 0, 33, TEAM_ALLIANCE }, &BonfireStampedOutState[8] },
|
||||
{ { 0, 33, TEAM_HORDE }, &BonfireStampedOutState[9] },
|
||||
{ { 0, 38, TEAM_ALLIANCE }, &BonfireStampedOutState[10] },
|
||||
{ { 0, 40, TEAM_ALLIANCE }, &BonfireStampedOutState[11] },
|
||||
{ { 0, 44, TEAM_ALLIANCE }, &BonfireStampedOutState[12] },
|
||||
{ { 0, 45, TEAM_ALLIANCE }, &BonfireStampedOutState[13] },
|
||||
{ { 0, 45, TEAM_HORDE }, &BonfireStampedOutState[14] },
|
||||
{ { 0, 46, TEAM_ALLIANCE }, &BonfireStampedOutState[15] },
|
||||
{ { 0, 46, TEAM_HORDE }, &BonfireStampedOutState[16] },
|
||||
{ { 0, 47, TEAM_ALLIANCE }, &BonfireStampedOutState[17] },
|
||||
{ { 0, 47, TEAM_HORDE }, &BonfireStampedOutState[18] },
|
||||
{ { 0, 85, TEAM_HORDE }, &BonfireStampedOutState[19] },
|
||||
{ { 0, 130, TEAM_HORDE }, &BonfireStampedOutState[20] },
|
||||
{ { 0, 267, TEAM_ALLIANCE }, &BonfireStampedOutState[21] },
|
||||
{ { 0, 267, TEAM_HORDE }, &BonfireStampedOutState[22] },
|
||||
|
||||
// Map 1
|
||||
{ { 1, 14, TEAM_HORDE }, &BonfireStampedOutState[23] },
|
||||
{ { 1, 15, TEAM_ALLIANCE }, &BonfireStampedOutState[24] },
|
||||
{ { 1, 15, TEAM_HORDE }, &BonfireStampedOutState[25] },
|
||||
{ { 1, 17, TEAM_HORDE }, &BonfireStampedOutState[26] },
|
||||
{ { 1, 141, TEAM_ALLIANCE }, &BonfireStampedOutState[27] },
|
||||
{ { 1, 148, TEAM_ALLIANCE }, &BonfireStampedOutState[28] },
|
||||
{ { 1, 215, TEAM_HORDE }, &BonfireStampedOutState[29] },
|
||||
{ { 1, 331, TEAM_ALLIANCE }, &BonfireStampedOutState[30] },
|
||||
{ { 1, 331, TEAM_HORDE }, &BonfireStampedOutState[31] },
|
||||
{ { 1, 357, TEAM_ALLIANCE }, &BonfireStampedOutState[32] },
|
||||
{ { 1, 357, TEAM_HORDE }, &BonfireStampedOutState[33] },
|
||||
{ { 1, 400, TEAM_HORDE }, &BonfireStampedOutState[34] },
|
||||
{ { 1, 405, TEAM_ALLIANCE }, &BonfireStampedOutState[35] },
|
||||
{ { 1, 405, TEAM_HORDE }, &BonfireStampedOutState[36] },
|
||||
{ { 1, 406, TEAM_HORDE }, &BonfireStampedOutState[37] },
|
||||
{ { 1, 440, TEAM_ALLIANCE }, &BonfireStampedOutState[38] },
|
||||
{ { 1, 440, TEAM_HORDE }, &BonfireStampedOutState[39] },
|
||||
{ { 1, 618, TEAM_ALLIANCE }, &BonfireStampedOutState[40] },
|
||||
{ { 1, 618, TEAM_HORDE }, &BonfireStampedOutState[41] },
|
||||
{ { 1, 1377, TEAM_ALLIANCE }, &BonfireStampedOutState[42] },
|
||||
{ { 1, 1377, TEAM_HORDE }, &BonfireStampedOutState[43] },
|
||||
|
||||
// Map 530
|
||||
{ { 530, 3430, TEAM_HORDE }, &BonfireStampedOutState[44] },
|
||||
{ { 530, 3433, TEAM_HORDE }, &BonfireStampedOutState[45] },
|
||||
{ { 530, 3483, TEAM_ALLIANCE }, &BonfireStampedOutState[46] },
|
||||
{ { 530, 3483, TEAM_HORDE }, &BonfireStampedOutState[47] },
|
||||
{ { 530, 3518, TEAM_ALLIANCE }, &BonfireStampedOutState[48] },
|
||||
{ { 530, 3518, TEAM_HORDE }, &BonfireStampedOutState[49] },
|
||||
{ { 530, 3519, TEAM_ALLIANCE }, &BonfireStampedOutState[50] },
|
||||
{ { 530, 3519, TEAM_HORDE }, &BonfireStampedOutState[51] },
|
||||
{ { 530, 3520, TEAM_ALLIANCE }, &BonfireStampedOutState[52] },
|
||||
{ { 530, 3520, TEAM_HORDE }, &BonfireStampedOutState[53] },
|
||||
{ { 530, 3521, TEAM_ALLIANCE }, &BonfireStampedOutState[54] },
|
||||
{ { 530, 3521, TEAM_HORDE }, &BonfireStampedOutState[55] },
|
||||
{ { 530, 3522, TEAM_ALLIANCE }, &BonfireStampedOutState[56] },
|
||||
{ { 530, 3522, TEAM_HORDE }, &BonfireStampedOutState[57] },
|
||||
{ { 530, 3523, TEAM_ALLIANCE }, &BonfireStampedOutState[58] },
|
||||
{ { 530, 3523, TEAM_HORDE }, &BonfireStampedOutState[59] },
|
||||
{ { 530, 3524, TEAM_ALLIANCE }, &BonfireStampedOutState[60] },
|
||||
{ { 530, 3525, TEAM_ALLIANCE }, &BonfireStampedOutState[61] },
|
||||
|
||||
// Map 571
|
||||
{ { 571, 65, TEAM_ALLIANCE }, &BonfireStampedOutState[62] },
|
||||
{ { 571, 65, TEAM_HORDE }, &BonfireStampedOutState[63] },
|
||||
{ { 571, 66, TEAM_ALLIANCE }, &BonfireStampedOutState[64] },
|
||||
{ { 571, 66, TEAM_HORDE }, &BonfireStampedOutState[65] },
|
||||
{ { 571, 67, TEAM_ALLIANCE }, &BonfireStampedOutState[66] },
|
||||
{ { 571, 67, TEAM_HORDE }, &BonfireStampedOutState[67] },
|
||||
{ { 571, 394, TEAM_ALLIANCE }, &BonfireStampedOutState[68] },
|
||||
{ { 571, 394, TEAM_HORDE }, &BonfireStampedOutState[69] },
|
||||
{ { 571, 495, TEAM_ALLIANCE }, &BonfireStampedOutState[70] },
|
||||
{ { 571, 495, TEAM_HORDE }, &BonfireStampedOutState[71] },
|
||||
{ { 571, 2817, TEAM_ALLIANCE }, &BonfireStampedOutState[72] },
|
||||
{ { 571, 2817, TEAM_HORDE }, &BonfireStampedOutState[73] },
|
||||
{ { 571, 3537, TEAM_ALLIANCE }, &BonfireStampedOutState[74] },
|
||||
{ { 571, 3537, TEAM_HORDE }, &BonfireStampedOutState[75] },
|
||||
{ { 571, 3711, TEAM_ALLIANCE }, &BonfireStampedOutState[76] },
|
||||
{ { 571, 3711, TEAM_HORDE }, &BonfireStampedOutState[77] },
|
||||
};
|
||||
|
||||
uint32 const GoBonfireAlliance[COUNT_GO_BONFIRE_ALLIANCE] = { 187564, 187914, 187916, 187917, 187919, 187920, 187921, 187922, 187923, 187924, 187925, 187926, 187927, 187928, 187929, 187930, 187931, 187932, 187933, 187934, 187935, 187936, 187937, 187938, 187939, 187940, 187941, 187942, 187943, 187944, 187945, 187946, 194032, 194035, 194036, 194038, 194040, 194044, 194045, 194049 };
|
||||
uint32 const GoBonfireHorde[COUNT_GO_BONFIRE_HORDE] = { 187559, 187947, 187948, 187949, 187950, 187951, 187952, 187953, 187954, 187955, 187956, 187957, 187958, 187959, 187960, 187961, 187962, 187963, 187964, 187965, 187966, 187967, 187968, 187969, 187970, 187971, 187972, 187973, 187974, 187975, 194033, 194034, 194037, 194039, 194042, 194043, 194046, 194048 };
|
||||
uint32 const GoBonfireCity[COUNT_GO_BONFIRE_CITY] = { 181332, 181333, 181334, 181335, 181336, 181337, 188128, 188129, 188352 };
|
||||
|
||||
class MidsummerPlayerScript : public PlayerScript
|
||||
{
|
||||
public:
|
||||
MidsummerPlayerScript() : PlayerScript("MidsummerPlayerScript")
|
||||
{
|
||||
}
|
||||
|
||||
void OnUpdateZone(Player* player, uint32 newZone, uint32 /*newArea*/) override
|
||||
{
|
||||
if (!IsHolidayActive(HOLIDAY_FIRE_FESTIVAL))
|
||||
return;
|
||||
|
||||
auto itr = BonfireStateStore.find(std::make_tuple(player->GetMapId(), newZone, player->GetTeamId()));
|
||||
if ((itr != BonfireStateStore.end()) && (itr->second))
|
||||
{
|
||||
if (!(*(itr->second)))
|
||||
{
|
||||
if (!player->HasAura(SPELL_BONFIRES_BLESSING))
|
||||
player->CastSpell(player, SPELL_BONFIRES_BLESSING, true);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
player->RemoveAurasDueToSpell(SPELL_BONFIRES_BLESSING);
|
||||
}
|
||||
};
|
||||
|
||||
struct npc_midsummer_bonfire : public ScriptedAI
|
||||
{
|
||||
npc_midsummer_bonfire(Creature* creature) : ScriptedAI(creature)
|
||||
{
|
||||
_isStampedOut = nullptr;
|
||||
_teamId = TEAM_NEUTRAL;
|
||||
_type = BONFIRE_TYPE_NONE;
|
||||
_spellFocus = nullptr;
|
||||
|
||||
if (!IsHolidayActive(HOLIDAY_FIRE_FESTIVAL))
|
||||
return;
|
||||
|
||||
scheduler.Schedule(420ms, [this](TaskContext context)
|
||||
{
|
||||
if (!InitBonfire())
|
||||
context.Repeat();
|
||||
});
|
||||
}
|
||||
|
||||
void Ignite()
|
||||
{
|
||||
if (_isStampedOut)
|
||||
*_isStampedOut = false;
|
||||
|
||||
if (!_spellFocus)
|
||||
{
|
||||
DoCastSelf(SPELL_MIDSUMMER_BONFIRE_BUNNIES_2, true);
|
||||
|
||||
if ((_spellFocus = me->FindNearestGameObject(GO_MIDSUMMER_BONFIRE_CAMPFIRE_SPELL_FOCUS, 10.0f)))
|
||||
me->AddGameObject(_spellFocus);
|
||||
}
|
||||
|
||||
switch (_type)
|
||||
{
|
||||
case BONFIRE_TYPE_ALLIANCE:
|
||||
case BONFIRE_TYPE_HORDE:
|
||||
DoCastSelf(SPELL_LIGHT_BONFIRE_ART_KIT, true);
|
||||
UpdateBonfireBlessingBuffs();
|
||||
break;
|
||||
case BONFIRE_TYPE_AHUNE:
|
||||
if (_bonfire)
|
||||
_bonfire->SetGoState(GO_STATE_ACTIVE);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void StampOut()
|
||||
{
|
||||
switch (_type)
|
||||
{
|
||||
case BONFIRE_TYPE_ALLIANCE:
|
||||
case BONFIRE_TYPE_HORDE:
|
||||
if (_isStampedOut)
|
||||
*_isStampedOut = true;
|
||||
|
||||
if (_spellFocus)
|
||||
{
|
||||
_spellFocus->DespawnOrUnsummon();
|
||||
_spellFocus = nullptr;
|
||||
}
|
||||
|
||||
DoCastSelf(SPELL_STAMP_OUT_BONFIRE_ART_KIT, true);
|
||||
UpdateBonfireBlessingBuffs();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateBonfireBlessingBuffs()
|
||||
{
|
||||
if ((_type != BONFIRE_TYPE_ALLIANCE) && (_type != BONFIRE_TYPE_HORDE))
|
||||
return;
|
||||
|
||||
me->GetMap()->DoForAllPlayers([&](Player* p)
|
||||
{
|
||||
if ((p->GetZoneId() == me->GetZoneId()) && (p->GetTeamId() == _teamId))
|
||||
{
|
||||
if (_isStampedOut)
|
||||
{
|
||||
if (*_isStampedOut)
|
||||
p->RemoveAurasDueToSpell(SPELL_BONFIRES_BLESSING);
|
||||
else
|
||||
{
|
||||
if (!p->HasAura(SPELL_BONFIRES_BLESSING))
|
||||
p->CastSpell(p, SPELL_BONFIRES_BLESSING, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
bool InitBonfire()
|
||||
{
|
||||
_type = BONFIRE_TYPE_NONE;
|
||||
_teamId = TEAM_NEUTRAL;
|
||||
|
||||
for (uint32 i = 0; (i < COUNT_GO_BONFIRE_ALLIANCE) && (_type == BONFIRE_TYPE_NONE); i++)
|
||||
{
|
||||
if ((_bonfire = me->FindNearestGameObject(GoBonfireAlliance[i], 10.0f)))
|
||||
{
|
||||
_type = BONFIRE_TYPE_ALLIANCE;
|
||||
_teamId = TEAM_ALLIANCE;
|
||||
}
|
||||
}
|
||||
|
||||
for (uint32 i = 0; (i < COUNT_GO_BONFIRE_HORDE) && (_type == BONFIRE_TYPE_NONE); i++)
|
||||
{
|
||||
if ((_bonfire = me->FindNearestGameObject(GoBonfireHorde[i], 10.0f)))
|
||||
{
|
||||
_type = BONFIRE_TYPE_HORDE;
|
||||
_teamId = TEAM_HORDE;
|
||||
}
|
||||
}
|
||||
|
||||
for (uint32 i = 0; (i < COUNT_GO_BONFIRE_CITY) && (_type == BONFIRE_TYPE_NONE); i++)
|
||||
{
|
||||
if ((_bonfire = me->FindNearestGameObject(GoBonfireCity[i], 10.0f)))
|
||||
{
|
||||
_type = BONFIRE_TYPE_CITY;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if ((_type == BONFIRE_TYPE_NONE) && (_bonfire = me->FindNearestGameObject(GO_AHUNE_BONFIRE, 10.0f)))
|
||||
{
|
||||
_type = BONFIRE_TYPE_AHUNE;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_type == BONFIRE_TYPE_NONE)
|
||||
return false;
|
||||
|
||||
auto itr = BonfireStateStore.find(std::make_tuple(me->GetMapId(), me->GetZoneId(), _teamId));
|
||||
if ((itr != BonfireStateStore.end()) && (itr->second))
|
||||
_isStampedOut = itr->second;
|
||||
else
|
||||
LOG_ERROR("scripts.midsummer", "NPC {} (GUID{}) in map {}, zone {} with teamId {} can't locate its entry within BonfireStateStore", me->GetGUID().GetEntry(), me->GetSpawnId(), me->GetMapId(), me->GetZoneId(), _teamId);
|
||||
|
||||
Ignite();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void SpellHit(Unit* caster, SpellInfo const* spellInfo) override
|
||||
{
|
||||
if (caster->GetTypeId() != TYPEID_PLAYER)
|
||||
return;
|
||||
|
||||
switch (spellInfo->Id)
|
||||
{
|
||||
case SPELL_TOSS_FUEL_ON_BONFIRE:
|
||||
{
|
||||
Ignite();
|
||||
break;
|
||||
}
|
||||
case SPELL_STAMP_OUT_BONFIRE:
|
||||
{
|
||||
StampOut();
|
||||
|
||||
// desecrating other faction's bonfire flags player for PVP
|
||||
caster->SetPvP(true);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
scheduler.Update(diff);
|
||||
}
|
||||
|
||||
private:
|
||||
bool* _isStampedOut;
|
||||
TeamId _teamId;
|
||||
uint8 _type;
|
||||
GameObject* _spellFocus;
|
||||
GameObject* _bonfire;
|
||||
};
|
||||
|
||||
enum torchToss
|
||||
{
|
||||
GO_TORCH_TARGET_BRAZIER = 187708,
|
||||
@@ -172,6 +499,30 @@ struct npc_midsummer_torch_target : public ScriptedAI
|
||||
// SPELLS
|
||||
///////////////////////////////
|
||||
|
||||
class spell_bonfires_blessing : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_bonfires_blessing)
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_BONFIRES_BLESSING });
|
||||
}
|
||||
|
||||
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
if (!IsHolidayActive(HOLIDAY_FIRE_FESTIVAL))
|
||||
{
|
||||
if (Unit* target = GetTarget())
|
||||
target->RemoveAurasDueToSpell(SPELL_BONFIRES_BLESSING);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_bonfires_blessing::OnApply, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
}
|
||||
};
|
||||
|
||||
enum CrabDisguise
|
||||
{
|
||||
SPELL_CRAB_DISGUISE = 46337,
|
||||
@@ -879,12 +1230,17 @@ class spell_midsummer_torch_catch : public SpellScript
|
||||
|
||||
void AddSC_event_midsummer_scripts()
|
||||
{
|
||||
// Player
|
||||
new MidsummerPlayerScript();
|
||||
|
||||
// NPCs
|
||||
new go_midsummer_bonfire();
|
||||
RegisterCreatureAI(npc_midsummer_bonfire);
|
||||
RegisterCreatureAI(npc_midsummer_torch_target);
|
||||
RegisterCreatureAI(npc_midsummer_ribbon_pole_target);
|
||||
|
||||
// Spells
|
||||
RegisterSpellScript(spell_bonfires_blessing);
|
||||
RegisterSpellScript(spell_gen_crab_disguise);
|
||||
RegisterSpellScript(spell_midsummer_ribbon_pole_firework);
|
||||
RegisterSpellScript(spell_midsummer_ribbon_pole);
|
||||
|
||||
@@ -23,7 +23,6 @@ SDCategory: Caverns of Time, Mount Hyjal
|
||||
EndScriptData */
|
||||
|
||||
#include "Chat.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Opcodes.h"
|
||||
|
||||
-1
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "EventMap.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
|
||||
@@ -15,11 +15,9 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "the_black_morass.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
#include "GridNotifiersImpl.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedGossip.h"
|
||||
|
||||
/*######
|
||||
## npc_belnistrasz for Quest 3525 "Extinguishing the Idol"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "TaskScheduler.h"
|
||||
#include "ruins_of_ahnqiraj.h"
|
||||
|
||||
enum Emotes
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "CreatureGroups.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Player.h"
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "CreatureGroups.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Player.h"
|
||||
|
||||
@@ -17,14 +17,12 @@
|
||||
|
||||
#include "zulfarrak.h"
|
||||
#include "Cell.h"
|
||||
#include "CellImpl.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "GameObject.h"
|
||||
#include "GameObjectAI.h"
|
||||
#include "GameObjectScript.h"
|
||||
#include "GridNotifiers.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "MotionMaster.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptSystem.h"
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "GameTime.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedGossip.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "Group.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
|
||||
@@ -35,7 +35,6 @@ EndContentData */
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedEscortAI.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "SpellInfo.h"
|
||||
|
||||
/*######
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
|
||||
-1
@@ -17,7 +17,6 @@
|
||||
|
||||
#include "AreaBoundary.h"
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "Vehicle.h"
|
||||
#include "WorldSession.h"
|
||||
#include "ruby_sanctum.h"
|
||||
|
||||
enum Texts
|
||||
|
||||
-1
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "Group.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "Player.h"
|
||||
|
||||
-1
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "GameTime.h"
|
||||
#include "Group.h"
|
||||
#include "InstanceMapScript.h"
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "WorldSession.h"
|
||||
#include "pit_of_saron.h"
|
||||
|
||||
enum Yells
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "Vehicle.h"
|
||||
#include "WorldSession.h"
|
||||
#include "pit_of_saron.h"
|
||||
|
||||
enum Yells
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "gundrak.h"
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
#include "Vehicle.h"
|
||||
#include "Weather.h"
|
||||
#include "icecrown_citadel.h"
|
||||
#include "GridNotifiersImpl.h"
|
||||
|
||||
enum Texts
|
||||
{
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "AreaTriggerScript.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "GameObjectScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Player.h"
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "AccountMgr.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "CreatureTextMgr.h"
|
||||
#include "Group.h"
|
||||
#include "InstanceMapScript.h"
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#include "CombatAI.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "GameObjectScript.h"
|
||||
#include "MoveSpline.h"
|
||||
#include "MoveSplineInit.h"
|
||||
#include "Opcodes.h"
|
||||
#include "PassiveAI.h"
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include "CreatureScript.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "nexus.h"
|
||||
|
||||
enum Spells
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "Group.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "LFGMgr.h"
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#include "CombatAI.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "MotionMaster.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "WorldSession.h"
|
||||
|
||||
// Ours
|
||||
enum eDrakeHunt
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
#include "PassiveAI.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "Vehicle.h"
|
||||
#include "WaypointMgr.h"
|
||||
#include "WorldSession.h"
|
||||
|
||||
// Ours
|
||||
enum qSniffing
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
#include "OutdoorPvPZM.h"
|
||||
#include "Creature.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "GameGraveyard.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "ObjectMgr.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Map.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Map.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "sethekk_halls.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
|
||||
@@ -79,9 +79,26 @@ struct boss_the_lurker_below : public BossAI
|
||||
void EnterEvadeMode(EvadeReason why) override
|
||||
{
|
||||
BossAI::EnterEvadeMode(why);
|
||||
if (GameObject* pool = instance->GetGameObject(DATA_STRANGE_POOL))
|
||||
{
|
||||
pool->Respawn();
|
||||
}
|
||||
me->DespawnOrUnsummon(2000);
|
||||
}
|
||||
|
||||
void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*type*/, SpellSchoolMask /*school*/) override
|
||||
{
|
||||
if (damage >= me->GetHealth())
|
||||
{
|
||||
// Liquid state around his area is working awkwardly and doesn't consider him to be swimming
|
||||
// Therefore he falls to the bottom of the lake when he dies, because he is "flying" in his pool
|
||||
// Removing this prevents him from dropping to the bottom of the lake
|
||||
// There is also a visual issue currently causing him to drop to the bottom of the lake but his body not update clientside
|
||||
// So it looks as if he was floating but he has in fact dropped to the bottom of the lake, and thus becomes unlootable
|
||||
me->SetDisableGravity(false);
|
||||
}
|
||||
}
|
||||
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action == ACTION_START_EVENT)
|
||||
@@ -228,6 +245,10 @@ public:
|
||||
player->CastSpell(player, SPELL_LURKER_SPAWN_TRIGGER, true);
|
||||
if (Creature* lurker = go->SummonCreature(NPC_THE_LURKER_BELOW, 38.4567f, -417.324f, -18.916666f, 2.94960f, TEMPSUMMON_MANUAL_DESPAWN))
|
||||
lurker->AI()->DoAction(ACTION_START_EVENT);
|
||||
|
||||
go->DespawnOrUnsummon();
|
||||
go->SetRespawnDelay(7 * DAY);
|
||||
go->SaveRespawnTime();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
+7
-1
@@ -40,6 +40,12 @@ ObjectData const creatureData[] =
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
ObjectData const gameObjectData[] =
|
||||
{
|
||||
{ GO_STRANGE_POOL, DATA_STRANGE_POOL },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
MinionData const minionData[] =
|
||||
{
|
||||
{ NPC_FATHOM_GUARD_SHARKKIS, DATA_FATHOM_LORD_KARATHRESS },
|
||||
@@ -69,7 +75,7 @@ public:
|
||||
SetHeaders(DataHeader);
|
||||
SetBossNumber(MAX_ENCOUNTERS);
|
||||
LoadDoorData(doorData);
|
||||
LoadObjectData(creatureData, nullptr);
|
||||
LoadObjectData(creatureData, gameObjectData);
|
||||
LoadMinionData(minionData);
|
||||
LoadBossBoundaries(boundaries);
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ enum DataTypes
|
||||
DATA_ALIVE_KEEPERS = 22,
|
||||
DATA_BRIDGE_ACTIVATED = 23,
|
||||
DATA_ACTIVATE_SHIELD = 24,
|
||||
DATA_STRANGE_POOL = 25
|
||||
};
|
||||
|
||||
enum SSNPCs
|
||||
@@ -77,7 +78,9 @@ enum SSNPCs
|
||||
GO_SHIELD_GENERATOR1 = 185051,
|
||||
GO_SHIELD_GENERATOR2 = 185052,
|
||||
GO_SHIELD_GENERATOR3 = 185053,
|
||||
GO_SHIELD_GENERATOR4 = 185054
|
||||
GO_SHIELD_GENERATOR4 = 185054,
|
||||
|
||||
GO_STRANGE_POOL = 184956
|
||||
};
|
||||
|
||||
enum SSSpells
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
*/
|
||||
|
||||
#include "Creature.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Map.h"
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
#include "the_slave_pens.h"
|
||||
#include "AreaTriggerScript.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Player.h"
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "GameObjectScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Map.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "gruuls_lair.h"
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "CreatureAI.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "blood_furnace.h"
|
||||
|
||||
-1
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "hellfire_ramparts.h"
|
||||
|
||||
-1
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "magtheridons_lair.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "mechanar.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "arcatraz.h"
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
#include "Battleground.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "GameTime.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "Pet.h"
|
||||
#include "Player.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "Group.h"
|
||||
#include "Player.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
|
||||
@@ -1418,7 +1418,7 @@ public:
|
||||
{
|
||||
stoneSpell = SPELL_CREATE_MASTER_HEALTH_STONE_R1;
|
||||
}
|
||||
else if (owner->HasAura(SPELL_CREATE_MASTER_HEALTH_STONE_R2))
|
||||
else if (owner->HasAura(SPELL_IMPROVED_HEALTH_STONE_R2))
|
||||
{
|
||||
stoneSpell = SPELL_CREATE_MASTER_HEALTH_STONE_R2;
|
||||
}
|
||||
@@ -1432,7 +1432,7 @@ public:
|
||||
{
|
||||
stoneSpell = SPELL_CREATE_FEL_HEALTH_STONE_R1;
|
||||
}
|
||||
else if (owner->HasAura(SPELL_CREATE_MASTER_HEALTH_STONE_R2))
|
||||
else if (owner->HasAura(SPELL_IMPROVED_HEALTH_STONE_R2))
|
||||
{
|
||||
stoneSpell = SPELL_CREATE_FEL_HEALTH_STONE_R2;
|
||||
}
|
||||
|
||||
@@ -15,159 +15,10 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* ScriptData
|
||||
SDName: Generic_Creature
|
||||
SD%Complete: 80
|
||||
SDComment: Should be replaced with core based AI
|
||||
SDCategory: Creatures
|
||||
EndScriptData */
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "PassiveAI.h"
|
||||
#include "ScriptedCreature.h"
|
||||
|
||||
#define GENERIC_CREATURE_COOLDOWN 5000
|
||||
|
||||
class generic_creature : public CreatureScript
|
||||
{
|
||||
public:
|
||||
generic_creature() : CreatureScript("generic_creature") { }
|
||||
|
||||
struct generic_creatureAI : public ScriptedAI
|
||||
{
|
||||
generic_creatureAI(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
uint32 GlobalCooldown; //This variable acts like the global cooldown that players have (1.5 seconds)
|
||||
uint32 BuffTimer; //This variable keeps track of buffs
|
||||
bool IsSelfRooted;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
GlobalCooldown = 0;
|
||||
BuffTimer = 0; //Rebuff as soon as we can
|
||||
IsSelfRooted = false;
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
if (!me->IsWithinMeleeRange(who))
|
||||
IsSelfRooted = true;
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
//Always decrease our global cooldown first
|
||||
if (GlobalCooldown > diff)
|
||||
GlobalCooldown -= diff;
|
||||
else GlobalCooldown = 0;
|
||||
|
||||
//Buff timer (only buff when we are alive and not in combat
|
||||
if (!me->IsInCombat() && me->IsAlive())
|
||||
{
|
||||
if (BuffTimer <= diff)
|
||||
{
|
||||
//Find a spell that targets friendly and applies an aura (these are generally buffs)
|
||||
SpellInfo const* info = SelectSpell(me, 0, 0, SELECT_TARGET_ANY_FRIEND, 0, 0, 0, 0, SELECT_EFFECT_AURA);
|
||||
|
||||
if (info && !GlobalCooldown)
|
||||
{
|
||||
//Cast the buff spell
|
||||
DoCastSpell(me, info);
|
||||
|
||||
//Set our global cooldown
|
||||
GlobalCooldown = GENERIC_CREATURE_COOLDOWN;
|
||||
|
||||
//Set our timer to 10 minutes before rebuff
|
||||
BuffTimer = 600000;
|
||||
}//Try agian in 30 seconds
|
||||
else BuffTimer = 30000;
|
||||
}
|
||||
else BuffTimer -= diff;
|
||||
}
|
||||
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//If we are within range melee the target
|
||||
if (me->IsWithinMeleeRange(me->GetVictim()))
|
||||
{
|
||||
//Make sure our attack is ready and we arn't currently casting
|
||||
if (me->isAttackReady() && !me->IsNonMeleeSpellCast(false))
|
||||
{
|
||||
bool Healing = false;
|
||||
SpellInfo const* info = nullptr;
|
||||
|
||||
//Select a healing spell if less than 30% hp
|
||||
if (HealthBelowPct(30))
|
||||
info = SelectSpell(me, 0, 0, SELECT_TARGET_ANY_FRIEND, 0, 0, 0, 0, SELECT_EFFECT_HEALING);
|
||||
|
||||
//No healing spell available, select a hostile spell
|
||||
if (info) Healing = true;
|
||||
else info = SelectSpell(me->GetVictim(), 0, 0, SELECT_TARGET_ANY_ENEMY, 0, 0, 0, 0, SELECT_EFFECT_DONTCARE);
|
||||
|
||||
//50% chance if elite or higher, 20% chance if not, to replace our white hit with a spell
|
||||
if (info && (rand() % (me->GetCreatureTemplate()->rank > 1 ? 2 : 5) == 0) && !GlobalCooldown)
|
||||
{
|
||||
//Cast the spell
|
||||
if (Healing)DoCastSpell(me, info);
|
||||
else DoCastSpell(me->GetVictim(), info);
|
||||
|
||||
//Set our global cooldown
|
||||
GlobalCooldown = GENERIC_CREATURE_COOLDOWN;
|
||||
}
|
||||
else me->AttackerStateUpdate(me->GetVictim());
|
||||
|
||||
me->resetAttackTimer();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Only run this code if we arn't already casting
|
||||
if (!me->IsNonMeleeSpellCast(false))
|
||||
{
|
||||
bool Healing = false;
|
||||
SpellInfo const* info = nullptr;
|
||||
|
||||
//Select a healing spell if less than 30% hp ONLY 33% of the time
|
||||
if (HealthBelowPct(30) && rand() % 3 == 0)
|
||||
info = SelectSpell(me, 0, 0, SELECT_TARGET_ANY_FRIEND, 0, 0, 0, 0, SELECT_EFFECT_HEALING);
|
||||
|
||||
//No healing spell available, See if we can cast a ranged spell (Range must be greater than ATTACK_DISTANCE)
|
||||
if (info) Healing = true;
|
||||
else info = SelectSpell(me->GetVictim(), 0, 0, SELECT_TARGET_ANY_ENEMY, 0, 0, NOMINAL_MELEE_RANGE, 0, SELECT_EFFECT_DONTCARE);
|
||||
|
||||
//Found a spell, check if we arn't on cooldown
|
||||
if (info && !GlobalCooldown)
|
||||
{
|
||||
//If we are currently moving stop us and set the movement generator
|
||||
if (!IsSelfRooted)
|
||||
IsSelfRooted = true;
|
||||
|
||||
//Cast spell
|
||||
if (Healing) DoCastSpell(me, info);
|
||||
else DoCastSpell(me->GetVictim(), info);
|
||||
|
||||
//Set our global cooldown
|
||||
GlobalCooldown = GENERIC_CREATURE_COOLDOWN;
|
||||
}//If no spells available and we arn't moving run to target
|
||||
else if (IsSelfRooted)
|
||||
{
|
||||
//Cancel our current spell and then allow movement agian
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
IsSelfRooted = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new generic_creatureAI(creature);
|
||||
}
|
||||
};
|
||||
|
||||
class trigger_periodic : public CreatureScript
|
||||
{
|
||||
public:
|
||||
@@ -204,30 +55,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class trigger_death : public CreatureScript
|
||||
{
|
||||
public:
|
||||
trigger_death() : CreatureScript("trigger_death") { }
|
||||
|
||||
struct trigger_deathAI : public NullCreatureAI
|
||||
{
|
||||
trigger_deathAI(Creature* creature) : NullCreatureAI(creature) { }
|
||||
void JustDied(Unit* killer) override
|
||||
{
|
||||
if (killer && me->m_spells[0])
|
||||
me->CastSpell(killer, me->m_spells[0], true);
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new trigger_deathAI(creature);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_generic_creature()
|
||||
{
|
||||
//new generic_creature;
|
||||
new trigger_periodic;
|
||||
//new trigger_death;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user