Merge branch 'azerothcore:master' into Playerbot

This commit is contained in:
ZhengPeiRu21
2022-09-28 17:09:45 -06:00
committed by GitHub
17 changed files with 563 additions and 11 deletions

View File

@@ -0,0 +1,17 @@
-- DB update 2022_09_26_00 -> 2022_09_28_00
-- Ossirian
UPDATE `creature_template` SET `detection_range` = 37 WHERE (`entry` = 15339);
-- Qiraji Gladiator
UPDATE `creature_template` SET `detection_range` = 38.75 WHERE (`entry` = 15324);
-- Qiraji Swarmguard
UPDATE `creature_template` SET `detection_range` = 34.125 WHERE (`entry` = 15343);
-- Hive'Zara Stinger & Wasp
UPDATE `creature_template` SET `detection_range` = 28.75 WHERE (`entry` IN (15327, 15325));
-- Obsidian Destroyer
UPDATE `creature_template` SET `detection_range` = 36.5 WHERE (`entry` = 15338);
-- Anubisath Guardian
UPDATE `creature_template` SET `detection_range` = 35.25 WHERE (`entry` = 15355);
-- Ayamiss
UPDATE `creature_template` SET `detection_range` = 34.5 WHERE (`entry` = 15369);
-- Hive'Zara Sandstalker & Soldier
UPDATE `creature_template` SET `detection_range` = 28.75 WHERE (`entry` IN (15323, 15320));

View File

@@ -0,0 +1,68 @@
-- DB update 2022_09_28_00 -> 2022_09_28_01
-- Update current loot
UPDATE `item_loot_template` SET `Chance`=0, `GroupId`=2 WHERE `Item` IN (4715,6268,6336,6536,6537,6538,6539,6540,6541,6542,6563,6566,6567,6568,6569,6573,6575,6577,6579,6580,6583,6584,6585,6586,6587,6588,6590,6591,6592,6593,6594,6595,6596,6597,6600,6601,6602,6604,6605,6607,7332,7407,7408,7409,7411,7413,7414,7417,7418,7420,7421,7423,7430,7431,7432,7433,7434,7435,7436,7437,7438,7439,7440,7441,7443,7444,7445,7446,7447,7448,7468,7469,7474,7476,7477,7483,7519,7520,7521,7522,7523,7524,7525,7526,7528,7529,7530,7531,7532,7533,7534,7535,8120,9286,9289,9291,9746,9747,9748,9749,9755,9756,9757,9759,9762,9763,9765,9766,9767,9768,9770,9771,9775,9776,9777,9779,9780,9782,9791,9792,9793,9794,9795,9796,9797,9799,9801,9802,9803,9805,9806,9807,9808,9809,9810,9811,9813,9814,9815,9817,9818,9819,9822,9823,9825,9826,9831,9835,9836,9837,9838,9839,9840,9864,9865,9866,9867,9868,9869,9870,9871,9872,9875,9876,9877,9879,9880,9881,9884,9896,9898,9900,9901,9902,9905,9906,9907,9910,9911,9912,9913,9915,9928,9929,9930,9932,9933,9934,9966,9967,9969,9970,9971,10057,10059,10060,10064,10067,10069,10070,10071,10074,10086,10087,10088,10089,10090,10091,10092,10094,10118,10119,10121,10122,10123,10124,10125,10126,10128,10129,10131,10132,10145,10148,10156,10159,10164,10165,10166,10167,10168,10169,10170,10171,10172,10173,10175,10176,10177,10179,10181,10211,10212,10213,10214,10216,10221,10222,10223,10224,10225,10228,10229,10230,10231,10232,10233,10234,10235,10236,10237,10240,10241,10244,10275,10276,10277,10278,10279,10280,10281,10282,10373,10387,10391,10404,13010,13029,13081,13131,13145) AND `entry` BETWEEN 21509 AND 21513;
-- Add reference loot
DELETE FROM `reference_loot_template` WHERE `entry` IN (21509, 21510, 21512, 21513) AND `Item` IN (954,955,1180,1181,1477,1478,1711,1712,2289,2290,3012,3013,4419,4421,4422,4424,4425,4426,10305,10306,10307,10308,10309,10310);
INSERT INTO `reference_loot_template` (`Entry`, `Item`, `Chance`, `GroupId`, `MaxCount`, `Comment`) VALUES
(21509, 954, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Strength'),
(21509, 955, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Intellect'),
(21509, 1180, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Stamina'),
(21509, 1181, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Spirit'),
(21509, 3012, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Agility'),
(21509, 3013, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Protection'),
(21510, 1477, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Agility II'),
(21510, 1478, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Protection II'),
(21510, 1711, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Stamina II'),
(21510, 1712, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Spirit II'),
(21510, 2289, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Strength II'),
(21510, 2290, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Intellect II'),
(21512, 4419, 0, 1, 2, 'Ahn\'Qiraj War Effort Supplies - Scroll of Intellect III'),
(21512, 4421, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Protection III'),
(21512, 4422, 0, 1, 2, 'Ahn\'Qiraj War Effort Supplies - Scroll of Stamina III'),
(21512, 4424, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Scroll of Spirit III'),
(21512, 4425, 0, 1, 2, 'Ahn\'Qiraj War Effort Supplies - Scroll of Agility III'),
(21512, 4426, 0, 1, 2, 'Ahn\'Qiraj War Effort Supplies - Scroll of Strength III'),
(21513, 10305, 0, 1, 2, 'Ahn\'Qiraj War Effort Supplies - Scroll of Protection IV'),
(21513, 10306, 0, 1, 2, 'Ahn\'Qiraj War Effort Supplies - Scroll of Spirit IV'),
(21513, 10307, 0, 1, 2, 'Ahn\'Qiraj War Effort Supplies - Scroll of Stamina IV'),
(21513, 10308, 0, 1, 2, 'Ahn\'Qiraj War Effort Supplies - Scroll of Intellect IV'),
(21513, 10309, 0, 1, 2, 'Ahn\'Qiraj War Effort Supplies - Scroll of Agility IV'),
(21513, 10310, 0, 1, 2, 'Ahn\'Qiraj War Effort Supplies - Scroll of Strength IV');
-- Add Missing Loot
DELETE FROM `item_loot_template` WHERE (`Entry` = 21509) AND (`Item` IN (21509));
INSERT INTO `item_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
(21509, 21509, 21509, 100, 0, 1, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Reference Table (21509)');
DELETE FROM `item_loot_template` WHERE (`Entry` = 21510) AND (`Item` IN (21510));
INSERT INTO `item_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
(21510, 21510, 21510, 100, 0, 1, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Reference Loot (21510)');
DELETE FROM `item_loot_template` WHERE (`Entry` = 21511) AND (`Item` IN (937, 21510));
INSERT INTO `item_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
(21511, 937, 0, 0, 0, 1, 2, 1, 1, 'Black Duskwood Staff'),
(21511, 21510, 21510, 100, 0, 1, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Reference Loot (21510)');
DELETE FROM `item_loot_template` WHERE (`Entry` = 21512) AND (`Item` IN (21512, 754, 4091, 9434, 13012, 13021, 13076, 13115, 13117, 13128));
INSERT INTO `item_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
(21512, 21512, 21512, 100, 0, 1, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Reference Loot (21512)'),
(21512, 754, 0, 0, 0, 1, 2, 1, 1, 'Shortsword of Vengeance'),
(21512, 4091, 0, 0, 0, 1, 2, 1, 1, 'Widowmaker'),
(21512, 9434, 0, 0, 0, 1, 2, 1, 1, 'Elemental Raiment'),
(21512, 13012, 0, 0, 0, 1, 2, 1, 1, 'Yorgen Bracers'),
(21512, 13021, 0, 0, 0, 1, 2, 1, 1, 'Needle Threader'),
(21512, 13076, 0, 0, 0, 1, 2, 1, 1, 'Giantslayer Bracers'),
(21512, 13115, 0, 0, 0, 1, 2, 1, 1, 'Sheepshear Mantle'),
(21512, 13117, 0, 0, 0, 1, 2, 1, 1, 'Ogron\'s Sash'),
(21512, 13128, 0, 0, 0, 1, 2, 1, 1, 'High Bergg Helm');
DELETE FROM `item_loot_template` WHERE (`Entry` = 21513) AND (`Item` IN (21513, 5266, 13002, 13022, 13027, 13030, 13070, 13077, 13120, 13135, 24222));
INSERT INTO `item_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
(21513, 21513, 21513, 100, 0, 1, 0, 1, 1, 'Ahn\'Qiraj War Effort Supplies - Reference Loot (21513)'),
(21513, 5266, 0, 0, 0, 1, 2, 1, 1, 'Eye of Adaegus'),
(21513, 13002, 0, 0, 0, 1, 2, 1, 1, 'Lady Alizabeth\'s Pendant'),
(21513, 13022, 0, 0, 0, 1, 2, 1, 1, 'Gryphonwing Long Bow'),
(21513, 13027, 0, 0, 0, 1, 2, 1, 1, 'Bonesnapper'),
(21513, 13030, 0, 0, 0, 1, 2, 1, 1, 'Basilisk Bone'),
(21513, 13070, 0, 0, 0, 1, 2, 1, 1, 'Sapphiron\'s Scale Boots'),
(21513, 13077, 0, 0, 0, 1, 2, 1, 1, 'Girdle of Uther'),
(21513, 13120, 0, 0, 0, 1, 2, 1, 1, 'Deepfury Bracers'),
(21513, 13135, 0, 0, 0, 1, 2, 1, 1, 'Lordly Armguards'),
(21513, 24222, 0, 0, 0, 1, 2, 1, 1, 'The Shadowfoot Stabber');

View File

@@ -0,0 +1,3 @@
-- DB update 2022_09_28_01 -> 2022_09_28_02
--
UPDATE `smart_scripts` SET `action_param2` = 0 WHERE `entryorguid` = 5320 AND `source_type` = 0 AND `id` = 0;

View File

@@ -0,0 +1,7 @@
-- DB update 2022_09_28_02 -> 2022_09_28_03
-- Affected rows: 106
UPDATE `creature_template` SET `dmgschool`=6 WHERE `entry` IN (15527, 16488, 16489, 16529, 16530, 17096, 17283, 18405, 18429, 18805, 18864, 18865, 19205, 20252, 20478, 20702, 21521, 21578, 22244, 24744, 25573);
UPDATE `creature_template` SET `dmgschool`=5 WHERE `entry` IN (521, 3470, 8538, 10389, 11284, 14389, 14686, 14986, 15146, 18341, 18401, 18472, 18659, 18701, 18703, 19206, 19307, 19480, 19668, 20265, 20267, 20689, 20700, 20705, 20778, 20779, 20870, 20875, 21101, 21346, 21604, 21612, 21620, 21626, 21941, 22929, 23498, 25772, 34035, 34171);
UPDATE `creature_template` SET `dmgschool`=4 WHERE `entry` IN (691, 2761, 5461, 5462, 10388, 11256, 14457, 14458, 17153, 17155, 17207, 17917, 18101, 19204, 19653, 20079, 20090, 20627, 20704, 20792, 21059, 21428, 21695, 21696, 21728, 21730, 21916, 21917, 22035, 22309, 22875, 25040, 32630);
UPDATE `creature_template` SET `dmgschool`=3 WHERE `entry` IN (832, 2762, 6239, 13282, 13456, 13696, 14454, 14455, 16901, 16903, 17085, 17154, 17158, 17159, 17160, 17356, 17357, 18102, 18145, 20565, 20566, 20774, 20908, 21060, 21617, 21707, 22036, 22310, 22878, 22881, 22883, 34004, 34005);
UPDATE `creature_template` SET `dmgschool`=2 WHERE `entry` IN (575, 2745, 2760, 4036, 4037, 4038, 5850, 5893, 5896, 8281, 8908, 8909, 8910, 8911, 9017, 9878, 9879, 10756, 10757, 11666, 11667, 11668, 11673, 12056, 12143, 12265, 14460, 14461, 15438, 17454, 17908, 18100, 19203, 20481, 20514, 20703, 21061, 21538, 21706, 22286, 22298, 22311, 22323, 22997, 23192, 30643, 31317);

View File

@@ -0,0 +1,184 @@
-- DB update 2022_09_28_03 -> 2022_09_28_04
--
DELETE FROM `linked_respawn` WHERE `linkedGuid`=84387 AND `linkType`=0;
INSERT INTO `linked_respawn` VALUES
(2000050,84387,0),
(2000051,84387,0),
(2000052,84387,0),
(2000053,84387,0),
(2000054,84387,0),
(2000055,84387,0),
(2000056,84387,0),
(2000057,84387,0),
(2000058,84387,0),
(2000066,84387,0),
(2000065,84387,0),
(2000064,84387,0),
(2000063,84387,0),
(2000062,84387,0),
(2000061,84387,0),
(2000060,84387,0),
(2000068,84387,0),
(2000067,84387,0),
(2000069,84387,0),
(2000070,84387,0),
(139987,84387,0),
(139986,84387,0),
(139990,84387,0),
(139989,84387,0),
(139985,84387,0),
(139984,84387,0),
(139983,84387,0),
(139982,84387,0),
(139988,84387,0),
(139981,84387,0),
(139991,84387,0),
(139992,84387,0),
(139993,84387,0),
(139994,84387,0),
(139995,84387,0),
(139996,84387,0),
(139997,84387,0),
(139998,84387,0),
(139999,84387,0),
(140000,84387,0),
(140001,84387,0),
(140002,84387,0),
(140003,84387,0),
(140004,84387,0),
(140005,84387,0),
(140006,84387,0),
(140007,84387,0),
(140008,84387,0),
(140009,84387,0),
(140010,84387,0),
(140011,84387,0),
(140012,84387,0),
(140013,84387,0),
(140014,84387,0),
(140015,84387,0),
(140016,84387,0),
(140017,84387,0),
(140018,84387,0),
(140019,84387,0),
(140020,84387,0),
(140021,84387,0),
(140022,84387,0),
(140023,84387,0),
(140024,84387,0),
(140025,84387,0),
(140026,84387,0),
(140027,84387,0),
(140028,84387,0),
(140029,84387,0),
(140030,84387,0),
(140031,84387,0),
(140032,84387,0),
(140033,84387,0),
(140034,84387,0),
(140035,84387,0),
(140036,84387,0),
(140037,84387,0),
(140038,84387,0),
(140039,84387,0),
(140040,84387,0),
(140041,84387,0),
(140042,84387,0),
(140043,84387,0),
(140044,84387,0),
(140045,84387,0),
(140046,84387,0),
(140047,84387,0),
(140048,84387,0),
(140049,84387,0),
(140050,84387,0),
(140051,84387,0),
(140052,84387,0),
(140053,84387,0),
(140054,84387,0),
(140055,84387,0),
(140056,84387,0),
(140057,84387,0),
(2000032,84387,0),
(2000031,84387,0),
(2000030,84387,0),
(2000029,84387,0),
(2000028,84387,0),
(2000027,84387,0),
(2000026,84387,0),
(2000025,84387,0),
(2000024,84387,0),
(2000023,84387,0),
(2000022,84387,0),
(2000021,84387,0),
(2000012,84387,0),
(2000011,84387,0),
(2000010,84387,0),
(2000009,84387,0),
(2000016,84387,0),
(2000015,84387,0),
(2000014,84387,0),
(2000013,84387,0),
(2000020,84387,0),
(2000019,84387,0),
(2000018,84387,0),
(2000017,84387,0),
(2000033,84387,0),
(2000034,84387,0),
(2000035,84387,0),
(2000036,84387,0),
(2000037,84387,0),
(2000038,84387,0),
(2000039,84387,0),
(2000040,84387,0),
(2000041,84387,0),
(2000042,84387,0),
(2000043,84387,0),
(2000044,84387,0),
(2000045,84387,0),
(2000046,84387,0),
(2000047,84387,0),
(2000048,84387,0),
(2000049,84387,0),
(140058,84387,0),
(140059,84387,0),
(140060,84387,0),
(140061,84387,0),
(140062,84387,0),
(140063,84387,0),
(140064,84387,0),
(140065,84387,0),
(140066,84387,0),
(140067,84387,0),
(140068,84387,0),
(140069,84387,0),
(140070,84387,0),
(140071,84387,0),
(140072,84387,0),
(140073,84387,0),
(140074,84387,0),
(140075,84387,0),
(140076,84387,0),
(140077,84387,0),
(140078,84387,0),
(140079,84387,0),
(140080,84387,0),
(140081,84387,0),
(140082,84387,0),
(140083,84387,0),
(140084,84387,0),
(140085,84387,0),
(140086,84387,0),
(140088,84387,0),
(140089,84387,0),
(140090,84387,0),
(140091,84387,0),
(140092,84387,0),
(140093,84387,0),
(140094,84387,0),
(140095,84387,0),
(140096,84387,0),
(140097,84387,0),
(140098,84387,0),
(140099,84387,0),
(140100,84387,0);

View File

@@ -0,0 +1,108 @@
-- DB update 2022_09_28_04 -> 2022_09_28_05
-- Vekniss Wasp (15236)
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 15236;
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15236) AND (`source_type` = 0) AND (`id` IN (0, 1, 2));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15236, 0, 0, 1, 9, 0, 100, 0, 0, 40, 9700, 16000, 0, 11, 26077, 4, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Wasp - Within 0-40 Range - Cast \'Itch\''),
(15236, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 0, 11, 26077, 4, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Wasp - Within 0-40 Range - Cast \'Itch\''),
(15236, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 11, 26077, 4, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Wasp - Within 0-40 Range - Cast \'Itch\'');
-- Qiraji Lasher (15249)
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15249) AND (`source_type` = 0) AND (`id` IN (0, 1));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15249, 0, 0, 0, 0, 0, 100, 0, 26600, 31500, 26600, 31500, 0, 11, 26027, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Lasher - In Combat - Cast \'Knockback\''),
(15249, 0, 1, 0, 0, 0, 100, 0, 8400, 18200, 8400, 18200, 0, 11, 26038, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Lasher - In Combat - Cast \'Whirlwind\'');
-- Vekniss Soldier (15229) - Cmangos
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15229) AND (`source_type` = 0) AND (`id` IN (0, 1, 2));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15229, 0, 0, 0, 0, 0, 100, 0, 0, 0, 60000, 60000, 0, 11, 25152, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Soldier - In Combat - Cast \'Agro Drones\''),
(15229, 0, 1, 0, 9, 0, 100, 0, 0, 5, 5000, 7000, 0, 11, 40504, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Soldier - Within 0-5 Range - Cast \'Cleave\''),
(15229, 0, 2, 0, 9, 0, 100, 0, 5, 25, 8000, 12000, 0, 11, 1906, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Soldier - Within 5-25 Range - Cast \'Debilitating Charge\'');
-- Qiraji Mindslayer (15246) - Cmangos
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15246) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15246, 0, 0, 0, 0, 0, 100, 0, 15000, 18000, 10000, 15000, 0, 11, 26079, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Mindslayer - In Combat - Cast \'Cause Insanity\''),
(15246, 0, 1, 0, 0, 0, 100, 0, 9000, 13000, 13000, 16000, 0, 11, 26049, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Mindslayer - In Combat - Cast \'Mana Burn\''),
(15246, 0, 2, 0, 0, 0, 100, 0, 0, 20, 3000, 5000, 0, 11, 26048, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Mindslayer - In Combat - Cast \'Mind Blast\''),
(15246, 0, 3, 0, 0, 0, 100, 0, 3000, 5000, 12000, 17000, 0, 11, 26044, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Mindslayer - In Combat - Cast \'Mind Flay\'');
-- Qiraji Brainwasher (15247) - Cmangos
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15247) AND (`source_type` = 0) AND (`id` IN (0, 1, 2));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15247, 0, 0, 0, 0, 0, 100, 0, 5000, 8000, 16000, 21000, 0, 11, 26079, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Brainwasher - In Combat - Cast \'Cause Insanity\''),
(15247, 0, 1, 0, 0, 0, 100, 0, 3000, 5000, 9000, 13000, 0, 11, 26046, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Brainwasher - In Combat - Cast \'Mana Burn\''),
(15247, 0, 2, 0, 0, 0, 100, 0, 8000, 11000, 14000, 17000, 0, 11, 26044, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Brainwasher - In Combat - Cast \'Mind Flay\'');
-- Vekniss Hive Crawler (15240) - Cmangos
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15240) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3, 4, 5, 6, 7));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15240, 0, 0, 0, 0, 0, 100, 0, 3000, 3000, 9000, 14000, 0, 11, 25809, 32, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Hive Crawler - In Combat - Cast \'Crippling Poison\''),
(15240, 0, 1, 0, 0, 0, 100, 0, 9000, 15000, 12000, 16000, 0, 11, 25810, 32, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Hive Crawler - In Combat - Cast \'Mind-numbing Poison\''),
(15240, 0, 2, 0, 0, 0, 100, 0, 7000, 11000, 10000, 14000, 0, 11, 26601, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Hive Crawler - In Combat - Cast \'Poison Bolt\''),
(15240, 0, 3, 0, 9, 1, 100, 0, 0, 5, 6000, 9000, 0, 11, 25051, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Hive Crawler - Within 0-5 Range - Cast \'Sunder Armor\' (Phase 1)'),
(15240, 0, 4, 0, 4, 0, 100, 0, 0, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Hive Crawler - On Aggro - Set Event Phase 1'),
(15240, 0, 5, 0, 24, 1, 100, 0, 25051, 5, 5000, 5000, 0, 22, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Hive Crawler - On Target Buffed With \'Sunder Armor\' - Set Event Phase 2 (Phase 1)'),
(15240, 0, 6, 0, 24, 2, 100, 0, 25051, 1, 5000, 5000, 0, 22, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Hive Crawler - On Target Buffed With \'Sunder Armor\' - Set Event Phase 1 (Phase 2)'),
(15240, 0, 7, 0, 7, 0, 100, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Hive Crawler - On Evade - Set Event Phase 0');
-- Vekniss Guardian (15233) - Cmangos
DELETE FROM `creature_text` WHERE `CreatureID`=15233 AND `GroupID`=1 AND `ID`=0;
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Probability`, `BroadcastTextId`, `comment`) VALUES
(15233, 1, 0, '%s emits a strange noise.', 16, 100, 10755, 'Vekniss Guardian');
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15233) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15233, 0, 0, 1, 2, 0, 100, 1, 0, 20, 0, 0, 0, 11, 8599, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Guardian - Between 0-20% Health - Cast \'Enrage\' (No Repeat)'),
(15233, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Guardian - Between 0-20% Health - Say Line 0 (No Repeat)'),
(15233, 0, 2, 0, 0, 0, 100, 0, 8000, 11000, 11000, 21000, 0, 11, 26025, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Guardian - In Combat - Cast \'Impale\''),
(15233, 0, 3, 0, 4, 0, 50, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Guardian - On Aggro - Say Line 1 (No Repeat)');
-- Vekniss Warrior (15230)
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15230) AND (`source_type` = 0) AND (`id` IN (0, 1, 2));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15230, 0, 0, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 11, 6122, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Warrior - On Just Died - Cast \'Summon Vekniss Borer\''),
(15230, 0, 1, 0, 25, 0, 100, 0, 0, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Warrior - On Reset - Set Run On'),
(15230, 0, 2, 0, 0, 0, 100, 0, 8000, 11000, 11000, 21000, 0, 11, 26025, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Warrior - In Combat - Cast \'Impale\'');
-- Qiraji Slayer (15250) - Battle Shout and Whirlwind timers taken from Cmangos
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15250) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15250, 0, 0, 0, 0, 0, 100, 0, 1000, 3000, 21000, 30500, 0, 11, 26043, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Slayer - In Combat - Cast \'Battle Shout\''),
(15250, 0, 1, 0, 0, 0, 100, 0, 5000, 5000, 21800, 29200, 0, 11, 26041, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Slayer - In Combat - Cast \'Enrage\''),
(15250, 0, 2, 0, 9, 0, 100, 0, 0, 10, 15800, 15800, 0, 11, 10101, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Slayer - Within 0-10 Range - Cast \'Knock Away\''),
(15250, 0, 3, 0, 0, 0, 100, 0, 5000, 9000, 8000, 10000, 0, 11, 13736, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Slayer - In Combat - Cast \'Whirlwind\'');
-- Spawn of Fankriss (15630) - Cmangos and Sniffs
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15630) AND (`source_type` = 0) AND (`id` IN (0));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15630, 0, 0, 0, 0, 0, 100, 1, 30000, 30000, 0, 0, 0, 11, 26662, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Spawn of Fankriss - In Combat - Cast \'Berserk\' (No Repeat)');
-- Anubisath Warrior (15537) - Cmangos
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15537) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15537, 0, 0, 1, 2, 0, 100, 1, 0, 30, 0, 0, 0, 11, 8599, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Anubisath Warrior - Between 0-30% Health - Cast \'Enrage\' (No Repeat)'),
(15537, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Anubisath Warrior - Between 0-30% Health - Say Line 0 (No Repeat)'),
(15537, 0, 2, 0, 0, 0, 100, 0, 7000, 11000, 9000, 13000, 0, 11, 15550, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Anubisath Warrior - In Combat - Cast \'Trample\''),
(15537, 0, 3, 0, 9, 0, 100, 0, 0, 10, 7000, 11000, 0, 11, 10966, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Anubisath Warrior - In Combat - Cast \'Uppercut\'');
-- Anubisath Swarmguard (15538) - Cmangos
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15538) AND (`source_type` = 0) AND (`id` IN (0));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15538, 0, 0, 0, 9, 0, 100, 0, 0, 5, 5000, 7000, 0, 11, 40504, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Anubisath Swarmguard - Within 0-5 Range - Cast \'Cleave\'');
-- Yauj Brood (15621) - Cmangos
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 15621;
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15621) AND (`source_type` = 0) AND (`id` IN (0, 1));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15621, 0, 0, 0, 9, 0, 100, 0, 0, 5, 9000, 13000, 0, 11, 25788, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Yauj Brood - Within 0-5 Range - Cast \'Head Butt\''),
(15621, 0, 1, 0, 13, 0, 100, 0, 8000, 10000, 0, 0, 0, 11, 25788, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Yauj Brood - On Victim Casting - Cast \'Head Butt\'');
-- Vekniss Borer (15622)
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 15622;
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 15622) AND (`source_type` = 0) AND (`id` IN (0));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(15622, 0, 0, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vekniss Borer - On Just Died - Despawn Instant');

View File

@@ -0,0 +1,4 @@
-- DB update 2022_09_28_05 -> 2022_09_28_06
--
UPDATE `creature_template` SET `AIName`='', `ScriptName`='npc_ahnqiraji_critter' WHERE `entry` IN (15316,15317);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (15316,15317) AND `source_type`=0;

View File

@@ -0,0 +1,5 @@
-- DB update 2022_09_28_06 -> 2022_09_28_07
--
DELETE FROM `creature_loot_template` WHERE `item` = 6083;
/* Gelkis Rumblers have no other loot */
UPDATE `creature_template` SET `lootid` = 0 WHERE `entry` = 4661;

View File

@@ -0,0 +1,16 @@
-- DB update 2022_09_28_07 -> 2022_09_28_08
--
DELETE FROM `smart_scripts` WHERE `entryorguid` = 15252 AND `source_type` = 0;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(15252,0,0,0,11,0,100,256,0,0,0,0,211,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Qiraji Champion - On Respawn - Set not phase reset"),
(15252,0,1,0,0,0,100,0,500,500,6000,15000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0,"Qiraji Champion - In Combat - Cast 'Cleave'"),
(15252,0,2,0,0,0,100,0,20000,40000,20000,40000,11,19134,0,0,0,0,0,2,0,0,0,0,0,0,0,"Qiraji Champion - In Combat - Cast 'Frightening Shout'"),
(15252,0,3,0,0,0,100,0,7500,12500,10000,20000,11,11130,0,0,0,0,0,1,0,0,0,0,0,0,0,"Qiraji Champion - In Combat - Cast 'Knock Away'"),
(15252,0,4,5,38,0,100,0,0,1,0,0,11,25164,0,0,0,0,0,1,0,0,0,0,0,0,0,"Qiraji Champion - On Data Set 0 1 - Cast 'Vengeance'"),
(15252,0,5,6,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Qiraji Champion - On Link - Say Line 0"),
(15252,0,6,0,61,0,100,256,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Qiraji Champion - On Link - Set Phase 1"),
(15252,0,7,0,0,1,100,0,60000,60000,60000,60000,11,25164,0,0,0,0,0,1,0,0,0,0,0,0,0,"Qiraji Champion - IC - Cast 'Vengeance' (Phase 1)");
DELETE FROM `creature_text` WHERE `CreatureID`=15252;
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
(15252,0,0,'%s becomes enraged!',16,0,100,0,0,0,24144,0,'Qiraji Champion');

View File

@@ -406,13 +406,16 @@ bool CreatureGroup::IsFormationInCombat()
return false;
}
bool CreatureGroup::IsAnyMemberAlive()
bool CreatureGroup::IsAnyMemberAlive(bool ignoreLeader /*= false*/)
{
for (auto const& itr : m_members)
{
if (itr.first && itr.first->IsAlive())
{
return true;
if (!ignoreLeader || itr.first != m_leader)
{
return true;
}
}
}

View File

@@ -111,7 +111,7 @@ public:
void MemberEvaded(Creature* member);
void RespawnFormation(bool force = false);
[[nodiscard]] bool IsFormationInCombat();
[[nodiscard]] bool IsAnyMemberAlive();
[[nodiscard]] bool IsAnyMemberAlive(bool ignoreLeader = false);
private:
Creature* m_leader; //Important do not forget sometimes to work with pointers instead synonims :D:D

View File

@@ -1800,6 +1800,7 @@ void Aura::HandleAuraSpecificMods(AuraApplication const* aurApp, Unit* caster, b
switch (GetId())
{
case 47788: // Guardian Spirit
{
if (removeMode != AURA_REMOVE_BY_EXPIRE)
break;
if (caster->GetTypeId() != TYPEID_PLAYER)
@@ -1821,6 +1822,15 @@ void Aura::HandleAuraSpecificMods(AuraApplication const* aurApp, Unit* caster, b
player->SendDirectMessage(&data);
}
break;
}
case 47585: // Dispersion (fixed bug invisible as a Shadow Priest)
{
if (target->IsMounted())
{
target->CastSpell(target, 53444, true);
}
break;
}
}
break;
case SPELLFAMILY_ROGUE:

View File

@@ -4391,12 +4391,24 @@ void SpellMgr::LoadSpellInfoCorrections()
spellInfo->SpellFamilyName = SPELLFAMILY_POTION;
});
// Refocus (Renataki's charm of beasts)
ApplySpellFix({ 24531 }, [](SpellInfo* spellInfo)
{
spellInfo->Effects[EFFECT_0].TargetA = SpellImplicitTargetInfo(TARGET_UNIT_CASTER);
});
// Collect Rookery Egg
ApplySpellFix({ 15958 }, [](SpellInfo* spellInfo)
{
spellInfo->Effects[EFFECT_1].Effect = 0;
});
// WotLK Prologue Frozen Shade Visual, temp used to restore visual after Dispersion
ApplySpellFix({ 53444 }, [](SpellInfo* spellInfo)
{
spellInfo->DurationEntry = sSpellDurationStore.LookupEntry(27);
});
for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i)
{
SpellInfo* spellInfo = mSpellInfoMap[i];

View File

@@ -15,9 +15,11 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "CreatureGroups.h"
#include "InstanceScript.h"
#include "Player.h"
#include "ScriptMgr.h"
#include "TaskScheduler.h"
#include "temple_of_ahnqiraj.h"
ObjectData const creatureData[] =
@@ -69,6 +71,8 @@ public:
uint32 BugTrioDeathCount;
uint32 CthunPhase;
TaskScheduler scheduler;
void Initialize() override
{
BugTrioDeathCount = 0;
@@ -140,6 +144,37 @@ public:
InstanceScript::OnGameObjectCreate(go);
}
void OnUnitDeath(Unit* unit) override
{
switch (unit->GetEntry())
{
case NPC_QIRAJI_SLAYER:
case NPC_QIRAJI_MINDSLAYER:
if (Creature* creature = unit->ToCreature())
{
if (CreatureGroup* formation = creature->GetFormation())
{
scheduler.Schedule(100ms, [formation](TaskContext /*context*/)
{
if (!formation->IsAnyMemberAlive(true))
{
if (Creature* leader = formation->GetLeader())
{
if (leader->IsAlive())
{
leader->AI()->SetData(0, 1);
}
}
}
});
}
}
break;
default:
break;
}
}
uint32 GetData(uint32 type) const override
{
switch (type)
@@ -217,6 +252,11 @@ public:
return true;
}
void Update(uint32 diff) override
{
scheduler.Update(diff);
}
};
};

View File

@@ -59,7 +59,14 @@ enum Spells
// Obsidian Nullifier
SPELL_NULLIFY = 26552,
SPELL_CLEAVE = 40504
SPELL_CLEAVE = 40504,
// Qiraji Scorpion
// Qiraji Scarab
SPELL_PIERCE_ARMOR = 6016,
SPELL_ACID_SPIT = 26050,
NPC_QIRAJI_SCORPION = 15317
};
struct npc_anubisath_defender : public ScriptedAI
@@ -427,6 +434,74 @@ private:
std::list<Player*> _targets;
};
struct npc_ahnqiraji_critter : public ScriptedAI
{
npc_ahnqiraji_critter(Creature* creature) : ScriptedAI(creature)
{
}
void Reset() override
{
me->RestoreFaction();
_scheduler.CancelAll();
_scheduler.Schedule(100ms, [this](TaskContext context)
{
if (Player* player = me->SelectNearestPlayer(10.f))
{
if (player->IsInCombat())
{
AttackStart(player);
}
}
context.Repeat(3500ms, 4000ms);
});
}
void EnterCombat(Unit* /*who*/) override
{
_scheduler.CancelAll();
if (me->GetEntry() == NPC_QIRAJI_SCORPION)
{
_scheduler.Schedule(2s, 5s, [this](TaskContext context)
{
DoCastVictim(SPELL_PIERCE_ARMOR, true);
context.Repeat(5s, 9s);
})
.Schedule(5s, 9s, [this](TaskContext context)
{
DoCastVictim(SPELL_ACID_SPIT, true);
context.Repeat(6s, 12s);
});
}
}
void JustDied(Unit* /*killer*/) override
{
if (me->GetEntry() == NPC_QIRAJI_SCORPION)
{
me->DespawnOrUnsummon(5 * IN_MILLISECONDS);
}
}
void UpdateAI(uint32 diff) override
{
_scheduler.Update(diff);
if (!UpdateVictim())
{
return;
}
DoMeleeAttackIfReady();
}
private:
TaskScheduler _scheduler;
};
enum NPCs
{
NPC_VEKNISS_DRONE = 15300
@@ -484,6 +559,7 @@ void AddSC_temple_of_ahnqiraj()
RegisterTempleOfAhnQirajCreatureAI(npc_obsidian_eradicator);
RegisterTempleOfAhnQirajCreatureAI(npc_anubisath_warder);
RegisterTempleOfAhnQirajCreatureAI(npc_obsidian_nullifier);
RegisterTempleOfAhnQirajCreatureAI(npc_ahnqiraji_critter);
RegisterSpellScript(spell_aggro_drones);
RegisterSpellScript(spell_nullify);
}

View File

@@ -75,7 +75,10 @@ enum Creatures
NPC_VEKNILASH = 15275,
NPC_OURO = 15517,
NPC_OURO_SPAWNER = 15957,
NPC_SARTURA = 15516
NPC_SARTURA = 15516,
NPC_QIRAJI_SLAYER = 15250,
NPC_QIRAJI_MINDSLAYER = 15246
};
enum ObjectsAQ40

View File

@@ -3403,9 +3403,7 @@ class spell_item_chicken_cover : public SpellScript
enum Refocus
{
SPELL_AIMED_SHOT = 19434,
SPELL_MULTISHOT = 2643,
SPELL_VOLLEY = 42243,
SPELL_CATEGORY_AIMED_MULTI = 85
};
class spell_item_refocus : public SpellScript
@@ -3419,9 +3417,7 @@ class spell_item_refocus : public SpellScript
if (!caster || caster->getClass() != CLASS_HUNTER)
return;
caster->RemoveSpellCooldown(SPELL_AIMED_SHOT, true);
caster->RemoveSpellCooldown(SPELL_MULTISHOT, true);
caster->RemoveSpellCooldown(SPELL_VOLLEY, true);
caster->RemoveCategoryCooldown(SPELL_CATEGORY_AIMED_MULTI);
}
void Register() override