diff --git a/data/sql/updates/db_world/2023_12_24_00.sql b/data/sql/updates/db_world/2023_12_24_00.sql new file mode 100644 index 000000000..c5d0627d5 --- /dev/null +++ b/data/sql/updates/db_world/2023_12_24_00.sql @@ -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; diff --git a/data/sql/updates/db_world/2023_12_24_01.sql b/data/sql/updates/db_world/2023_12_24_01.sql new file mode 100644 index 000000000..10cbed774 --- /dev/null +++ b/data/sql/updates/db_world/2023_12_24_01.sql @@ -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)); diff --git a/data/sql/updates/db_world/2023_12_25_00.sql b/data/sql/updates/db_world/2023_12_25_00.sql new file mode 100644 index 000000000..a73e27582 --- /dev/null +++ b/data/sql/updates/db_world/2023_12_25_00.sql @@ -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); diff --git a/data/sql/updates/db_world/2023_12_25_01.sql b/data/sql/updates/db_world/2023_12_25_01.sql new file mode 100644 index 000000000..d1a0984ed --- /dev/null +++ b/data/sql/updates/db_world/2023_12_25_01.sql @@ -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; diff --git a/data/sql/updates/db_world/2023_12_26_00.sql b/data/sql/updates/db_world/2023_12_26_00.sql new file mode 100644 index 000000000..57d7a8dab --- /dev/null +++ b/data/sql/updates/db_world/2023_12_26_00.sql @@ -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); diff --git a/data/sql/updates/db_world/2023_12_28_00.sql b/data/sql/updates/db_world/2023_12_28_00.sql new file mode 100644 index 000000000..cd9dcb0f0 --- /dev/null +++ b/data/sql/updates/db_world/2023_12_28_00.sql @@ -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)); diff --git a/src/server/apps/authserver/Server/AuthSession.cpp b/src/server/apps/authserver/Server/AuthSession.cpp index bf98ab313..648939cb1 100644 --- a/src/server/apps/authserver/Server/AuthSession.cpp +++ b/src/server/apps/authserver/Server/AuthSession.cpp @@ -30,10 +30,8 @@ #include "SecretMgr.h" #include "StringConvert.h" #include "TOTP.h" -#include "Timer.h" #include "Util.h" #include -#include using boost::asio::ip::tcp; diff --git a/src/server/apps/worldserver/worldserver.conf.dist b/src/server/apps/worldserver/worldserver.conf.dist index 72f404faa..a011ae208 100644 --- a/src/server/apps/worldserver/worldserver.conf.dist +++ b/src/server/apps/worldserver/worldserver.conf.dist @@ -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 diff --git a/src/server/database/Updater/DBUpdater.cpp b/src/server/database/Updater/DBUpdater.cpp index 32607ec04..7b0da6bdd 100644 --- a/src/server/database/Updater/DBUpdater.cpp +++ b/src/server/database/Updater/DBUpdater.cpp @@ -22,7 +22,6 @@ #include "DatabaseLoader.h" #include "GitRevision.h" #include "Log.h" -#include "QueryResult.h" #include "StartProcess.h" #include "UpdateFetcher.h" #include diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 761745eb7..1ce918161 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -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))) diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index b176db33e..b182d06f0 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -16,7 +16,6 @@ */ #include "ObjectMgr.h" -#include "AccountMgr.h" #include "AchievementMgr.h" #include "ArenaTeamMgr.h" #include "CharacterCache.h" diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.cpp b/src/server/game/Grids/Notifiers/GridNotifiers.cpp index 7b25ab1bd..d69c9386b 100644 --- a/src/server/game/Grids/Notifiers/GridNotifiers.cpp +++ b/src/server/game/Grids/Notifiers/GridNotifiers.cpp @@ -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" diff --git a/src/server/game/Maps/MapInstanced.cpp b/src/server/game/Maps/MapInstanced.cpp index 12c6acf6b..b112dfad6 100644 --- a/src/server/game/Maps/MapInstanced.cpp +++ b/src/server/game/Maps/MapInstanced.cpp @@ -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" diff --git a/src/server/game/Movement/MovementGenerators/EscortMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/EscortMovementGenerator.cpp index 2f85ced8c..a25881893 100644 --- a/src/server/game/Movement/MovementGenerators/EscortMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/EscortMovementGenerator.cpp @@ -22,7 +22,6 @@ #include "MoveSpline.h" #include "MoveSplineInit.h" #include "Player.h" -#include "World.h" template void EscortMovementGenerator::DoInitialize(T* unit) diff --git a/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp index ee8c9dfcc..8cc50f25b 100644 --- a/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp @@ -20,7 +20,6 @@ #include "CreatureAI.h" #include "DisableMgr.h" #include "MoveSplineInit.h" -#include "WorldPacket.h" void HomeMovementGenerator::DoInitialize(Creature* owner) { diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 989b5d42e..f8c8117af 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -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" diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h index 06450274f..238274fab 100644 --- a/src/server/game/Spells/SpellInfo.h +++ b/src/server/game/Spells/SpellInfo.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, diff --git a/src/server/game/Tools/CharacterDatabaseCleaner.cpp b/src/server/game/Tools/CharacterDatabaseCleaner.cpp index 794135b21..2fc408007 100644 --- a/src/server/game/Tools/CharacterDatabaseCleaner.cpp +++ b/src/server/game/Tools/CharacterDatabaseCleaner.cpp @@ -16,7 +16,6 @@ */ #include "CharacterDatabaseCleaner.h" -#include "Common.h" #include "DBCStores.h" #include "Database/DatabaseEnv.h" #include "Log.h" diff --git a/src/server/scripts/Commands/cs_send.cpp b/src/server/scripts/Commands/cs_send.cpp index cac9cf014..cc2bd9c35 100644 --- a/src/server/scripts/Commands/cs_send.cpp +++ b/src/server/scripts/Commands/cs_send.cpp @@ -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" diff --git a/src/server/scripts/Commands/cs_server.cpp b/src/server/scripts/Commands/cs_server.cpp index 054ec2a7b..65bb8499d 100644 --- a/src/server/scripts/Commands/cs_server.cpp +++ b/src/server/scripts/Commands/cs_server.cpp @@ -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" diff --git a/src/server/scripts/Commands/cs_spectator.cpp b/src/server/scripts/Commands/cs_spectator.cpp index e20308249..540cedc49 100644 --- a/src/server/scripts/Commands/cs_spectator.cpp +++ b/src/server/scripts/Commands/cs_spectator.cpp @@ -21,7 +21,6 @@ #include "Chat.h" #include "CommandScript.h" #include "Player.h" -#include "World.h" using namespace Acore::ChatCommands; diff --git a/src/server/scripts/Commands/cs_tele.cpp b/src/server/scripts/Commands/cs_tele.cpp index 1264384ac..2acf9c7b0 100644 --- a/src/server/scripts/Commands/cs_tele.cpp +++ b/src/server/scripts/Commands/cs_tele.cpp @@ -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" diff --git a/src/server/scripts/Commands/cs_ticket.cpp b/src/server/scripts/Commands/cs_ticket.cpp index ecd3c9b6c..51ce4234c 100644 --- a/src/server/scripts/Commands/cs_ticket.cpp +++ b/src/server/scripts/Commands/cs_ticket.cpp @@ -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" diff --git a/src/server/scripts/Commands/cs_titles.cpp b/src/server/scripts/Commands/cs_titles.cpp index 8b5a6c949..860005621 100644 --- a/src/server/scripts/Commands/cs_titles.cpp +++ b/src/server/scripts/Commands/cs_titles.cpp @@ -25,7 +25,6 @@ EndScriptData */ #include "Chat.h" #include "CommandScript.h" #include "DBCStores.h" -#include "Language.h" #include "Player.h" using namespace Acore::ChatCommands; diff --git a/src/server/scripts/Commands/cs_wp.cpp b/src/server/scripts/Commands/cs_wp.cpp index 573d23026..62383a45a 100644 --- a/src/server/scripts/Commands/cs_wp.cpp +++ b/src/server/scripts/Commands/cs_wp.cpp @@ -24,7 +24,6 @@ EndScriptData */ #include "Chat.h" #include "CommandScript.h" -#include "Language.h" #include "ObjectMgr.h" #include "Player.h" #include "WaypointMgr.h" diff --git a/src/server/scripts/EasternKingdoms/zone_alterac_mountains.cpp b/src/server/scripts/EasternKingdoms/zone_alterac_mountains.cpp deleted file mode 100644 index 3b686daa5..000000000 --- a/src/server/scripts/EasternKingdoms/zone_alterac_mountains.cpp +++ /dev/null @@ -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 . - */ - -/* 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; -}*/ diff --git a/src/server/scripts/EasternKingdoms/zone_ironforge.cpp b/src/server/scripts/EasternKingdoms/zone_ironforge.cpp deleted file mode 100644 index 945f228e5..000000000 --- a/src/server/scripts/EasternKingdoms/zone_ironforge.cpp +++ /dev/null @@ -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 . - */ - -//void AddSC_ironforge() { } diff --git a/src/server/scripts/Events/midsummer.cpp b/src/server/scripts/Events/midsummer.cpp index 89d180eb5..80739ec21 100644 --- a/src/server/scripts/Events/midsummer.cpp +++ b/src/server/scripts/Events/midsummer.cpp @@ -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]; + +// , +const std::map, 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); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp index b0cc5f6f9..416793139 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp @@ -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" diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp index 002890dde..952869243 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "EventMap.h" #include "InstanceMapScript.h" #include "InstanceScript.h" diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp index ab8cd45da..9be4fa888 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp @@ -15,11 +15,9 @@ * with this program. If not, see . */ -#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" diff --git a/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp b/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp index 98f4025ac..dd68aa85a 100644 --- a/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp +++ b/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp index 8a50b36cc..f9b5d9377 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp @@ -23,7 +23,6 @@ #include "GridNotifiersImpl.h" #include "Player.h" #include "ScriptedCreature.h" -#include "ScriptedGossip.h" /*###### ## npc_belnistrasz for Quest 3525 "Extinguishing the Idol" diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp index b572610bc..6d4c4e647 100644 --- a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp +++ b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp index ac1a5896c..bcfc28540 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp @@ -19,7 +19,6 @@ #include "ScriptedCreature.h" #include "SpellScript.h" #include "SpellScriptLoader.h" -#include "TaskScheduler.h" #include "ruins_of_ahnqiraj.h" enum Emotes diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp index 15168742c..a4680ea55 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp @@ -16,7 +16,6 @@ */ #include "CreatureGroups.h" -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "Player.h" diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp index 2f309aa4b..79e5542d0 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp @@ -16,7 +16,6 @@ */ #include "CreatureGroups.h" -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "Player.h" diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp index 3a4780764..9506c4794 100644 --- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp +++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp @@ -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" diff --git a/src/server/scripts/Kalimdor/boss_azuregos.cpp b/src/server/scripts/Kalimdor/boss_azuregos.cpp index 0c0ef7c68..3ca98843a 100644 --- a/src/server/scripts/Kalimdor/boss_azuregos.cpp +++ b/src/server/scripts/Kalimdor/boss_azuregos.cpp @@ -16,7 +16,6 @@ */ #include "CreatureScript.h" -#include "GameTime.h" #include "Player.h" #include "ScriptedCreature.h" #include "ScriptedGossip.h" diff --git a/src/server/scripts/Kalimdor/zone_feralas.cpp b/src/server/scripts/Kalimdor/zone_feralas.cpp index 634c6de85..854b85c69 100644 --- a/src/server/scripts/Kalimdor/zone_feralas.cpp +++ b/src/server/scripts/Kalimdor/zone_feralas.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "Group.h" #include "Player.h" #include "ScriptedCreature.h" diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp index 7bc91c79f..6d4fc105e 100644 --- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp +++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp @@ -35,7 +35,6 @@ EndContentData */ #include "Player.h" #include "ScriptedCreature.h" #include "ScriptedEscortAI.h" -#include "ScriptedGossip.h" #include "SpellInfo.h" /*###### diff --git a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/instance_ahnkahet.cpp b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/instance_ahnkahet.cpp index d8129f441..461514dfb 100644 --- a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/instance_ahnkahet.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/instance_ahnkahet.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "Player.h" #include "ScriptedCreature.h" diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp index dc22b897e..6d099ce61 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp @@ -17,7 +17,6 @@ #include "AreaBoundary.h" #include "CreatureAIImpl.h" -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "Player.h" #include "ScriptedCreature.h" diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp index 72171d39a..3a5cdd6cf 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp @@ -25,7 +25,6 @@ #include "SpellScript.h" #include "SpellScriptLoader.h" #include "Vehicle.h" -#include "WorldSession.h" #include "ruby_sanctum.h" enum Texts diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp index 9b5c29d30..1c47e1c8f 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "Group.h" #include "InstanceMapScript.h" #include "Player.h" diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp index 2da2df08d..db34dcd54 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "GameTime.h" #include "Group.h" #include "InstanceMapScript.h" diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp index 0de585646..8702d44f1 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp @@ -23,7 +23,6 @@ #include "SpellAuras.h" #include "SpellScript.h" #include "SpellScriptLoader.h" -#include "WorldSession.h" #include "pit_of_saron.h" enum Yells diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp index 0379a72db..93d80b8f4 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp @@ -24,7 +24,6 @@ #include "SpellScript.h" #include "SpellScriptLoader.h" #include "Vehicle.h" -#include "WorldSession.h" #include "pit_of_saron.h" enum Yells diff --git a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp index f1c508364..11e9cc64b 100644 --- a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp +++ b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "ScriptedCreature.h" #include "gundrak.h" diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp index 111d92d8f..96ec7df6b 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -32,7 +32,6 @@ #include "Vehicle.h" #include "Weather.h" #include "icecrown_citadel.h" -#include "GridNotifiersImpl.h" enum Texts { diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp index 831fc1a4c..109968294 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp @@ -16,7 +16,6 @@ */ #include "AreaTriggerScript.h" -#include "CreatureScript.h" #include "GameObjectScript.h" #include "InstanceScript.h" #include "Player.h" diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp index 32c3c03ac..4c7d353ab 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp @@ -16,7 +16,6 @@ */ #include "AccountMgr.h" -#include "CreatureScript.h" #include "CreatureTextMgr.h" #include "Group.h" #include "InstanceMapScript.h" diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index 7cd725ffc..dbb3413b6 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -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" diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp index 68003f5dd..e535e305b 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp @@ -19,7 +19,6 @@ #include "CreatureScript.h" #include "Player.h" #include "ScriptedCreature.h" -#include "SpellInfo.h" #include "nexus.h" enum Spells diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp index d7b67076b..26e8f1d9e 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "Group.h" #include "InstanceMapScript.h" #include "LFGMgr.h" diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp index 426addc55..b28f79136 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp @@ -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" diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.cpp index 2bd8ddb1a..64d4e6cb0 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "SpellInfo.h" #include "SpellScript.h" #include "SpellScriptLoader.h" diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 566b58066..43deb22d0 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -26,7 +26,6 @@ #include "SpellInfo.h" #include "SpellScript.h" #include "SpellScriptLoader.h" -#include "WorldSession.h" // Ours enum eDrakeHunt diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp index d4d9bd824..5bf65ef68 100644 --- a/src/server/scripts/Northrend/zone_dragonblight.cpp +++ b/src/server/scripts/Northrend/zone_dragonblight.cpp @@ -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" diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp index b3120af21..94b38bd75 100644 --- a/src/server/scripts/Northrend/zone_storm_peaks.cpp +++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp @@ -26,7 +26,6 @@ #include "SpellScriptLoader.h" #include "Vehicle.h" #include "WaypointMgr.h" -#include "WorldSession.h" // Ours enum qSniffing diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp index 72e9ec529..6387e3d6f 100644 --- a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp +++ b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp @@ -17,7 +17,6 @@ #include "OutdoorPvPZM.h" #include "Creature.h" -#include "CreatureScript.h" #include "GameGraveyard.h" #include "ObjectAccessor.h" #include "ObjectMgr.h" diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp index db120335d..599bb22cb 100644 --- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp +++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "Map.h" diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp index 6c106add3..7b0947d6b 100644 --- a/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp +++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "Map.h" diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp index f85d55563..7159dc870 100644 --- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp +++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "sethekk_halls.h" diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp index 44c984da0..93c2be521 100644 --- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp +++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "SpellScriptLoader.h" diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp index 62b3e035d..4b27f312b 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp @@ -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; } diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp index e0f85f0c7..2216201be 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp @@ -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); diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/serpent_shrine.h b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/serpent_shrine.h index ec3a318d4..e9cb570c6 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/serpent_shrine.h +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/serpent_shrine.h @@ -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 diff --git a/src/server/scripts/Outland/CoilfangReservoir/SlavePens/instance_the_slave_pens.cpp b/src/server/scripts/Outland/CoilfangReservoir/SlavePens/instance_the_slave_pens.cpp index 43182eb38..2f561789a 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SlavePens/instance_the_slave_pens.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SlavePens/instance_the_slave_pens.cpp @@ -23,7 +23,6 @@ */ #include "Creature.h" -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "Map.h" diff --git a/src/server/scripts/Outland/CoilfangReservoir/SlavePens/the_slave_pens.cpp b/src/server/scripts/Outland/CoilfangReservoir/SlavePens/the_slave_pens.cpp index f430e1ec1..eea265327 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SlavePens/the_slave_pens.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SlavePens/the_slave_pens.cpp @@ -17,7 +17,6 @@ #include "the_slave_pens.h" #include "AreaTriggerScript.h" -#include "CreatureScript.h" #include "InstanceScript.h" #include "Player.h" diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp index 2ff3db9fd..e66968bf1 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "GameObjectScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" diff --git a/src/server/scripts/Outland/CoilfangReservoir/underbog/instance_the_underbog.cpp b/src/server/scripts/Outland/CoilfangReservoir/underbog/instance_the_underbog.cpp index b09acbd79..baf89fa29 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/underbog/instance_the_underbog.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/underbog/instance_the_underbog.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "Map.h" diff --git a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp index 763a6e752..df6afb52e 100644 --- a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp +++ b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "gruuls_lair.h" diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp index 87f841f41..e98daa3e1 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp @@ -16,7 +16,6 @@ */ #include "CreatureAI.h" -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "blood_furnace.h" diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp index be7275eac..99fcd65da 100644 --- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "hellfire_ramparts.h" diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp index 971f03e00..f4c9e6b19 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "magtheridons_lair.h" diff --git a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp index 8d39a2248..8b1ce688b 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "SpellScriptLoader.h" diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp index d3cd320aa..8f38f631b 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "mechanar.h" diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp index c03b7b7b7..59e872907 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "InstanceMapScript.h" #include "InstanceScript.h" #include "arcatraz.h" diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp index f516def07..6feb5f6c3 100644 --- a/src/server/scripts/Spells/spell_item.cpp +++ b/src/server/scripts/Spells/spell_item.cpp @@ -17,7 +17,6 @@ #include "Battleground.h" #include "CreatureScript.h" -#include "GameTime.h" #include "ObjectMgr.h" #include "Pet.h" #include "Player.h" diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index d6dc98fa6..0cd83b638 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -15,7 +15,6 @@ * with this program. If not, see . */ -#include "CreatureScript.h" #include "Group.h" #include "Player.h" #include "SpellAuraEffects.h" diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp index 30d49c40e..f87dac591 100644 --- a/src/server/scripts/World/go_scripts.cpp +++ b/src/server/scripts/World/go_scripts.cpp @@ -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; } diff --git a/src/server/scripts/World/mob_generic_creature.cpp b/src/server/scripts/World/mob_generic_creature.cpp index cd8708dc4..aabfd56bd 100644 --- a/src/server/scripts/World/mob_generic_creature.cpp +++ b/src/server/scripts/World/mob_generic_creature.cpp @@ -15,159 +15,10 @@ * with this program. If not, see . */ -/* 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; }