Compare commits
15
Commits
041934821b
...
e1302366f3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e1302366f3 | ||
|
|
e49f7972a8 | ||
|
|
2b393d8399 | ||
|
|
a3cba81f1f | ||
|
|
0033f4cb19 | ||
|
|
473f90c6d4 | ||
|
|
9d33ea6062 | ||
|
|
e7b908758f | ||
|
|
61eacd7d78 | ||
|
|
fa68e20510 | ||
|
|
7b4f5e99b6 | ||
|
|
894501ad06 | ||
|
|
06a3aba5d7 | ||
|
|
2a5bab5bc6 | ||
|
|
6729fc6b92 |
@@ -0,0 +1,3 @@
|
||||
-- DBErrors Fixes
|
||||
UPDATE `creature_template` SET `unit_flags3`=0, `AIName`='SmartAI' WHERE `entry`=50009;
|
||||
|
||||
@@ -0,0 +1,730 @@
|
||||
Replace INTO `class_expansion_requirement` (`ClassID`, `RaceID`, `ActiveExpansionLevel`, `AccountExpansionLevel`) VALUES
|
||||
(1, 86, 11, 11),
|
||||
(3, 86, 11, 11),
|
||||
(4, 86, 11, 11),
|
||||
(5, 86, 11, 11),
|
||||
(7, 86, 11, 11),
|
||||
(8, 86, 11, 11),
|
||||
(9, 86, 11, 11),
|
||||
(10, 86, 11, 11),
|
||||
(11, 86, 11, 11),
|
||||
(1, 91, 11, 11),
|
||||
(3, 91, 11, 11),
|
||||
(4, 91, 11, 11),
|
||||
(5, 91, 11, 11),
|
||||
(7, 91, 11, 11),
|
||||
(8, 91, 11, 11),
|
||||
(9, 91, 11, 11),
|
||||
(10, 91, 11, 11),
|
||||
(11, 91, 11, 11);
|
||||
|
||||
DELETE FROM `areatrigger_template` WHERE (`IsCustom`=0 AND `Id` IN (41907,38032));
|
||||
INSERT INTO `areatrigger_template` (`Id`, `IsCustom`, `VerifiedBuild`) VALUES
|
||||
(41907, 0, 69587),
|
||||
(38032, 0, 69587);
|
||||
|
||||
|
||||
|
||||
DELETE FROM `areatrigger_create_properties` WHERE (`IsCustom`=0 AND `Id` IN (40681,35980));
|
||||
INSERT INTO `areatrigger_create_properties` (`Id`, `IsCustom`, `AreaTriggerId`, `IsAreatriggerCustom`, `Flags`, `MoveCurveId`, `ScaleCurveId`, `MorphCurveId`, `FacingCurveId`, `AnimId`, `AnimKitId`, `DecalPropertiesId`, `SpellForVisuals`, `TimeToTargetScale`, `Speed`, `Shape`, `ShapeData0`, `ShapeData1`, `ShapeData2`, `ShapeData3`, `ShapeData4`, `ShapeData5`, `ShapeData6`, `ShapeData7`, `VerifiedBuild`) VALUES
|
||||
(40681, 0, 41907, 0, 0, 0, 0, 0, 0, -1, 0, 0, NULL, 10000, 4.999179363250732421, 0, 1.75, 1.75, 0, 0, 0, 0, 0, 0, 69587), -- Spell: 1269647 (Devouring Entropy)
|
||||
(35980, 0, 38032, 0, 0, 0, 0, 0, 0, -1, 0, 0, NULL, 5000, 10, 0, 4, 4, 0, 0, 0, 0, 0, 0, 69587); -- Spell: 1215163 (Unstable Void)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 26573 (Consecration)
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.66826057434082031 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.66826057434082031 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.66826057434082031 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.66826057434082031 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51486015319824218 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51486015319824218 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51486015319824218 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51486015319824218 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.54998779296875 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 382484 (Consecration)
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=2 WHERE (`Id`=8537 AND `IsCustom`=0); -- Spell: 192078 (Wind Rush Totem)
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.01610565185546875 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.93652153015136718 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.64945602416992187 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.92512321472167968 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.05819892883300781 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.0711212158203125 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.06948089599609375 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=24.8322296142578125 WHERE (`Id`=35566 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.62921142578125 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.62921142578125 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.98442649841308593 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 382484 (Consecration)
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.61292266845703125 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=10051, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=10051, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.56075668334960937 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.61429023742675781 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=24.84916496276855468 WHERE (`Id`=35566 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.75861740112304687 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=7.951923370361328125 WHERE (`Id`=33519 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=7.951923370361328125 WHERE (`Id`=33519 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 26573 (Consecration)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.54524612426757812 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.54524612426757812 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.54524612426757812 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.75132560729980468 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.75132560729980468 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.75132560729980468 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.7589263916015625 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=10051, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=2 WHERE (`Id`=8537 AND `IsCustom`=0); -- Spell: 192078 (Wind Rush Totem)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.5117950439453125 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.5117950439453125 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=24.97653579711914062 WHERE (`Id`=35566 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51172065734863281 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 26573 (Consecration)
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=8.010634422302246093 WHERE (`Id`=33519 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51966667175292968 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.52676582336425781 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.5892791748046875 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.56698989868164062 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.5400543212890625 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51438140869140625 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=24.98893356323242187 WHERE (`Id`=35566 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=10051, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 382484 (Consecration)
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 26573 (Consecration)
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.54406547546386718 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.513946533203125 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.5526275634765625 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51995658874511718 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51995658874511718 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.52622032165527343 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.61790657043457031 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=24.9774932861328125 WHERE (`Id`=35566 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.52642059326171875 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.5264129638671875 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 26573 (Consecration)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.53188896179199218 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51985549926757812 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51985549926757812 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51985549926757812 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51294326782226562 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51265907287597656 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51265907287597656 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.2734222412109375 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=24.98508262634277343 WHERE (`Id`=35566 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.55668449401855468 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.55668449401855468 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.55668449401855468 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.55668449401855468 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.38472747802734375 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.56468391418457031 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.56468391418457031 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.01074409484863281 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.35652351379394531 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.46062850952148437 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.58493804931640625 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=24.97778892517089843 WHERE (`Id`=35566 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.58233642578125 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.7557525634765625 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.56993865966796875 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 26573 (Consecration)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.16781425476074218 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.38837623596191406 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.93618011474609375 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.92288017272949218 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.63421058654785156 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.6171875 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.57087898254394531 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 26573 (Consecration)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.57087898254394531 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=10051, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.57087898254394531 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.57087898254394531 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.59078407287597656 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.24767494201660156 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 382484 (Consecration)
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=24.98542594909667968 WHERE (`Id`=35566 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.08355712890625 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.71363639831542968 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.71363639831542968 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.73115921020507812 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 382484 (Consecration)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.05309104919433593 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.77570152282714843 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=8.007767677307128906 WHERE (`Id`=33519 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.757843017578125 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.757843017578125 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.757843017578125 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.48163032531738281 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.65552902221679687 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.95428466796875 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 382484 (Consecration)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.69420814514160156 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=7715, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.56156539916992187 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.52124786376953125 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.57003974914550781 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51493072509765625 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51293563842773437 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.52379226684570312 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.525360107421875 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=10000 WHERE (`Id`=30554 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=24.9893646240234375 WHERE (`Id`=35566 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.48260688781738281 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.48260688781738281 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 26573 (Consecration)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.51958465576171875 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.80017471313476562 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.80017471313476562 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=8.003375053405761718 WHERE (`Id`=33519 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.55296897888183593 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=10000 WHERE (`Id`=30554 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.52597618103027343 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.53114891052246093 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=24.97838020324707031 WHERE (`Id`=35566 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.67998504638671875 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.65458869934082031 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=10000 WHERE (`Id`=30554 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.59332466125488281 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.66586112976074218 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.66586112976074218 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.52265548706054687 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.82614326477050781 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.82614326477050781 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.82614326477050781 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.65041160583496093 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.63676834106445312 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 26573 (Consecration)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.07078742980957031 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.07078742980957031 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.07078742980957031 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.00195503234863281 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=7.577052116394042968 WHERE (`Id`=33519 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 382484 (Consecration)
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=20.57736396789550781 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=8.00396728515625 WHERE (`Id`=33519 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.10961532592773437 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=5, `ShapeData0`=12, `ShapeData1`=12 WHERE (`Id`=4658 AND `IsCustom`=0); -- Spell: 1248829 (Blizzard)
|
||||
|
||||
|
||||
UPDATE `areatrigger_create_properties` SET `Flags`=0, `TimeToTargetScale`=14000 WHERE (`Id`=4488 AND `IsCustom`=0); -- Spell: 382484 (Consecration)
|
||||
UPDATE `areatrigger_create_properties` SET `Speed`=21.07928848266601562 WHERE (`Id`=6006 AND `IsCustom`=0);
|
||||
UPDATE `areatrigger_create_properties` SET `TimeToTargetScale`=8000 WHERE (`Id`=37932 AND `IsCustom`=0); -- Spell: 198034 (Divine Hammer)
|
||||
|
||||
|
||||
|
||||
REPLACE INTO `areatrigger_create_properties_spline_point` (`AreaTriggerCreatePropertiesId`, `IsCustom`, `Idx`, `X`, `Y`, `Z`, `VerifiedBuild`) VALUES
|
||||
(40681, 0, 3, 29.1904296875, -0.00000255190843745, 0, 69587), -- Spell: 1269647 (Devouring Entropy)
|
||||
(40681, 0, 2, 29.1904296875, -0.00000255190843745, 0, 69587), -- Spell: 1269647 (Devouring Entropy)
|
||||
(40681, 0, 1, -0, -0, 0, 69587), -- Spell: 1269647 (Devouring Entropy)
|
||||
(40681, 0, 0, -0, -0, 0, 69587); -- Spell: 1269647 (Devouring Entropy)
|
||||
|
||||
|
||||
DELETE FROM `conversation_line_template` WHERE `Id` IN (82346, 82345);
|
||||
INSERT INTO `conversation_line_template` (`Id`, `UiCameraID`, `ActorIdx`, `Flags`, `ChatType`, `VerifiedBuild`) VALUES
|
||||
(82346, 0, 0, 0, 0, 69587),
|
||||
(82345, 0, 0, 0, 0, 69587);
|
||||
|
||||
|
||||
DELETE FROM `conversation_template` WHERE `Id`=29806;
|
||||
INSERT INTO `conversation_template` (`Id`, `FirstLineID`, `TextureKitId`, `VerifiedBuild`) VALUES
|
||||
(29806, 82345, 0, 69587);
|
||||
|
||||
|
||||
DELETE FROM `ui_map_quest` WHERE (`UIMapId`=2393 AND `QuestId`=92195);
|
||||
INSERT INTO `ui_map_quest` (`UIMapId`, `QuestId`, `VerifiedBuild`) VALUES
|
||||
(2393, 92195, 69587); -- Come On Down
|
||||
|
||||
|
||||
DELETE FROM `world_quest_template` WHERE `QuestID` IN (51891 /*Sythian the Swift*/, 58595 /*Pillars of Oblivion*/, 56383 /*Silence*/, 58207 /*Buggin' Out*/, 60858 /*Flight School: Up and Away!*/, 92583 /*Fungicide*/, 56041 /*Give 'Em Shell*/, 51284 /*Falcon Hunt*/, 52309 /*SandFang*/, 60770 /*Squish and Burn*/, 50853 /*Umbra'rix*/, 51897 /*Rimestone*/, 51617 /*Azerite Empowerment*/, 50295 /*Like Pulling Teeth*/, 71241 /*Duck, Duck, Trap*/, 54668 /*Out of Their Mine*/, 53963 /*Naga Attack!*/, 48728 /*Umbraliss*/, 58462 /*Windows to the Soul*/, 91998 /*WANTED: Muckmire's Choking Vines*/, 54841 /*Orwell Stevenson*/, 57379 /*Infested Jade Statue*/, 52009 /*Crab People*/, 56178 /*Void Conduit*/, 55719 /*Requisition: A Few Starfish*/, 92195 /*Come On Down*/, 54823 /*Aman*/, 50868 /*Bramblewing*/, 54833 /*Scalefiend*/, 50564 /*Azerite Infused Slag*/, 58290 /*Champions of the Amathet*/, 51179 /*Azerite Madness*/, 55355 /*Lightblade Training Grounds*/, 52754 /*Marshdwellers*/, 51625 /*Shell Game*/, 50885 /*Lei-zhi*/, 65798 /*An Opportunistic Approach*/, 51106 /*Songstress Nahjeen*/, 51127 /*Getting Out of Hand*/, 92731 /*Artificing Aggression*/, 59902 /*A Curious Cache*/, 51584 /*Azerite Madness*/, 55786 /*Requisition: More Seaweed*/, 54676 /*Shards of Narassin*/, 50506 /*King Kooba*/, 46264 /*Their Eyes Are Upon Us*/, 58281 /*Ancient Armaments*/, 75991 /*What Could Have Been*/, 48831 /*Commander Texlaz*/, 43475 /*Experimental Potion: Test Subjects Needed*/, 48730 /*Sorolis the Ill-Fated*/, 58287 /*A Smashing Plan*/, 52874 /*Azerite Mining*/, 55357 /*Beacon of the Sun King*/, 52891 /*Wendigo to Sleep*/, 48726 /*Turek the Lucid*/, 48829 /*Wrath-Lord Yarez*/, 50747 /*No Good Amani*/, 57215 /*Engine of Ascension*/, 51109 /*Scorched Earth*/);
|
||||
INSERT INTO `world_quest_template` (`QuestID`, `Duration`, `VariableID`, `Value`) VALUES
|
||||
(51891, 86400, 15564, 1), -- Sythian the Swift
|
||||
(58595, 86400, 18542, 4), -- Pillars of Oblivion
|
||||
(56383, 86400, 17787, 3), -- Silence
|
||||
(58207, 86400, 18289, 1), -- Buggin' Out
|
||||
(60858, 86400, 19497, 1), -- Flight School: Up and Away!
|
||||
(92583, 302400, 29170, 1), -- Fungicide
|
||||
(56041, 86400, 17688, 1), -- Give 'Em Shell
|
||||
(51284, 86400, 15766, 2), -- Falcon Hunt
|
||||
(52309, 86400, 15738, 1), -- SandFang
|
||||
(60770, 86400, 19457, 1), -- Squish and Burn
|
||||
(50853, 86400, 14943, 1), -- Umbra'rix
|
||||
(51897, 86400, 15570, 1), -- Rimestone
|
||||
(51617, 86400, 15726, 4), -- Azerite Empowerment
|
||||
(50295, 86400, 14729, 1), -- Like Pulling Teeth
|
||||
(71241, 270000, 22313, 1), -- Duck, Duck, Trap
|
||||
(54668, 86400, 17062, 1), -- Out of Their Mine
|
||||
(53963, 86400, 16483, 1), -- Naga Attack!
|
||||
(48728, 86400, 14178, 1), -- Umbraliss
|
||||
(58462, 86400, 18541, 4), -- Windows to the Soul
|
||||
(91998, 86400, 29479, 1), -- WANTED: Muckmire's Choking Vines
|
||||
(54841, 86400, 17035, 1), -- Orwell Stevenson
|
||||
(57379, 86400, 18170, 1), -- Infested Jade Statue
|
||||
(52009, 86400, 15608, 1), -- Crab People
|
||||
(56178, 86400, 18095, 1), -- Void Conduit
|
||||
(55719, 86400, 17441, 1), -- Requisition: A Few Starfish
|
||||
(92195, 302400, 29587, 1), -- Come On Down
|
||||
(54823, 86400, 17017, 1), -- Aman
|
||||
(50868, 86400, 14956, 1), -- Bramblewing
|
||||
(54833, 86400, 17028, 1), -- Scalefiend
|
||||
(50564, 86400, 14814, 1), -- Azerite Infused Slag
|
||||
(58290, 86400, 18450, 2), -- Champions of the Amathet
|
||||
(51179, 86400, 15753, 3), -- Azerite Madness
|
||||
(55355, 86400, 18464, 1), -- Lightblade Training Grounds
|
||||
(52754, 86400, 15874, 1), -- Marshdwellers
|
||||
(51625, 86400, 15295, 1), -- Shell Game
|
||||
(50885, 86400, 15117, 1), -- Lei-zhi
|
||||
(65798, 270000, 22311, 1), -- An Opportunistic Approach
|
||||
(51106, 86400, 15082, 1), -- Songstress Nahjeen
|
||||
(51127, 86400, 14992, 1), -- Getting Out of Hand
|
||||
(92731, 302400, 29847, 1), -- Artificing Aggression
|
||||
(59902, 86400, 19148, 1), -- A Curious Cache
|
||||
(51584, 86400, 15761, 3), -- Azerite Madness
|
||||
(55786, 86400, 17459, 1), -- Requisition: More Seaweed
|
||||
(54676, 86400, 17068, 1), -- Shards of Narassin
|
||||
(50506, 86400, 14801, 1), -- King Kooba
|
||||
(46264, 21600, 13005, 1), -- Their Eyes Are Upon Us
|
||||
(58281, 86400, 18448, 1), -- Ancient Armaments
|
||||
(75991, 86400, 23887, 1), -- What Could Have Been
|
||||
(48831, 86400, 14213, 1), -- Commander Texlaz
|
||||
(43475, 86400, 12222, 1), -- Experimental Potion: Test Subjects Needed
|
||||
(48730, 86400, 14180, 1), -- Sorolis the Ill-Fated
|
||||
(58287, 86400, 18449, 3), -- A Smashing Plan
|
||||
(52874, 86400, 15939, 1), -- Azerite Mining
|
||||
(55357, 86400, 18459, 1), -- Beacon of the Sun King
|
||||
(52891, 86400, 15977, 1), -- Wendigo to Sleep
|
||||
(48726, 86400, 14176, 1), -- Turek the Lucid
|
||||
(48829, 86400, 14211, 1), -- Wrath-Lord Yarez
|
||||
(50747, 86400, 14923, 1), -- No Good Amani
|
||||
(57215, 86400, 18466, 1), -- Engine of Ascension
|
||||
(51109, 86400, 14998, 2); -- Scorched Earth
|
||||
|
||||
|
||||
UPDATE `world_quest_template` SET `VariableID`=14244 WHERE `QuestID`=49099; -- Invasion Point: Bonich
|
||||
UPDATE `world_quest_template` SET `VariableID`=14060 WHERE `QuestID`=49096; -- Invasion Point: Naigtal
|
||||
|
||||
|
||||
|
||||
DELETE FROM `creature_template_addon` WHERE `entry` IN (266530 /*266530 (Apprentice Magister)*/, 266525 /*266525 (Sin'dorei Magister)*/, 266528 /*266528 (Ren'dorei Magister)*/, 266526 /*266526 (Quel'dorei Magister)*/);
|
||||
INSERT INTO `creature_template_addon` (`entry`, `PathId`, `mount`, `StandState`, `AnimTier`, `VisFlags`, `SheathState`, `PvpFlags`, `emote`, `aiAnimKit`, `movementAnimKit`, `meleeAnimKit`, `visibilityDistanceType`, `auras`) VALUES
|
||||
(266530, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''), -- 266530 (Apprentice Magister)
|
||||
(266525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''), -- 266525 (Sin'dorei Magister)
|
||||
(266528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''), -- 266528 (Ren'dorei Magister)
|
||||
(266526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''); -- 266526 (Quel'dorei Magister)
|
||||
|
||||
|
||||
DELETE FROM `creature_template_difficulty` WHERE (`DifficultyID`=1 AND `Entry` IN (250041,249992,249990,249993,249991,240008));
|
||||
INSERT INTO `creature_template_difficulty` (`Entry`, `DifficultyID`, `HealthScalingExpansion`, `HealthModifier`, `ManaModifier`, `CreatureDifficultyID`, `TypeFlags`, `TypeFlags2`, `TypeFlags3`) VALUES
|
||||
(250041, 1, 11, 1, 1, 329634, 0x40200048, 34, 0), -- Path Helper
|
||||
(249992, 1, 11, 1, 1, 329585, 0x40200048, 34, 0), -- Path Helper
|
||||
(249990, 1, 11, 1, 1, 329583, 0x40200048, 34, 0), -- Path Helper
|
||||
(249993, 1, 11, 1, 1, 329586, 0x40200048, 34, 0), -- Path Helper
|
||||
(249991, 1, 11, 1, 1, 329584, 0x40200048, 34, 0), -- Path Helper
|
||||
(240008, 1, 11, 1, 1, 319167, 0x0, 0, 0); -- Rabbit
|
||||
|
||||
UPDATE `creature_template_difficulty` SET `HealthScalingExpansion`=11, `HealthModifier`=8, `ManaModifier`=17.55279922485351562, `CreatureDifficultyID`=314631, `TypeFlags`=0x60000410, `TypeFlags2`=134 WHERE (`Entry`=235846 AND `DifficultyID`=1); -- Unstable Void Stalker
|
||||
UPDATE `creature_template_difficulty` SET `HealthScalingExpansion`=11, `HealthModifier`=8, `ManaModifier`=17.55279922485351562, `CreatureDifficultyID`=314259, `TypeFlags`=0x60000410, `TypeFlags2`=134 WHERE (`Entry`=235476 AND `DifficultyID`=1); -- Void Mote Socket
|
||||
UPDATE `creature_template_difficulty` SET `HealthScalingExpansion`=11 WHERE (`Entry`=44199 AND `DifficultyID`=1); -- Ring of Frost
|
||||
UPDATE `creature_template_difficulty` SET `HealthScalingExpansion`=11 WHERE (`Entry`=53006 AND `DifficultyID`=1); -- Spirit Link Totem
|
||||
UPDATE `creature_template_difficulty` SET `HealthScalingExpansion`=11 WHERE (`Entry`=5913 AND `DifficultyID`=1); -- Tremor Totem
|
||||
|
||||
UPDATE `gameobject_template` SET `IconName`='' WHERE `entry`=523594;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,47 @@
|
||||
UPDATE `creature_template` SET `RequiredExpansion`=0 WHERE `entry`=227773;
|
||||
UPDATE `creature_template_addon` SET `auras`='61854 1313800' WHERE `entry`=273762;
|
||||
UPDATE `creature` SET `PhaseGroup`=0 WHERE `guid`=675019;
|
||||
UPDATE `creature` SET `PhaseGroup`=0 WHERE `guid`=675020;
|
||||
UPDATE `creature` SET `PhaseGroup`=0 WHERE `guid`=675637;
|
||||
UPDATE `gameobject` SET `PhaseGroup`=0 WHERE `PhaseGroup`=303;
|
||||
DELETE FROM creature_quest_currency where currencyid = 3252;
|
||||
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_void_mote_socket' WHERE `entry`=235476;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_arcane_magister_sentinel' WHERE `entry`=241326;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_lightward_healer_sentinel' WHERE `entry`=241324;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_sunblade_enforcer_sentinel' WHERE `entry`=241325;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_magister_umbric' WHERE `entry`=234148;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_unstable_void_stalker' WHERE `entry`=235846;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_void_portal' WHERE `entry` IN (255613, 255616);
|
||||
|
||||
DELETE FROM `instance_template` WHERE `map`=2923;
|
||||
INSERT INTO `instance_template` (`map`, `parent`, `script`, `insideResurrection`) VALUES (2923, 0, 'instance_voidscar_arena', 0);
|
||||
|
||||
-- Bosses
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_atroxus' WHERE `entry`=239008;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_aegyra_the_unyielding' WHERE `entry`=267545;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_brutok' WHERE `entry`=244309;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_brutal_overseer' WHERE `entry`=252053;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_devouring_brutalizer' WHERE `entry`=268184;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_watchful_harrower' WHERE `entry`=245950;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_tazrah' WHERE `entry`=238887;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_charonus' WHERE `entry`=239167;
|
||||
|
||||
-- Boss helpers
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_champions_spear' WHERE `entry`=267550;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_targeting_stalker' WHERE `entry`=255000;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_gravitic_orb' WHERE `entry`=255001;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_voidscar_ethereal_shade' WHERE `entry`=254677;
|
||||
|
||||
-- Trash
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_voidscar_voidminder' WHERE `entry`=244708;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_voidscar_longtooth_tuskarr' WHERE `entry`=243985;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_voidscar_sycophantic_tarasek' WHERE `entry`=243983;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_voidscar_dominated_brawler' WHERE `entry`=238883;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_voidscar_protective_turtle' WHERE `entry`=249603;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_voidscar_kilivore_screamer' WHERE `entry`=243766;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_voidscar_chitigoth' WHERE `entry`=244260;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_voidscar_toxic_creeper' WHERE `entry`=239070;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_voidscar_abducted_drakonid' WHERE `entry`=249461;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_voidscar_raging_raptor' WHERE `entry`=249608;
|
||||
|
||||
@@ -2997,8 +2997,12 @@ Position Creature::GetRespawnPosition(float* dist) const
|
||||
void Creature::InitializeMovementCapabilities()
|
||||
{
|
||||
SetHover(GetMovementTemplate().IsHoverInitiallyEnabled());
|
||||
SetDisableGravity(IsFloating());
|
||||
SetControlled(IsSessile(), UNIT_STATE_ROOT);
|
||||
|
||||
// CREATURE_STATIC_FLAG_FLOATING disables gravity and plays hover anim
|
||||
UpdateFloatingMovementFlags();
|
||||
|
||||
// CREATURE_STATIC_FLAG_SESSILE disables gravity and applies root
|
||||
UpdateSessileMovementFlags();
|
||||
|
||||
if (CanOnlySwimIfTargetSwims())
|
||||
{
|
||||
@@ -3033,6 +3037,58 @@ void Creature::UpdateMovementCapabilities()
|
||||
SetSwim(false);
|
||||
}
|
||||
|
||||
void Creature::SetFloating(bool floating)
|
||||
{
|
||||
_staticFlags.ApplyFlag(CREATURE_STATIC_FLAG_FLOATING, floating);
|
||||
UpdateFloatingMovementFlags();
|
||||
}
|
||||
|
||||
void Creature::UpdateFloatingMovementFlags()
|
||||
{
|
||||
if (IsFloating())
|
||||
SetDisableGravity(true, false);
|
||||
else
|
||||
{
|
||||
if (IsSessile() ||
|
||||
HasAuraType(SPELL_AURA_MOD_ROOT_DISABLE_GRAVITY) ||
|
||||
HasAuraType(SPELL_AURA_MOD_STUN_DISABLE_GRAVITY) ||
|
||||
HasAuraType(SPELL_AURA_DISABLE_GRAVITY))
|
||||
return;
|
||||
|
||||
SetDisableGravity(false, false);
|
||||
}
|
||||
}
|
||||
|
||||
void Creature::SetSessile(bool sessile)
|
||||
{
|
||||
_staticFlags.ApplyFlag(CREATURE_STATIC_FLAG_SESSILE, sessile);
|
||||
UpdateSessileMovementFlags();
|
||||
}
|
||||
|
||||
void Creature::UpdateSessileMovementFlags()
|
||||
{
|
||||
if (IsSessile())
|
||||
{
|
||||
SetControlled(true, UNIT_STATE_ROOT);
|
||||
SetDisableGravity(true, false, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!HasAuraType(SPELL_AURA_MOD_ROOT_DISABLE_GRAVITY))
|
||||
return;
|
||||
|
||||
if (!HasAuraType(SPELL_AURA_MOD_ROOT))
|
||||
SetControlled(false, UNIT_STATE_ROOT);
|
||||
|
||||
if (IsFloating() ||
|
||||
HasAuraType(SPELL_AURA_MOD_STUN_DISABLE_GRAVITY) ||
|
||||
HasAuraType(SPELL_AURA_DISABLE_GRAVITY))
|
||||
return;
|
||||
|
||||
SetDisableGravity(false, false, false);
|
||||
}
|
||||
}
|
||||
|
||||
CreatureMovementData const& Creature::GetMovementTemplate() const
|
||||
{
|
||||
if (CreatureMovementData const* movementOverride = sObjectMgr->GetCreatureMovementOverride(m_spawnId))
|
||||
|
||||
@@ -143,11 +143,17 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma
|
||||
|
||||
// Returns true if CREATURE_STATIC_FLAG_FLOATING is set which is disabling the gravity of the creature on spawn and reset
|
||||
bool IsFloating() const { return _staticFlags.HasFlag(CREATURE_STATIC_FLAG_FLOATING); }
|
||||
void SetFloating(bool floating) { _staticFlags.ApplyFlag(CREATURE_STATIC_FLAG_FLOATING, floating); SetDisableGravity(floating); }
|
||||
void SetFloating(bool floating);
|
||||
|
||||
// Enables or disables gravity and starts playing hover animations depending on wether CREATURE_STATIC_FLAG_FLOATING is set or not
|
||||
void UpdateFloatingMovementFlags();
|
||||
|
||||
// Returns true if CREATURE_STATIC_FLAG_SESSILE is set which permanently roots the creature in place
|
||||
bool IsSessile() const { return _staticFlags.HasFlag(CREATURE_STATIC_FLAG_SESSILE); }
|
||||
void SetSessile(bool sessile) { _staticFlags.ApplyFlag(CREATURE_STATIC_FLAG_SESSILE, sessile); SetControlled(sessile, UNIT_STATE_ROOT); }
|
||||
void SetSessile(bool sessile);
|
||||
|
||||
// Enables or disables gravity and root movement flags depending on wether CREATURE_STATIC_FLAG_SESSILE is set or not
|
||||
void UpdateSessileMovementFlags();
|
||||
|
||||
// Returns true if CREATURE_STATIC_FLAG_3_CANNOT_PENETRATE_WATER is set which does not allow the creature to go below liquid surfaces
|
||||
bool CannotPenetrateWater() const { return _staticFlags.HasFlag(CREATURE_STATIC_FLAG_3_CANNOT_PENETRATE_WATER); }
|
||||
|
||||
@@ -14136,7 +14136,7 @@ bool Unit::SetWalk(bool enable)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Unit::SetDisableGravity(bool disable, bool updateAnimTier /*= true*/)
|
||||
bool Unit::SetDisableGravity(bool disable, bool updateAnimTier /*= true*/, bool updatePlayHoverAnim /*= true*/)
|
||||
{
|
||||
if (disable == IsGravityDisabled())
|
||||
return false;
|
||||
@@ -14173,7 +14173,7 @@ bool Unit::SetDisableGravity(bool disable, bool updateAnimTier /*= true*/)
|
||||
SendMessageToSet(packet.Write(), true);
|
||||
}
|
||||
|
||||
if (!GetVehicle())
|
||||
if (updatePlayHoverAnim && !GetVehicle())
|
||||
{
|
||||
if (IsAlive())
|
||||
{
|
||||
|
||||
@@ -1167,7 +1167,7 @@ class TC_GAME_API Unit : public WorldObject
|
||||
bool IsWalking() const { return m_movementInfo.HasMovementFlag(MOVEMENTFLAG_WALKING); }
|
||||
bool IsHovering() const { return m_movementInfo.HasMovementFlag(MOVEMENTFLAG_HOVER); }
|
||||
bool SetWalk(bool enable);
|
||||
bool SetDisableGravity(bool disable, bool updateAnimTier = true);
|
||||
bool SetDisableGravity(bool disable, bool updateAnimTier = true, bool updatePlayHoverAnim = true);
|
||||
bool SetFall(bool enable);
|
||||
bool SetSwim(bool enable);
|
||||
bool SetCanFly(bool enable);
|
||||
|
||||
@@ -95,15 +95,14 @@ struct boss_arcanotron_custos : public BossAI
|
||||
void ScheduleTasks() override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_REPULSING_SLAM, 6s);
|
||||
events.ScheduleEvent(EVENT_ARCANE_EXPULSION, 15s);
|
||||
events.ScheduleEvent(EVENT_ARCANE_EXPULSION, 16s);
|
||||
events.ScheduleEvent(EVENT_ETHEREAL_SHACKLES, 23s);
|
||||
events.ScheduleEvent(EVENT_REFUELING_PROTOCOL, 45s);
|
||||
}
|
||||
|
||||
void SpawnEnergyOrbs()
|
||||
{
|
||||
for (uint8 i = 0; i < 3; ++i)
|
||||
DoCastAOE(SPELL_ENERGY_ORB);
|
||||
DoCastAOE(SPELL_ENERGY_ORB);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
@@ -112,20 +111,20 @@ struct boss_arcanotron_custos : public BossAI
|
||||
{
|
||||
case EVENT_REPULSING_SLAM:
|
||||
DoCastVictim(SPELL_REPULSING_SLAM);
|
||||
events.Repeat(10s);
|
||||
events.Repeat(23s);
|
||||
break;
|
||||
case EVENT_ARCANE_EXPULSION:
|
||||
DoCastAOE(SPELL_ARCANE_EXPULSION);
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 45.0f, true))
|
||||
DoCast(target, SPELL_ARCANE_RESIDUE, true);
|
||||
events.Repeat(12s);
|
||||
events.Repeat(23s);
|
||||
break;
|
||||
case EVENT_ETHEREAL_SHACKLES:
|
||||
for (uint8 i = 0; i < 3; ++i)
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
DoCast(target, urand(0, 1) ? SPELL_ETHEREAL_SHACKLES : SPELL_ETHEREAL_SHACKLES_2);
|
||||
DoCastSelf(SPELL_ETHEREAL_SHACKLES_VIS, true);
|
||||
events.Repeat(22s);
|
||||
events.Repeat(23s);
|
||||
break;
|
||||
case EVENT_REFUELING_PROTOCOL:
|
||||
_refueling = true;
|
||||
@@ -133,9 +132,9 @@ struct boss_arcanotron_custos : public BossAI
|
||||
events.CancelEvent(EVENT_ARCANE_EXPULSION);
|
||||
events.CancelEvent(EVENT_ETHEREAL_SHACKLES);
|
||||
DoCastSelf(SPELL_REFUELING_PROTOCOL);
|
||||
events.ScheduleEvent(EVENT_SPAWN_ENERGY_ORBS, 1s);
|
||||
events.ScheduleEvent(EVENT_UNSTABLE_ENERGY, 2s);
|
||||
events.ScheduleEvent(EVENT_END_REFUELING, 14s);
|
||||
events.ScheduleEvent(EVENT_SPAWN_ENERGY_ORBS, 3s);
|
||||
events.ScheduleEvent(EVENT_UNSTABLE_ENERGY, 9s);
|
||||
events.ScheduleEvent(EVENT_END_REFUELING, 23s);
|
||||
break;
|
||||
case EVENT_SPAWN_ENERGY_ORBS:
|
||||
SpawnEnergyOrbs();
|
||||
@@ -151,11 +150,12 @@ struct boss_arcanotron_custos : public BossAI
|
||||
me->RemoveAurasDueToSpell(SPELL_REFUELING_PROTOCOL);
|
||||
events.CancelEvent(EVENT_SPAWN_ENERGY_ORBS);
|
||||
events.CancelEvent(EVENT_UNSTABLE_ENERGY);
|
||||
DoCastSelf(SPELL_ENERGY_CONSUMER, true);
|
||||
DoCastAOE(SPELL_ARCANE_ERUPTION);
|
||||
events.ScheduleEvent(EVENT_REPULSING_SLAM, 3s);
|
||||
events.ScheduleEvent(EVENT_ARCANE_EXPULSION, 8s);
|
||||
events.ScheduleEvent(EVENT_ETHEREAL_SHACKLES, 14s);
|
||||
events.ScheduleEvent(EVENT_REFUELING_PROTOCOL, 60s);
|
||||
events.ScheduleEvent(EVENT_REPULSING_SLAM, 7s);
|
||||
events.ScheduleEvent(EVENT_ARCANE_EXPULSION, 15s);
|
||||
events.ScheduleEvent(EVENT_ETHEREAL_SHACKLES, 22s);
|
||||
events.ScheduleEvent(EVENT_REFUELING_PROTOCOL, 68s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -23,36 +23,39 @@ enum DegentriusSpells
|
||||
{
|
||||
SPELL_MOTE_CREATION_A = 1215028,
|
||||
SPELL_MOTE_CREATION_B = 1215029,
|
||||
SPELL_VOID_MOTE = 1214582,
|
||||
SPELL_VOID_MOTE_A = 1214597,
|
||||
SPELL_VOID_MOTE_B = 1243134,
|
||||
SPELL_CALL_OF_THE_VOID = 1270923,
|
||||
SPELL_VOID_ENERGY = 1253784,
|
||||
SPELL_UNSTABLE_VOID_ESSENCE = 1215087,
|
||||
SPELL_VOID_TORRENT = 1214714,
|
||||
SPELL_VOID_DESTRUCTION = 1215161,
|
||||
SPELL_DEVOURING_ENTROPY = 1215897,
|
||||
SPELL_ENTROPY_ORB = 1269631,
|
||||
SPELL_UNSTABLE_VOID_ESSENCE_2 = 1215067,
|
||||
SPELL_UNSTABLE_VOID_ESSENCE_3 = 1215099,
|
||||
SPELL_UNSTABLE_VOID = 1215163,
|
||||
SPELL_ENTROPY_BLAST = 1271066,
|
||||
SPELL_DEVOURING_ENTROPY = 1215893,
|
||||
SPELL_DEVOURING_ENTROPY_2 = 1215896,
|
||||
SPELL_DEVOURING_ENTROPY_3 = 1215897,
|
||||
SPELL_HULKING_FRAGMENT = 1280113,
|
||||
SPELL_HULKING_FRAGMENT_SLAM = 1280106,
|
||||
SPELL_ENTROPY_BLAST = 1271066,
|
||||
SPELL_UMBRAL_SPLINTERS = 1284627,
|
||||
SPELL_HULKING_FRAGMENT_SLAM_2 = 1280107,
|
||||
SPELL_HULKING_FRAGMENT_2 = 1280119,
|
||||
};
|
||||
|
||||
enum DegentriusTexts
|
||||
{
|
||||
SAY_AGGRO = 0,
|
||||
SAY_DEATH = 1,
|
||||
SAY_CALL_OF_THE_VOID = 2,
|
||||
};
|
||||
|
||||
enum DegentriusEvents
|
||||
{
|
||||
EVENT_MOTE_CREATION = 1,
|
||||
EVENT_CALL_OF_THE_VOID,
|
||||
EVENT_ENTROPY_BLAST,
|
||||
EVENT_HULKING_FRAGMENT,
|
||||
EVENT_UNSTABLE_VOID_ESSENCE,
|
||||
EVENT_DEVOURING_ENTROPY,
|
||||
EVENT_HULKING_FRAGMENT,
|
||||
EVENT_ENTROPY_BLAST,
|
||||
EVENT_VOID_TORRENT,
|
||||
EVENT_UMBRAL_SPLINTERS,
|
||||
};
|
||||
|
||||
// 231865 - Degentrius
|
||||
@@ -71,7 +74,9 @@ struct boss_degentrius : public BossAI
|
||||
BossAI::JustEngagedWith(who);
|
||||
Talk(SAY_AGGRO);
|
||||
DoCastSelf(SPELL_VOID_ENERGY, true);
|
||||
CastMoteCreation();
|
||||
DoCastSelf(SPELL_MOTE_CREATION_A, true);
|
||||
DoCastSelf(SPELL_MOTE_CREATION_B, true);
|
||||
events.ScheduleEvent(EVENT_CALL_OF_THE_VOID, 6s);
|
||||
instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me);
|
||||
}
|
||||
|
||||
@@ -91,21 +96,12 @@ struct boss_degentrius : public BossAI
|
||||
_DespawnAtEvade();
|
||||
}
|
||||
|
||||
void CastMoteCreation()
|
||||
{
|
||||
DoCastSelf(SPELL_MOTE_CREATION_A, true);
|
||||
DoCastSelf(SPELL_MOTE_CREATION_B, true);
|
||||
events.ScheduleEvent(EVENT_CALL_OF_THE_VOID, 5s);
|
||||
}
|
||||
|
||||
void ScheduleTasks() override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_ENTROPY_BLAST, 8s);
|
||||
events.ScheduleEvent(EVENT_HULKING_FRAGMENT, 12s);
|
||||
events.ScheduleEvent(EVENT_UNSTABLE_VOID_ESSENCE, 15s);
|
||||
events.ScheduleEvent(EVENT_DEVOURING_ENTROPY, 20s);
|
||||
events.ScheduleEvent(EVENT_VOID_TORRENT, 26s);
|
||||
events.ScheduleEvent(EVENT_UMBRAL_SPLINTERS, 34s);
|
||||
events.ScheduleEvent(EVENT_ENTROPY_BLAST, 4s);
|
||||
events.ScheduleEvent(EVENT_HULKING_FRAGMENT, 10s);
|
||||
events.ScheduleEvent(EVENT_UNSTABLE_VOID_ESSENCE, 14s);
|
||||
events.ScheduleEvent(EVENT_DEVOURING_ENTROPY, 18s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
@@ -113,39 +109,42 @@ struct boss_degentrius : public BossAI
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_MOTE_CREATION:
|
||||
CastMoteCreation();
|
||||
DoCastSelf(SPELL_MOTE_CREATION_A, true);
|
||||
DoCastSelf(SPELL_MOTE_CREATION_B, true);
|
||||
break;
|
||||
case EVENT_CALL_OF_THE_VOID:
|
||||
DoCastAOE(SPELL_CALL_OF_THE_VOID);
|
||||
DoCastAOE(SPELL_VOID_MOTE);
|
||||
Talk(SAY_CALL_OF_THE_VOID);
|
||||
DoCastSelf(SPELL_CALL_OF_THE_VOID);
|
||||
DoCastSelf(SPELL_VOID_MOTE_A, true);
|
||||
DoCastSelf(SPELL_VOID_MOTE_B, true);
|
||||
events.Repeat(45s);
|
||||
break;
|
||||
case EVENT_ENTROPY_BLAST:
|
||||
DoCastVictim(SPELL_ENTROPY_BLAST);
|
||||
events.Repeat(Milliseconds(20500));
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_ENTROPY_BLAST);
|
||||
events.Repeat(2s);
|
||||
break;
|
||||
case EVENT_HULKING_FRAGMENT:
|
||||
DoCastVictim(SPELL_HULKING_FRAGMENT);
|
||||
DoCastVictim(SPELL_HULKING_FRAGMENT_SLAM, true);
|
||||
events.Repeat(30s);
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_HULKING_FRAGMENT);
|
||||
DoCast(target, SPELL_HULKING_FRAGMENT_SLAM, true);
|
||||
DoCast(target, SPELL_HULKING_FRAGMENT_SLAM_2, true);
|
||||
}
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
case EVENT_UNSTABLE_VOID_ESSENCE:
|
||||
DoCastAOE(SPELL_UNSTABLE_VOID_ESSENCE);
|
||||
events.Repeat(28s);
|
||||
DoCastSelf(SPELL_UNSTABLE_VOID_ESSENCE, true);
|
||||
DoCastSelf(SPELL_UNSTABLE_VOID_ESSENCE_2, true);
|
||||
DoCastSelf(SPELL_UNSTABLE_VOID_ESSENCE_3, true);
|
||||
DoCastSelf(SPELL_UNSTABLE_VOID, true);
|
||||
events.Repeat(30s);
|
||||
break;
|
||||
case EVENT_DEVOURING_ENTROPY:
|
||||
for (uint8 i = 0; i < 3; ++i)
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_DEVOURING_ENTROPY, true);
|
||||
events.Repeat(45s);
|
||||
break;
|
||||
case EVENT_VOID_TORRENT:
|
||||
DoCastAOE(SPELL_VOID_TORRENT);
|
||||
events.Repeat(40s);
|
||||
break;
|
||||
case EVENT_UMBRAL_SPLINTERS:
|
||||
DoCastVictim(SPELL_UMBRAL_SPLINTERS);
|
||||
events.Repeat(35s);
|
||||
DoCast(target, urand(0, 2) ? SPELL_DEVOURING_ENTROPY : SPELL_DEVOURING_ENTROPY_3, true);
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -156,4 +155,4 @@ struct boss_degentrius : public BossAI
|
||||
void AddSC_boss_degentrius()
|
||||
{
|
||||
RegisterMagistersTerraceCreatureAI(boss_degentrius);
|
||||
}
|
||||
}
|
||||
@@ -52,6 +52,7 @@ enum GemellusEvents
|
||||
EVENT_ASTRAL_GRASP,
|
||||
EVENT_SYNAPTIC_NEXUS,
|
||||
EVENT_COSMIC_RADIATION,
|
||||
EVENT_COLOR_OVERRIDE,
|
||||
};
|
||||
|
||||
// 239636 - Gemellus
|
||||
@@ -68,8 +69,9 @@ struct boss_gemellus : public BossAI
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
Talk(SAY_AGGRO);
|
||||
DoCastSelf(SPELL_DISPLAY_OVERRIDE, true);
|
||||
instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me);
|
||||
events.ScheduleEvent(EVENT_TRIPLICATE, 1s);
|
||||
events.ScheduleEvent(EVENT_TRIPLICATE, 60s);
|
||||
}
|
||||
|
||||
void JustDied(Unit* killer) override
|
||||
@@ -88,10 +90,11 @@ struct boss_gemellus : public BossAI
|
||||
|
||||
void ScheduleTasks() override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_COSMIC_STING, 8s);
|
||||
events.ScheduleEvent(EVENT_VOID_SECRETIONS, 13s);
|
||||
events.ScheduleEvent(EVENT_COSMIC_STING, 10s);
|
||||
events.ScheduleEvent(EVENT_VOID_SECRETIONS, 47s);
|
||||
events.ScheduleEvent(EVENT_SYNAPTIC_NEXUS, 22s);
|
||||
events.ScheduleEvent(EVENT_ASTRAL_GRASP, 34s);
|
||||
events.ScheduleEvent(EVENT_ASTRAL_GRASP, 30s);
|
||||
events.ScheduleEvent(EVENT_COLOR_OVERRIDE, 46s);
|
||||
events.ScheduleEvent(EVENT_COSMIC_RADIATION, 45s);
|
||||
}
|
||||
|
||||
@@ -123,20 +126,24 @@ struct boss_gemellus : public BossAI
|
||||
SpawnCopy();
|
||||
events.Repeat(60s);
|
||||
break;
|
||||
case EVENT_COLOR_OVERRIDE:
|
||||
DoCastSelf(SPELL_DISPLAY_OVERRIDE, true);
|
||||
events.Repeat(46s);
|
||||
break;
|
||||
case EVENT_COSMIC_STING:
|
||||
for (uint8 i = 0; i < 3; ++i)
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, urand(0, 1) ? SPELL_COSMIC_STING : SPELL_COSMIC_STING_2);
|
||||
events.Repeat(Milliseconds(20500));
|
||||
events.Repeat(45s);
|
||||
break;
|
||||
case EVENT_VOID_SECRETIONS:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, urand(0, 1) ? SPELL_VOID_SECRETIONS : SPELL_VOID_SECRETIONS_2);
|
||||
events.Repeat(20s);
|
||||
events.Repeat(45s);
|
||||
break;
|
||||
case EVENT_ASTRAL_GRASP:
|
||||
CastAstralGrasp();
|
||||
events.Repeat(30s);
|
||||
events.Repeat(45s);
|
||||
break;
|
||||
case EVENT_SYNAPTIC_NEXUS:
|
||||
DoCastSelf(SPELL_SYNAPTIC_NEXUS);
|
||||
|
||||
@@ -53,7 +53,7 @@ enum SeranelEvents
|
||||
EVENT_BOSS_JUMP = 1,
|
||||
EVENT_RUNIC_MARK,
|
||||
EVENT_SUPPRESSION_ZONE,
|
||||
EVENT_FEEDBACK,
|
||||
EVENT_SUPPRESSION_ZONE_PULSE,
|
||||
EVENT_HASTENING_WARD,
|
||||
EVENT_HASTENING_WARD_2,
|
||||
EVENT_WAVE_OF_SILENCE,
|
||||
@@ -113,9 +113,8 @@ struct boss_seranel_sunlash : public BossAI
|
||||
events.ScheduleEvent(EVENT_BOSS_JUMP, 1s);
|
||||
events.ScheduleEvent(EVENT_RUNIC_MARK, 16s);
|
||||
events.ScheduleEvent(EVENT_SUPPRESSION_ZONE, 27s);
|
||||
events.ScheduleEvent(EVENT_FEEDBACK, 34s);
|
||||
events.ScheduleEvent(EVENT_HASTENING_WARD, 35s);
|
||||
events.ScheduleEvent(EVENT_WAVE_OF_SILENCE, 60s);
|
||||
events.ScheduleEvent(EVENT_WAVE_OF_SILENCE, 61s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
@@ -133,22 +132,22 @@ struct boss_seranel_sunlash : public BossAI
|
||||
DoCast(target, urand(0, 1) ? SPELL_RUNIC_MARK : SPELL_RUNIC_MARK_2);
|
||||
DoCast(target, urand(0, 2) ? SPELL_RUNIC_MARK_DOT : SPELL_RUNIC_MARK_4, true);
|
||||
}
|
||||
events.Repeat(30s);
|
||||
events.Repeat(29s);
|
||||
break;
|
||||
case EVENT_SUPPRESSION_ZONE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true))
|
||||
DoCast(target, SPELL_SUPPRESSION_ZONE);
|
||||
DoCastAOE(SPELL_SUPPRESSION_ZONE_3);
|
||||
events.Repeat(22s);
|
||||
events.ScheduleEvent(EVENT_SUPPRESSION_ZONE_PULSE, 10s);
|
||||
events.Repeat(57s);
|
||||
break;
|
||||
case EVENT_FEEDBACK:
|
||||
DoCastAOE(SPELL_FEEDBACK);
|
||||
events.Repeat(40s);
|
||||
case EVENT_SUPPRESSION_ZONE_PULSE:
|
||||
DoCastAOE(SPELL_SUPPRESSION_ZONE_3);
|
||||
events.Repeat(4s);
|
||||
break;
|
||||
case EVENT_HASTENING_WARD:
|
||||
DoCastSelf(SPELL_HASTENING_WARD, true);
|
||||
events.ScheduleEvent(EVENT_HASTENING_WARD_2, 2s);
|
||||
events.Repeat(40s);
|
||||
events.Repeat(57s);
|
||||
break;
|
||||
case EVENT_HASTENING_WARD_2:
|
||||
DoCastSelf(SPELL_HASTENING_WARD_2, true);
|
||||
|
||||
@@ -50,6 +50,17 @@ enum TrashSpells
|
||||
SPELL_DEVOURING_STRIKE = 1264687,
|
||||
SPELL_VOID_BOMB = 1248219,
|
||||
SPELL_VOID_ERUPTION = 1264951,
|
||||
SPELL_VOID_BLAST = 1265938,
|
||||
SPELL_VOID_PORTAL_VISUAL = 1265605,
|
||||
SPELL_UNSTABLE_VOID_ESSENCE = 1215099,
|
||||
SPELL_VOID_DESTRUCTION = 1215161,
|
||||
SPELL_VOID_MOTE_SOCKET = 1214627,
|
||||
SPELL_VOID_TORRENT = 1214665,
|
||||
SPELL_PIERCING_FORCE_IMPLOSION = 1244993,
|
||||
SPELL_PERMANENT_FEIGN_DEATH = 130966,
|
||||
SPELL_BAD_MEDICINE = 1244943,
|
||||
SPELL_POLYMORPH_SENTINEL = 1244953,
|
||||
SPELL_ARCANE_BOLT_SENTINEL = 1244972,
|
||||
};
|
||||
|
||||
enum TrashEvents
|
||||
@@ -77,6 +88,13 @@ enum TrashEvents
|
||||
EVENT_VOID_BOMB,
|
||||
EVENT_VOID_ERUPTION,
|
||||
EVENT_DIMENSIONAL_SHRED,
|
||||
EVENT_VOID_BLAST,
|
||||
EVENT_VOID_DESTRUCTION,
|
||||
EVENT_VOID_TORRENT,
|
||||
EVENT_IMPLOSION,
|
||||
EVENT_BAD_MEDICINE,
|
||||
EVENT_POLYMORPH_SENTINEL,
|
||||
EVENT_ARCANE_BOLT_SENTINEL,
|
||||
};
|
||||
|
||||
// 234124 - Sunblade Enforcer
|
||||
@@ -519,6 +537,150 @@ struct npc_energy_orb : public ScriptedAI
|
||||
}
|
||||
};
|
||||
|
||||
// 241325 - Sunblade Enforcer (Sentinel)
|
||||
struct npc_sunblade_enforcer_sentinel : public ScriptedAI
|
||||
{
|
||||
npc_sunblade_enforcer_sentinel(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void ScheduleTasks() override
|
||||
{
|
||||
DoZoneInCombat();
|
||||
DoCastSelf(SPELL_PERMANENT_FEIGN_DEATH, true);
|
||||
events.ScheduleEvent(EVENT_IMPLOSION, 6s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
if (eventId == EVENT_IMPLOSION)
|
||||
{
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true))
|
||||
DoCast(target, SPELL_PIERCING_FORCE_IMPLOSION);
|
||||
events.Repeat(20s);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// 241324 - Lightward Healer (Sentinel)
|
||||
struct npc_lightward_healer_sentinel : public ScriptedAI
|
||||
{
|
||||
npc_lightward_healer_sentinel(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void ScheduleTasks() override
|
||||
{
|
||||
DoZoneInCombat();
|
||||
events.ScheduleEvent(EVENT_BAD_MEDICINE, 10s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
if (eventId == EVENT_BAD_MEDICINE)
|
||||
{
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true))
|
||||
DoCast(target, SPELL_BAD_MEDICINE);
|
||||
events.Repeat(18s);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// 241326 - Arcane Magister (Sentinel)
|
||||
struct npc_arcane_magister_sentinel : public ScriptedAI
|
||||
{
|
||||
npc_arcane_magister_sentinel(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void ScheduleTasks() override
|
||||
{
|
||||
DoZoneInCombat();
|
||||
events.ScheduleEvent(EVENT_ARCANE_BOLT_SENTINEL, 6s);
|
||||
events.ScheduleEvent(EVENT_POLYMORPH_SENTINEL, 14s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_ARCANE_BOLT_SENTINEL:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
DoCast(target, SPELL_ARCANE_BOLT_SENTINEL);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_POLYMORPH_SENTINEL:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
DoCast(target, SPELL_POLYMORPH_SENTINEL);
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// 235846 - Unstable Void Stalker
|
||||
struct npc_unstable_void_stalker : public ScriptedAI
|
||||
{
|
||||
npc_unstable_void_stalker(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void ScheduleTasks() override
|
||||
{
|
||||
DoZoneInCombat();
|
||||
DoCastSelf(SPELL_UNSTABLE_VOID_ESSENCE, true);
|
||||
events.ScheduleEvent(EVENT_VOID_DESTRUCTION, 8s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
if (eventId == EVENT_VOID_DESTRUCTION)
|
||||
{
|
||||
DoCastAOE(SPELL_VOID_DESTRUCTION);
|
||||
events.Repeat(12s);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// 235476 - Void Mote Socket
|
||||
struct npc_void_mote_socket : public ScriptedAI
|
||||
{
|
||||
npc_void_mote_socket(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void ScheduleTasks() override
|
||||
{
|
||||
DoZoneInCombat();
|
||||
DoCastSelf(SPELL_VOID_MOTE_SOCKET, true);
|
||||
events.ScheduleEvent(EVENT_VOID_TORRENT, 5s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
if (eventId == EVENT_VOID_TORRENT)
|
||||
{
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_VOID_TORRENT);
|
||||
events.Repeat(15s);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// 255613, 255616 - Void Portal
|
||||
struct npc_void_portal : public ScriptedAI
|
||||
{
|
||||
npc_void_portal(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void ScheduleTasks() override
|
||||
{
|
||||
DoCastSelf(SPELL_VOID_PORTAL_VISUAL, true);
|
||||
events.ScheduleEvent(EVENT_VOID_BLAST, 2s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
if (eventId == EVENT_VOID_BLAST)
|
||||
{
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, false))
|
||||
DoCast(target, SPELL_VOID_BLAST);
|
||||
events.Repeat(2s);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_magisters_terrace_trash()
|
||||
{
|
||||
RegisterMagistersTerraceCreatureAI(npc_sunblade_enforcer);
|
||||
@@ -538,5 +700,11 @@ void AddSC_magisters_terrace_trash()
|
||||
RegisterMagistersTerraceCreatureAI(npc_void_infused_brightscale);
|
||||
RegisterMagistersTerraceCreatureAI(npc_devouring_tyrant);
|
||||
RegisterMagistersTerraceCreatureAI(npc_unstable_voidling);
|
||||
RegisterMagistersTerraceCreatureAI(npc_sunblade_enforcer_sentinel);
|
||||
RegisterMagistersTerraceCreatureAI(npc_lightward_healer_sentinel);
|
||||
RegisterMagistersTerraceCreatureAI(npc_arcane_magister_sentinel);
|
||||
RegisterMagistersTerraceCreatureAI(npc_unstable_void_stalker);
|
||||
RegisterMagistersTerraceCreatureAI(npc_void_mote_socket);
|
||||
RegisterMagistersTerraceCreatureAI(npc_void_portal);
|
||||
RegisterMagistersTerraceCreatureAI(npc_energy_orb);
|
||||
}
|
||||
|
||||
@@ -42,10 +42,12 @@ enum MagistersTerraceCreatureIds
|
||||
|
||||
NPC_ENERGY_ORB = 234775,
|
||||
NPC_GELLUS_COPY = 231864,
|
||||
NPC_MAGISTER_UMBRIC = 234148,
|
||||
|
||||
// Trash
|
||||
NPC_BRIGHTSCALE_WYRM = 232106,
|
||||
NPC_ARCANE_MAGISTER = 232369,
|
||||
NPC_ARCANE_MAGISTER_SENTINEL = 241326,
|
||||
NPC_ARCANE_SENTRY = 234062,
|
||||
NPC_DREADFUL_VOIDWALKER = 234064,
|
||||
NPC_HOLLOWSOUL_SHREDDER = 234065,
|
||||
@@ -54,13 +56,19 @@ enum MagistersTerraceCreatureIds
|
||||
NPC_VOIDLING = 234069,
|
||||
NPC_ANIMATED_CODEX = 234089,
|
||||
NPC_SUNBLADE_ENFORCER = 234124,
|
||||
NPC_SUNBLADE_ENFORCER_SENTINEL= 241325,
|
||||
NPC_LIGHTWARD_HEALER = 234486,
|
||||
NPC_LIGHTWARD_HEALER_SENTINEL = 241324,
|
||||
NPC_RUNED_SPELLBREAKER = 240973,
|
||||
NPC_VOID_INFUSED_BRIGHTSCALE = 241354,
|
||||
NPC_VOID_TERROR = 249086,
|
||||
NPC_BLAZING_PYROMANCER = 251861,
|
||||
NPC_SPELLWOVEN_FAMILIAR = 259387,
|
||||
NPC_UNSTABLE_VOIDLING = 255376,
|
||||
NPC_UNSTABLE_VOID_STALKER = 235846,
|
||||
NPC_VOID_MOTE_SOCKET = 235476,
|
||||
NPC_VOID_PORTAL = 255613,
|
||||
NPC_VOID_PORTAL_2 = 255616,
|
||||
};
|
||||
|
||||
enum MagistersTerraceGoIds
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore 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 General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ScriptedCreature.h"
|
||||
#include "magistersterracemidnight.h"
|
||||
|
||||
enum UmbricSpells
|
||||
{
|
||||
SPELL_CONVERSATION_03 = 1237357,
|
||||
SPELL_ANCHOR_HERE = 45313,
|
||||
SPELL_KNOCK = 1254510,
|
||||
SPELL_INVISIBILITY = 1237712,
|
||||
SPELL_ARCANE_PRISON = 1237728,
|
||||
SPELL_TELEPORT = 1237747,
|
||||
SPELL_CONVERSATION_09 = 1237815,
|
||||
SPELL_DRAIN_SHIELD = 1254246,
|
||||
SPELL_DISPLAY_CYNOSURE = 1237852,
|
||||
SPELL_ASTRAL_GATEWAY = 1254872,
|
||||
SPELL_TELEPORT_DNT = 440302,
|
||||
SPELL_CONVERSATION_13 = 1237867,
|
||||
};
|
||||
|
||||
enum UmbricEvents
|
||||
{
|
||||
EVENT_CONVERSATION_03 = 1,
|
||||
EVENT_INVISIBILITY,
|
||||
EVENT_KNOCK,
|
||||
EVENT_ARCANE_PRISON,
|
||||
EVENT_CONVERSATION_09,
|
||||
EVENT_DRAIN_SHIELD,
|
||||
EVENT_TELEPORT,
|
||||
EVENT_CHECK_FINALE,
|
||||
EVENT_FAREWELL_1,
|
||||
EVENT_FAREWELL_2,
|
||||
EVENT_FAREWELL_3,
|
||||
EVENT_DESPAWN,
|
||||
};
|
||||
|
||||
// 234148 - Magister Umbric
|
||||
struct npc_magister_umbric : public ScriptedAI
|
||||
{
|
||||
npc_magister_umbric(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript())
|
||||
{
|
||||
}
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
ScriptedAI::Reset();
|
||||
events.ScheduleEvent(EVENT_CONVERSATION_03, 1s);
|
||||
events.ScheduleEvent(EVENT_INVISIBILITY, 4s);
|
||||
events.ScheduleEvent(EVENT_KNOCK, 6s);
|
||||
events.ScheduleEvent(EVENT_ARCANE_PRISON, 10s);
|
||||
events.ScheduleEvent(EVENT_CONVERSATION_09, 15s);
|
||||
events.ScheduleEvent(EVENT_DRAIN_SHIELD, 18s);
|
||||
events.ScheduleEvent(EVENT_TELEPORT, 160s);
|
||||
events.ScheduleEvent(EVENT_CHECK_FINALE, 5s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_CONVERSATION_03:
|
||||
DoCastSelf(SPELL_CONVERSATION_03);
|
||||
DoCastSelf(SPELL_ANCHOR_HERE, true);
|
||||
break;
|
||||
case EVENT_INVISIBILITY:
|
||||
DoCastSelf(SPELL_INVISIBILITY, true);
|
||||
break;
|
||||
case EVENT_KNOCK:
|
||||
DoCastSelf(SPELL_KNOCK);
|
||||
break;
|
||||
case EVENT_ARCANE_PRISON:
|
||||
DoCastSelf(SPELL_ARCANE_PRISON);
|
||||
break;
|
||||
case EVENT_CONVERSATION_09:
|
||||
DoCastSelf(SPELL_CONVERSATION_09);
|
||||
break;
|
||||
case EVENT_DRAIN_SHIELD:
|
||||
DoCastSelf(SPELL_DRAIN_SHIELD, true);
|
||||
break;
|
||||
case EVENT_TELEPORT:
|
||||
TeleportNearParty();
|
||||
events.Repeat(240s);
|
||||
break;
|
||||
case EVENT_CHECK_FINALE:
|
||||
if (_instance && _instance->GetBossState(DATA_DEGENTRIUS) == DONE)
|
||||
{
|
||||
events.CancelEvent(EVENT_TELEPORT);
|
||||
events.ScheduleEvent(EVENT_FAREWELL_1, 1s);
|
||||
events.ScheduleEvent(EVENT_FAREWELL_2, 4s);
|
||||
events.ScheduleEvent(EVENT_FAREWELL_3, 8s);
|
||||
events.ScheduleEvent(EVENT_DESPAWN, 12s);
|
||||
}
|
||||
else
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_FAREWELL_1:
|
||||
DoCastSelf(SPELL_DISPLAY_CYNOSURE, true);
|
||||
DoCastSelf(SPELL_CONVERSATION_13);
|
||||
break;
|
||||
case EVENT_FAREWELL_2:
|
||||
DoCastSelf(SPELL_ASTRAL_GATEWAY);
|
||||
break;
|
||||
case EVENT_FAREWELL_3:
|
||||
DoCastSelf(SPELL_TELEPORT_DNT);
|
||||
break;
|
||||
case EVENT_DESPAWN:
|
||||
me->DespawnOrUnsummon();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
void TeleportNearParty()
|
||||
{
|
||||
if (Player* player = me->SelectNearestPlayer(100.0f))
|
||||
{
|
||||
float angle = frand(0.0f, 6.28319f);
|
||||
float dist = frand(10.0f, 35.0f);
|
||||
float x = player->GetPositionX() + std::cos(angle) * dist;
|
||||
float y = player->GetPositionY() + std::sin(angle) * dist;
|
||||
float z = player->GetPositionZ();
|
||||
me->NearTeleportTo(x, y, z, me->GetOrientation());
|
||||
}
|
||||
DoCastSelf(SPELL_TELEPORT, true);
|
||||
}
|
||||
|
||||
InstanceScript* _instance;
|
||||
};
|
||||
|
||||
void AddSC_npc_magister_umbric()
|
||||
{
|
||||
RegisterMagistersTerraceCreatureAI(npc_magister_umbric);
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore 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 General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "PassiveAI.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "voidscar_arena.h"
|
||||
|
||||
enum AegyraSpells
|
||||
{
|
||||
SPELL_AEGYRA_PROOF_OF_ENDURANCE = 1298903,
|
||||
SPELL_AEGYRA_CHAMPIONS_SPEAR = 1298908,
|
||||
SPELL_AEGYRA_SAVAGE_SMASH = 1298922,
|
||||
SPELL_AEGYRA_SAVAGE_SMASH_2 = 1298924,
|
||||
SPELL_AEGYRA_FEROCIOUS_LEAP = 1299125,
|
||||
SPELL_AEGYRA_FEROCIOUS_LEAP_2 = 1299133,
|
||||
SPELL_AEGYRA_EARTHSPLITTER = 1299145,
|
||||
SPELL_AEGYRA_AFTERSHOCK = 1299210,
|
||||
};
|
||||
|
||||
enum AegyraEvents
|
||||
{
|
||||
EVENT_AEGYRA_FEROCIOUS_LEAP = 1,
|
||||
EVENT_AEGYRA_EARTHSPLITTER,
|
||||
EVENT_AEGYRA_AFTERSHOCK,
|
||||
EVENT_AEGYRA_CHAMPIONS_SPEAR,
|
||||
EVENT_AEGYRA_SAVAGE_SMASH,
|
||||
EVENT_AEGYRA_PROOF_OF_ENDURANCE,
|
||||
};
|
||||
|
||||
// 267545 - Aegyra the Unyielding
|
||||
struct boss_aegyra_the_unyielding : public BossAI
|
||||
{
|
||||
boss_aegyra_the_unyielding(Creature* creature) : BossAI(creature, DATA_AEGYRA_THE_UNYIELDING) { }
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
events.ScheduleEvent(EVENT_AEGYRA_FEROCIOUS_LEAP, 1s);
|
||||
events.ScheduleEvent(EVENT_AEGYRA_EARTHSPLITTER, 4s);
|
||||
events.ScheduleEvent(EVENT_AEGYRA_AFTERSHOCK, 7s);
|
||||
events.ScheduleEvent(EVENT_AEGYRA_CHAMPIONS_SPEAR, 16s);
|
||||
events.ScheduleEvent(EVENT_AEGYRA_SAVAGE_SMASH, 19s);
|
||||
events.ScheduleEvent(EVENT_AEGYRA_PROOF_OF_ENDURANCE, 24s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_AEGYRA_FEROCIOUS_LEAP:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_AEGYRA_FEROCIOUS_LEAP);
|
||||
DoCast(target, SPELL_AEGYRA_FEROCIOUS_LEAP_2, true);
|
||||
}
|
||||
events.Repeat(24s);
|
||||
break;
|
||||
case EVENT_AEGYRA_EARTHSPLITTER:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_AEGYRA_EARTHSPLITTER);
|
||||
events.Repeat(21s);
|
||||
break;
|
||||
case EVENT_AEGYRA_AFTERSHOCK:
|
||||
DoCastSelf(SPELL_AEGYRA_AFTERSHOCK);
|
||||
events.Repeat(21s);
|
||||
break;
|
||||
case EVENT_AEGYRA_CHAMPIONS_SPEAR:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_AEGYRA_CHAMPIONS_SPEAR);
|
||||
events.Repeat(21s);
|
||||
break;
|
||||
case EVENT_AEGYRA_SAVAGE_SMASH:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 10.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_AEGYRA_SAVAGE_SMASH);
|
||||
DoCast(target, SPELL_AEGYRA_SAVAGE_SMASH_2, true);
|
||||
}
|
||||
events.Repeat(21s);
|
||||
break;
|
||||
case EVENT_AEGYRA_PROOF_OF_ENDURANCE:
|
||||
DoCastSelf(SPELL_AEGYRA_PROOF_OF_ENDURANCE);
|
||||
events.Repeat(21s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
enum ChampionsSpearSpells
|
||||
{
|
||||
SPELL_CHAMPIONS_SPEAR_CAST = 1298909,
|
||||
SPELL_CHAMPIONS_SPEAR_IMPALE = 1298917,
|
||||
};
|
||||
|
||||
enum ChampionsSpearEvents
|
||||
{
|
||||
EVENT_CHAMPIONS_SPEAR_IMPALE = 1,
|
||||
};
|
||||
|
||||
// 267550 - Champion's Spear
|
||||
struct npc_champions_spear : public NullCreatureAI
|
||||
{
|
||||
npc_champions_spear(Creature* creature) : NullCreatureAI(creature) { }
|
||||
|
||||
void JustAppeared() override
|
||||
{
|
||||
DoCastSelf(SPELL_CHAMPIONS_SPEAR_CAST);
|
||||
me->m_Events.AddEventAtOffset([this]()
|
||||
{
|
||||
DoCastSelf(SPELL_CHAMPIONS_SPEAR_IMPALE, true);
|
||||
}, 1s);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_aegyra_the_unyielding()
|
||||
{
|
||||
RegisterVoidscarArenaCreatureAI(boss_aegyra_the_unyielding);
|
||||
RegisterVoidscarArenaCreatureAI(npc_champions_spear);
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore 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 General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "voidscar_arena.h"
|
||||
|
||||
enum AtroxusSpells
|
||||
{
|
||||
SPELL_ATROXUS_RAMPAGING_STRIKE = 1251830,
|
||||
SPELL_ATROXUS_RAMPAGING_STRIKE_2 = 1251893,
|
||||
SPELL_ATROXUS_POISON_SPLASH = 1226120,
|
||||
SPELL_ATROXUS_POISON_SPLASH_2 = 1247396,
|
||||
SPELL_ATROXUS_POISON_SPLASH_3 = 1300351,
|
||||
SPELL_ATROXUS_POISON_SPLASH_4 = 1225955,
|
||||
SPELL_ATROXUS_POISON_SPLASH_5 = 1226031,
|
||||
SPELL_ATROXUS_POISON_SPLASH_6 = 1288115,
|
||||
SPELL_ATROXUS_TOXIC_AURA = 1247423,
|
||||
SPELL_ATROXUS_MIND_NUMBING_POISON = 1263971,
|
||||
SPELL_ATROXUS_POISON_POOL = 1222484,
|
||||
SPELL_ATROXUS_HULKING_CLAW = 1222642,
|
||||
SPELL_ATROXUS_NOXIOUS_BREATH = 1263977,
|
||||
SPELL_ATROXUS_NOXIOUS_BREATH_2 = 1222721,
|
||||
SPELL_ATROXUS_NOXIOUS_BREATH_3 = 1222724,
|
||||
SPELL_ATROXUS_MONSTROUS_ROAR = 1262497,
|
||||
SPELL_ATROXUS_PROVOKE_CREEPER = 1222382,
|
||||
};
|
||||
|
||||
enum AtroxusEvents
|
||||
{
|
||||
EVENT_ATROXUS_RAMPAGING_STRIKE = 1,
|
||||
EVENT_ATROXUS_POISON_SPLASH,
|
||||
EVENT_ATROXUS_TOXIC_AURA,
|
||||
EVENT_ATROXUS_MIND_NUMBING_POISON,
|
||||
EVENT_ATROXUS_HULKING_CLAW,
|
||||
EVENT_ATROXUS_NOXIOUS_BREATH,
|
||||
EVENT_ATROXUS_MONSTROUS_ROAR,
|
||||
};
|
||||
|
||||
// 239008 - Atroxus
|
||||
struct boss_atroxus : public BossAI
|
||||
{
|
||||
boss_atroxus(Creature* creature) : BossAI(creature, DATA_ATROXUS) { }
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
DoCastSelf(SPELL_ATROXUS_TOXIC_AURA, true);
|
||||
events.ScheduleEvent(EVENT_ATROXUS_RAMPAGING_STRIKE, 1s);
|
||||
events.ScheduleEvent(EVENT_ATROXUS_TOXIC_AURA, 8s);
|
||||
events.ScheduleEvent(EVENT_ATROXUS_POISON_SPLASH, 15s);
|
||||
events.ScheduleEvent(EVENT_ATROXUS_HULKING_CLAW, 20s);
|
||||
events.ScheduleEvent(EVENT_ATROXUS_MIND_NUMBING_POISON, 19s);
|
||||
events.ScheduleEvent(EVENT_ATROXUS_NOXIOUS_BREATH, 25s);
|
||||
events.ScheduleEvent(EVENT_ATROXUS_MONSTROUS_ROAR, 45s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_ATROXUS_RAMPAGING_STRIKE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_ATROXUS_RAMPAGING_STRIKE);
|
||||
DoCast(target, SPELL_ATROXUS_RAMPAGING_STRIKE_2, true);
|
||||
}
|
||||
break;
|
||||
case EVENT_ATROXUS_POISON_SPLASH:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_ATROXUS_POISON_SPLASH);
|
||||
DoCast(target, SPELL_ATROXUS_POISON_SPLASH_2, true);
|
||||
DoCast(target, SPELL_ATROXUS_POISON_SPLASH_3, true);
|
||||
DoCast(target, SPELL_ATROXUS_POISON_SPLASH_4, true);
|
||||
if (target->IsPlayer())
|
||||
{
|
||||
DoCast(target, SPELL_ATROXUS_POISON_SPLASH_5, true);
|
||||
DoCast(target, SPELL_ATROXUS_POISON_SPLASH_6, true);
|
||||
}
|
||||
}
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
case EVENT_ATROXUS_TOXIC_AURA:
|
||||
DoCastSelf(SPELL_ATROXUS_TOXIC_AURA, true);
|
||||
events.Repeat(8s);
|
||||
break;
|
||||
case EVENT_ATROXUS_MIND_NUMBING_POISON:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_ATROXUS_MIND_NUMBING_POISON);
|
||||
DoCast(target, SPELL_ATROXUS_POISON_POOL, true);
|
||||
}
|
||||
events.Repeat(25s);
|
||||
break;
|
||||
case EVENT_ATROXUS_HULKING_CLAW:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 10.0f, true))
|
||||
DoCast(target, SPELL_ATROXUS_HULKING_CLAW);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_ATROXUS_NOXIOUS_BREATH:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 30.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_ATROXUS_NOXIOUS_BREATH);
|
||||
DoCast(target, SPELL_ATROXUS_NOXIOUS_BREATH_2, true);
|
||||
DoCast(target, SPELL_ATROXUS_NOXIOUS_BREATH_3, true);
|
||||
DoCast(target, SPELL_ATROXUS_NOXIOUS_BREATH_3, true);
|
||||
DoCast(target, SPELL_ATROXUS_NOXIOUS_BREATH_3, true);
|
||||
}
|
||||
events.Repeat(25s);
|
||||
break;
|
||||
case EVENT_ATROXUS_MONSTROUS_ROAR:
|
||||
DoCastSelf(SPELL_ATROXUS_MONSTROUS_ROAR);
|
||||
DoCastSelf(SPELL_ATROXUS_PROVOKE_CREEPER, true);
|
||||
events.Repeat(45s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_atroxus()
|
||||
{
|
||||
RegisterVoidscarArenaCreatureAI(boss_atroxus);
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore 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 General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "voidscar_arena.h"
|
||||
|
||||
enum BrutalOverseerSpells
|
||||
{
|
||||
SPELL_BRUTAL_OVERSEER_BRUTAL_SLAMS = 1298900,
|
||||
SPELL_BRUTAL_OVERSEER_BRUTAL_SLAMS_2 = 1298901,
|
||||
SPELL_BRUTAL_OVERSEER_MACESTORM = 1228126,
|
||||
SPELL_BRUTAL_OVERSEER_MACESTORM_2 = 1228127,
|
||||
SPELL_BRUTAL_OVERSEER_MACESTORM_3 = 1261645,
|
||||
SPELL_BRUTAL_OVERSEER_MACESTORM_4 = 1261652,
|
||||
SPELL_BRUTAL_OVERSEER_MACESTORM_5 = 1310309,
|
||||
};
|
||||
|
||||
enum BrutalOverseerEvents
|
||||
{
|
||||
EVENT_BRUTAL_OVERSEER_BRUTAL_SLAMS = 1,
|
||||
EVENT_BRUTAL_OVERSEER_MACESTORM,
|
||||
EVENT_BRUTAL_OVERSEER_MACESTORM_TICK,
|
||||
};
|
||||
|
||||
// 252053 - Brutal Overseer
|
||||
struct boss_brutal_overseer : public BossAI
|
||||
{
|
||||
boss_brutal_overseer(Creature* creature) : BossAI(creature, DATA_BRUTAL_OVERSEER) { }
|
||||
|
||||
uint8 _maceStormTicks;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
BossAI::Reset();
|
||||
_maceStormTicks = 0;
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
events.ScheduleEvent(EVENT_BRUTAL_OVERSEER_BRUTAL_SLAMS, 1s);
|
||||
events.ScheduleEvent(EVENT_BRUTAL_OVERSEER_MACESTORM, 15s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_BRUTAL_OVERSEER_BRUTAL_SLAMS:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_BRUTAL_OVERSEER_BRUTAL_SLAMS);
|
||||
DoCast(target, SPELL_BRUTAL_OVERSEER_BRUTAL_SLAMS_2, true);
|
||||
DoCast(target, SPELL_BRUTAL_OVERSEER_BRUTAL_SLAMS_2, true);
|
||||
}
|
||||
events.Repeat(30s);
|
||||
break;
|
||||
case EVENT_BRUTAL_OVERSEER_MACESTORM:
|
||||
DoCastSelf(SPELL_BRUTAL_OVERSEER_MACESTORM_3, true);
|
||||
DoCastSelf(SPELL_BRUTAL_OVERSEER_MACESTORM_2, true);
|
||||
DoCastSelf(SPELL_BRUTAL_OVERSEER_MACESTORM_5, true);
|
||||
_maceStormTicks = 6;
|
||||
events.Repeat(30s);
|
||||
events.ScheduleEvent(EVENT_BRUTAL_OVERSEER_MACESTORM_TICK, 1s);
|
||||
break;
|
||||
case EVENT_BRUTAL_OVERSEER_MACESTORM_TICK:
|
||||
DoCastSelf(SPELL_BRUTAL_OVERSEER_MACESTORM, true);
|
||||
DoCastSelf(SPELL_BRUTAL_OVERSEER_MACESTORM_4, true);
|
||||
if (--_maceStormTicks)
|
||||
events.Repeat(1s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_brutal_overseer()
|
||||
{
|
||||
RegisterVoidscarArenaCreatureAI(boss_brutal_overseer);
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore 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 General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "voidscar_arena.h"
|
||||
|
||||
enum BrutokSpells
|
||||
{
|
||||
SPELL_BRUTOK_FEL_STEPS = 1269276,
|
||||
SPELL_BRUTOK_FEL_STEPS_2 = 1269284,
|
||||
SPELL_BRUTOK_SMASHING_CHARGE = 1234888,
|
||||
SPELL_BRUTOK_SMASHING_CHARGE_2 = 1234924,
|
||||
SPELL_BRUTOK_HEAD_BASH = 1245186,
|
||||
SPELL_BRUTOK_CONCUSSION = 1310321,
|
||||
};
|
||||
|
||||
enum BrutokEvents
|
||||
{
|
||||
EVENT_BRUTOK_FEL_STEPS = 1,
|
||||
EVENT_BRUTOK_SMASHING_CHARGE,
|
||||
EVENT_BRUTOK_HEAD_BASH,
|
||||
EVENT_BRUTOK_CONCUSSION,
|
||||
};
|
||||
|
||||
// 244309 - Brutok
|
||||
struct boss_brutok : public BossAI
|
||||
{
|
||||
boss_brutok(Creature* creature) : BossAI(creature, DATA_BRUTOK) { }
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
events.ScheduleEvent(EVENT_BRUTOK_FEL_STEPS, 1s);
|
||||
events.ScheduleEvent(EVENT_BRUTOK_SMASHING_CHARGE, 9s);
|
||||
events.ScheduleEvent(EVENT_BRUTOK_HEAD_BASH, 27s);
|
||||
events.ScheduleEvent(EVENT_BRUTOK_CONCUSSION, 15s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_BRUTOK_FEL_STEPS:
|
||||
for (uint8 i = 0; i < 6; ++i)
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_BRUTOK_FEL_STEPS, true);
|
||||
DoCast(target, SPELL_BRUTOK_FEL_STEPS_2, true);
|
||||
}
|
||||
events.Repeat(16s);
|
||||
break;
|
||||
case EVENT_BRUTOK_SMASHING_CHARGE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_BRUTOK_SMASHING_CHARGE);
|
||||
DoCast(target, SPELL_BRUTOK_SMASHING_CHARGE_2, true);
|
||||
}
|
||||
events.Repeat(22s);
|
||||
break;
|
||||
case EVENT_BRUTOK_HEAD_BASH:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 5.0f, true))
|
||||
DoCast(target, SPELL_BRUTOK_HEAD_BASH);
|
||||
events.Repeat(23s);
|
||||
break;
|
||||
case EVENT_BRUTOK_CONCUSSION:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 10.0f, true))
|
||||
DoCast(target, SPELL_BRUTOK_CONCUSSION);
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_brutok()
|
||||
{
|
||||
RegisterVoidscarArenaCreatureAI(boss_brutok);
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore 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 General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "PassiveAI.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "voidscar_arena.h"
|
||||
|
||||
enum CharonusSpells
|
||||
{
|
||||
SPELL_CHARONUS_UNSTABLE_SINGULARITY = 1248116,
|
||||
SPELL_CHARONUS_UNSTABLE_SINGULARITY_2 = 1282770,
|
||||
SPELL_CHARONUS_UNSTABLE_SINGULARITY_3 = 1248112,
|
||||
SPELL_CHARONUS_COSMIC_CRASH = 1227264,
|
||||
SPELL_CHARONUS_COSMIC_CRASH_2 = 1227197,
|
||||
SPELL_CHARONUS_COSMIC_CRASH_3 = 1300372,
|
||||
SPELL_CHARONUS_GRAVITIC_ORBS = 1310025,
|
||||
SPELL_CHARONUS_GRAVITIC_ORBS_2 = 1263982,
|
||||
SPELL_CHARONUS_DARK_WAVES = 1311933,
|
||||
SPELL_CHARONUS_DARK_WAVES_2 = 1311923,
|
||||
};
|
||||
|
||||
enum CharonusEvents
|
||||
{
|
||||
EVENT_CHARONUS_UNSTABLE_SINGULARITY = 1,
|
||||
EVENT_CHARONUS_COSMIC_CRASH,
|
||||
EVENT_CHARONUS_GRAVITIC_ORBS,
|
||||
EVENT_CHARONUS_DARK_WAVES,
|
||||
};
|
||||
|
||||
// 239167 - Charonus
|
||||
struct boss_charonus : public BossAI
|
||||
{
|
||||
boss_charonus(Creature* creature) : BossAI(creature, DATA_CHARONUS) { }
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
events.ScheduleEvent(EVENT_CHARONUS_UNSTABLE_SINGULARITY, 2s);
|
||||
events.ScheduleEvent(EVENT_CHARONUS_COSMIC_CRASH, 14s);
|
||||
events.ScheduleEvent(EVENT_CHARONUS_GRAVITIC_ORBS, 25s);
|
||||
events.ScheduleEvent(EVENT_CHARONUS_DARK_WAVES, 31s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_CHARONUS_UNSTABLE_SINGULARITY:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_CHARONUS_UNSTABLE_SINGULARITY);
|
||||
DoCast(target, SPELL_CHARONUS_UNSTABLE_SINGULARITY_2, true);
|
||||
DoCast(target, SPELL_CHARONUS_UNSTABLE_SINGULARITY_3, true);
|
||||
}
|
||||
events.Repeat(43s);
|
||||
break;
|
||||
case EVENT_CHARONUS_COSMIC_CRASH:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_CHARONUS_COSMIC_CRASH);
|
||||
DoCast(target, SPELL_CHARONUS_COSMIC_CRASH_2, true);
|
||||
DoCast(target, SPELL_CHARONUS_COSMIC_CRASH_3, true);
|
||||
}
|
||||
events.Repeat(43s);
|
||||
break;
|
||||
case EVENT_CHARONUS_GRAVITIC_ORBS:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_CHARONUS_GRAVITIC_ORBS);
|
||||
DoCast(target, SPELL_CHARONUS_GRAVITIC_ORBS_2, true);
|
||||
}
|
||||
events.Repeat(43s);
|
||||
break;
|
||||
case EVENT_CHARONUS_DARK_WAVES:
|
||||
DoCastSelf(SPELL_CHARONUS_DARK_WAVES);
|
||||
DoCastSelf(SPELL_CHARONUS_DARK_WAVES_2, true);
|
||||
events.Repeat(43s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
enum TargetingStalkerSpells
|
||||
{
|
||||
SPELL_TARGETING_STALKER_UNSTABLE_SINGULARITY = 1264188,
|
||||
SPELL_TARGETING_STALKER_UNSTABLE_SINGULARITY_2 = 1264191,
|
||||
SPELL_TARGETING_STALKER_ATOMIZED = 1310026,
|
||||
};
|
||||
|
||||
enum TargetingStalkerEvents
|
||||
{
|
||||
EVENT_TARGETING_STALKER_UNSTABLE_SINGULARITY = 1,
|
||||
EVENT_TARGETING_STALKER_ATOMIZED,
|
||||
};
|
||||
|
||||
// 255000 - Targeting Stalker
|
||||
struct npc_targeting_stalker : public NullCreatureAI
|
||||
{
|
||||
npc_targeting_stalker(Creature* creature) : NullCreatureAI(creature) { }
|
||||
|
||||
void JustAppeared() override
|
||||
{
|
||||
_events.ScheduleEvent(EVENT_TARGETING_STALKER_UNSTABLE_SINGULARITY, 1s);
|
||||
_events.ScheduleEvent(EVENT_TARGETING_STALKER_ATOMIZED, 9s);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
_events.Update(diff);
|
||||
if (me->HasUnitState(UNIT_STATE_CASTING))
|
||||
return;
|
||||
|
||||
while (uint32 eventId = _events.ExecuteEvent())
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_TARGETING_STALKER_UNSTABLE_SINGULARITY:
|
||||
if (Unit* target = me->SelectNearestPlayer(60.0f))
|
||||
{
|
||||
DoCast(target, SPELL_TARGETING_STALKER_UNSTABLE_SINGULARITY);
|
||||
DoCast(target, SPELL_TARGETING_STALKER_UNSTABLE_SINGULARITY_2, true);
|
||||
}
|
||||
_events.Repeat(8s);
|
||||
break;
|
||||
case EVENT_TARGETING_STALKER_ATOMIZED:
|
||||
DoCastSelf(SPELL_TARGETING_STALKER_ATOMIZED, true);
|
||||
me->KillSelf();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
EventMap _events;
|
||||
};
|
||||
|
||||
enum GraviticOrbSpells
|
||||
{
|
||||
SPELL_GRAVITIC_ORB_CONDENSED_MASS = 1287450,
|
||||
SPELL_GRAVITIC_ORB_CONDENSED_MASS_2 = 1263983,
|
||||
SPELL_GRAVITIC_ORB_GRAVITIC_ORB = 1285066,
|
||||
};
|
||||
|
||||
enum GraviticOrbEvents
|
||||
{
|
||||
EVENT_GRAVITIC_ORB_GRAVITIC_ORB = 1,
|
||||
};
|
||||
|
||||
// 255001 - Gravitic Orb
|
||||
struct npc_gravitic_orb : public NullCreatureAI
|
||||
{
|
||||
npc_gravitic_orb(Creature* creature) : NullCreatureAI(creature) { }
|
||||
|
||||
void JustAppeared() override
|
||||
{
|
||||
DoCastSelf(SPELL_GRAVITIC_ORB_CONDENSED_MASS, true);
|
||||
DoCastSelf(SPELL_GRAVITIC_ORB_CONDENSED_MASS_2, true);
|
||||
_events.ScheduleEvent(EVENT_GRAVITIC_ORB_GRAVITIC_ORB, 2s);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
_events.Update(diff);
|
||||
if (me->HasUnitState(UNIT_STATE_CASTING))
|
||||
return;
|
||||
|
||||
while (uint32 eventId = _events.ExecuteEvent())
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_GRAVITIC_ORB_GRAVITIC_ORB:
|
||||
DoCastSelf(SPELL_GRAVITIC_ORB_GRAVITIC_ORB, true);
|
||||
_events.Repeat(3s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
EventMap _events;
|
||||
};
|
||||
|
||||
void AddSC_boss_charonus()
|
||||
{
|
||||
RegisterVoidscarArenaCreatureAI(boss_charonus);
|
||||
RegisterVoidscarArenaCreatureAI(npc_targeting_stalker);
|
||||
RegisterVoidscarArenaCreatureAI(npc_gravitic_orb);
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore 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 General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "voidscar_arena.h"
|
||||
|
||||
enum DevouringBrutalizerSpells
|
||||
{
|
||||
SPELL_DEVOURING_BRUTALIZER_DEVOUR = 1300248,
|
||||
SPELL_DEVOURING_BRUTALIZER_DEVOUR_2 = 1300249,
|
||||
SPELL_DEVOURING_BRUTALIZER_DEVOUR_3 = 1302629,
|
||||
SPELL_DEVOURING_BRUTALIZER_BRUTALIZE = 1300244,
|
||||
SPELL_DEVOURING_BRUTALIZER_BRUTALIZE_2 = 1300243,
|
||||
SPELL_DEVOURING_BRUTALIZER_DREADBELLOW = 1252406,
|
||||
};
|
||||
|
||||
enum DevouringBrutalizerEvents
|
||||
{
|
||||
EVENT_DEVOURING_BRUTALIZER_DEVOUR = 1,
|
||||
EVENT_DEVOURING_BRUTALIZER_BRUTALIZE,
|
||||
EVENT_DEVOURING_BRUTALIZER_DREADBELLOW,
|
||||
};
|
||||
|
||||
// 268184 - Devouring Brutalizer
|
||||
struct boss_devouring_brutalizer : public BossAI
|
||||
{
|
||||
boss_devouring_brutalizer(Creature* creature) : BossAI(creature, DATA_DEVOURING_BRUTALIZER) { }
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
events.ScheduleEvent(EVENT_DEVOURING_BRUTALIZER_DEVOUR, 2s);
|
||||
events.ScheduleEvent(EVENT_DEVOURING_BRUTALIZER_BRUTALIZE, 7s);
|
||||
events.ScheduleEvent(EVENT_DEVOURING_BRUTALIZER_DREADBELLOW, 12s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_DEVOURING_BRUTALIZER_DEVOUR:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 10.0f, true))
|
||||
DoCast(target, urand(0, 2) ? SPELL_DEVOURING_BRUTALIZER_DEVOUR : SPELL_DEVOURING_BRUTALIZER_DEVOUR_3);
|
||||
events.Repeat(8s);
|
||||
break;
|
||||
case EVENT_DEVOURING_BRUTALIZER_BRUTALIZE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_DEVOURING_BRUTALIZER_BRUTALIZE);
|
||||
DoCast(target, SPELL_DEVOURING_BRUTALIZER_BRUTALIZE_2, true);
|
||||
}
|
||||
events.Repeat(7s);
|
||||
break;
|
||||
case EVENT_DEVOURING_BRUTALIZER_DREADBELLOW:
|
||||
DoCastSelf(SPELL_DEVOURING_BRUTALIZER_DREADBELLOW);
|
||||
events.Repeat(18s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_devouring_brutalizer()
|
||||
{
|
||||
RegisterVoidscarArenaCreatureAI(boss_devouring_brutalizer);
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore 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 General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "voidscar_arena.h"
|
||||
|
||||
enum TazrahSpells
|
||||
{
|
||||
SPELL_TAZRAH_NETHER_DASH = 1296901,
|
||||
SPELL_TAZRAH_UMBRAL_RUPTURE = 1296963,
|
||||
SPELL_TAZRAH_VOID_BLAST = 1297017,
|
||||
SPELL_TAZRAH_ETHEREAL_SHADES = 1296889,
|
||||
SPELL_TAZRAH_VOID_FISSURE = 1296966,
|
||||
SPELL_TAZRAH_DARK_BLOOM = 1300259,
|
||||
SPELL_TAZRAH_DARK_BLOOM_2 = 1300260,
|
||||
};
|
||||
|
||||
enum TazrahEvents
|
||||
{
|
||||
EVENT_TAZRAH_NETHER_DASH = 1,
|
||||
EVENT_TAZRAH_UMBRAL_RUPTURE,
|
||||
EVENT_TAZRAH_VOID_BLAST,
|
||||
EVENT_TAZRAH_ETHEREAL_SHADES,
|
||||
EVENT_TAZRAH_VOID_FISSURE,
|
||||
EVENT_TAZRAH_DARK_BLOOM,
|
||||
};
|
||||
|
||||
// 238887 - Taz'Rah
|
||||
struct boss_tazrah : public BossAI
|
||||
{
|
||||
boss_tazrah(Creature* creature) : BossAI(creature, DATA_TAZRAH) { }
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
events.ScheduleEvent(EVENT_TAZRAH_NETHER_DASH, 1s);
|
||||
events.ScheduleEvent(EVENT_TAZRAH_UMBRAL_RUPTURE, 8s);
|
||||
events.ScheduleEvent(EVENT_TAZRAH_VOID_BLAST, 16s);
|
||||
events.ScheduleEvent(EVENT_TAZRAH_ETHEREAL_SHADES, 24s);
|
||||
events.ScheduleEvent(EVENT_TAZRAH_VOID_FISSURE, 30s);
|
||||
events.ScheduleEvent(EVENT_TAZRAH_DARK_BLOOM, 6s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_TAZRAH_NETHER_DASH:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_TAZRAH_NETHER_DASH);
|
||||
events.Repeat(35s);
|
||||
break;
|
||||
case EVENT_TAZRAH_UMBRAL_RUPTURE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_TAZRAH_UMBRAL_RUPTURE);
|
||||
events.Repeat(35s);
|
||||
break;
|
||||
case EVENT_TAZRAH_VOID_BLAST:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 40.0f, true))
|
||||
DoCast(target, SPELL_TAZRAH_VOID_BLAST);
|
||||
events.Repeat(18s);
|
||||
break;
|
||||
case EVENT_TAZRAH_ETHEREAL_SHADES:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_TAZRAH_ETHEREAL_SHADES);
|
||||
events.Repeat(35s);
|
||||
break;
|
||||
case EVENT_TAZRAH_VOID_FISSURE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_TAZRAH_VOID_FISSURE);
|
||||
events.Repeat(12s);
|
||||
break;
|
||||
case EVENT_TAZRAH_DARK_BLOOM:
|
||||
DoCastSelf(urand(0, 1) ? SPELL_TAZRAH_DARK_BLOOM : SPELL_TAZRAH_DARK_BLOOM_2);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_tazrah()
|
||||
{
|
||||
RegisterVoidscarArenaCreatureAI(boss_tazrah);
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore 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 General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "voidscar_arena.h"
|
||||
|
||||
enum WatchfulHarrowerSpells
|
||||
{
|
||||
SPELL_WATCHFUL_HARROWER_HORROWER_TELEPORT = 1240254,
|
||||
SPELL_WATCHFUL_HARROWER_SKY_STRIKE = 1239855,
|
||||
SPELL_WATCHFUL_HARROWER_SKY_STRIKE_2 = 1239856,
|
||||
SPELL_WATCHFUL_HARROWER_SKY_STRIKE_3 = 1282766,
|
||||
SPELL_WATCHFUL_HARROWER_VOID_BEAM = 1300138,
|
||||
SPELL_WATCHFUL_HARROWER_VOID_BEAM_2 = 1300156,
|
||||
SPELL_WATCHFUL_HARROWER_WHIRLING_GUST = 1300116,
|
||||
SPELL_WATCHFUL_HARROWER_VIOLENT_WIND = 1300099,
|
||||
};
|
||||
|
||||
enum WatchfulHarrowerEvents
|
||||
{
|
||||
EVENT_WATCHFUL_HARROWER_HORROWER_TELEPORT = 1,
|
||||
EVENT_WATCHFUL_HARROWER_SKY_STRIKE,
|
||||
EVENT_WATCHFUL_HARROWER_VOID_BEAM,
|
||||
EVENT_WATCHFUL_HARROWER_WHIRLING_GUST,
|
||||
};
|
||||
|
||||
// 245950 - Watchful Harrower
|
||||
struct boss_watchful_harrower : public BossAI
|
||||
{
|
||||
boss_watchful_harrower(Creature* creature) : BossAI(creature, DATA_WATCHFUL_HARROWER) { }
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
events.ScheduleEvent(EVENT_WATCHFUL_HARROWER_HORROWER_TELEPORT, 1s);
|
||||
events.ScheduleEvent(EVENT_WATCHFUL_HARROWER_SKY_STRIKE, 4s);
|
||||
events.ScheduleEvent(EVENT_WATCHFUL_HARROWER_VOID_BEAM, 11s);
|
||||
events.ScheduleEvent(EVENT_WATCHFUL_HARROWER_WHIRLING_GUST, 14s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_WATCHFUL_HARROWER_HORROWER_TELEPORT:
|
||||
DoCastSelf(SPELL_WATCHFUL_HARROWER_HORROWER_TELEPORT, true);
|
||||
events.Repeat(26s);
|
||||
break;
|
||||
case EVENT_WATCHFUL_HARROWER_SKY_STRIKE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_WATCHFUL_HARROWER_SKY_STRIKE);
|
||||
DoCast(target, SPELL_WATCHFUL_HARROWER_SKY_STRIKE_2, true);
|
||||
DoCast(target, SPELL_WATCHFUL_HARROWER_SKY_STRIKE_3, true);
|
||||
}
|
||||
events.Repeat(26s);
|
||||
break;
|
||||
case EVENT_WATCHFUL_HARROWER_VOID_BEAM:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_WATCHFUL_HARROWER_VOID_BEAM);
|
||||
DoCast(target, SPELL_WATCHFUL_HARROWER_VOID_BEAM_2, true);
|
||||
}
|
||||
events.Repeat(26s);
|
||||
break;
|
||||
case EVENT_WATCHFUL_HARROWER_WHIRLING_GUST:
|
||||
DoCastSelf(SPELL_WATCHFUL_HARROWER_WHIRLING_GUST);
|
||||
DoCastSelf(SPELL_WATCHFUL_HARROWER_VIOLENT_WIND, true);
|
||||
events.Repeat(26s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_watchful_harrower()
|
||||
{
|
||||
RegisterVoidscarArenaCreatureAI(boss_watchful_harrower);
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore 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 General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "InstanceScript.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "voidscar_arena.h"
|
||||
|
||||
static constexpr DungeonEncounterData const encounters[] =
|
||||
{
|
||||
{ DATA_ATROXUS, {{ 3081 }} },
|
||||
{ DATA_AEGYRA_THE_UNYIELDING, {{ 3082 }} },
|
||||
{ DATA_BRUTOK, {{ 3083 }} },
|
||||
{ DATA_BRUTAL_OVERSEER, {{ 3084 }} },
|
||||
{ DATA_DEVOURING_BRUTALIZER, {{ 3085 }} },
|
||||
{ DATA_WATCHFUL_HARROWER, {{ 3086 }} },
|
||||
{ DATA_TAZRAH, {{ 3087 }} },
|
||||
{ DATA_CHARONUS, {{ 3088 }} }
|
||||
};
|
||||
|
||||
struct instance_voidscar_arena : public InstanceScript
|
||||
{
|
||||
instance_voidscar_arena(InstanceMap* map) : InstanceScript(map)
|
||||
{
|
||||
SetHeaders(VSDataHeader);
|
||||
SetBossNumber(VoidscarArenaEncounterCount);
|
||||
LoadDungeonEncounterData(encounters);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
void AddSC_instance_voidscar_arena()
|
||||
{
|
||||
RegisterInstanceMapScript(instance_voidscar_arena, 2923);
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore 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 General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef DEF_VOIDSCAR_ARENA_H_
|
||||
#define DEF_VOIDSCAR_ARENA_H_
|
||||
|
||||
#include "CreatureAIImpl.h"
|
||||
|
||||
#define VoidscarArenaScriptName "instance_voidscar_arena"
|
||||
#define VSDataHeader "VoidscarArena"
|
||||
|
||||
uint32 const VoidscarArenaEncounterCount = 8;
|
||||
|
||||
enum VoidscarArenaDataTypes
|
||||
{
|
||||
DATA_ATROXUS = 0,
|
||||
DATA_AEGYRA_THE_UNYIELDING = 1,
|
||||
DATA_BRUTOK = 2,
|
||||
DATA_BRUTAL_OVERSEER = 3,
|
||||
DATA_DEVOURING_BRUTALIZER = 4,
|
||||
DATA_WATCHFUL_HARROWER = 5,
|
||||
DATA_TAZRAH = 6,
|
||||
DATA_CHARONUS = 7,
|
||||
};
|
||||
|
||||
enum VoidscarArenaCreatureIds
|
||||
{
|
||||
// Bosses
|
||||
NPC_ATROXUS = 239008,
|
||||
NPC_AEGYRA_THE_UNYIELDING = 267545,
|
||||
NPC_BRUTOK = 244309,
|
||||
NPC_BRUTAL_OVERSEER = 252053,
|
||||
NPC_DEVOURING_BRUTALIZER = 268184,
|
||||
NPC_WATCHFUL_HARROWER = 245950,
|
||||
NPC_TAZRAH = 238887,
|
||||
NPC_CHARONUS = 239167,
|
||||
|
||||
// Boss support adds
|
||||
NPC_CHAMPIONS_SPEAR = 267550,
|
||||
NPC_TARGETING_STALKER = 255000,
|
||||
NPC_GRAVITIC_ORB = 255001,
|
||||
NPC_ETHEREAL_SHADE = 254677,
|
||||
|
||||
// Dungeon adds
|
||||
NPC_VOIDMINDER = 244708,
|
||||
NPC_LONGTOOTH_TUSKARR = 243985,
|
||||
NPC_SYCOPHANTIC_TARASEK = 243983,
|
||||
NPC_DOMINATED_BRAWLER = 238883,
|
||||
NPC_PROTECTIVE_TURTLE = 249603,
|
||||
NPC_KILIVORE_SCREAMER = 243766,
|
||||
NPC_CHITIGOTH = 244260,
|
||||
NPC_TOXIC_CREEPER = 239070,
|
||||
NPC_ABDUCTED_DRAKONID = 249461,
|
||||
NPC_RAGING_RAPTOR = 249608,
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
inline AI* GetVoidscarArenaAI(T* obj)
|
||||
{
|
||||
return GetInstanceAI<AI>(obj, VoidscarArenaScriptName);
|
||||
}
|
||||
|
||||
#define RegisterVoidscarArenaCreatureAI(ai_name) RegisterCreatureAIWithFactory(ai_name, GetVoidscarArenaAI)
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,524 @@
|
||||
/*
|
||||
* This file is part of the TrinityCore 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 General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "voidscar_arena.h"
|
||||
|
||||
// ---------- Voidminder (244708) ----------
|
||||
|
||||
enum VoidminderSpells
|
||||
{
|
||||
SPELL_VOIDMINDER_VOID_LEASH = 1282783,
|
||||
SPELL_VOIDMINDER_DIMENSIONAL_SHRED = 1226909,
|
||||
SPELL_VOIDMINDER_DIMENSIONAL_SHRED_2 = 1227005,
|
||||
SPELL_VOIDMINDER_DIMENSIONAL_SHRED_3 = 1227020,
|
||||
SPELL_VOIDMINDER_MENDING_VOID = 1310324,
|
||||
};
|
||||
|
||||
enum VoidminderEvents
|
||||
{
|
||||
EVENT_VOIDMINDER_VOID_LEASH = 1,
|
||||
EVENT_VOIDMINDER_DIMENSIONAL_SHRED,
|
||||
EVENT_VOIDMINDER_MENDING_VOID,
|
||||
};
|
||||
|
||||
struct npc_voidscar_voidminder : public ScriptedAI
|
||||
{
|
||||
npc_voidscar_voidminder(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_VOIDMINDER_VOID_LEASH, 6s);
|
||||
events.ScheduleEvent(EVENT_VOIDMINDER_DIMENSIONAL_SHRED, 14s);
|
||||
events.ScheduleEvent(EVENT_VOIDMINDER_MENDING_VOID, 18s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_VOIDMINDER_VOID_LEASH:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
DoCast(target, SPELL_VOIDMINDER_VOID_LEASH);
|
||||
events.Repeat(6s);
|
||||
break;
|
||||
case EVENT_VOIDMINDER_DIMENSIONAL_SHRED:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 40.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_VOIDMINDER_DIMENSIONAL_SHRED);
|
||||
DoCast(target, SPELL_VOIDMINDER_DIMENSIONAL_SHRED_2, true);
|
||||
DoCast(target, SPELL_VOIDMINDER_DIMENSIONAL_SHRED_3, true);
|
||||
}
|
||||
events.Repeat(16s);
|
||||
break;
|
||||
case EVENT_VOIDMINDER_MENDING_VOID:
|
||||
if (Creature* ally = GetFriendlyCreature())
|
||||
DoCast(ally, SPELL_VOIDMINDER_MENDING_VOID, true);
|
||||
events.Repeat(18s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Creature* GetFriendlyCreature()
|
||||
{
|
||||
std::list<Unit*> friends;
|
||||
me->GetFriendlyUnitListInRange(friends, 40.0f, true);
|
||||
for (Unit* unit : friends)
|
||||
if (Creature* creature = unit->ToCreature())
|
||||
return creature;
|
||||
return nullptr;
|
||||
}
|
||||
};
|
||||
|
||||
// ---------- Longtooth Tuskarr (243985) ----------
|
||||
|
||||
enum LongtoothTuskarrSpells
|
||||
{
|
||||
SPELL_LONGTOOTH_TUSKARR_BOLSTER = 1310319,
|
||||
};
|
||||
|
||||
enum LongtoothTuskarrEvents
|
||||
{
|
||||
EVENT_LONGTOOTH_TUSKARR_BOLSTER = 1,
|
||||
};
|
||||
|
||||
struct npc_voidscar_longtooth_tuskarr : public ScriptedAI
|
||||
{
|
||||
npc_voidscar_longtooth_tuskarr(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_LONGTOOTH_TUSKARR_BOLSTER, 4s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_LONGTOOTH_TUSKARR_BOLSTER:
|
||||
if (Creature* ally = GetFriendlyCreature())
|
||||
DoCast(ally, SPELL_LONGTOOTH_TUSKARR_BOLSTER, true);
|
||||
else
|
||||
DoCastSelf(SPELL_LONGTOOTH_TUSKARR_BOLSTER, true);
|
||||
events.Repeat(urand(4, 8) * 1s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Creature* GetFriendlyCreature()
|
||||
{
|
||||
std::list<Unit*> friends;
|
||||
me->GetFriendlyUnitListInRange(friends, 40.0f, true);
|
||||
for (Unit* unit : friends)
|
||||
if (Creature* creature = unit->ToCreature())
|
||||
return creature;
|
||||
return nullptr;
|
||||
}
|
||||
};
|
||||
|
||||
// ---------- Sycophantic Tarasek (243983) ----------
|
||||
|
||||
enum SycophanticTarasekSpells
|
||||
{
|
||||
SPELL_SYCOPHANTIC_TARASEK_MELT_ARMOR = 1250043,
|
||||
};
|
||||
|
||||
enum SycophanticTarasekEvents
|
||||
{
|
||||
EVENT_SYCOPHANTIC_TARASEK_MELT_ARMOR = 1,
|
||||
};
|
||||
|
||||
struct npc_voidscar_sycophantic_tarasek : public ScriptedAI
|
||||
{
|
||||
npc_voidscar_sycophantic_tarasek(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_SYCOPHANTIC_TARASEK_MELT_ARMOR, 4s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_SYCOPHANTIC_TARASEK_MELT_ARMOR:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 40.0f, true))
|
||||
DoCast(target, SPELL_SYCOPHANTIC_TARASEK_MELT_ARMOR);
|
||||
events.Repeat(4s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// ---------- Dominated Brawler (238883) ----------
|
||||
|
||||
enum DominatedBrawlerSpells
|
||||
{
|
||||
SPELL_DOMINATED_BRAWLER_BLOODSURGE = 1254826,
|
||||
SPELL_DOMINATED_BRAWLER_DEMORALIZING_SHOUT = 1298899,
|
||||
};
|
||||
|
||||
enum DominatedBrawlerEvents
|
||||
{
|
||||
EVENT_DOMINATED_BRAWLER_BLOODSURGE = 1,
|
||||
EVENT_DOMINATED_BRAWLER_DEMORALIZING_SHOUT,
|
||||
};
|
||||
|
||||
struct npc_voidscar_dominated_brawler : public ScriptedAI
|
||||
{
|
||||
npc_voidscar_dominated_brawler(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_DOMINATED_BRAWLER_BLOODSURGE, 8s);
|
||||
events.ScheduleEvent(EVENT_DOMINATED_BRAWLER_DEMORALIZING_SHOUT, 14s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_DOMINATED_BRAWLER_BLOODSURGE:
|
||||
DoCastSelf(SPELL_DOMINATED_BRAWLER_BLOODSURGE);
|
||||
events.Repeat(16s);
|
||||
break;
|
||||
case EVENT_DOMINATED_BRAWLER_DEMORALIZING_SHOUT:
|
||||
DoCastSelf(SPELL_DOMINATED_BRAWLER_DEMORALIZING_SHOUT);
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// ---------- Protective Turtle (249603) ----------
|
||||
|
||||
enum ProtectiveTurtleSpells
|
||||
{
|
||||
SPELL_PROTECTIVE_TURTLE_SHELL_GUARD = 1250021,
|
||||
SPELL_PROTECTIVE_TURTLE_PROTECTED = 1250023,
|
||||
SPELL_PROTECTIVE_TURTLE_EXHAUSTED = 1310320,
|
||||
};
|
||||
|
||||
enum ProtectiveTurtleEvents
|
||||
{
|
||||
EVENT_PROTECTIVE_TURTLE_SHELL_GUARD = 1,
|
||||
EVENT_PROTECTIVE_TURTLE_EXHAUSTED,
|
||||
};
|
||||
|
||||
struct npc_voidscar_protective_turtle : public ScriptedAI
|
||||
{
|
||||
npc_voidscar_protective_turtle(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_PROTECTIVE_TURTLE_SHELL_GUARD, 6s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_PROTECTIVE_TURTLE_SHELL_GUARD:
|
||||
DoCastSelf(SPELL_PROTECTIVE_TURTLE_SHELL_GUARD);
|
||||
DoCastSelf(SPELL_PROTECTIVE_TURTLE_PROTECTED, true);
|
||||
events.Repeat(30s);
|
||||
events.ScheduleEvent(EVENT_PROTECTIVE_TURTLE_EXHAUSTED, 10s);
|
||||
break;
|
||||
case EVENT_PROTECTIVE_TURTLE_EXHAUSTED:
|
||||
DoCastSelf(SPELL_PROTECTIVE_TURTLE_EXHAUSTED, true);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// ---------- Kilivore Screamer (243766) ----------
|
||||
|
||||
enum KilivoreScreamerSpells
|
||||
{
|
||||
SPELL_KILIVORE_SCREAMER_MAD_SHRIEK = 1233398,
|
||||
};
|
||||
|
||||
enum KilivoreScreamerEvents
|
||||
{
|
||||
EVENT_KILIVORE_SCREAMER_MAD_SHRIEK = 1,
|
||||
};
|
||||
|
||||
struct npc_voidscar_kilivore_screamer : public ScriptedAI
|
||||
{
|
||||
npc_voidscar_kilivore_screamer(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_KILIVORE_SCREAMER_MAD_SHRIEK, urand(2, 6) * 1s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_KILIVORE_SCREAMER_MAD_SHRIEK:
|
||||
DoCastSelf(SPELL_KILIVORE_SCREAMER_MAD_SHRIEK);
|
||||
events.Repeat(urand(24, 31) * 1s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// ---------- Chitigoth (244260) ----------
|
||||
|
||||
enum ChitigothSpells
|
||||
{
|
||||
SPELL_CHITIGOTH_RAVENOUS_SWARM = 1234826,
|
||||
SPELL_CHITIGOTH_RAVENOUS_SWARM_2 = 1234833,
|
||||
SPELL_CHITIGOTH_RAVENOUS_SWARM_3 = 1250079,
|
||||
SPELL_CHITIGOTH_INSIDIOUS_AURA = 1234855,
|
||||
SPELL_CHITIGOTH_INSIDIOUS_AURA_2 = 1250695,
|
||||
};
|
||||
|
||||
enum ChitigothEvents
|
||||
{
|
||||
EVENT_CHITIGOTH_RAVENOUS_SWARM = 1,
|
||||
EVENT_CHITIGOTH_INSIDIOUS_AURA,
|
||||
};
|
||||
|
||||
struct npc_voidscar_chitigoth : public ScriptedAI
|
||||
{
|
||||
npc_voidscar_chitigoth(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_CHITIGOTH_INSIDIOUS_AURA, 2s);
|
||||
events.ScheduleEvent(EVENT_CHITIGOTH_RAVENOUS_SWARM, 8s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_CHITIGOTH_RAVENOUS_SWARM:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
{
|
||||
DoCast(target, urand(0, 1) ? SPELL_CHITIGOTH_RAVENOUS_SWARM : SPELL_CHITIGOTH_RAVENOUS_SWARM_2);
|
||||
DoCast(target, SPELL_CHITIGOTH_RAVENOUS_SWARM_3, true);
|
||||
}
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_CHITIGOTH_INSIDIOUS_AURA:
|
||||
DoCastSelf(urand(0, 1) ? SPELL_CHITIGOTH_INSIDIOUS_AURA : SPELL_CHITIGOTH_INSIDIOUS_AURA_2, true);
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// ---------- Toxic Creeper (239070) ----------
|
||||
|
||||
enum ToxicCreeperSpells
|
||||
{
|
||||
SPELL_TOXIC_CREEPER_FIXATE = 1263339,
|
||||
SPELL_TOXIC_CREEPER_SICKENING_BITE = 1282892,
|
||||
SPELL_TOXIC_CREEPER_SICKENING_BITE_2 = 1300263,
|
||||
};
|
||||
|
||||
enum ToxicCreeperEvents
|
||||
{
|
||||
EVENT_TOXIC_CREEPER_FIXATE = 1,
|
||||
EVENT_TOXIC_CREEPER_SICKENING_BITE,
|
||||
};
|
||||
|
||||
struct npc_voidscar_toxic_creeper : public ScriptedAI
|
||||
{
|
||||
npc_voidscar_toxic_creeper(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_TOXIC_CREEPER_FIXATE, 2s);
|
||||
events.ScheduleEvent(EVENT_TOXIC_CREEPER_SICKENING_BITE, 4s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_TOXIC_CREEPER_FIXATE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
DoCast(target, SPELL_TOXIC_CREEPER_FIXATE, true);
|
||||
events.Repeat(14s);
|
||||
break;
|
||||
case EVENT_TOXIC_CREEPER_SICKENING_BITE:
|
||||
DoCastVictim(urand(0, 1) ? SPELL_TOXIC_CREEPER_SICKENING_BITE : SPELL_TOXIC_CREEPER_SICKENING_BITE_2);
|
||||
events.Repeat(6s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// ---------- Abducted Drakonid (249461) ----------
|
||||
|
||||
enum AbductedDrakonidSpells
|
||||
{
|
||||
SPELL_ABDUCTED_DRAKONID_FIRE_SPIT = 1249236,
|
||||
SPELL_ABDUCTED_DRAKONID_FIRE_SPIT_2 = 1249237,
|
||||
SPELL_ABDUCTED_DRAKONID_FIRE_SPIT_3 = 1249238,
|
||||
};
|
||||
|
||||
enum AbductedDrakonidEvents
|
||||
{
|
||||
EVENT_ABDUCTED_DRAKONID_FIRE_SPIT = 1,
|
||||
};
|
||||
|
||||
struct npc_voidscar_abducted_drakonid : public ScriptedAI
|
||||
{
|
||||
npc_voidscar_abducted_drakonid(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_ABDUCTED_DRAKONID_FIRE_SPIT, 3s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_ABDUCTED_DRAKONID_FIRE_SPIT:
|
||||
DoCastVictim(urand(0, 2) == 0 ? SPELL_ABDUCTED_DRAKONID_FIRE_SPIT :
|
||||
urand(0, 1) ? SPELL_ABDUCTED_DRAKONID_FIRE_SPIT_2 : SPELL_ABDUCTED_DRAKONID_FIRE_SPIT_3);
|
||||
events.Repeat(5s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// ---------- Raging Raptor (249608) ----------
|
||||
|
||||
enum RagingRaptorSpells
|
||||
{
|
||||
SPELL_RAGING_RAPTOR_FERAL_RAGE = 1249661,
|
||||
};
|
||||
|
||||
enum RagingRaptorEvents
|
||||
{
|
||||
EVENT_RAGING_RAPTOR_FERAL_RAGE = 1,
|
||||
};
|
||||
|
||||
struct npc_voidscar_raging_raptor : public ScriptedAI
|
||||
{
|
||||
npc_voidscar_raging_raptor(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_RAGING_RAPTOR_FERAL_RAGE, 5s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_RAGING_RAPTOR_FERAL_RAGE:
|
||||
DoCastSelf(SPELL_RAGING_RAPTOR_FERAL_RAGE);
|
||||
events.Repeat(18s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// ---------- Ethereal Shade (254677) ----------
|
||||
|
||||
enum EtherealShadeSpells
|
||||
{
|
||||
SPELL_ETHEREAL_SHADE_NETHER_DASH = 1222098,
|
||||
SPELL_ETHEREAL_SHADE_NETHER_DASH_2 = 1222100,
|
||||
SPELL_ETHEREAL_SHADE_NETHER_DASH_3 = 1222103,
|
||||
SPELL_ETHEREAL_SHADE_NETHER_DASH_4 = 1298673,
|
||||
SPELL_ETHEREAL_SHADE_ANCHOR_HERE = 45313,
|
||||
};
|
||||
|
||||
enum EtherealShadeEvents
|
||||
{
|
||||
EVENT_ETHEREAL_SHADE_NETHER_DASH = 1,
|
||||
EVENT_ETHEREAL_SHADE_ANCHOR_HERE,
|
||||
};
|
||||
|
||||
struct npc_voidscar_ethereal_shade : public ScriptedAI
|
||||
{
|
||||
npc_voidscar_ethereal_shade(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_ETHEREAL_SHADE_ANCHOR_HERE, 1s);
|
||||
events.ScheduleEvent(EVENT_ETHEREAL_SHADE_NETHER_DASH, 3s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_ETHEREAL_SHADE_NETHER_DASH:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_ETHEREAL_SHADE_NETHER_DASH);
|
||||
DoCast(target, SPELL_ETHEREAL_SHADE_NETHER_DASH_2, true);
|
||||
DoCast(target, SPELL_ETHEREAL_SHADE_NETHER_DASH_3, true);
|
||||
DoCast(target, SPELL_ETHEREAL_SHADE_NETHER_DASH_4, true);
|
||||
}
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_ETHEREAL_SHADE_ANCHOR_HERE:
|
||||
DoCastSelf(SPELL_ETHEREAL_SHADE_ANCHOR_HERE, true);
|
||||
events.Repeat(12s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_voidscar_arena_trash()
|
||||
{
|
||||
RegisterVoidscarArenaCreatureAI(npc_voidscar_voidminder);
|
||||
RegisterVoidscarArenaCreatureAI(npc_voidscar_longtooth_tuskarr);
|
||||
RegisterVoidscarArenaCreatureAI(npc_voidscar_sycophantic_tarasek);
|
||||
RegisterVoidscarArenaCreatureAI(npc_voidscar_dominated_brawler);
|
||||
RegisterVoidscarArenaCreatureAI(npc_voidscar_protective_turtle);
|
||||
RegisterVoidscarArenaCreatureAI(npc_voidscar_kilivore_screamer);
|
||||
RegisterVoidscarArenaCreatureAI(npc_voidscar_chitigoth);
|
||||
RegisterVoidscarArenaCreatureAI(npc_voidscar_toxic_creeper);
|
||||
RegisterVoidscarArenaCreatureAI(npc_voidscar_abducted_drakonid);
|
||||
RegisterVoidscarArenaCreatureAI(npc_voidscar_raging_raptor);
|
||||
RegisterVoidscarArenaCreatureAI(npc_voidscar_ethereal_shade);
|
||||
}
|
||||
@@ -46,6 +46,7 @@ void AddSC_boss_seranel_sunlash();
|
||||
void AddSC_boss_gemellus();
|
||||
void AddSC_boss_degentrius();
|
||||
void AddSC_magisters_terrace_trash();
|
||||
void AddSC_npc_magister_umbric();
|
||||
void AddSC_instance_blindingvale();
|
||||
void AddSC_boss_lightblossom_trinity();
|
||||
void AddSC_boss_ikuzz();
|
||||
@@ -56,6 +57,16 @@ void AddSC_boss_kasreth();
|
||||
void AddSC_boss_nysarra();
|
||||
void AddSC_boss_lothraxion();
|
||||
void AddSC_nexuspointxenas_trash();
|
||||
void AddSC_instance_voidscar_arena();
|
||||
void AddSC_boss_atroxus();
|
||||
void AddSC_boss_aegyra_the_unyielding();
|
||||
void AddSC_boss_brutok();
|
||||
void AddSC_boss_brutal_overseer();
|
||||
void AddSC_boss_devouring_brutalizer();
|
||||
void AddSC_boss_watchful_harrower();
|
||||
void AddSC_boss_tazrah();
|
||||
void AddSC_boss_charonus();
|
||||
void AddSC_voidscar_arena_trash();
|
||||
|
||||
void AddMidnightScripts()
|
||||
{
|
||||
@@ -85,6 +96,7 @@ void AddMidnightScripts()
|
||||
AddSC_boss_gemellus();
|
||||
AddSC_boss_degentrius();
|
||||
AddSC_magisters_terrace_trash();
|
||||
AddSC_npc_magister_umbric();
|
||||
AddSC_instance_blindingvale();
|
||||
AddSC_boss_lightblossom_trinity();
|
||||
AddSC_boss_ikuzz();
|
||||
@@ -95,4 +107,14 @@ void AddMidnightScripts()
|
||||
AddSC_boss_nysarra();
|
||||
AddSC_boss_lothraxion();
|
||||
AddSC_nexuspointxenas_trash();
|
||||
AddSC_instance_voidscar_arena();
|
||||
AddSC_boss_atroxus();
|
||||
AddSC_boss_aegyra_the_unyielding();
|
||||
AddSC_boss_brutok();
|
||||
AddSC_boss_brutal_overseer();
|
||||
AddSC_boss_devouring_brutalizer();
|
||||
AddSC_boss_watchful_harrower();
|
||||
AddSC_boss_tazrah();
|
||||
AddSC_boss_charonus();
|
||||
AddSC_voidscar_arena_trash();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user