Compare commits
14
Commits
d9fa1aa73a
...
61e5da7d30
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61e5da7d30 | ||
|
|
c4c374f027 | ||
|
|
fd70992193 | ||
|
|
4f28b6102f | ||
|
|
a9bc53c831 | ||
|
|
660bf7cec9 | ||
|
|
c212ff96b9 | ||
|
|
8d82d82732 | ||
|
|
ed5d0abfd3 | ||
|
|
2de3e034cc | ||
|
|
9432531975 | ||
|
|
75e50d8dda | ||
|
|
2f9c44c59c | ||
|
|
b6368e27f3 |
@@ -0,0 +1,31 @@
|
||||
-- DBErors Fixes
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_infuser_sariya' WHERE `entry`=190405;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_at_arcane_forager' WHERE `entry`=196694;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_squallbringer_cyraz' WHERE `entry`=190370;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_at_corrupted_manafiend' WHERE `entry`=196045;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_at_aggravated_skitterfly' WHERE `entry`=197406;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_at_territorial_eagle' WHERE `entry`=192329;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_at_alpha_eagle' WHERE `entry`=192333;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_containment_apparatus' WHERE `entry`=190342;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_primalist_infuser' WHERE `entry`=196043;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_primalist_earthshaker' WHERE `entry`=190371;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_aqua_rager' WHERE `entry`=190407;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_at_vile_lasher' WHERE `entry`=197219;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_primalist_icecaller' WHERE `entry`=190377;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_algethar_ancient_branch' WHERE `entry`=196548;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_algethar_hungry_lasher' WHERE `entry` IN (196642,197398);
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_at_echoknight' WHERE `entry`=196200;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_at_guardian_sentry' WHERE `entry`=192680;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_at_spectral_invoker' WHERE `entry`=196202;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_at_spellbound_battleaxe' WHERE `entry` IN (197904,196577);
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_at_vicious_ravager' WHERE `entry`=196671;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_glacial_proto_dragon' WHERE `entry`=190403;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_primalist_geomancer' WHERE `entry`=190345;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_dazzling_dragonfly' WHERE `entry`=190362;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_flamecaller_aymi' WHERE `entry`=190368;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_primalist_galesinger' WHERE `entry`=190373;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_primalist_ravager' WHERE `entry`=190348;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_primalist_shocktrooper' WHERE `entry`=199037;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_refti_defender' WHERE `entry`=190340;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_hoi_skulking_zealot' WHERE `entry`=190359;
|
||||
|
||||
@@ -0,0 +1,650 @@
|
||||
DELETE FROM `achievement_reward` WHERE `ID` IN (4854,4855,4856);
|
||||
INSERT INTO `achievement_reward` (`ID`, `TitleA`, `TitleH`, `ItemID`, `Sender`, `Subject`, `Body`, `MailTemplateID`) VALUES
|
||||
(4854, 189, 189, 0, 0, '', '', 0),
|
||||
(4855, 190, 190, 0, 0, '', '', 0),
|
||||
(4856, 191, 191, 0, 0, '', '', 0);
|
||||
|
||||
|
||||
UPDATE `quest_details` SET `Emote2`=0 WHERE `ID`=63140;
|
||||
UPDATE `quest_details` SET `Emote2`=0 WHERE `ID`=62189;
|
||||
|
||||
DELETE FROM `world_quest_template` WHERE `QuestID` IN (65119 /*Automa Ops*/, 65089 /*Frog'it*/, 50296 /*Billy Goat Barber*/, 50984 /*Work Order: Winter's Kiss*/, 64977 /*Step Into the Ring*/, 59803 /*For Honor*/);
|
||||
INSERT INTO `world_quest_template` (`QuestID`, `Duration`, `VariableID`, `Value`) VALUES
|
||||
(65119, 86400, 21275, 1), -- Automa Ops
|
||||
(65089, 86400, 21262, 1), -- Frog'it
|
||||
(50296, 86400, 14730, 1), -- Billy Goat Barber
|
||||
(50984, 86400, 15917, 4), -- Work Order: Winter's Kiss
|
||||
(64977, 86400, 21352, 1), -- Step Into the Ring
|
||||
(59803, 21600, 19106, 1); -- For Honor
|
||||
|
||||
UPDATE `world_quest_template` SET `VariableID`=14243 WHERE `QuestID`=49098; -- Invasion Point: Cen'gar
|
||||
UPDATE `world_quest_template` SET `VariableID`=14063 WHERE `QuestID`=49099; -- Invasion Point: Bonich
|
||||
UPDATE `world_quest_template` SET `VariableID`=14065 WHERE `QuestID`=49097; -- Invasion Point: Sangua
|
||||
UPDATE `world_quest_template` SET `VariableID`=14247 WHERE `QuestID`=49096; -- Invasion Point: Naigtal
|
||||
|
||||
|
||||
DELETE FROM `spell_target_position` WHERE (`ID`=324558 AND `EffectIndex`=0 AND `OrderIndex`=0);
|
||||
INSERT INTO `spell_target_position` (`ID`, `EffectIndex`, `OrderIndex`, `MapID`, `PositionX`, `PositionY`, `PositionZ`, `VerifiedBuild`) VALUES
|
||||
(324558, 0, 0, 2222, -2487.56005859375, 7664.080078125, 3985.5, 69814); -- Spell: 324558 (Teleport to Mad Duke's Parlor [DNT]) Effect 0: 252 (SPELL_EFFECT_TELEPORT_UNITS)
|
||||
|
||||
|
||||
REPLACE INTO `spell_target_position` (`ID`, `EffectIndex`, `OrderIndex`, `MapID`, `PositionX`, `PositionY`, `PositionZ`, `VerifiedBuild`) VALUES
|
||||
(318374, 0, 0, 2222, -1754.328125, 6351.6552734375, 4216.50341796875, 69814), -- Spell: 318374 (Missile: Summon Manifestation (Flavor) [DNT]) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 0, 2222, 4587.39892578125, 7218.42578125, 4860.50732421875, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 1, 2222, 4506.5849609375, 7196.89404296875, 4866.75146484375, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 2, 2222, 4516.35009765625, 7210.50244140625, 4865.6533203125, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 3, 2222, 4527.8154296875, 7200.01806640625, 4865.08740234375, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 4, 2222, 4504.412109375, 7197.916015625, 4866.9453125, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 5, 2222, 4538.1533203125, 7197.71728515625, 4864.71875, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 6, 2222, 4586.8291015625, 7225.31396484375, 4860.5908203125, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 7, 2222, 4532.16357421875, 7187.44873046875, 4866.7587890625, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 8, 2222, 4542.822265625, 7216.03955078125, 4861.974609375, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 9, 2222, 4569.55615234375, 7231.2451171875, 4861.265625, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 10, 2222, 4515.08544921875, 7198.4501953125, 4866.5068359375, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 11, 2222, 4519.59375, 7201.861328125, 4865.87255859375, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 12, 2222, 4544.90283203125, 7181.04150390625, 4867.1494140625, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 13, 2222, 4528.06396484375, 7188.29345703125, 4865.8916015625, 69814), -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(346210, 0, 14, 2222, 4529.3740234375, 7210.36083984375, 4863.67578125, 69814); -- Spell: 346210 (Molten Eruption) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
|
||||
|
||||
UPDATE `creature_model_info` SET `BoundingRadius`=3.647588253021240234, `CombatReach`=3 WHERE `DisplayID`=97086;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius`=0.631452798843383789, `CombatReach`=1.5 WHERE `DisplayID`=98542;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius`=2.083333253860473632 WHERE `DisplayID`=93398;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius`=1.771305322647094726, `CombatReach`=2.222222328186035156 WHERE `DisplayID`=98203;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius`=2.317917585372924804, `CombatReach`=1.5 WHERE `DisplayID`=94409;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius`=5.102510452270507812, `CombatReach`=4.199999809265136718 WHERE `DisplayID`=92702;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius`=2.083333253860473632, `CombatReach`=5 WHERE `DisplayID`=96673;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius`=2.083333253860473632, `CombatReach`=1 WHERE `DisplayID` IN (96569, 96568);
|
||||
UPDATE `creature_model_info` SET `BoundingRadius`=0.312619149684906005, `CombatReach`=0 WHERE `DisplayID`=94890;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius`=2.5, `CombatReach`=1.20000004768371582 WHERE `DisplayID`=94460;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius`=1.036973834037780761, `CombatReach`=2.20000004768371582 WHERE `DisplayID`=93161;
|
||||
|
||||
DELETE FROM `creature_template_spell` WHERE (`CreatureID`=166551 AND `Index`=3);
|
||||
INSERT INTO `creature_template_spell` (`CreatureID`, `Index`, `Spell`, `VerifiedBuild`) VALUES
|
||||
(166551, 3, 324651, 69814); -- Outcast Venthyr
|
||||
|
||||
UPDATE `creature_template_spell` SET `Spell`=324669 WHERE (`CreatureID`=166551 AND `Index`=2);
|
||||
UPDATE `creature_template_spell` SET `Spell`=324666 WHERE (`CreatureID`=166551 AND `Index`=1);
|
||||
UPDATE `creature_template_spell` SET `Spell`=324657 WHERE (`CreatureID`=166551 AND `Index`=0);
|
||||
|
||||
DELETE FROM `creature_template_gossip` WHERE (`CreatureID`=170291 AND `MenuID`=25910);
|
||||
INSERT INTO `creature_template_gossip` (`CreatureID`, `MenuID`, `VerifiedBuild`) VALUES
|
||||
(170291, 25910, 69814); -- Alchemist Leticia
|
||||
|
||||
|
||||
REPLACE INTO `npc_text` (`ID`, `Probability0`, `Probability1`, `Probability2`, `Probability3`, `Probability4`, `Probability5`, `Probability6`, `Probability7`, `BroadcastTextId0`, `BroadcastTextId1`, `BroadcastTextId2`, `BroadcastTextId3`, `BroadcastTextId4`, `BroadcastTextId5`, `BroadcastTextId6`, `BroadcastTextId7`, `VerifiedBuild`) VALUES
|
||||
(158653, 1, 0, 0, 0, 0, 0, 0, 0, 206579, 0, 0, 0, 0, 0, 0, 0, 69814); -- 158653 (Prince Renathal)
|
||||
|
||||
REPLACE INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES
|
||||
(25001, 158653, 69814); -- 158653 (Prince Renathal)
|
||||
|
||||
DELETE FROM `gossip_menu` WHERE (`MenuID`=25910 AND `TextID`=41065);
|
||||
INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES
|
||||
(25910, 41065, 69814); -- 170291 (Alchemist Leticia)
|
||||
|
||||
|
||||
|
||||
DELETE FROM `gossip_menu_option` WHERE (`MenuID`=25910 AND `OptionID`=0);
|
||||
INSERT INTO `gossip_menu_option` (`MenuID`, `GossipOptionID`, `OptionID`, `OptionNpc`, `OptionText`, `OptionBroadcastTextID`, `Language`, `Flags`, `ActionMenuID`, `ActionPoiID`, `GossipNpcOptionID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`, `SpellID`, `OverrideIconID`, `VerifiedBuild`) VALUES
|
||||
(25910, 53005, 0, 0, 'I am ready.', 35320, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69814); -- OptionBroadcastTextID: 35320 - 35539 - 39152 - 52091 - 52966 - 68157 - 72264 - 98694 - 101165 - 102817 - 104314 - 105294 - 105455 - 105611 - 106714 - 107434 - 108067 - 110410 - 114311 - 115011 - 120845 - 120867 - 120960 - 122483 - 129525 - 130105 - 130536 - 132934 - 134034 - 136601 - 144577 - 152299 - 152826 - 162165 - 163727 - 163987 - 165913 - 169003
|
||||
|
||||
|
||||
DELETE FROM `quest_details` WHERE `ID`=31780;
|
||||
INSERT INTO `quest_details` (`ID`, `Emote1`, `Emote2`, `Emote3`, `Emote4`, `EmoteDelay1`, `EmoteDelay2`, `EmoteDelay3`, `EmoteDelay4`, `VerifiedBuild`) VALUES
|
||||
(31780, 1, 0, 0, 0, 0, 0, 0, 0, 67602); -- Old MacDonald
|
||||
|
||||
|
||||
DELETE FROM `world_quest_template` WHERE `QuestID` IN (46021 /*Thel'draz*/, 46017 /*Shel'drozul*/);
|
||||
INSERT INTO `world_quest_template` (`QuestID`, `Duration`, `VariableID`, `Value`) VALUES
|
||||
(46021, 21600, 13084, 1), -- Thel'draz
|
||||
(46017, 21600, 13083, 1); -- Shel'drozul
|
||||
|
||||
UPDATE `world_quest_template` SET `VariableID`=14062 WHERE `QuestID`=49091; -- Invasion Point: Val
|
||||
|
||||
|
||||
DELETE FROM `creature_equip_template` WHERE (`CreatureID`=7865 AND `ID`=2);
|
||||
INSERT INTO `creature_equip_template` (`CreatureID`, `ID`, `ItemID1`, `AppearanceModID1`, `ItemVisual1`, `ItemID2`, `AppearanceModID2`, `ItemVisual2`, `ItemID3`, `AppearanceModID3`, `ItemVisual3`, `VerifiedBuild`) VALUES
|
||||
(7865, 2, 2703, 0, 0, 1984, 0, 0, 5260, 0, 0, 68974); -- Wildhammer Sentry
|
||||
|
||||
|
||||
DELETE FROM `ui_map_quest_line` WHERE (`UIMapId`=26 AND `QuestLineId` IN (5934,5751,5750));
|
||||
INSERT INTO `ui_map_quest_line` (`UIMapId`, `QuestLineId`, `VerifiedBuild`) VALUES
|
||||
(26, 5934, 68974),
|
||||
(26, 5751, 68974),
|
||||
(26, 5750, 68974);
|
||||
|
||||
DELETE FROM `creature_template_spell` WHERE (`CreatureID`=26125 AND `Index` IN (6,5,4));
|
||||
INSERT INTO `creature_template_spell` (`CreatureID`, `Index`, `Spell`, `VerifiedBuild`) VALUES
|
||||
(26125, 6, 47484, 68974), -- Risen Ghoul
|
||||
(26125, 5, 47482, 68974), -- Risen Ghoul
|
||||
(26125, 4, 47481, 68974); -- Risen Ghoul
|
||||
|
||||
|
||||
DELETE FROM `gameobject_template_addon` WHERE `entry` IN (576094 /*[DNT] Niffen Ivy Fence 00*/, 613456 /*[DNT] Niffen Wheelbarrow 01 - Giant*/, 605203 /*[DNT] Niffen Rug 01 - Large*/, 574982 /*[DNT] Niffen Wheelbarrow 01*/, 618922 /*[DNT] Niffen Center Plant - Founder's Point*/, 574974 /*[DNT] Niffen Stall 02*/, 574951 /*[DNT] Niffen Hive 00*/, 574970 /*[DNT] Niffen Centerpiece*/, 574976 /*[DNT] Niffen Wagon*/, 576097 /*[DNT] Niffen Ivy Fence 02*/, 574973 /*[DNT] Niffen Stall 01*/, 619071 /*[DNT] Niffen Crate Stack 03*/, 601312 /*[DNT] Niffen Wheelbarrow 01 - Huge*/, 588841 /*[DNT] Niffen Wheelbarrow 01 - Large*/, 619069 /*[DNT] Niffen Crate Stack 01*/, 619070 /*[DNT] Niffen Crate Stack 02*/, 605202 /*[DNT] Niffen Rug 01*/, 574978 /*[DNT] Niffen Table 01*/, 574977 /*[DNT] Niffen Table 00*/, 581989 /*House - Plot 2*/, 582107 /*House - Plot 46*/, 581978 /*House - Plot 20*/, 581979 /*House - Plot 33*/, 582105 /*House - Plot 44*/, 581976 /*House - Plot 15*/, 582110 /*House - Plot 47*/, 581977 /*House - Plot 8*/, 581982 /*House - Plot 10*/, 581983 /*House - Plot 18*/, 582109 /*House - Plot 51*/, 581980 /*House - Plot 17*/, 581981 /*House - Plot 6*/, 581974 /*House - Plot 22*/, 581975 /*House - Plot 16*/, 582025 /*House - Plot 30*/, 582019 /*House - Plot 1*/, 582022 /*House - Plot 13*/, 581958 /*House - Plot 43*/, 582023 /*House - Plot 37*/, 582138 /*House - Plot 23*/, 582136 /*House - Plot 32*/, 582137 /*House - Plot 9*/, 582009 /*House - Plot 53*/, 582012 /*House - Plot 48*/, 582130 /*House - Plot 31*/, 582013 /*House - Plot 26*/, 582131 /*House - Plot 27*/, 581938 /*House - Plot 19*/, 582129 /*House - Plot 7*/, 581939 /*House - Plot 28*/, 582134 /*House - Plot 3*/, 582135 /*House - Plot 42*/, 581937 /*House - Plot 29*/, 582132 /*House - Plot 34*/, 582133 /*House - Plot 52*/, 581940 /*House - Plot 4*/, 581941 /*House - Plot 24*/, 581994 /*House - Plot 49*/, 581992 /*House - Plot 54*/, 582127 /*House - Plot 45*/, 582115 /*House - Plot 50*/, 581986 /*House - Plot 21*/, 582112 /*House - Plot 39*/, 581984 /*House - Plot 0*/, 581985 /*House - Plot 38*/, 581991 /*House - Plot 11*/);
|
||||
INSERT INTO `gameobject_template_addon` (`entry`, `faction`, `flags`, `WorldEffectID`, `AIAnimKitID`) VALUES
|
||||
(576094, 0, 0x20, 0, 0), -- [DNT] Niffen Ivy Fence 00
|
||||
(613456, 0, 0x20, 0, 0), -- [DNT] Niffen Wheelbarrow 01 - Giant
|
||||
(605203, 0, 0x20, 0, 0), -- [DNT] Niffen Rug 01 - Large
|
||||
(574982, 0, 0x20, 0, 0), -- [DNT] Niffen Wheelbarrow 01
|
||||
(618922, 0, 0x20, 0, 0), -- [DNT] Niffen Center Plant - Founder's Point
|
||||
(574974, 0, 0x20, 0, 0), -- [DNT] Niffen Stall 02
|
||||
(574951, 0, 0x20, 0, 0), -- [DNT] Niffen Hive 00
|
||||
(574970, 0, 0x20, 0, 0), -- [DNT] Niffen Centerpiece
|
||||
(574976, 0, 0x20, 0, 0), -- [DNT] Niffen Wagon
|
||||
(576097, 0, 0x20, 0, 0), -- [DNT] Niffen Ivy Fence 02
|
||||
(574973, 0, 0x20, 0, 0), -- [DNT] Niffen Stall 01
|
||||
(619071, 0, 0x20, 0, 0), -- [DNT] Niffen Crate Stack 03
|
||||
(601312, 0, 0x20, 0, 0), -- [DNT] Niffen Wheelbarrow 01 - Huge
|
||||
(588841, 0, 0x20, 0, 0), -- [DNT] Niffen Wheelbarrow 01 - Large
|
||||
(619069, 0, 0x20, 0, 0), -- [DNT] Niffen Crate Stack 01
|
||||
(619070, 0, 0x20, 0, 0), -- [DNT] Niffen Crate Stack 02
|
||||
(605202, 0, 0x20, 0, 0), -- [DNT] Niffen Rug 01
|
||||
(574978, 0, 0x20, 0, 0), -- [DNT] Niffen Table 01
|
||||
(574977, 0, 0x20, 0, 0), -- [DNT] Niffen Table 00
|
||||
(581989, 0, 0x100020, 0, 0), -- House - Plot 2
|
||||
(582107, 0, 0x100020, 0, 0), -- House - Plot 46
|
||||
(581978, 0, 0x100020, 0, 0), -- House - Plot 20
|
||||
(581979, 0, 0x100020, 0, 0), -- House - Plot 33
|
||||
(582105, 0, 0x100020, 0, 0), -- House - Plot 44
|
||||
(581976, 0, 0x100020, 0, 0), -- House - Plot 15
|
||||
(582110, 0, 0x100020, 0, 0), -- House - Plot 47
|
||||
(581977, 0, 0x100020, 0, 0), -- House - Plot 8
|
||||
(581982, 0, 0x100020, 0, 0), -- House - Plot 10
|
||||
(581983, 0, 0x100020, 0, 0), -- House - Plot 18
|
||||
(582109, 0, 0x100020, 0, 0), -- House - Plot 51
|
||||
(581980, 0, 0x100020, 0, 0), -- House - Plot 17
|
||||
(581981, 0, 0x100020, 0, 0), -- House - Plot 6
|
||||
(581974, 0, 0x100020, 0, 0), -- House - Plot 22
|
||||
(581975, 0, 0x100020, 0, 0), -- House - Plot 16
|
||||
(582025, 0, 0x100020, 0, 0), -- House - Plot 30
|
||||
(582019, 0, 0x100020, 0, 0), -- House - Plot 1
|
||||
(582022, 0, 0x100020, 0, 0), -- House - Plot 13
|
||||
(581958, 0, 0x100020, 0, 0), -- House - Plot 43
|
||||
(582023, 0, 0x100020, 0, 0), -- House - Plot 37
|
||||
(582138, 0, 0x100020, 0, 0), -- House - Plot 23
|
||||
(582136, 0, 0x100020, 0, 0), -- House - Plot 32
|
||||
(582137, 0, 0x100020, 0, 0), -- House - Plot 9
|
||||
(582009, 0, 0x100020, 0, 0), -- House - Plot 53
|
||||
(582012, 0, 0x100020, 0, 0), -- House - Plot 48
|
||||
(582130, 0, 0x100020, 0, 0), -- House - Plot 31
|
||||
(582013, 0, 0x100020, 0, 0), -- House - Plot 26
|
||||
(582131, 0, 0x100020, 0, 0), -- House - Plot 27
|
||||
(581938, 0, 0x100020, 0, 0), -- House - Plot 19
|
||||
(582129, 0, 0x100020, 0, 0), -- House - Plot 7
|
||||
(581939, 0, 0x100020, 0, 0), -- House - Plot 28
|
||||
(582134, 0, 0x100020, 0, 0), -- House - Plot 3
|
||||
(582135, 0, 0x100020, 0, 0), -- House - Plot 42
|
||||
(581937, 0, 0x100020, 0, 0), -- House - Plot 29
|
||||
(582132, 0, 0x100020, 0, 0), -- House - Plot 34
|
||||
(582133, 0, 0x100020, 0, 0), -- House - Plot 52
|
||||
(581940, 0, 0x100020, 0, 0), -- House - Plot 4
|
||||
(581941, 0, 0x100020, 0, 0), -- House - Plot 24
|
||||
(581994, 0, 0x100020, 0, 0), -- House - Plot 49
|
||||
(581992, 0, 0x100020, 0, 0), -- House - Plot 54
|
||||
(582127, 0, 0x100020, 0, 0), -- House - Plot 45
|
||||
(582115, 0, 0x100020, 0, 0), -- House - Plot 50
|
||||
(581986, 0, 0x100020, 0, 0), -- House - Plot 21
|
||||
(582112, 0, 0x100020, 0, 0), -- House - Plot 39
|
||||
(581984, 0, 0x100020, 0, 0), -- House - Plot 0
|
||||
(581985, 0, 0x100020, 0, 0), -- House - Plot 38
|
||||
(581991, 0, 0x100020, 0, 0); -- House - Plot 11
|
||||
|
||||
|
||||
DELETE FROM `gameobject_template` WHERE `entry`=582016;
|
||||
INSERT INTO `gameobject_template` (`entry`, `type`, `displayId`, `name`, `IconName`, `castBarCaption`, `unk1`, `size`, `Data0`, `Data1`, `Data2`, `Data3`, `Data4`, `Data5`, `Data6`, `Data7`, `Data8`, `Data9`, `Data10`, `Data11`, `Data12`, `Data13`, `Data14`, `Data15`, `Data16`, `Data17`, `Data18`, `Data19`, `Data20`, `Data21`, `Data22`, `Data23`, `Data24`, `Data25`, `Data26`, `Data27`, `Data28`, `Data29`, `Data30`, `Data31`, `Data32`, `Data33`, `Data34`, `RequiredLevel`, `ContentTuningId`, `VerifiedBuild`) VALUES
|
||||
(582016, 43, 109571, 'House - Plot 14', '', '', '', 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68974); -- House - Plot 14
|
||||
|
||||
|
||||
|
||||
REPLACE INTO `spell_target_position` (`ID`, `EffectIndex`, `OrderIndex`, `MapID`, `PositionX`, `PositionY`, `PositionZ`, `VerifiedBuild`) VALUES
|
||||
(437980, 0, 0, 2648, 2794.330078125, -1611.4300537109375, 325.678009033203125, 69814), -- Spell: 437980 (Creating Storm [DNT]) Effect 0: 3 (SPELL_EFFECT_DUMMY)
|
||||
(437980, 0, 1, 2648, 2797.81005859375, -1619.1300048828125, 326.8900146484375, 69814), -- Spell: 437980 (Creating Storm [DNT]) Effect 0: 3 (SPELL_EFFECT_DUMMY)
|
||||
(437980, 0, 2, 2648, 2795.8798828125, -1605.3699951171875, 326.07000732421875, 69814), -- Spell: 437980 (Creating Storm [DNT]) Effect 0: 3 (SPELL_EFFECT_DUMMY)
|
||||
(437980, 0, 3, 2648, 2805.8701171875, -1611.02001953125, 325.156005859375, 69814), -- Spell: 437980 (Creating Storm [DNT]) Effect 0: 3 (SPELL_EFFECT_DUMMY)
|
||||
(441699, 0, 0, 2648, 2856.852294921875, -1606.46240234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 1, 2648, 2861.47021484375, -1600.7457275390625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 2, 2648, 2870.3955078125, -1601.0672607421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 3, 2648, 2869.712890625, -1604.416259765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 4, 2648, 2892.783935546875, -1599.6353759765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 5, 2648, 2892.5712890625, -1598.0133056640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 6, 2648, 2896.169921875, -1599.3587646484375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 7, 2648, 2892.29931640625, -1597.7974853515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 8, 2648, 2854.705078125, -1599.52880859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 9, 2648, 2853.801513671875, -1602.464111328125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 10, 2648, 2860.400146484375, -1601.7777099609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 11, 2648, 2891.8984375, -1598.6741943359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 12, 2648, 2879.200439453125, -1602.35400390625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 13, 2648, 2875.776611328125, -1599.2320556640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 14, 2648, 2876.608154296875, -1606.866943359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 15, 2648, 2891.17333984375, -1598.28759765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 16, 2648, 2856.351806640625, -1606.2882080078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 17, 2648, 2874.392822265625, -1599.5994873046875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 18, 2648, 2891.798095703125, -1605.958251953125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 19, 2648, 2895.993408203125, -1603.1865234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 20, 2648, 2858.52099609375, -1598.9107666015625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 21, 2648, 2856.897705078125, -1607.3135986328125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 22, 2648, 2873.892578125, -1599.4072265625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 23, 2648, 2889.44775390625, -1604.104736328125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 24, 2648, 2877.814208984375, -1602.514892578125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 25, 2648, 2869.80126953125, -1601.663818359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 26, 2648, 2887.926513671875, -1600.7349853515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 27, 2648, 2853.359130859375, -1603.8983154296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 28, 2648, 2858.454833984375, -1607.8946533203125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 29, 2648, 2871.483154296875, -1601.3984375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 30, 2648, 2889.7177734375, -1600.8682861328125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 31, 2648, 2854.12744140625, -1602.3048095703125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 32, 2648, 2871.7529296875, -1607.2147216796875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 33, 2648, 2895.66259765625, -1604.439453125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 34, 2648, 2873.94482421875, -1598.3443603515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 35, 2648, 2861.90478515625, -1603.336669921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 36, 2648, 2861.60009765625, -1604.0093994140625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 37, 2648, 2856.18359375, -1606.219482421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 38, 2648, 2855.4365234375, -1601.024658203125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 39, 2648, 2877.8818359375, -1606.4857177734375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 40, 2648, 2870.04150390625, -1603.9932861328125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 41, 2648, 2878.891357421875, -1604.7373046875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 42, 2648, 2871.199951171875, -1603.645751953125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 43, 2648, 2895.18701171875, -1599.2476806640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 44, 2648, 2853.037353515625, -1602.0426025390625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 45, 2648, 2854.824951171875, -1601.814208984375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 46, 2648, 2894.3330078125, -1598.1925048828125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 47, 2648, 2862.24755859375, -1604.3902587890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 48, 2648, 2860.576904296875, -1601.744140625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 49, 2648, 2872.350830078125, -1605.9385986328125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 50, 2648, 2853.984375, -1604.951904296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 51, 2648, 2874.626220703125, -1599.53515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 52, 2648, 2861.2216796875, -1601.0595703125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 53, 2648, 2878.39794921875, -1601.8646240234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 54, 2648, 2870.08984375, -1600.8294677734375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 55, 2648, 2888.306640625, -1602.37060546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 56, 2648, 2861.215087890625, -1605.89599609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 57, 2648, 2878.62548828125, -1604.884765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 58, 2648, 2878.973876953125, -1604.2900390625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 59, 2648, 2870.775390625, -1606.0924072265625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 60, 2648, 2854.261962890625, -1600.2332763671875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 61, 2648, 2897.251708984375, -1601.069580078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 62, 2648, 2856.44970703125, -1606.770263671875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 63, 2648, 2876.663330078125, -1606.719482421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 64, 2648, 2857.496337890625, -1607.114990234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 65, 2648, 2877.99853515625, -1604.6611328125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 66, 2648, 2872.955810546875, -1607.701904296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 67, 2648, 2860.72021484375, -1599.855712890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 68, 2648, 2859.6708984375, -1607.1483154296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 69, 2648, 2887.89599609375, -1602.3065185546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 70, 2648, 2893.79736328125, -1599.1815185546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 71, 2648, 2891.00732421875, -1606.28857421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 72, 2648, 2889.67333984375, -1603.8135986328125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 73, 2648, 2857.790771484375, -1606.5106201171875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 74, 2648, 2875.44921875, -1607.1326904296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 75, 2648, 2873.151123046875, -1599.6334228515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 76, 2648, 2852.80029296875, -1604.7352294921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 77, 2648, 2860.645263671875, -1600.1591796875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 78, 2648, 2888.54296875, -1604.6197509765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 79, 2648, 2890.587158203125, -1599.8931884765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 80, 2648, 2857.8916015625, -1598.470947265625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 81, 2648, 2871.17724609375, -1599.606201171875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 82, 2648, 2878.009033203125, -1605.1484375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 83, 2648, 2857.556884765625, -1600.287109375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 84, 2648, 2871.083740234375, -1605.77490234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 85, 2648, 2856.932861328125, -1608.280029296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 86, 2648, 2894.693359375, -1604.9158935546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 87, 2648, 2876.578125, -1600.26123046875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 88, 2648, 2873.5634765625, -1598.8240966796875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 89, 2648, 2876.771240234375, -1605.205322265625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 90, 2648, 2891.47900390625, -1598.22265625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 91, 2648, 2888.773681640625, -1600.990478515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 92, 2648, 2858.7021484375, -1598.9259033203125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 93, 2648, 2890.539794921875, -1606.27001953125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 94, 2648, 2878.233642578125, -1605.4901123046875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 95, 2648, 2895.554443359375, -1604.5633544921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 96, 2648, 2889.094482421875, -1599.757568359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 97, 2648, 2853.66845703125, -1605.105712890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 98, 2648, 2859.65380859375, -1606.9439697265625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 99, 2648, 2890.722900390625, -1607.0242919921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 100, 2648, 2888.646484375, -1602.3367919921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 101, 2648, 2878.10009765625, -1606.181884765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 102, 2648, 2870.9892578125, -1606.48828125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 103, 2648, 2897.126708984375, -1604.2496337890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 104, 2648, 2893.42529296875, -1605.5718994140625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 105, 2648, 2891.04052734375, -1599.2291259765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 106, 2648, 2892.349853515625, -1605.7086181640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 107, 2648, 2869.80322265625, -1604.837890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 108, 2648, 2870.973388671875, -1600.1583251953125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 109, 2648, 2857.70849609375, -1598.898193359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 110, 2648, 2854.222412109375, -1603.56982421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 111, 2648, 2852.62109375, -1603.18359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 112, 2648, 2891.166015625, -1606.3770751953125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 113, 2648, 2897.3408203125, -1601.404541015625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 114, 2648, 2877.9951171875, -1604.41162109375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 115, 2648, 2858.404296875, -1607.5030517578125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 116, 2648, 2852.825439453125, -1603.093017578125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 117, 2648, 2852.736328125, -1604.294921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 118, 2648, 2892.106201171875, -1605.792724609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 119, 2648, 2889.80078125, -1599.1849365234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 120, 2648, 2877.041259765625, -1607.0111083984375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 121, 2648, 2855.046630859375, -1601.1929931640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 122, 2648, 2894.36767578125, -1599.8114013671875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 123, 2648, 2893.535400390625, -1599.6246337890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 124, 2648, 2872.898681640625, -1606.4447021484375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 125, 2648, 2889.736083984375, -1601.34765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 126, 2648, 2870.416748046875, -1600.5037841796875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 127, 2648, 2878.560546875, -1603.1197509765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 128, 2648, 2870.225341796875, -1603.45556640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 129, 2648, 2890.3798828125, -1599.0750732421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 130, 2648, 2888.24560546875, -1604.535400390625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 131, 2648, 2861.43603515625, -1600.52099609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 132, 2648, 2878.410400390625, -1605.433837890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 133, 2648, 2890.362548828125, -1606.497802734375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 134, 2648, 2856.57080078125, -1600.1334228515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 135, 2648, 2870.04248046875, -1601.5472412109375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 136, 2648, 2889.716064453125, -1604.3673095703125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 137, 2648, 2891.027099609375, -1598.3681640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 138, 2648, 2877.65380859375, -1600.9498291015625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 139, 2648, 2860.9912109375, -1601.7208251953125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 140, 2648, 2894.479248046875, -1607.001220703125, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 141, 2648, 2896.935546875, -1602.221435546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 142, 2648, 2857.348388671875, -1607.2171630859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 143, 2648, 2860.078125, -1607.3203125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 144, 2648, 2874.871337890625, -1606.55029296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 145, 2648, 2870.770751953125, -1601.1236572265625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 146, 2648, 2888.5732421875, -1604.5692138671875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 147, 2648, 2855.74267578125, -1607.59716796875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 148, 2648, 2861.12353515625, -1602.5966796875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 149, 2648, 2888.310791015625, -1602.188720703125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 150, 2648, 2860.304931640625, -1602.4862060546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 151, 2648, 2891.276123046875, -1605.9512939453125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 152, 2648, 2888.317138671875, -1602.50830078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 153, 2648, 2857.230224609375, -1599.2144775390625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 154, 2648, 2871.338134765625, -1604.4248046875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 155, 2648, 2895.663330078125, -1601.678955078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 156, 2648, 2861.103271484375, -1600.934326171875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 157, 2648, 2858.32373046875, -1600.521240234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 158, 2648, 2858.676025390625, -1606.6009521484375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 159, 2648, 2895.171630859375, -1604.7125244140625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 160, 2648, 2870.971923828125, -1599.9063720703125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 161, 2648, 2854.642578125, -1606.374755859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 162, 2648, 2888.803466796875, -1602.9569091796875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 163, 2648, 2893.182861328125, -1606.7430419921875, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 164, 2648, 2853.56787109375, -1600.4764404296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 165, 2648, 2874.64404296875, -1607.722900390625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 166, 2648, 2888.210693359375, -1602.728515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 167, 2648, 2854.225341796875, -1605.513671875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 168, 2648, 2860.69580078125, -1606.1513671875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 169, 2648, 2873.887939453125, -1606.164306640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 170, 2648, 2853.250244140625, -1604.437744140625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 171, 2648, 2892.139404296875, -1606.71240234375, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 172, 2648, 2896.3046875, -1600.76318359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 173, 2648, 2891.4765625, -1605.843994140625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 174, 2648, 2870.976318359375, -1603.7789306640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 175, 2648, 2878.5068359375, -1601.6365966796875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 176, 2648, 2877.04833984375, -1600.3349609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 177, 2648, 2894.87451171875, -1604.9593505859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 178, 2648, 2887.75341796875, -1601.5152587890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 179, 2648, 2855.000244140625, -1605.2371826171875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 180, 2648, 2860.33349609375, -1604.553955078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 181, 2648, 2878.050048828125, -1604.16552734375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 182, 2648, 2888.240234375, -1603.9886474609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 183, 2648, 2861.054931640625, -1606.1219482421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 184, 2648, 2876.5810546875, -1604.9921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 185, 2648, 2892.2109375, -1598.43896484375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 186, 2648, 2854.584716796875, -1607.5052490234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 187, 2648, 2856.003662109375, -1606.102294921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 188, 2648, 2872.59912109375, -1598.5462646484375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 189, 2648, 2860.705322265625, -1605.2083740234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 190, 2648, 2870.11865234375, -1604.1031494140625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 191, 2648, 2888.302734375, -1600.9700927734375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 192, 2648, 2890.75732421875, -1599.1883544921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 193, 2648, 2891.0927734375, -1599.1043701171875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 194, 2648, 2855.97998046875, -1600.5892333984375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 195, 2648, 2895.691162109375, -1605.3099365234375, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 196, 2648, 2870.9404296875, -1603.1229248046875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 197, 2648, 2892.283447265625, -1599.021728515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 198, 2648, 2893.12890625, -1607.1812744140625, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 199, 2648, 2897.093017578125, -1602.3564453125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 200, 2648, 2874.3359375, -1607.3720703125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 201, 2648, 2861.71923828125, -1602.8499755859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 202, 2648, 2873.361328125, -1599.5169677734375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 203, 2648, 2871.236572265625, -1601.6842041015625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 204, 2648, 2874.345947265625, -1598.726318359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 205, 2648, 2893.099853515625, -1606.4259033203125, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 206, 2648, 2889.630126953125, -1604.50732421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 207, 2648, 2860.191162109375, -1601.7391357421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 208, 2648, 2895.86572265625, -1605.2166748046875, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 209, 2648, 2853.158935546875, -1604.3740234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 210, 2648, 2895.397216796875, -1600.9974365234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 211, 2648, 2888.44873046875, -1604.8074951171875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 212, 2648, 2860.7666015625, -1603.6446533203125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 213, 2648, 2876.635009765625, -1598.840576171875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 214, 2648, 2875.722900390625, -1606.4913330078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 215, 2648, 2853.448974609375, -1606.05859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 216, 2648, 2878.5166015625, -1603.8021240234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 217, 2648, 2877.50439453125, -1599.5943603515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 218, 2648, 2895.578369140625, -1601.3936767578125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 219, 2648, 2894.158203125, -1599.3701171875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 220, 2648, 2871.47900390625, -1599.083251953125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 221, 2648, 2853.671875, -1604.9163818359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 222, 2648, 2871.31787109375, -1602.9710693359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 223, 2648, 2873.710205078125, -1607.3197021484375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 224, 2648, 2889.775634765625, -1598.581787109375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 225, 2648, 2861.24951171875, -1606.2005615234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 226, 2648, 2893.401123046875, -1606.8486328125, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 227, 2648, 2856.581298828125, -1600.1256103515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 228, 2648, 2861.25048828125, -1604.2659912109375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 229, 2648, 2853.049072265625, -1602.601318359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 230, 2648, 2860.0771484375, -1605.5421142578125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 231, 2648, 2854.16748046875, -1601.9630126953125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 232, 2648, 2859.868896484375, -1607.6944580078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 233, 2648, 2877.7587890625, -1599.363525390625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 234, 2648, 2854.836669921875, -1606.943359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 235, 2648, 2854.625732421875, -1601.1112060546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 236, 2648, 2876.140869140625, -1598.37890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 237, 2648, 2870.54541015625, -1605.6318359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 238, 2648, 2853.694580078125, -1604.849609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 239, 2648, 2888.579345703125, -1600.00927734375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 240, 2648, 2897.0302734375, -1602.8436279296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 241, 2648, 2875.095703125, -1599.7279052734375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 242, 2648, 2876.06982421875, -1606.4044189453125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 243, 2648, 2861.030517578125, -1606.041259765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 244, 2648, 2895.369140625, -1604.35400390625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 245, 2648, 2895.081787109375, -1599.3992919921875, 137.196868896484375, 69814); -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
|
||||
|
||||
REPLACE INTO `spell_target_position` (`ID`, `EffectIndex`, `OrderIndex`, `MapID`, `PositionX`, `PositionY`, `PositionZ`, `VerifiedBuild`) VALUES
|
||||
(441699, 0, 246, 2648, 2895.39013671875, -1604.3798828125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 247, 2648, 2876.567626953125, -1606.844482421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 248, 2648, 2861.80859375, -1603.802978515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 249, 2648, 2854.20263671875, -1605.009521484375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 250, 2648, 2874.397216796875, -1606.43798828125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 251, 2648, 2876.702880859375, -1605.8321533203125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 252, 2648, 2871.359619140625, -1602.270751953125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 253, 2648, 2892.977783203125, -1598.478759765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 254, 2648, 2870.616943359375, -1600.976806640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 255, 2648, 2877.296875, -1601.361572265625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 256, 2648, 2859.271728515625, -1599.283447265625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 257, 2648, 2858.611328125, -1599.5191650390625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 258, 2648, 2888.252685546875, -1602.0267333984375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 259, 2648, 2890.052001953125, -1598.341796875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 260, 2648, 2876.19189453125, -1605.857177734375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 261, 2648, 2892.65380859375, -1607.574951171875, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 262, 2648, 2893.8828125, -1607.3450927734375, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 263, 2648, 2860.310302734375, -1601.250244140625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 264, 2648, 2854.081298828125, -1604.7481689453125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 265, 2648, 2876.1630859375, -1605.93603515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 266, 2648, 2874.821533203125, -1606.6702880859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 267, 2648, 2858.332275390625, -1607.530517578125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 268, 2648, 2857.37890625, -1599.966064453125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 269, 2648, 2856.91064453125, -1598.6397705078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 270, 2648, 2858.472412109375, -1607.1058349609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 271, 2648, 2891.90234375, -1598.339111328125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 272, 2648, 2858.088134765625, -1600.338623046875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 273, 2648, 2896.6064453125, -1604.82275390625, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 274, 2648, 2853.859619140625, -1606.0380859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 275, 2648, 2871.99560546875, -1599.467041015625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 276, 2648, 2853.513427734375, -1604.304931640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 277, 2648, 2878.054931640625, -1606.29833984375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 278, 2648, 2856.39306640625, -1600.32763671875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 279, 2648, 2856.774658203125, -1598.9326171875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 280, 2648, 2861.96630859375, -1601.9010009765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 281, 2648, 2876.477783203125, -1605.51513671875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 282, 2648, 2893.097412109375, -1606.272705078125, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 283, 2648, 2874.389404296875, -1598.788330078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 284, 2648, 2896.481201171875, -1603.990966796875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 285, 2648, 2853.871337890625, -1600.7420654296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 286, 2648, 2895.6953125, -1603.07421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 287, 2648, 2875.0234375, -1599.2205810546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 288, 2648, 2891.405517578125, -1606.208251953125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 289, 2648, 2888.4296875, -1605.212646484375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 290, 2648, 2870.694091796875, -1600.1995849609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 291, 2648, 2871.623779296875, -1600.2979736328125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 292, 2648, 2873.606201171875, -1606.8131103515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 293, 2648, 2894.162353515625, -1605.982666015625, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 294, 2648, 2878.477783203125, -1601.995849609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 295, 2648, 2861.558837890625, -1604.456298828125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 296, 2648, 2869.853271484375, -1604.378173828125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 297, 2648, 2869.6337890625, -1602.5701904296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 298, 2648, 2874.1455078125, -1606.27685546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 299, 2648, 2876.91748046875, -1606.2491455078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 300, 2648, 2855.4609375, -1599.2108154296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 301, 2648, 2889.27685546875, -1602.9405517578125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 302, 2648, 2894.726806640625, -1600.4964599609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 303, 2648, 2861.110107421875, -1602.557373046875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 304, 2648, 2861.93115234375, -1602.8729248046875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 305, 2648, 2877.84033203125, -1603.236083984375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 306, 2648, 2895.97314453125, -1601.5213623046875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 307, 2648, 2861.221923828125, -1603.21435546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 308, 2648, 2857.508544921875, -1598.499755859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 309, 2648, 2853.092041015625, -1603.285888671875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 310, 2648, 2891.258056640625, -1598.4525146484375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 311, 2648, 2878.3037109375, -1600.5086669921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 312, 2648, 2892.5595703125, -1606.284912109375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 313, 2648, 2888.970947265625, -1601.2340087890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 314, 2648, 2857.91943359375, -1606.9813232421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 315, 2648, 2878.376220703125, -1600.2708740234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 316, 2648, 2877.48681640625, -1605.5518798828125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 317, 2648, 2893.352294921875, -1606.0062255859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 318, 2648, 2895.994384765625, -1602.84375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 319, 2648, 2874.419189453125, -1598.8511962890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 320, 2648, 2893.349365234375, -1598.774169921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 321, 2648, 2854.5263671875, -1606.98046875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 322, 2648, 2854.87060546875, -1605.58203125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 323, 2648, 2891.271240234375, -1598.77294921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 324, 2648, 2896.261474609375, -1599.7498779296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 325, 2648, 2876.966064453125, -1605.3929443359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 326, 2648, 2877.603515625, -1605.5631103515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 327, 2648, 2859.531005859375, -1606.5294189453125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 328, 2648, 2871.4208984375, -1599.344970703125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 329, 2648, 2889.750732421875, -1606.08740234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 330, 2648, 2876.686767578125, -1599.8763427734375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 331, 2648, 2896.7978515625, -1601.564697265625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 332, 2648, 2888.971435546875, -1599.8548583984375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 333, 2648, 2856.1328125, -1599.69287109375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 334, 2648, 2894.107421875, -1606.1917724609375, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 335, 2648, 2854.47802734375, -1600.39697265625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 336, 2648, 2893.482666015625, -1605.9368896484375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 337, 2648, 2875.16259765625, -1606.135498046875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 338, 2648, 2859.768310546875, -1606.804443359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 339, 2648, 2888.521484375, -1603.2811279296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 340, 2648, 2853.4462890625, -1601.7581787109375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 341, 2648, 2858.235595703125, -1606.939453125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 342, 2648, 2895.084228515625, -1600.7574462890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 343, 2648, 2897.21044921875, -1603.2640380859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 344, 2648, 2857.676513671875, -1608.1768798828125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 345, 2648, 2856.224365234375, -1600.5308837890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 346, 2648, 2871.27294921875, -1601.0450439453125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 347, 2648, 2872.942138671875, -1606.6190185546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 348, 2648, 2854.99169921875, -1605.1661376953125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 349, 2648, 2874.56494140625, -1599.5950927734375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 350, 2648, 2855.7978515625, -1606.442626953125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 351, 2648, 2888.95654296875, -1601.5355224609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 352, 2648, 2854.96533203125, -1600.9808349609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 353, 2648, 2889.625244140625, -1598.9681396484375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 354, 2648, 2891.18701171875, -1606.4437255859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 355, 2648, 2892.494384765625, -1597.9136962890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 356, 2648, 2893.68115234375, -1606.8780517578125, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 357, 2648, 2857.876953125, -1599.2808837890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 358, 2648, 2860.927490234375, -1603.234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 359, 2648, 2871.284912109375, -1601.916259765625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 360, 2648, 2879.05419921875, -1604.230712890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 361, 2648, 2854.71337890625, -1599.9935302734375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 362, 2648, 2889.313232421875, -1603.312744140625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 363, 2648, 2895.685791015625, -1606.37548828125, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 364, 2648, 2890.025390625, -1600.74560546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 365, 2648, 2894.466796875, -1606.7841796875, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 366, 2648, 2891.708984375, -1599.446044921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 367, 2648, 2854.95263671875, -1600.6124267578125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 368, 2648, 2874.3232421875, -1599.3809814453125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 369, 2648, 2895.50732421875, -1601.6326904296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 370, 2648, 2878.483642578125, -1602.398681640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 371, 2648, 2857.54345703125, -1599.483642578125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 372, 2648, 2870.09521484375, -1600.418701171875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 373, 2648, 2890.95556640625, -1599.3009033203125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 374, 2648, 2855.826416015625, -1600.27490234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 375, 2648, 2857.65283203125, -1599.455810546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 376, 2648, 2853.825927734375, -1602.960205078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 377, 2648, 2877.539794921875, -1603.7489013671875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 378, 2648, 2875.800537109375, -1599.8289794921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 379, 2648, 2888.45556640625, -1605.2618408203125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 380, 2648, 2893.310791015625, -1599.6474609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 381, 2648, 2893.53076171875, -1598.0762939453125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 382, 2648, 2870.158935546875, -1605.3333740234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 383, 2648, 2873.877685546875, -1599.1011962890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 384, 2648, 2861.53076171875, -1602.4393310546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 385, 2648, 2896.46240234375, -1600.1063232421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 386, 2648, 2894.392822265625, -1605.3616943359375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 387, 2648, 2894.12646484375, -1598.01123046875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 388, 2648, 2871.379150390625, -1599.39453125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 389, 2648, 2856.998046875, -1606.6082763671875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 390, 2648, 2855.71044921875, -1606.9542236328125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 391, 2648, 2892.730224609375, -1597.9345703125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 392, 2648, 2896.163818359375, -1599.4266357421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 393, 2648, 2870.1591796875, -1603.0997314453125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 394, 2648, 2888.568603515625, -1603.140380859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 395, 2648, 2889.50390625, -1605.074462890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 396, 2648, 2896.15625, -1602.5389404296875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 397, 2648, 2877.175537109375, -1605.14111328125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 398, 2648, 2853.691650390625, -1600.4334716796875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 399, 2648, 2892.038818359375, -1598.977783203125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 400, 2648, 2857.4736328125, -1599.9906005859375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 401, 2648, 2878.670166015625, -1604.476806640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 402, 2648, 2860.286865234375, -1604.693115234375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 403, 2648, 2878.822021484375, -1604.132080078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 404, 2648, 2876.478271484375, -1599.0474853515625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 405, 2648, 2874.6064453125, -1599.1446533203125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 406, 2648, 2855.9150390625, -1598.8560791015625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 407, 2648, 2871.033935546875, -1599.765869140625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 408, 2648, 2876.785400390625, -1605.6011962890625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 409, 2648, 2889.55615234375, -1599.3681640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 410, 2648, 2872.66015625, -1605.873291015625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 411, 2648, 2872.044921875, -1600.5556640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 412, 2648, 2896.8271484375, -1602.5081787109375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 413, 2648, 2877.181396484375, -1605.1004638671875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 414, 2648, 2873.803955078125, -1605.98095703125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 415, 2648, 2858.419921875, -1600.017822265625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 416, 2648, 2855.55224609375, -1606.98583984375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 417, 2648, 2888.62646484375, -1599.8128662109375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 418, 2648, 2896.223876953125, -1601.8787841796875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 419, 2648, 2879.051025390625, -1601.5560302734375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 420, 2648, 2893.91650390625, -1607.24853515625, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 421, 2648, 2852.9423828125, -1604.323974609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 422, 2648, 2893.0166015625, -1606.9896240234375, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 423, 2648, 2895.900634765625, -1599.3167724609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 424, 2648, 2860.5205078125, -1600.8492431640625, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 425, 2648, 2890.427734375, -1598.501220703125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 426, 2648, 2853.416748046875, -1603.7830810546875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 427, 2648, 2893.832275390625, -1597.98095703125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 428, 2648, 2875.344482421875, -1607.7039794921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 429, 2648, 2894.685302734375, -1606.220458984375, 137.1968536376953125, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 430, 2648, 2858.543701171875, -1606.44580078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 431, 2648, 2853.982421875, -1603.78857421875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 432, 2648, 2870.07958984375, -1600.8565673828125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 433, 2648, 2878.823486328125, -1601.27099609375, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 434, 2648, 2859.8662109375, -1605.9366455078125, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(441699, 0, 435, 2648, 2856.56689453125, -1599.2586669921875, 137.196868896484375, 69814), -- Spell: 441699 (Oppressive Void) Effect 0: 32 (SPELL_EFFECT_TRIGGER_MISSILE)
|
||||
(461085, 0, 0, 2648, 2794.114501953125, -1614.888916015625, 289.369384765625, 69814), -- Spell: 461085 (Lightning Swirl) Effect 0: 3 (SPELL_EFFECT_DUMMY)
|
||||
(461085, 0, 1, 2648, 2801.72998046875, -1604.1771240234375, 291.166473388671875, 69814), -- Spell: 461085 (Lightning Swirl) Effect 0: 3 (SPELL_EFFECT_DUMMY)
|
||||
(461085, 0, 2, 2648, 2794.126708984375, -1606.845458984375, 289.189453125, 69814), -- Spell: 461085 (Lightning Swirl) Effect 0: 3 (SPELL_EFFECT_DUMMY)
|
||||
(461085, 0, 3, 2648, 2801.423583984375, -1613.8385009765625, 291.304443359375, 69814), -- Spell: 461085 (Lightning Swirl) Effect 0: 3 (SPELL_EFFECT_DUMMY)
|
||||
(461085, 0, 4, 2648, 2796.09814453125, -1622.3992919921875, 290.07208251953125, 69814); -- Spell: 461085 (Lightning Swirl) Effect 0: 3 (SPELL_EFFECT_DUMMY)
|
||||
|
||||
UPDATE `creature_template_model` SET `CreatureDisplayID`=11686 WHERE (`Idx`=1 AND `CreatureID` IN (217687,228803,220429,220414,221555,221554,221553,221556));
|
||||
UPDATE `creature_template_model` SET `CreatureDisplayID`=27823 WHERE (`CreatureID`=172629 AND `Idx`=1);
|
||||
@@ -0,0 +1,8 @@
|
||||
-- DBErrors Fixes
|
||||
DELETE FROM `gameobject_template_addon` WHERE `entry` IN (574951,574970,574973,574974,574976,574977,574978,574982,576094,576097,581937,581938,581939,581940,581941,581958,581974,581975,581976,581977,581978,581979,581980,581981,581982,581983,581984,581985,581986,581989,581991,581992,581994,582009,582012,582013,582019,582022,582023,582025,582105,582107,582109,582110,582112,582115,582127,582129,582130,582131,582132,582133,582134,582135,582136,582137,582138,588841,601312,605202,605203,613456,618922,619069,619070,619071);
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_kyrioss_stormheart','spell_dark_gravity_explosion','spell_crush_reality_effect','spell_crush_reality','spell_kyrioss_thunderbolt','spell_kyrioss_chain_lightning','spell_chaotic_corruption','spell_dark_gravity_periodic','spell_kyrioss_unstable_charge','spell_kyrioss_lightning_dash','spell_kyrioss_lightning_torrent','spell_kyrioss_lightning_torrent_effect','spell_kyrioss_unstable_charge_explosion');
|
||||
UPDATE `instance_template` SET `script`='instance_priority_of_the_sacred_flame' WHERE `map`=2649;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_captain_dailcry' WHERE `entry`=207946;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_baron_braunpyke' WHERE `entry`=207939;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_prioress_murrpray' WHERE `entry`=207940;
|
||||
|
||||
@@ -858,6 +858,34 @@ void CriteriaHandler::UpdateCriteria(Criteria const* criteria, uint64 miscValue1
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case CriteriaType::CompleteResearchProject:
|
||||
if (miscValue1) // event-driven: specific project completed
|
||||
SetCriteriaProgress(criteria, 1, referencePlayer);
|
||||
else // login case: recompute from completed-project history
|
||||
{
|
||||
std::unordered_set<uint32> const& completed = referencePlayer->GetCompletedResearchProjects();
|
||||
SetCriteriaProgress(criteria, completed.count(uint32(criteria->Entry->Asset.ResearchProjectID)) ? 1 : 0, referencePlayer);
|
||||
}
|
||||
break;
|
||||
case CriteriaType::CompleteAnyResearchProject:
|
||||
if (miscValue2) // event-driven: miscValue2 is the research branch id, nonzero for a real completion
|
||||
SetCriteriaProgress(criteria, 1, referencePlayer, PROGRESS_ACCUMULATE);
|
||||
else // login case: recount only completed projects matching this criteria's modifier tree
|
||||
{
|
||||
uint32 count = 0;
|
||||
for (uint32 projectId : referencePlayer->GetCompletedResearchProjects())
|
||||
if (ResearchProjectEntry const* project = sResearchProjectStore.LookupEntry(projectId))
|
||||
if (!criteria->Modifier || ModifierTreeSatisfied(criteria->Modifier, project->Rarity, project->ResearchBranchID, nullptr, referencePlayer))
|
||||
++count;
|
||||
SetCriteriaProgress(criteria, count, referencePlayer);
|
||||
}
|
||||
break;
|
||||
case CriteriaType::FindResearchObject:
|
||||
SetCriteriaProgress(criteria, 1, referencePlayer, PROGRESS_ACCUMULATE);
|
||||
break;
|
||||
case CriteriaType::ExhaustAnyResearchSite:
|
||||
SetCriteriaProgress(criteria, 1, referencePlayer, PROGRESS_ACCUMULATE);
|
||||
break;
|
||||
// FIXME: not triggered in code as result, need to implement
|
||||
case CriteriaType::RunInstance:
|
||||
case CriteriaType::EarnTeamArenaRating:
|
||||
@@ -873,7 +901,6 @@ void CriteriaHandler::UpdateCriteria(Criteria const* criteria, uint64 miscValue1
|
||||
case CriteriaType::CompleteQuestsCountForGuild:
|
||||
case CriteriaType::HonorableKillsForGuild:
|
||||
case CriteriaType::KillAnyCreatureForGuild:
|
||||
case CriteriaType::CompleteAnyResearchProject:
|
||||
case CriteriaType::CompleteGuildChallenge:
|
||||
case CriteriaType::CompleteAnyGuildChallenge:
|
||||
case CriteriaType::CompletedLFRDungeon:
|
||||
@@ -884,8 +911,6 @@ void CriteriaHandler::UpdateCriteria(Criteria const* criteria, uint64 miscValue1
|
||||
case CriteriaType::GroupedTankLeftEarlyInLFRDungeon:
|
||||
case CriteriaType::LearnToy:
|
||||
case CriteriaType::LearnAnyToy:
|
||||
case CriteriaType::FindResearchObject:
|
||||
case CriteriaType::ExhaustAnyResearchSite:
|
||||
case CriteriaType::CompleteInternalCriteria:
|
||||
case CriteriaType::KilledAllUnitsInSpawnRegion:
|
||||
case CriteriaType::CreatedItemsByCastingSpellWithLimit:
|
||||
@@ -1303,6 +1328,10 @@ bool CriteriaHandler::IsCompletedCriteria(Criteria const* criteria, uint64 requi
|
||||
case CriteriaType::ReachRenownLevel:
|
||||
case CriteriaType::BankTabPurchased:
|
||||
case CriteriaType::LearnTaxiNode:
|
||||
case CriteriaType::CompleteResearchProject:
|
||||
case CriteriaType::CompleteAnyResearchProject:
|
||||
case CriteriaType::FindResearchObject:
|
||||
case CriteriaType::ExhaustAnyResearchSite:
|
||||
return progress->Counter >= requiredAmount;
|
||||
case CriteriaType::EarnAchievement:
|
||||
case CriteriaType::CompleteQuest:
|
||||
@@ -2203,8 +2232,16 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6
|
||||
if (referencePlayer->GetRBGPersonalRating() < reqValue)
|
||||
return false;
|
||||
break;
|
||||
case ModifierTreeType::ResearchProjectRarity: // 65 NYI
|
||||
case ModifierTreeType::ResearchProjectBranch: // 66 NYI
|
||||
case ModifierTreeType::ResearchProjectRarity: // 65
|
||||
// miscValue1 is the completed project's rarity
|
||||
if (miscValue1 != reqValue)
|
||||
return false;
|
||||
break;
|
||||
case ModifierTreeType::ResearchProjectBranch: // 66
|
||||
// miscValue2 is the completed project's research branch id
|
||||
if (miscValue2 != reqValue)
|
||||
return false;
|
||||
break;
|
||||
return false;
|
||||
case ModifierTreeType::WorldStateExpression: // 67
|
||||
if (WorldStateExpressionEntry const* worldStateExpression = sWorldStateExpressionStore.LookupEntry(reqValue))
|
||||
@@ -5011,6 +5048,7 @@ inline bool IsCriteriaTypeStoredByAsset(CriteriaType type)
|
||||
{
|
||||
case CriteriaType::KillCreature:
|
||||
case CriteriaType::WinBattleground:
|
||||
case CriteriaType::CompleteResearchProject:
|
||||
case CriteriaType::SkillRaised:
|
||||
case CriteriaType::EarnAchievement:
|
||||
case CriteriaType::CompleteQuestsInZone:
|
||||
@@ -5044,6 +5082,7 @@ inline bool IsCriteriaTypeStoredByAsset(CriteriaType type)
|
||||
case CriteriaType::DefeatDungeonEncounter:
|
||||
case CriteriaType::LearnToy:
|
||||
case CriteriaType::LearnAnyTransmog:
|
||||
case CriteriaType::FindResearchObject:
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -96,7 +96,10 @@ char const* const ConditionMgr::StaticSourceTypeData[CONDITION_SOURCE_TYPE_MAX_D
|
||||
"Spawn Group",
|
||||
"Player Condition",
|
||||
"Skill Line Ability",
|
||||
"Player Choice Response"
|
||||
"Player Choice Response",
|
||||
"GameObject Interaction",
|
||||
"Loot Item",
|
||||
"Phase Zone"
|
||||
};
|
||||
|
||||
ConditionMgr::ConditionTypeInfo const ConditionMgr::StaticConditionTypeData[CONDITION_MAX] =
|
||||
@@ -1183,6 +1186,7 @@ bool ConditionMgr::CanHaveSourceGroupSet(ConditionSourceType sourceType)
|
||||
sourceType == CONDITION_SOURCE_TYPE_REFERENCE_CONDITION ||
|
||||
sourceType == CONDITION_SOURCE_TYPE_PLAYER_CHOICE_RESPONSE ||
|
||||
sourceType == CONDITION_SOURCE_TYPE_LOOT_ITEM ||
|
||||
sourceType == CONDITION_SOURCE_TYPE_PHASE_ZONE ||
|
||||
sourceType == CONDITION_SOURCE_GAMEOBJECT_INTERACTION);//Phase Area
|
||||
}
|
||||
|
||||
@@ -1327,6 +1331,11 @@ bool ConditionMgr::IsSpellUsedInSpellClickConditions(uint32 spellId) const
|
||||
return SpellsUsedInSpellClickConditions.find(spellId) != SpellsUsedInSpellClickConditions.end();
|
||||
}
|
||||
|
||||
bool ConditionMgr::HasPhaseZoneConditions() const
|
||||
{
|
||||
return _hasPhaseZoneConditions;
|
||||
}
|
||||
|
||||
ConditionContainer const* ConditionMgr::GetConditionsForAreaTrigger(uint32 areaTriggerId, bool isServerSide) const
|
||||
{
|
||||
auto itr = ConditionStore[CONDITION_SOURCE_TYPE_AREATRIGGER].find({ areaTriggerId, isServerSide ? 1 : 0, 0 });
|
||||
@@ -1424,6 +1433,9 @@ void ConditionMgr::LoadConditions(bool isReload)
|
||||
if (iSourceTypeOrReferenceId >= 0)
|
||||
cond.SourceType = ConditionSourceType(iSourceTypeOrReferenceId);
|
||||
|
||||
if (iSourceTypeOrReferenceId == CONDITION_SOURCE_TYPE_PHASE_ZONE)
|
||||
_hasPhaseZoneConditions = true;
|
||||
|
||||
if (iConditionTypeOrReference < 0)//it has a reference
|
||||
{
|
||||
if (iConditionTypeOrReference == iSourceTypeOrReferenceId)//self referencing, skip
|
||||
@@ -1549,6 +1561,9 @@ void ConditionMgr::LoadConditions(bool isReload)
|
||||
for (auto&& [id, conditions] : ConditionStore[CONDITION_SOURCE_TYPE_PHASE])
|
||||
addToPhases(id, conditions);
|
||||
|
||||
for (auto&& [id, conditions] : ConditionStore[CONDITION_SOURCE_TYPE_PHASE_ZONE])
|
||||
addToZonePhases(id, conditions);
|
||||
|
||||
for (auto&& [id, conditions] : ConditionStore[CONDITION_SOURCE_TYPE_GRAVEYARD])
|
||||
addToGraveyardData(id, conditions);
|
||||
|
||||
@@ -1796,6 +1811,24 @@ void ConditionMgr::addToPhases(ConditionId const& id, std::shared_ptr<std::vecto
|
||||
TC_LOG_ERROR("sql.sql", "{} Area {} does not have phase {}.", condition, id.SourceEntry, id.SourceGroup);
|
||||
}
|
||||
|
||||
void ConditionMgr::addToZonePhases(ConditionId const& id, std::shared_ptr<std::vector<Condition>> conditions) const
|
||||
{
|
||||
if (std::vector<PhaseZoneInfo>* phases = const_cast<std::vector<PhaseZoneInfo>*>(sObjectMgr->GetPhasesForZone(id.SourceEntry)))
|
||||
{
|
||||
for (PhaseZoneInfo& phase : *phases)
|
||||
{
|
||||
if (phase.PhaseInfo->Id == id.SourceGroup)
|
||||
{
|
||||
phase.Conditions.insert(phase.Conditions.end(), conditions->begin(), conditions->end());
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (Condition const& condition : *conditions)
|
||||
TC_LOG_ERROR("sql.sql", "{} Zone {} does not have phase {}.", condition, id.SourceEntry, id.SourceGroup);
|
||||
}
|
||||
|
||||
void ConditionMgr::addToGraveyardData(ConditionId const& id, std::shared_ptr<std::vector<Condition>> conditions) const
|
||||
{
|
||||
if (GraveyardData* graveyard = const_cast<GraveyardData*>(sObjectMgr->FindGraveyardData(id.SourceEntry, id.SourceGroup)))
|
||||
@@ -2080,6 +2113,15 @@ bool ConditionMgr::isSourceTypeValid(Condition* cond) const
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CONDITION_SOURCE_TYPE_PHASE_ZONE:
|
||||
{
|
||||
if (!cond->SourceEntry || !sAreaTableStore.LookupEntry(cond->SourceEntry))
|
||||
{
|
||||
TC_LOG_ERROR("sql.sql", "{} SourceEntry in `condition` table does not exist in AreaTable.db2, ignoring.", *cond);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CONDITION_SOURCE_TYPE_GRAVEYARD:
|
||||
if (!sObjectMgr->FindGraveyardData(cond->SourceEntry, cond->SourceGroup))
|
||||
{
|
||||
@@ -2887,6 +2929,7 @@ void ConditionMgr::Clean()
|
||||
conditionsMap.clear();
|
||||
|
||||
SpellsUsedInSpellClickConditions.clear();
|
||||
_hasPhaseZoneConditions = false;
|
||||
}
|
||||
|
||||
inline bool PlayerConditionCompare(int32 comparisonType, int32 value1, int32 value2)
|
||||
|
||||
@@ -194,7 +194,8 @@ enum ConditionSourceType
|
||||
CONDITION_SOURCE_TYPE_SKILL_LINE_ABILITY = 35,
|
||||
CONDITION_SOURCE_TYPE_PLAYER_CHOICE_RESPONSE = 36,
|
||||
CONDITION_SOURCE_GAMEOBJECT_INTERACTION = 37, //sourcegroup = 0 siempre Source_entry = GO_Template Entry
|
||||
CONDITION_SOURCE_TYPE_LOOT_ITEM = 38,
|
||||
CONDITION_SOURCE_TYPE_LOOT_ITEM = 38,
|
||||
CONDITION_SOURCE_TYPE_PHASE_ZONE = 39,
|
||||
CONDITION_SOURCE_TYPE_MAX_DB_ALLOWED,
|
||||
CONDITION_SOURCE_TYPE_REFERENCE_CONDITION = CONDITION_SOURCE_TYPE_MAX_DB_ALLOWED, // internal, not set in db
|
||||
CONDITION_SOURCE_TYPE_MAX // MAX
|
||||
@@ -351,6 +352,8 @@ class TC_GAME_API ConditionMgr
|
||||
|
||||
bool IsSpellUsedInSpellClickConditions(uint32 spellId) const;
|
||||
|
||||
bool HasPhaseZoneConditions() const;
|
||||
|
||||
ConditionContainer const* GetConditionsForAreaTrigger(uint32 areaTriggerId, bool isServerSide) const;
|
||||
bool IsObjectMeetingTrainerSpellConditions(uint32 trainerId, uint32 spellId, Player* player) const;
|
||||
bool IsObjectMeetingVisibilityByObjectIdConditions(WorldObject const* obj, WorldObject const* seer) const;
|
||||
@@ -379,6 +382,7 @@ class TC_GAME_API ConditionMgr
|
||||
void addToGossipMenuItems(ConditionId const& id, std::shared_ptr<std::vector<Condition>> conditions) const;
|
||||
void addToSpellImplicitTargetConditions(Condition const& cond) const;
|
||||
void addToPhases(ConditionId const& id, std::shared_ptr<std::vector<Condition>> conditions) const;
|
||||
void addToZonePhases(ConditionId const& id, std::shared_ptr<std::vector<Condition>> conditions) const;
|
||||
void addToGraveyardData(ConditionId const& id, std::shared_ptr<std::vector<Condition>> conditions) const;
|
||||
bool IsObjectMeetToConditionList(ConditionSourceInfo& sourceInfo, ConditionContainer const& conditions) const;
|
||||
|
||||
@@ -390,6 +394,7 @@ class TC_GAME_API ConditionMgr
|
||||
ConditionEntriesByTypeArray ConditionStore;
|
||||
|
||||
std::unordered_set<uint32> SpellsUsedInSpellClickConditions;
|
||||
bool _hasPhaseZoneConditions = false;
|
||||
};
|
||||
|
||||
#define sConditionMgr ConditionMgr::instance()
|
||||
|
||||
@@ -548,7 +548,7 @@ enum class CriteriaType : int16
|
||||
{
|
||||
KillCreature = 0, // Kill NPC "{Creature}"
|
||||
WinBattleground = 1, // Win battleground "{Map}"
|
||||
CompleteResearchProject = 2, /*NYI*/ // Complete research project "{ResearchProject}"
|
||||
CompleteResearchProject = 2, // Complete research project "{ResearchProject}"
|
||||
CompleteAnyResearchProject = 3, // Complete any research project
|
||||
FindResearchObject = 4, // Find research object "{GameObjects}"
|
||||
ReachLevel = 5, // Reach level
|
||||
|
||||
@@ -5984,6 +5984,14 @@ void Player::SetSkill(uint32 id, uint16 step, uint16 newVal, uint16 maxVal)
|
||||
UpdateCriteria(CriteriaType::AchieveSkillStep, id);
|
||||
}
|
||||
}
|
||||
|
||||
// Archaeology: seed active dig sites and research projects the moment the profession is
|
||||
// learned mid-session; the login path already covers players who had it when loading.
|
||||
if (id == SKILL_ARCHAEOLOGY && newVal)
|
||||
{
|
||||
InitializeResearchSites();
|
||||
InitializeResearchProjects();
|
||||
}
|
||||
}
|
||||
|
||||
uint32 Player::GetProfessionSkillForExp(uint32 skill, int32 expansion) const
|
||||
@@ -15183,7 +15191,7 @@ void Player::AddQuest(Quest const* quest, Object* questGiver)
|
||||
SendQuestUpdate(quest_id);
|
||||
|
||||
bool updateVisibility = false;
|
||||
if (quest->HasFlag(QUEST_FLAGS_UPDATE_PHASESHIFT))
|
||||
if (quest->HasFlag(QUEST_FLAGS_UPDATE_PHASESHIFT) || sConditionMgr->HasPhaseZoneConditions())
|
||||
updateVisibility = PhasingHandler::OnConditionChange(this, false);
|
||||
|
||||
if (sWorld->getBoolConfig(CONFIG_QUEST_ENABLE_QUEST_TRACKER)) // check if Quest Tracker is enabled
|
||||
@@ -15655,7 +15663,7 @@ void Player::RewardQuest(Quest const* quest, LootItemType rewardType, uint32 rew
|
||||
SendQuestUpdate(quest_id, true, true);
|
||||
|
||||
bool updateVisibility = false;
|
||||
if (quest->HasFlag(QUEST_FLAGS_UPDATE_PHASESHIFT))
|
||||
if (quest->HasFlag(QUEST_FLAGS_UPDATE_PHASESHIFT) || sConditionMgr->HasPhaseZoneConditions())
|
||||
updateVisibility = PhasingHandler::OnConditionChange(this, false);
|
||||
|
||||
//lets remove flag for delayed teleports
|
||||
@@ -16382,7 +16390,7 @@ void Player::RemoveActiveQuest(uint32 questId, bool update /*= true*/)
|
||||
{
|
||||
SendQuestUpdate(questId);
|
||||
|
||||
if (quest && quest->HasFlag(QUEST_FLAGS_UPDATE_PHASESHIFT))
|
||||
if (quest && (quest->HasFlag(QUEST_FLAGS_UPDATE_PHASESHIFT) || sConditionMgr->HasPhaseZoneConditions()))
|
||||
updateVisibility = PhasingHandler::OnConditionChange(this, false);
|
||||
}
|
||||
|
||||
@@ -16421,7 +16429,7 @@ void Player::RemoveRewardedQuest(uint32 questId, bool update /*= true*/)
|
||||
{
|
||||
SendQuestUpdate(questId);
|
||||
|
||||
if (quest && quest->HasFlag(QUEST_FLAGS_UPDATE_PHASESHIFT))
|
||||
if (quest && (quest->HasFlag(QUEST_FLAGS_UPDATE_PHASESHIFT) || sConditionMgr->HasPhaseZoneConditions()))
|
||||
updateVisibility = PhasingHandler::OnConditionChange(this, false);
|
||||
}
|
||||
|
||||
@@ -16650,7 +16658,7 @@ void Player::SkipQuests(std::span<uint32 const> questIds)
|
||||
SetRewardedQuest(questId);
|
||||
SendQuestUpdate(questId, false);
|
||||
|
||||
if (!updateVisibility && quest->HasFlag(QUEST_FLAGS_UPDATE_PHASESHIFT))
|
||||
if (!updateVisibility && (quest->HasFlag(QUEST_FLAGS_UPDATE_PHASESHIFT) || sConditionMgr->HasPhaseZoneConditions()))
|
||||
updateVisibility = PhasingHandler::OnConditionChange(this, false);
|
||||
|
||||
sScriptMgr->OnQuestStatusChange(this, questId);
|
||||
@@ -22626,6 +22634,7 @@ void Player::CompleteResearchProjectSolve(ArchaeologySolvePlan const& plan)
|
||||
return;
|
||||
|
||||
RecordCompletedProject(plan.ProjectID);
|
||||
UpdateCriteria(CriteriaType::CompleteResearchProject, plan.ProjectID);
|
||||
UpdateCriteria(CriteriaType::CompleteAnyResearchProject, project->Rarity, plan.BranchID);
|
||||
AdvanceResearchProject(plan.BranchID, plan.ProjectID);
|
||||
|
||||
|
||||
@@ -333,6 +333,20 @@ void PhasingHandler::OnAreaChange(WorldObject* object)
|
||||
areaEntry = sAreaTableStore.LookupEntry(areaEntry->ParentAreaID);
|
||||
}
|
||||
|
||||
if (uint32 zoneId = object->GetZoneId())
|
||||
if (std::vector<PhaseZoneInfo> const* newZonePhases = sObjectMgr->GetPhasesForZone(zoneId))
|
||||
for (PhaseZoneInfo const& phaseZone : *newZonePhases)
|
||||
{
|
||||
uint32 phaseId = phaseZone.PhaseInfo->Id;
|
||||
if (DisableMgr::IsDisabledFor(DISABLE_TYPE_PHASE_AREA, phaseId, object))
|
||||
continue;
|
||||
|
||||
if (sConditionMgr->IsObjectMeetToConditions(srcInfo, phaseZone.Conditions))
|
||||
phaseShift.AddPhase(phaseId, GetPhaseFlags(phaseId), &phaseZone.Conditions);
|
||||
else
|
||||
suppressedPhaseShift.AddPhase(phaseId, GetPhaseFlags(phaseId), &phaseZone.Conditions);
|
||||
}
|
||||
|
||||
bool changed = phaseShift.Phases != oldPhases;
|
||||
if (Unit* unit = object->ToUnit())
|
||||
{
|
||||
|
||||
@@ -0,0 +1,159 @@
|
||||
/*
|
||||
* Copyright (C) WowCommunity Project
|
||||
*
|
||||
* This SourceCode is NOT free a software. Please hold everything Private
|
||||
* and read our Terms
|
||||
*/
|
||||
|
||||
#include "priority_of_the_sacred_flame.h"
|
||||
#include "Containers.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "MotionMaster.h"
|
||||
#include "MovementTypedefs.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "TaskScheduler.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_START_ENERGY = 454834,
|
||||
SPELL_ENERGIZE = 422963,
|
||||
SPELL_HAMMER_OF_PURITY = 423062,
|
||||
SPELL_HAMMER_OF_PURITY_SPIN = 423076,
|
||||
SPELL_HAMMER_OF_PURITY_BOUNCE = 423072,
|
||||
SPELL_BURNING_LIGHT = 423051,
|
||||
SPELL_CASTIGATORS_SHIELD = 423015,
|
||||
SPELL_CASTIGATORS_DETONATION = 423018,
|
||||
SPELL_CASTIGATORS_EXPLOSION = 423019,
|
||||
SPELL_VINDICTIVE_WRATH = 422969,
|
||||
};
|
||||
|
||||
enum Events
|
||||
{
|
||||
EVENT_HAMMER_OF_PURITY = 1,
|
||||
EVENT_HAMMER_OF_PURITY_SPIN,
|
||||
EVENT_BURNING_LIGHT,
|
||||
EVENT_CASTIGATORS_SHIELD,
|
||||
EVENT_CASTIGATORS_DETONATION,
|
||||
EVENT_CASTIGATORS_EXPLOSION,
|
||||
EVENT_CHECK_ENERGY,
|
||||
EVENT_VINDICTIVE_WRATH,
|
||||
};
|
||||
|
||||
// 207939 - Baron Braunpyke
|
||||
struct boss_baron_braunpyke : public BossAI
|
||||
{
|
||||
boss_baron_braunpyke(Creature* creature) : BossAI(creature, DATA_BARON_BRAUNPYKE), _energy(0) { }
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
BossAI::Reset();
|
||||
_energy = 0;
|
||||
_detonationTargets.clear();
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
DoCastSelf(SPELL_START_ENERGY, true);
|
||||
DoCastSelf(SPELL_ENERGIZE, true);
|
||||
events.ScheduleEvent(EVENT_HAMMER_OF_PURITY, 10s);
|
||||
events.ScheduleEvent(EVENT_BURNING_LIGHT, 19s);
|
||||
events.ScheduleEvent(EVENT_CASTIGATORS_SHIELD, 24s);
|
||||
events.ScheduleEvent(EVENT_CHECK_ENERGY, 1s);
|
||||
}
|
||||
|
||||
// The Baron shields his two Arathi companions; fall back to players when solo.
|
||||
std::vector<Unit*> SelectShieldTargets()
|
||||
{
|
||||
std::vector<Unit*> targets;
|
||||
|
||||
if (targets.size() < 2)
|
||||
{
|
||||
std::list<Unit*> players;
|
||||
SelectTargetList(players, uint32(2 - targets.size()), SelectTargetMethod::Random, 0, 100.0f, true);
|
||||
targets.insert(targets.end(), players.begin(), players.end());
|
||||
}
|
||||
|
||||
return targets;
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_HAMMER_OF_PURITY:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
_hammerPosition = target->GetPosition();
|
||||
me->CastSpell(_hammerPosition, SPELL_HAMMER_OF_PURITY, false);
|
||||
events.ScheduleEvent(EVENT_HAMMER_OF_PURITY_SPIN, 2s);
|
||||
}
|
||||
events.Repeat(22s);
|
||||
break;
|
||||
case EVENT_HAMMER_OF_PURITY_SPIN:
|
||||
me->CastSpell(_hammerPosition, SPELL_HAMMER_OF_PURITY_SPIN, true);
|
||||
me->CastSpell(_hammerPosition, SPELL_HAMMER_OF_PURITY_BOUNCE, true);
|
||||
break;
|
||||
case EVENT_BURNING_LIGHT:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
me->CastSpell(target->GetPosition(), SPELL_BURNING_LIGHT, false);
|
||||
events.Repeat(30s);
|
||||
break;
|
||||
case EVENT_CASTIGATORS_SHIELD:
|
||||
{
|
||||
_detonationTargets.clear();
|
||||
for (Unit* target : SelectShieldTargets())
|
||||
{
|
||||
DoCast(target, SPELL_CASTIGATORS_SHIELD, true);
|
||||
_detonationTargets.push_back(target->GetGUID());
|
||||
}
|
||||
|
||||
if (!_detonationTargets.empty())
|
||||
{
|
||||
events.ScheduleEvent(EVENT_CASTIGATORS_DETONATION, 1s);
|
||||
events.ScheduleEvent(EVENT_CASTIGATORS_EXPLOSION, 5s);
|
||||
}
|
||||
events.Repeat(25s);
|
||||
break;
|
||||
}
|
||||
case EVENT_CASTIGATORS_DETONATION:
|
||||
for (ObjectGuid guid : _detonationTargets)
|
||||
if (Unit* target = ObjectAccessor::GetUnit(*me, guid))
|
||||
me->CastSpell(target->GetPosition(), SPELL_CASTIGATORS_DETONATION, true);
|
||||
break;
|
||||
case EVENT_CASTIGATORS_EXPLOSION:
|
||||
for (ObjectGuid guid : _detonationTargets)
|
||||
if (Unit* target = ObjectAccessor::GetUnit(*me, guid))
|
||||
me->CastSpell(target->GetPosition(), SPELL_CASTIGATORS_EXPLOSION, true);
|
||||
break;
|
||||
case EVENT_CHECK_ENERGY:
|
||||
_energy += 2;
|
||||
if (_energy >= 100)
|
||||
{
|
||||
_energy = 0;
|
||||
events.ScheduleEvent(EVENT_VINDICTIVE_WRATH, 0ms);
|
||||
}
|
||||
events.Repeat(1s);
|
||||
break;
|
||||
case EVENT_VINDICTIVE_WRATH:
|
||||
DoCastSelf(SPELL_VINDICTIVE_WRATH);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
uint32 _energy;
|
||||
Position _hammerPosition;
|
||||
std::vector<ObjectGuid> _detonationTargets;
|
||||
};
|
||||
|
||||
void AddSC_boss_baron_braunpyke()
|
||||
{
|
||||
RegisterPriorityoftheSacredflameCreatureAI(boss_baron_braunpyke);
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
/*
|
||||
* Copyright (C) WowCommunity Project
|
||||
*
|
||||
* This SourceCode is NOT free a software. Please hold everything Private
|
||||
* and read our Terms
|
||||
*/
|
||||
|
||||
#include "priority_of_the_sacred_flame.h"
|
||||
#include "Containers.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "MotionMaster.h"
|
||||
#include "MovementTypedefs.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "TaskScheduler.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_STRENGTH_IN_NUMBERS = 424626,
|
||||
SPELL_PIERCE_ARMOR = 424414,
|
||||
SPELL_EARTHSHATTERING_SPEAR = 1238780,
|
||||
SPELL_EARTHSHATTERING_SPEAR_IMPACT = 1238779,
|
||||
SPELL_EARTHSHATTERING_SPEAR_DAMAGE = 1238782,
|
||||
SPELL_BATTLE_CRY = 424419,
|
||||
SPELL_SAVAGE_MAULING = 447429,
|
||||
SPELL_SAVAGE_MAULING_STRIKE = 447439,
|
||||
};
|
||||
|
||||
enum Events
|
||||
{
|
||||
EVENT_PIERCE_ARMOR = 1,
|
||||
EVENT_EARTHSHATTERING_SPEAR,
|
||||
EVENT_EARTHSHATTERING_SPEAR_IMPACT,
|
||||
EVENT_BATTLE_CRY,
|
||||
EVENT_SAVAGE_MAULING,
|
||||
};
|
||||
|
||||
// 207946 - Captain Dailcry
|
||||
struct boss_captain_dailcry : public BossAI
|
||||
{
|
||||
boss_captain_dailcry(Creature* creature) : BossAI(creature, DATA_CAPTAIN_DAILCRY) { }
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
events.ScheduleEvent(EVENT_PIERCE_ARMOR, 3500ms);
|
||||
events.ScheduleEvent(EVENT_EARTHSHATTERING_SPEAR, 3s);
|
||||
events.ScheduleEvent(EVENT_BATTLE_CRY, 7s);
|
||||
events.ScheduleEvent(EVENT_SAVAGE_MAULING, 20s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_PIERCE_ARMOR:
|
||||
DoCastVictim(SPELL_PIERCE_ARMOR);
|
||||
events.Repeat(13s);
|
||||
break;
|
||||
case EVENT_EARTHSHATTERING_SPEAR:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
_spearPosition = target->GetPosition();
|
||||
me->CastSpell(_spearPosition, SPELL_EARTHSHATTERING_SPEAR, false);
|
||||
me->CastSpell(_spearPosition, SPELL_EARTHSHATTERING_SPEAR_IMPACT, true);
|
||||
events.ScheduleEvent(EVENT_EARTHSHATTERING_SPEAR_IMPACT, 3s);
|
||||
}
|
||||
events.Repeat(33s);
|
||||
break;
|
||||
case EVENT_EARTHSHATTERING_SPEAR_IMPACT:
|
||||
me->CastSpell(_spearPosition, SPELL_EARTHSHATTERING_SPEAR_DAMAGE, true);
|
||||
break;
|
||||
case EVENT_BATTLE_CRY:
|
||||
DoCastAOE(SPELL_BATTLE_CRY);
|
||||
events.Repeat(33s);
|
||||
break;
|
||||
case EVENT_SAVAGE_MAULING:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
Position pos = target->GetPosition();
|
||||
me->GetMotionMaster()->MoveCharge(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ());
|
||||
DoCast(target, SPELL_SAVAGE_MAULING);
|
||||
me->CastSpell(me, SPELL_SAVAGE_MAULING_STRIKE, true);
|
||||
}
|
||||
events.Repeat(33s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
Position _spearPosition;
|
||||
};
|
||||
|
||||
void AddSC_boss_captain_dailcry()
|
||||
{
|
||||
RegisterPriorityoftheSacredflameCreatureAI(boss_captain_dailcry);
|
||||
}
|
||||
@@ -0,0 +1,195 @@
|
||||
/*
|
||||
* Copyright (C) WowCommunity Project
|
||||
*
|
||||
* This SourceCode is NOT free a software. Please hold everything Private
|
||||
* and read our Terms
|
||||
*/
|
||||
|
||||
#include "priority_of_the_sacred_flame.h"
|
||||
#include "Containers.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "MotionMaster.h"
|
||||
#include "MovementTypedefs.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "TaskScheduler.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_BLINDING_LIGHT = 1242783,
|
||||
SPELL_STOKE_THE_FLAME = 460838,
|
||||
SPELL_STOKE_THE_FLAME_2 = 460871,
|
||||
SPELL_STOKE_THE_FLAME_REKINDLE = 444609,
|
||||
SPELL_STOKE_THE_FLAME_REKINDLE_2 = 444611,
|
||||
SPELL_HOLY_SMITE = 423536,
|
||||
SPELL_PURIFY = 444546,
|
||||
SPELL_PURIFY_PULSE = 425554,
|
||||
SPELL_HOLY_FLAME = 451605,
|
||||
SPELL_HOLY_FLAME_IMPACT = 451606,
|
||||
SPELL_INNER_FIRE = 444608,
|
||||
SPELL_INNER_FIRE_AURA = 423547,
|
||||
SPELL_SANCTIFIED_GROUND = 425556,
|
||||
SPELL_CLEAR_ENERGY = 448497,
|
||||
SPELL_EMBRACE_THE_LIGHT_BIND = 423682,
|
||||
SPELL_BARRIER_OF_LIGHT = 423588,
|
||||
SPELL_EMBRACE_THE_LIGHT = 423664,
|
||||
SPELL_EMBRACE_THE_LIGHT_TICK = 423665,
|
||||
};
|
||||
|
||||
enum Events
|
||||
{
|
||||
EVENT_HOLY_SMITE = 1,
|
||||
EVENT_PURIFY,
|
||||
EVENT_HOLY_FLAME,
|
||||
EVENT_INNER_FIRE,
|
||||
EVENT_SANCTIFIED_GROUND,
|
||||
EVENT_CHECK_ENERGY,
|
||||
EVENT_INTERMISSION_START,
|
||||
EVENT_EMBRACE_CHANNEL,
|
||||
EVENT_INTERMISSION_END,
|
||||
};
|
||||
|
||||
// 207940 - Prioress Murrpray
|
||||
struct boss_prioress_murrpray : public BossAI
|
||||
{
|
||||
boss_prioress_murrpray(Creature* creature) : BossAI(creature, DATA_PRIORESS_MURRPRAY), _energy(0), _intermission(false) { }
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
BossAI::Reset();
|
||||
_energy = 0;
|
||||
_intermission = false;
|
||||
me->SetPowerType(POWER_ENERGY);
|
||||
me->SetMaxPower(POWER_ENERGY, 100);
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
me->SetPower(POWER_ENERGY, 0);
|
||||
|
||||
DoCastSelf(SPELL_BLINDING_LIGHT, true);
|
||||
DoCastSelf(SPELL_STOKE_THE_FLAME, true);
|
||||
DoCastSelf(SPELL_STOKE_THE_FLAME_2, true);
|
||||
|
||||
ScheduleBuildEvents();
|
||||
events.ScheduleEvent(EVENT_CHECK_ENERGY, 1s);
|
||||
}
|
||||
|
||||
void ScheduleBuildEvents()
|
||||
{
|
||||
events.ScheduleEvent(EVENT_HOLY_SMITE, 2s);
|
||||
events.ScheduleEvent(EVENT_PURIFY, 12s);
|
||||
events.ScheduleEvent(EVENT_HOLY_FLAME, 16s);
|
||||
events.ScheduleEvent(EVENT_INNER_FIRE, 22s);
|
||||
events.ScheduleEvent(EVENT_SANCTIFIED_GROUND, 30s);
|
||||
}
|
||||
|
||||
void StartIntermission()
|
||||
{
|
||||
_intermission = true;
|
||||
events.CancelEvent(EVENT_CHECK_ENERGY);
|
||||
|
||||
DoCastSelf(SPELL_CLEAR_ENERGY, true);
|
||||
DoCastSelf(SPELL_EMBRACE_THE_LIGHT_BIND, true);
|
||||
DoCastSelf(SPELL_BARRIER_OF_LIGHT, true);
|
||||
events.ScheduleEvent(EVENT_EMBRACE_CHANNEL, 500ms);
|
||||
}
|
||||
|
||||
void EndIntermission()
|
||||
{
|
||||
_intermission = false;
|
||||
_energy = 0;
|
||||
me->SetPower(POWER_ENERGY, 0);
|
||||
|
||||
DoCastSelf(SPELL_STOKE_THE_FLAME_REKINDLE, true);
|
||||
DoCastSelf(SPELL_STOKE_THE_FLAME_REKINDLE_2, true);
|
||||
|
||||
ScheduleBuildEvents();
|
||||
events.ScheduleEvent(EVENT_CHECK_ENERGY, 1s);
|
||||
}
|
||||
|
||||
void SummonIntermissionAdds()
|
||||
{
|
||||
for (uint8 i = 0; i < 2; ++i)
|
||||
{
|
||||
Position pos = me->GetPosition();
|
||||
pos.m_positionY += (i == 0 ? -8.0f : 8.0f);
|
||||
me->SummonCreature(NPC_MELLEK_ZOMBIE_STALKER, pos, TEMPSUMMON_TIMED_DESPAWN, 35s);
|
||||
}
|
||||
|
||||
for (uint8 i = 0; i < 3; ++i)
|
||||
{
|
||||
Position pos = me->GetRandomNearPosition(12.0f);
|
||||
me->SummonCreature(NPC_ARATHI_NEOPHYTE, pos, TEMPSUMMON_TIMED_DESPAWN, 35s);
|
||||
}
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_HOLY_SMITE:
|
||||
DoCastVictim(SPELL_HOLY_SMITE);
|
||||
events.Repeat(4s);
|
||||
break;
|
||||
case EVENT_PURIFY:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_PURIFY);
|
||||
events.Repeat(25s);
|
||||
break;
|
||||
case EVENT_HOLY_FLAME:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_HOLY_FLAME);
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
case EVENT_INNER_FIRE:
|
||||
DoCastSelf(SPELL_INNER_FIRE);
|
||||
events.Repeat(25s);
|
||||
break;
|
||||
case EVENT_SANCTIFIED_GROUND:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
me->CastSpell(target->GetPosition(), SPELL_SANCTIFIED_GROUND, true);
|
||||
events.Repeat(30s);
|
||||
break;
|
||||
case EVENT_CHECK_ENERGY:
|
||||
if (!_intermission)
|
||||
{
|
||||
_energy += 2;
|
||||
me->SetPower(POWER_ENERGY, std::min<uint32>(_energy, 100));
|
||||
if (_energy >= 100)
|
||||
StartIntermission();
|
||||
}
|
||||
events.Repeat(1s);
|
||||
break;
|
||||
case EVENT_INTERMISSION_START:
|
||||
StartIntermission();
|
||||
break;
|
||||
case EVENT_EMBRACE_CHANNEL:
|
||||
DoCastSelf(SPELL_EMBRACE_THE_LIGHT);
|
||||
SummonIntermissionAdds();
|
||||
events.ScheduleEvent(EVENT_INTERMISSION_END, 28s);
|
||||
break;
|
||||
case EVENT_INTERMISSION_END:
|
||||
if (me->HasUnitState(UNIT_STATE_CASTING))
|
||||
events.Repeat(1s);
|
||||
else
|
||||
EndIntermission();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
uint32 _energy;
|
||||
bool _intermission;
|
||||
};
|
||||
|
||||
void AddSC_boss_prioress_murrpray()
|
||||
{
|
||||
RegisterPriorityoftheSacredflameCreatureAI(boss_prioress_murrpray);
|
||||
}
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
/*
|
||||
* Copyright WowCommunity Project by Thordekk
|
||||
*
|
||||
*/
|
||||
|
||||
#include "priority_of_the_sacred_flame.h"
|
||||
#include "GameObject.h"
|
||||
#include "Map.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "CreatureAI.h"
|
||||
#include "Vehicle.h"
|
||||
#include "Player.h"
|
||||
#include "SpellScript.h"
|
||||
#include "MotionMaster.h"
|
||||
#include "CombatAI.h"
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Group.h"
|
||||
#include "ChallengeMode.h"
|
||||
|
||||
static constexpr ObjectData creatureData[] =
|
||||
{
|
||||
{ BOSS_CAPTAIN_DAILCRY, DATA_CAPTAIN_DAILCRY },
|
||||
{ BOSS_BARON_BRAUNPYKE, DATA_BARON_BRAUNPYKE },
|
||||
{ BOSS_PRIORESS_MURRPRAY, DATA_PRIORESS_MURRPRAY },
|
||||
{ 0, 0 } // END
|
||||
};
|
||||
|
||||
static constexpr ObjectData gameObjectData[] =
|
||||
{
|
||||
{ GO_PRIORY_DOOR, DATA_DAILCRY_DOOR },
|
||||
{ GO_PRIORY_DOOR_02, DATA_BARON_DOOR },
|
||||
{ GO_FIRE_BARRIER, DATA_MURRPRAY_DOOR },
|
||||
{ 0, 0 } // END
|
||||
};
|
||||
|
||||
static constexpr DungeonEncounterData const encounters[] =
|
||||
{
|
||||
{ DATA_CAPTAIN_DAILCRY, {{ 2847 }} },
|
||||
{ DATA_BARON_BRAUNPYKE, {{ 2835 }} },
|
||||
{ DATA_PRIORESS_MURRPRAY, {{ 2848 }} },
|
||||
};
|
||||
|
||||
class instance_priority_of_the_sacred_flame : public InstanceMapScript
|
||||
{
|
||||
public:
|
||||
instance_priority_of_the_sacred_flame() : InstanceMapScript(POSFScriptName, 2649) { }
|
||||
|
||||
struct instance_priority_of_the_sacred_flame_InstanceMapScript : public InstanceScript
|
||||
{
|
||||
instance_priority_of_the_sacred_flame_InstanceMapScript(InstanceMap* map) : InstanceScript(map)
|
||||
{
|
||||
SetHeaders(DataHeader);
|
||||
SetBossNumber(EncounterCount);
|
||||
LoadObjectData(creatureData, gameObjectData);
|
||||
LoadDungeonEncounterData(encounters);
|
||||
}
|
||||
|
||||
void OnPlayerEnter(Player* player) override
|
||||
{
|
||||
if (!player->GetGroup() || !player->GetGroup()->GetLeaderGUID())
|
||||
return;
|
||||
|
||||
player->GetGroup()->AddFollowerModeBots(player);
|
||||
}
|
||||
|
||||
void OnPlayerExit(Player* player)
|
||||
{
|
||||
if (!player->GetGroup())
|
||||
return;
|
||||
|
||||
player->GetGroup()->DespawnFollowerModeBots(player);
|
||||
}
|
||||
|
||||
bool SetBossState(uint32 id, EncounterState state) override
|
||||
{
|
||||
if (state == DONE)
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
case DATA_CAPTAIN_DAILCRY:
|
||||
OpenDoor(DATA_DAILCRY_DOOR);
|
||||
break;
|
||||
case DATA_BARON_BRAUNPYKE:
|
||||
OpenDoor(DATA_BARON_DOOR);
|
||||
OpenDoor(DATA_MURRPRAY_DOOR);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return InstanceScript::SetBossState(id, state);
|
||||
}
|
||||
|
||||
void OpenDoor(uint32 data)
|
||||
{
|
||||
if (GameObject* door = GetGameObject(data))
|
||||
door->SetGoState(GO_STATE_ACTIVE);
|
||||
}
|
||||
};
|
||||
|
||||
InstanceScript* GetInstanceScript(InstanceMap* map) const override
|
||||
{
|
||||
return new instance_priority_of_the_sacred_flame_InstanceMapScript(map);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_instance_priority_of_the_sacred_flame()
|
||||
{
|
||||
new instance_priority_of_the_sacred_flame();
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* Copyright WowCommunity Project by Thordekk
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef DEF_PRIORITY_OF_THE_SACRED_FLAME_H_
|
||||
#define DEF_PRIORITY_OF_THE_SACRED_FLAME_H_
|
||||
|
||||
#include "CreatureAIImpl.h"
|
||||
|
||||
#define POSFScriptName "instance_priority_of_the_sacred_flame"
|
||||
#define DataHeader "POSF"
|
||||
|
||||
constexpr uint32 EncounterCount = 3;
|
||||
|
||||
enum priorityofthesacredflameDataTypes
|
||||
{
|
||||
// Encounters
|
||||
DATA_CAPTAIN_DAILCRY = 0,
|
||||
DATA_BARON_BRAUNPYKE,
|
||||
DATA_PRIORESS_MURRPRAY,
|
||||
|
||||
// GameObjects
|
||||
DATA_DAILCRY_DOOR,
|
||||
DATA_BARON_DOOR,
|
||||
DATA_MURRPRAY_DOOR,
|
||||
};
|
||||
|
||||
enum priorityofthesacredflameCreatureIds
|
||||
{
|
||||
// Bosses
|
||||
BOSS_CAPTAIN_DAILCRY = 207946,
|
||||
BOSS_BARON_BRAUNPYKE = 207939, // rides a mount (Vehicle)
|
||||
BOSS_PRIORESS_MURRPRAY = 207940,
|
||||
|
||||
// Trash
|
||||
NPC_FERVENT_SHARPSHOOTER = 206694,
|
||||
NPC_ARATHI_KNIGHT = 206696,
|
||||
NPC_DEVOUT_PRIEST = 206697,
|
||||
NPC_FANATICAL_CONJUROR = 206698,
|
||||
NPC_WAR_LYNX = 206699,
|
||||
NPC_ARDENT_PALADIN = 206704,
|
||||
NPC_ARATHI_FOOTMAN = 206705,
|
||||
NPC_LIGHTSPAWN = 206710,
|
||||
NPC_ZEALOUS_TEMPLAR = 207949,
|
||||
NPC_RISEN_FOOTMAN = 212835,
|
||||
NPC_RISEN_MAGE = 221760,
|
||||
NPC_ETERNAL_FLAME = 210851,
|
||||
|
||||
// Encounter support
|
||||
NPC_ARATHI_NEOPHYTE = 211140,
|
||||
NPC_MELLEK_ZOMBIE_STALKER = 211138,
|
||||
};
|
||||
|
||||
enum priorityofthesacredflameGameObjectIds
|
||||
{
|
||||
GO_PRIORY_DOOR = 441670,
|
||||
GO_PRIORY_DOOR_02 = 441671,
|
||||
GO_NAVIGATION_DOOR = 441668,
|
||||
GO_NAVIGATION_DOOR_02 = 441669,
|
||||
GO_FIRE_BARRIER = 452050,
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
inline AI* GetPriorityoftheSacredflameAI(T* obj)
|
||||
{
|
||||
return GetInstanceAI<AI>(obj, POSFScriptName);
|
||||
}
|
||||
|
||||
#define RegisterPriorityoftheSacredflameCreatureAI(ai_name) RegisterCreatureAIWithFactory(ai_name, GetPriorityoftheSacredflameAI)
|
||||
|
||||
#endif
|
||||
+263
@@ -0,0 +1,263 @@
|
||||
/*
|
||||
* Copyright (C) WowCommunity Project
|
||||
*
|
||||
* This SourceCode is NOT free a software. Please hold everything Private
|
||||
* and read our Terms
|
||||
*/
|
||||
|
||||
#include "priority_of_the_sacred_flame.h"
|
||||
#include "Containers.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "MotionMaster.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "TaskScheduler.h"
|
||||
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
enum TrashSpells
|
||||
{
|
||||
// Fervent Sharpshooter (206694)
|
||||
SPELL_SHOOT = 427629,
|
||||
SPELL_POT_SHOT = 462859,
|
||||
SPELL_CALTROPS = 453458,
|
||||
|
||||
// Arathi Knight (206696)
|
||||
SPELL_IMPALE = 427621,
|
||||
SPELL_DISRUPTING_SHOUT = 427609,
|
||||
|
||||
// Devout Priest (206697)
|
||||
SPELL_HOLY_SMITE = 427357,
|
||||
SPELL_GREATER_HEAL = 427356,
|
||||
SPELL_INNER_FIRE_PRIEST = 428916,
|
||||
|
||||
// Fanatical Conjuror (206698)
|
||||
SPELL_FIREBALL = 427469,
|
||||
SPELL_FLAMESTRIKE = 427478,
|
||||
|
||||
// War Lynx (206699)
|
||||
SPELL_POUNCE = 446776,
|
||||
SPELL_GRIEVOUS_RIP = 446779,
|
||||
|
||||
// Ardent Paladin (206704)
|
||||
SPELL_CONSECRATION = 424429,
|
||||
SPELL_SACRED_TOLL = 448791,
|
||||
|
||||
// Arathi Footman (206705)
|
||||
SPELL_DEFEND = 427342,
|
||||
SPELL_SHATTERED_DEFENSES = 427360,
|
||||
|
||||
// Lightspawn (206710)
|
||||
SPELL_PURIFICATION = 448787,
|
||||
SPELL_BURST_OF_LIGHT = 427601,
|
||||
|
||||
// Zealous Templar (207949)
|
||||
SPELL_SEAL_OF_LIGHTS_FURY = 427596,
|
||||
SPELL_TEMPLARS_WRATH = 444728,
|
||||
|
||||
// Risen Footman (212835) / Risen Mage (221760)
|
||||
SPELL_LIGHT_EXPULSION = 435156,
|
||||
|
||||
// Eternal Flame (210851)
|
||||
SPELL_THE_SACRED_FLAME = 425544,
|
||||
|
||||
// Prioress Murrpray encounter support
|
||||
SPELL_SUMMON_LIGHT_ZOMBIE = 425021,
|
||||
SPELL_FIXATE = 425020,
|
||||
SPELL_OVERWHELMING_POWER = 425022,
|
||||
};
|
||||
|
||||
enum TrashEvents
|
||||
{
|
||||
EVENT_TRASH_SPELL_1 = 1,
|
||||
EVENT_TRASH_SPELL_2,
|
||||
EVENT_TRASH_SPELL_3,
|
||||
EVENT_SUMMON_LIGHT_ZOMBIE = 101,
|
||||
EVENT_FIXATE,
|
||||
EVENT_OVERWHELMING_POWER,
|
||||
};
|
||||
|
||||
enum class TrashTarget : uint8
|
||||
{
|
||||
Victim,
|
||||
Random,
|
||||
Self,
|
||||
};
|
||||
|
||||
struct TrashSpell
|
||||
{
|
||||
uint32 spellId;
|
||||
Milliseconds initial;
|
||||
Milliseconds cooldown;
|
||||
TrashTarget target;
|
||||
};
|
||||
|
||||
static std::unordered_map<uint32, std::vector<TrashSpell>> const& GetTrashSpellTable()
|
||||
{
|
||||
static std::unordered_map<uint32, std::vector<TrashSpell>> const table =
|
||||
{
|
||||
{ NPC_FERVENT_SHARPSHOOTER, { { SPELL_SHOOT, 1s, 2s, TrashTarget::Victim }, { SPELL_POT_SHOT, 4s, 8s, TrashTarget::Random }, { SPELL_CALTROPS, 7s, 12s, TrashTarget::Random } } },
|
||||
{ NPC_ARATHI_KNIGHT, { { SPELL_IMPALE, 2s, 5s, TrashTarget::Victim }, { SPELL_DISRUPTING_SHOUT, 8s, 14s, TrashTarget::Random } } },
|
||||
{ NPC_DEVOUT_PRIEST, { { SPELL_HOLY_SMITE, 2s, 3s, TrashTarget::Victim }, { SPELL_GREATER_HEAL, 10s, 15s, TrashTarget::Self }, { SPELL_INNER_FIRE_PRIEST, 5s, 20s, TrashTarget::Self } } },
|
||||
{ NPC_FANATICAL_CONJUROR, { { SPELL_FIREBALL, 2s, 3s, TrashTarget::Victim }, { SPELL_FLAMESTRIKE, 8s, 14s, TrashTarget::Random } } },
|
||||
{ NPC_WAR_LYNX, { { SPELL_POUNCE, 3s, 8s, TrashTarget::Victim }, { SPELL_GRIEVOUS_RIP, 5s, 6s, TrashTarget::Victim } } },
|
||||
{ NPC_ARDENT_PALADIN, { { SPELL_CONSECRATION, 4s, 12s, TrashTarget::Self }, { SPELL_SACRED_TOLL, 6s, 8s, TrashTarget::Victim } } },
|
||||
{ NPC_ARATHI_FOOTMAN, { { SPELL_DEFEND, 3s, 16s, TrashTarget::Self }, { SPELL_SHATTERED_DEFENSES, 6s, 10s, TrashTarget::Victim } } },
|
||||
{ NPC_LIGHTSPAWN, { { SPELL_PURIFICATION, 3s, 9s, TrashTarget::Victim }, { SPELL_BURST_OF_LIGHT, 8s, 15s, TrashTarget::Self } } },
|
||||
{ NPC_ZEALOUS_TEMPLAR, { { SPELL_SEAL_OF_LIGHTS_FURY, 2s, 5s, TrashTarget::Victim }, { SPELL_TEMPLARS_WRATH, 7s, 12s, TrashTarget::Victim } } },
|
||||
{ NPC_RISEN_FOOTMAN, { { SPELL_LIGHT_EXPULSION, 3s, 8s, TrashTarget::Random } } },
|
||||
{ NPC_RISEN_MAGE, { { SPELL_FIREBALL, 2s, 3s, TrashTarget::Victim }, { SPELL_LIGHT_EXPULSION, 8s, 12s, TrashTarget::Random } } },
|
||||
{ NPC_ETERNAL_FLAME, { { SPELL_THE_SACRED_FLAME, 3s, 8s, TrashTarget::Random } } },
|
||||
};
|
||||
|
||||
return table;
|
||||
}
|
||||
|
||||
// Shared AI used by generic Priory of the Sacred Flame trash mobs.
|
||||
struct posf_trash_ai : public ScriptedAI
|
||||
{
|
||||
posf_trash_ai(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
events.Reset();
|
||||
_active.clear();
|
||||
|
||||
auto const& table = GetTrashSpellTable();
|
||||
auto it = table.find(me->GetEntry());
|
||||
if (it == table.end())
|
||||
return;
|
||||
|
||||
uint32 eventId = EVENT_TRASH_SPELL_1;
|
||||
for (TrashSpell const& spell : it->second)
|
||||
{
|
||||
_active[eventId] = spell;
|
||||
events.ScheduleEvent(eventId, spell.initial);
|
||||
++eventId;
|
||||
}
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
auto it = _active.find(eventId);
|
||||
if (it == _active.end())
|
||||
return;
|
||||
|
||||
TrashSpell const& spell = it->second;
|
||||
switch (spell.target)
|
||||
{
|
||||
case TrashTarget::Victim:
|
||||
DoCastVictim(spell.spellId);
|
||||
break;
|
||||
case TrashTarget::Random:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, spell.spellId);
|
||||
break;
|
||||
case TrashTarget::Self:
|
||||
DoCastSelf(spell.spellId);
|
||||
break;
|
||||
}
|
||||
|
||||
events.Repeat(spell.cooldown);
|
||||
}
|
||||
|
||||
private:
|
||||
std::unordered_map<uint32, TrashSpell> _active;
|
||||
};
|
||||
|
||||
// 211138 - Mellek Zombie Stalker: stationary summoner used during the intermission.
|
||||
struct npc_mellek_zombie_stalker : public ScriptedAI
|
||||
{
|
||||
npc_mellek_zombie_stalker(Creature* creature) : ScriptedAI(creature), _summons(0) { }
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
_summons = 0;
|
||||
_summonTimer = 1s;
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (_summons >= 4)
|
||||
return;
|
||||
|
||||
if (_summonTimer <= Milliseconds(diff))
|
||||
{
|
||||
DoCastSelf(SPELL_SUMMON_LIGHT_ZOMBIE);
|
||||
++_summons;
|
||||
_summonTimer = 4s;
|
||||
}
|
||||
else
|
||||
_summonTimer -= Milliseconds(diff);
|
||||
}
|
||||
|
||||
private:
|
||||
uint8 _summons;
|
||||
Milliseconds _summonTimer;
|
||||
};
|
||||
|
||||
// 211140 - Arathi Neophyte: fixates a player and pulses Overwhelming Power.
|
||||
struct npc_arathi_neophyte : public ScriptedAI
|
||||
{
|
||||
npc_arathi_neophyte(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_FIXATE);
|
||||
|
||||
events.ScheduleEvent(EVENT_OVERWHELMING_POWER, 6s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_FIXATE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_FIXATE);
|
||||
break;
|
||||
case EVENT_OVERWHELMING_POWER:
|
||||
DoCastSelf(SPELL_OVERWHELMING_POWER);
|
||||
events.Repeat(8s);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
struct npc_fervent_sharpshooter : public posf_trash_ai { npc_fervent_sharpshooter(Creature* c) : posf_trash_ai(c) { } };
|
||||
struct npc_arathi_knight : public posf_trash_ai { npc_arathi_knight(Creature* c) : posf_trash_ai(c) { } };
|
||||
struct npc_devout_priest : public posf_trash_ai { npc_devout_priest(Creature* c) : posf_trash_ai(c) { } };
|
||||
struct npc_fanatical_conjuror : public posf_trash_ai { npc_fanatical_conjuror(Creature* c) : posf_trash_ai(c) { } };
|
||||
struct npc_war_lynx : public posf_trash_ai { npc_war_lynx(Creature* c) : posf_trash_ai(c) { } };
|
||||
struct npc_ardent_paladin : public posf_trash_ai { npc_ardent_paladin(Creature* c) : posf_trash_ai(c) { } };
|
||||
struct npc_arathi_footman : public posf_trash_ai { npc_arathi_footman(Creature* c) : posf_trash_ai(c) { } };
|
||||
struct npc_lightspawn : public posf_trash_ai { npc_lightspawn(Creature* c) : posf_trash_ai(c) { } };
|
||||
struct npc_zealous_templar : public posf_trash_ai { npc_zealous_templar(Creature* c) : posf_trash_ai(c) { } };
|
||||
struct npc_risen_footman : public posf_trash_ai { npc_risen_footman(Creature* c) : posf_trash_ai(c) { } };
|
||||
struct npc_risen_mage : public posf_trash_ai { npc_risen_mage(Creature* c) : posf_trash_ai(c) { } };
|
||||
struct npc_eternal_flame : public posf_trash_ai { npc_eternal_flame(Creature* c) : posf_trash_ai(c) { } };
|
||||
|
||||
void AddSC_priority_of_the_sacred_flame()
|
||||
{
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_fervent_sharpshooter);
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_arathi_knight);
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_devout_priest);
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_fanatical_conjuror);
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_war_lynx);
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_ardent_paladin);
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_arathi_footman);
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_lightspawn);
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_zealous_templar);
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_risen_footman);
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_risen_mage);
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_eternal_flame);
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_mellek_zombie_stalker);
|
||||
RegisterPriorityoftheSacredflameCreatureAI(npc_arathi_neophyte);
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) WowCommunity Project
|
||||
* Copyright WowCommunity Project by Thordekk
|
||||
*
|
||||
* This SourceCode is NOT free a software. Please hold everything Private
|
||||
* and read our Terms
|
||||
*/
|
||||
|
||||
#include "the_rookery.h"
|
||||
@@ -11,138 +9,75 @@
|
||||
#include "ScriptMgr.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "MotionMaster.h"
|
||||
#include "MovementTypedefs.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "TaskScheduler.h"
|
||||
|
||||
enum KyriossSpells
|
||||
{
|
||||
// Initial Auras
|
||||
SPELL_INITIAL_AURA_1 = 422356, // Aura from sniffed data
|
||||
SPELL_RIDE_VEHICLE_HARDCODED = 46598, // Vehicle aura
|
||||
SPELL_INITIAL_CAST_1 = 461582, // Initial cast
|
||||
SPELL_JASERAH_ENERGIZE = 420573, // Fight start + every storm cycle
|
||||
SPELL_JASERAH_STARTING_ENERGY = 461582, // Initial energy aura (pulled)
|
||||
|
||||
// Initial Phase
|
||||
SPELL_CAST_THUNDER_PREP = 437858, // Pre-flight cast
|
||||
SPELL_CAST_THUNDER_START = 449870, // Flight start cast
|
||||
SPELL_CAST_THUNDERSTRIKE = 437980, // Repeated AoE attack
|
||||
// Grounded phase
|
||||
SPELL_CRASHING_THUNDER_1 = 1214324, // Crash cast (dive)
|
||||
SPELL_CRASHING_THUNDER_2 = 1214325, // Crash cast (landing)
|
||||
SPELL_CRASHING_THUNDER_HIT = 1214326, // Impact damage on landing
|
||||
SPELL_WILD_LIGHTNING_CAST = 474018, // Wild Lightning trigger
|
||||
SPELL_WILD_LIGHTNING_TARGET = 1214327, // Wild Lightning target select
|
||||
|
||||
// Stormheart Phase
|
||||
SPELL_STORMHEART_TRANSITION = 420573, // Transition to Stormheart
|
||||
SPELL_STORMHEART = 444324, // Stormheart aura
|
||||
SPELL_THUNDERBOLT = 444411, // Thunderbolt ground strike
|
||||
SPELL_THUNDERBOLT_EFFECT = 444407, // Additional Thunderbolt effect
|
||||
SPELL_LIGHTNING_DASH = 419870, // Lightning Dash
|
||||
SPELL_LIGHTNING_DASH_EFFECT = 461590, // Dash secondary effect
|
||||
SPELL_CHAIN_LIGHTNING = 424148, // Chain Lightning
|
||||
SPELL_STORMHEART_TICK = 444418, // Periodic tick during Stormheart
|
||||
SPELL_AURA_STORM_ENHANCE = 420212, // Buff aura
|
||||
SPELL_AURA_STORM_SHIELD = 469882, // Protective aura
|
||||
SPELL_AURA_STORM_RESIST = 429619, // Resistance aura
|
||||
SPELL_AURA_DAMAGE_REDUCTION = 204242, // Damage mitigation aura
|
||||
SPELL_AURA_STUN = 197277, // Stun effect (placeholder)
|
||||
|
||||
// Unstable Charge
|
||||
SPELL_UNSTABLE_CHARGE = 420739, // Unstable Charge aura
|
||||
SPELL_UNSTABLE_BLAST = 424195, // Explosion on removal
|
||||
|
||||
// Lightning Torrent Phase
|
||||
SPELL_LIGHTNING_TORRENT = 444123, // Torrent trigger
|
||||
SPELL_LIGHTNING_TORRENT_DMG = 444250, // Torrent damage + stun
|
||||
SPELL_TORRENT_PREP = 444034, // Jump prep cast
|
||||
SPELL_TORRENT_TICK = 444044, // Torrent periodic effect
|
||||
SPELL_TORRENT_AOE = 464868, // Repeated AoE in Torrent phase
|
||||
SPELL_TORRENT_FINISH = 255618, // Final Torrent cast
|
||||
|
||||
// Misc
|
||||
SPELL_ANCHOR_HERE = 45313 // Anchor position
|
||||
// Storm / torrent phase
|
||||
SPELL_LIGHTNING_TORRENT = 1214322, // Torrent main cast
|
||||
SPELL_LIGHTNING_TORRENT_WARN = 444034, // Torrent visual/warning
|
||||
SPELL_LIGHTNING_TORRENT_MID = 1214315, // Follow-up torrent cast
|
||||
SPELL_LIGHTNING_TORRENT_ZONE = 1214323, // Torrent ground zone (GO)
|
||||
SPELL_LIGHTNING_TORRENT_ALT = 444250, // Torrent secondary damage
|
||||
SPELL_LIGHTNING_DASH_1 = 419870, // Dash start
|
||||
SPELL_LIGHTNING_DASH_2 = 461590, // Dash charge
|
||||
SPELL_LIGHTNING_DASH_3 = 419871, // Dash end
|
||||
};
|
||||
|
||||
enum KyriossEvents
|
||||
{
|
||||
EVENT_INITIAL_AURAS = 1,
|
||||
EVENT_INITIAL_CASTS,
|
||||
EVENT_WAYPOINT_FLIGHT,
|
||||
EVENT_REPEATED_THUNDERSTRIKE,
|
||||
EVENT_STORMHEART_TRANSITION,
|
||||
EVENT_STORMHEART_CASTS,
|
||||
EVENT_LIGHTNING_DASH,
|
||||
EVENT_CHAIN_LIGHTNING,
|
||||
EVENT_THUNDERBOLT,
|
||||
EVENT_UNSTABLE_CHARGE,
|
||||
EVENT_LIGHTNING_TORRENT_TRANSITION,
|
||||
EVENT_LIGHTNING_TORRENT_CASTS
|
||||
};
|
||||
|
||||
enum KyriossTexts
|
||||
{
|
||||
SAY_LIGHTNING_TORRENT = 0,
|
||||
EVENT_ENERGIZE = 1,
|
||||
EVENT_CRASHING_THUNDER,
|
||||
EVENT_CRASHING_THUNDER_HIT,
|
||||
EVENT_WILD_LIGHTNING,
|
||||
EVENT_TORRENT_BEGIN,
|
||||
EVENT_TORRENT_MID,
|
||||
EVENT_TORRENT_ZONE,
|
||||
EVENT_TORRENT_ALT,
|
||||
EVENT_LIGHTNING_DASH
|
||||
};
|
||||
|
||||
enum KyriossMisc
|
||||
{
|
||||
POINT_FLIGHT_PATH = 1,
|
||||
POINT_SHORT_WAYPOINT = 2,
|
||||
POINT_CENTER_JUMP = 3,
|
||||
POINT_CENTER_JUMP = 2,
|
||||
};
|
||||
|
||||
static constexpr Position FlightWaypoints[] =
|
||||
{
|
||||
{2799.1172f, -1516.9341f, 356.84845f},
|
||||
{2799.2136f, -1539.0226f, 340.55142f},
|
||||
{2799.7292f, -1565.3646f, 342.7065f},
|
||||
{2777.5435f, -1576.4618f, 342.17725f},
|
||||
{2766.0635f, -1592.5538f, 341.9233f},
|
||||
{2759.6824f, -1607.1406f, 340.48184f},
|
||||
{2761.816f, -1626.9236f, 340.48184f},
|
||||
{2766.308f, -1637.132f, 330.79257f},
|
||||
{2773.7222f, -1646.3959f, 340.48184f},
|
||||
{2781.4307f, -1651.625f, 340.48184f},
|
||||
{2792.8281f, -1653.2396f, 340.48184f},
|
||||
{2805.9106f, -1651.9462f, 340.48184f},
|
||||
{2816.1885f, -1644.8716f, 340.48184f},
|
||||
{2822.126f, -1637.606f, 340.48184f},
|
||||
{2825.6328f, -1630.8976f, 340.48184f},
|
||||
{2829.7996f, -1613.6459f, 340.48184f},
|
||||
{2830.3628f, -1597.9983f, 340.48184f},
|
||||
{2827.7673f, -1584.0538f, 340.48184f},
|
||||
{2821.5088f, -1576.8942f, 340.48184f},
|
||||
{2812.494f, -1573.0903f, 339.07608f},
|
||||
{2801.9844f, -1576.5f, 336.18976f},
|
||||
{2798.0496f, -1581.9584f, 332.41452f},
|
||||
{2797.8994f, -1584.8108f, 330.7913f}
|
||||
};
|
||||
|
||||
static constexpr Position ShortWaypoints[] =
|
||||
{
|
||||
{2791.8357f, -1586.3293f, 331.39374f}
|
||||
};
|
||||
|
||||
static constexpr Position CenterJumpPosition = { 2800.0798f, -1614.0209f, 329.82184f };
|
||||
|
||||
// 209230 - Kyrioss
|
||||
struct boss_kyrioss : public BossAI
|
||||
{
|
||||
boss_kyrioss(Creature* creature) : BossAI(creature, DATA_KYRIOSS), _thunderstrikeCount(0), _thunderboltCount(0) {}
|
||||
boss_kyrioss(Creature* creature) : BossAI(creature, DATA_KYRIOSS) { }
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
BossAI::Reset();
|
||||
_thunderstrikeCount = 0;
|
||||
_thunderboltCount = 0;
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
BossAI::JustEngagedWith(who);
|
||||
me->Attack(who, true);
|
||||
instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me, 1);
|
||||
events.ScheduleEvent(EVENT_INITIAL_AURAS, 0s);
|
||||
events.ScheduleEvent(EVENT_UNSTABLE_CHARGE, 10s);
|
||||
|
||||
DoCastSelf(SPELL_JASERAH_STARTING_ENERGY, true);
|
||||
events.ScheduleEvent(EVENT_ENERGIZE, 0ms);
|
||||
events.ScheduleEvent(EVENT_CRASHING_THUNDER, 6s);
|
||||
events.ScheduleEvent(EVENT_WILD_LIGHTNING, 9s + 690ms);
|
||||
events.ScheduleEvent(EVENT_TORRENT_BEGIN, 16s + 500ms);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
@@ -159,24 +94,8 @@ struct boss_kyrioss : public BossAI
|
||||
_DespawnAtEvade();
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 id) override
|
||||
void MovementInform(uint32 /*type*/, uint32 /*id*/) override
|
||||
{
|
||||
if (type != POINT_MOTION_TYPE && type != EFFECT_MOTION_TYPE)
|
||||
return;
|
||||
|
||||
switch (id)
|
||||
{
|
||||
case POINT_FLIGHT_PATH:
|
||||
events.ScheduleEvent(EVENT_REPEATED_THUNDERSTRIKE, 6s);
|
||||
break;
|
||||
case POINT_SHORT_WAYPOINT:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0))
|
||||
me->SetFacingToObject(target);
|
||||
break;
|
||||
case POINT_CENTER_JUMP:
|
||||
events.ScheduleEvent(EVENT_LIGHTNING_TORRENT_CASTS, 6s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -191,383 +110,62 @@ struct boss_kyrioss : public BossAI
|
||||
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_INITIAL_AURAS:
|
||||
DoCastSelf(SPELL_INITIAL_AURA_1);
|
||||
DoCastSelf(SPELL_RIDE_VEHICLE_HARDCODED);
|
||||
DoCastSelf(SPELL_INITIAL_CAST_1);
|
||||
events.ScheduleEvent(EVENT_INITIAL_CASTS, 600ms);
|
||||
case EVENT_ENERGIZE:
|
||||
DoCastSelf(SPELL_JASERAH_ENERGIZE);
|
||||
events.Repeat(42s + 500ms);
|
||||
break;
|
||||
case EVENT_INITIAL_CASTS:
|
||||
me->StopMoving();
|
||||
DoCastSelf(SPELL_CAST_THUNDER_PREP);
|
||||
DoCastSelf(SPELL_CAST_THUNDER_START);
|
||||
events.ScheduleEvent(EVENT_WAYPOINT_FLIGHT, 0s);
|
||||
case EVENT_CRASHING_THUNDER:
|
||||
DoCastSelf(SPELL_CRASHING_THUNDER_1);
|
||||
DoCastAOE(SPELL_CRASHING_THUNDER_2);
|
||||
events.ScheduleEvent(EVENT_CRASHING_THUNDER_HIT, 2s + 500ms);
|
||||
events.Repeat(16s);
|
||||
break;
|
||||
case EVENT_WAYPOINT_FLIGHT:
|
||||
me->GetMotionMaster()->MovePath(POINT_FLIGHT_PATH, false);
|
||||
case EVENT_CRASHING_THUNDER_HIT:
|
||||
DoCastSelf(SPELL_CRASHING_THUNDER_HIT, TRIGGERED_FULL_MASK);
|
||||
break;
|
||||
case EVENT_REPEATED_THUNDERSTRIKE:
|
||||
DoCastAOE(SPELL_CAST_THUNDERSTRIKE);
|
||||
events.ScheduleEvent(EVENT_STORMHEART_TRANSITION, 15s);
|
||||
case EVENT_WILD_LIGHTNING:
|
||||
DoCastSelf(SPELL_WILD_LIGHTNING_CAST, TRIGGERED_FULL_MASK);
|
||||
DoCastSelf(SPELL_WILD_LIGHTNING_TARGET, TRIGGERED_FULL_MASK);
|
||||
events.Repeat(16s);
|
||||
break;
|
||||
case EVENT_STORMHEART_TRANSITION:
|
||||
DoCastSelf(SPELL_STORMHEART_TRANSITION);
|
||||
me->SetFacingTo(4.6597996f);
|
||||
DoCastSelf(SPELL_STORMHEART);
|
||||
DoCastSelf(SPELL_AURA_STORM_ENHANCE); // From sniffed data
|
||||
events.ScheduleEvent(EVENT_STORMHEART_CASTS, 12s);
|
||||
case EVENT_TORRENT_BEGIN:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_LIGHTNING_TORRENT);
|
||||
DoCast(target, SPELL_LIGHTNING_TORRENT_WARN, TRIGGERED_FULL_MASK);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_TORRENT_MID, 1s + 500ms);
|
||||
events.ScheduleEvent(EVENT_LIGHTNING_DASH, 1s);
|
||||
events.Repeat(55s);
|
||||
break;
|
||||
case EVENT_STORMHEART_CASTS:
|
||||
DoCastSelf(SPELL_THUNDERBOLT);
|
||||
DoCastSelf(SPELL_THUNDERBOLT_EFFECT);
|
||||
DoCastSelf(SPELL_AURA_STORM_SHIELD); // Periodic aura
|
||||
events.ScheduleEvent(EVENT_LIGHTNING_DASH, 6s);
|
||||
events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 18s);
|
||||
events.ScheduleEvent(EVENT_THUNDERBOLT, 24s);
|
||||
case EVENT_TORRENT_MID:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_LIGHTNING_TORRENT_MID);
|
||||
events.ScheduleEvent(EVENT_TORRENT_ALT, 3s);
|
||||
events.ScheduleEvent(EVENT_TORRENT_ZONE, 5s);
|
||||
break;
|
||||
case EVENT_TORRENT_ALT:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_LIGHTNING_TORRENT_ALT, TRIGGERED_FULL_MASK);
|
||||
break;
|
||||
case EVENT_TORRENT_ZONE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
DoCast(target, SPELL_LIGHTNING_TORRENT_ZONE, TRIGGERED_FULL_MASK);
|
||||
break;
|
||||
case EVENT_LIGHTNING_DASH:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
DoCast(target, SPELL_LIGHTNING_DASH);
|
||||
DoCastAOE(SPELL_LIGHTNING_DASH_EFFECT);
|
||||
me->GetMotionMaster()->MovePath(POINT_SHORT_WAYPOINT, false);
|
||||
break;
|
||||
case EVENT_CHAIN_LIGHTNING:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0))
|
||||
DoCast(target, SPELL_CHAIN_LIGHTNING);
|
||||
break;
|
||||
case EVENT_THUNDERBOLT:
|
||||
DoCastAOE(SPELL_THUNDERBOLT);
|
||||
DoCastSelf(SPELL_STORMHEART_TICK);
|
||||
DoCastSelf(SPELL_AURA_STORM_RESIST); // Periodic aura
|
||||
events.ScheduleEvent(EVENT_LIGHTNING_TORRENT_TRANSITION, 12s);
|
||||
break;
|
||||
case EVENT_UNSTABLE_CHARGE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
DoCast(target, SPELL_UNSTABLE_CHARGE);
|
||||
events.Repeat(20s); // Wowhead suggests periodic use
|
||||
break;
|
||||
case EVENT_LIGHTNING_TORRENT_TRANSITION:
|
||||
me->GetMotionMaster()->MoveJump(1, CenterJumpPosition, 21.319666f, 21.319666f, POINT_CENTER_JUMP);
|
||||
DoCastSelf(SPELL_TORRENT_PREP);
|
||||
break;
|
||||
case EVENT_LIGHTNING_TORRENT_CASTS:
|
||||
DoCastAOE(SPELL_LIGHTNING_TORRENT);
|
||||
DoCastVictim(SPELL_LIGHTNING_TORRENT_DMG);
|
||||
Talk(SAY_LIGHTNING_TORRENT);
|
||||
DoCastAOE(SPELL_TORRENT_AOE, TRIGGERED_FULL_MASK);
|
||||
DoCastSelf(SPELL_TORRENT_FINISH); // Final cast from sniffed data
|
||||
events.Repeat(6s); // Loops per sniffed data
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
uint32 _thunderstrikeCount;
|
||||
uint32 _thunderboltCount;
|
||||
};
|
||||
|
||||
// 424148 - Chain Lightning
|
||||
class spell_kyrioss_chain_lightning : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_CHAIN_LIGHTNING });
|
||||
}
|
||||
|
||||
void HandleDamage(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
// Scale damage based on instance difficulty
|
||||
if (Map* map = caster->GetMap())
|
||||
{
|
||||
int32 damage = GetHitDamage();
|
||||
|
||||
// Adjust damage based on difficulty
|
||||
if (map->IsHeroic())
|
||||
damage = int32(damage * 1.25f); // 25% more damage on Heroic
|
||||
else if (map->IsMythic())
|
||||
damage = int32(damage * 1.5f); // 50% more damage on Mythic
|
||||
|
||||
SetHitDamage(damage);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_kyrioss_chain_lightning::HandleDamage, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
// 419870 - Lightning Dash
|
||||
class spell_kyrioss_lightning_dash : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_LIGHTNING_DASH });
|
||||
}
|
||||
|
||||
void HandleJump(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
|
||||
Unit* caster = GetCaster();
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
// Apply the Tornado Winds aura when using Lightning Dash
|
||||
caster->CastSpell(caster, 420679, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectLaunch += SpellEffectFn(spell_kyrioss_lightning_dash::HandleJump, EFFECT_0, SPELL_EFFECT_JUMP_CHARGE);
|
||||
}
|
||||
};
|
||||
|
||||
// 444325 - Stormheart (Trigger Missile)
|
||||
class spell_kyrioss_stormheart : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_THUNDERBOLT });
|
||||
}
|
||||
|
||||
void HandleTriggerMissile(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
Map* map = caster->GetMap();
|
||||
if (!map->IsDungeon())
|
||||
return;
|
||||
|
||||
// Get a random player to target with the lightning strike
|
||||
std::list<Player*> playerList;
|
||||
Map::PlayerList const& players = map->GetPlayers();
|
||||
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
{
|
||||
if (Player* player = itr->GetSource())
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
if (player->IsAlive() && !player->IsGameMaster() && player->IsInCombat())
|
||||
playerList.push_back(player);
|
||||
DoCastSelf(SPELL_LIGHTNING_DASH_2, TRIGGERED_FULL_MASK);
|
||||
DoCast(target, SPELL_LIGHTNING_DASH_3, TRIGGERED_FULL_MASK);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// If no valid players found, return
|
||||
if (playerList.empty())
|
||||
return;
|
||||
|
||||
// Select a random player
|
||||
Player* target = Trinity::Containers::SelectRandomContainerElement(playerList);
|
||||
if (!target)
|
||||
return;
|
||||
|
||||
// Cast the lightning strike at the player's location
|
||||
caster->CastSpell(target, 444411, true);
|
||||
|
||||
// Visual effect for the lightning strike
|
||||
caster->SendPlaySpellVisual(target, 141941, 0, 0, 0.0f);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectLaunch += SpellEffectFn(spell_kyrioss_stormheart::HandleTriggerMissile, EFFECT_0, SPELL_EFFECT_TRIGGER_MISSILE);
|
||||
}
|
||||
};
|
||||
|
||||
// 444411 - Thunderbolt
|
||||
class spell_kyrioss_thunderbolt : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_THUNDERBOLT });
|
||||
}
|
||||
|
||||
void HandleDamage()
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
// Create visual lightning effect at the impact location
|
||||
if (WorldLocation const* dest = GetExplTargetDest())
|
||||
{
|
||||
// Spawn visual lightning effect
|
||||
caster->CastSpell(caster, 57930, true); // Lightning Strike visual
|
||||
|
||||
// Play thunder sound
|
||||
caster->PlayDirectSound(3147); // Thunder sound
|
||||
}
|
||||
}
|
||||
|
||||
void HandleDamageAmount(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
// Scale damage based on instance difficulty
|
||||
if (Map* map = caster->GetMap())
|
||||
{
|
||||
int32 damage = GetHitDamage();
|
||||
|
||||
// Adjust damage based on difficulty
|
||||
if (map->IsHeroic())
|
||||
damage = int32(damage * 1.25f); // 25% more damage on Heroic
|
||||
else if (map->IsMythic())
|
||||
damage = int32(damage * 1.5f); // 50% more damage on Mythic
|
||||
|
||||
SetHitDamage(damage);
|
||||
}
|
||||
}
|
||||
|
||||
void FilterTargets(std::list<WorldObject*>& targets)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
targets.remove_if([caster](WorldObject* target)
|
||||
{
|
||||
return caster->GetDistance(target) > 6.0f;
|
||||
});
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_kyrioss_thunderbolt::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
OnCast += SpellCastFn(spell_kyrioss_thunderbolt::HandleDamage);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_kyrioss_thunderbolt::HandleDamageAmount, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
// 420739 - Unstable Charge
|
||||
class spell_kyrioss_unstable_charge : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_UNSTABLE_BLAST });
|
||||
}
|
||||
|
||||
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
Unit* caster = GetCaster();
|
||||
if (!target || !caster)
|
||||
return;
|
||||
|
||||
// When the aura is removed, cast the explosion damage spell
|
||||
target->CastSpell(target, SPELL_UNSTABLE_BLAST, true);
|
||||
|
||||
// Visual effect for the explosion
|
||||
target->SendPlaySpellVisual(target, 133309, 0, 0, 1.0f);
|
||||
|
||||
// Play thunder/lightning sound
|
||||
target->PlayDirectSound(3147); // Thunder sound
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_kyrioss_unstable_charge::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
// 444123 - Lightning Torrent (Trigger)
|
||||
class spell_kyrioss_lightning_torrent : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_LIGHTNING_TORRENT_DMG });
|
||||
}
|
||||
|
||||
void HandleAfterCast()
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
caster->CastSpell(caster, SPELL_LIGHTNING_TORRENT_DMG, TRIGGERED_FULL_MASK);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterCast += SpellCastFn(spell_kyrioss_lightning_torrent::HandleAfterCast);
|
||||
}
|
||||
};
|
||||
|
||||
// 444250 - Lightning Torrent (Damage/Stun)
|
||||
class spell_kyrioss_lightning_torrent_effect : public SpellScript
|
||||
{
|
||||
void HandleDamage(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
Unit* target = GetHitUnit();
|
||||
if (!caster || !target)
|
||||
return;
|
||||
|
||||
// Scale damage based on instance difficulty
|
||||
if (Map* map = caster->GetMap())
|
||||
{
|
||||
int32 damage = GetHitDamage();
|
||||
|
||||
// Adjust damage based on difficulty
|
||||
if (map->IsHeroic())
|
||||
damage = int32(damage * 1.25f); // 25% more damage on Heroic
|
||||
else if (map->IsMythic())
|
||||
damage = int32(damage * 1.5f); // 50% more damage on Mythic
|
||||
|
||||
SetHitDamage(damage);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_kyrioss_lightning_torrent_effect::HandleDamage, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
// 424195 - Unstable Charge Explosion
|
||||
class spell_kyrioss_unstable_charge_explosion : public SpellScript
|
||||
{
|
||||
void HandleDamage(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
// Scale damage based on instance difficulty
|
||||
if (Map* map = caster->GetMap())
|
||||
{
|
||||
int32 damage = GetHitDamage();
|
||||
|
||||
// Adjust damage based on difficulty
|
||||
if (map->IsHeroic())
|
||||
damage = int32(damage * 1.25f); // 25% more damage on Heroic
|
||||
else if (map->IsMythic())
|
||||
damage = int32(damage * 1.5f); // 50% more damage on Mythic
|
||||
|
||||
SetHitDamage(damage);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_kyrioss_unstable_charge_explosion::HandleDamage, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_kyrioss()
|
||||
{
|
||||
RegisterTheRookeryCreatureAI(boss_kyrioss);
|
||||
RegisterSpellScript(spell_kyrioss_chain_lightning);
|
||||
RegisterSpellScript(spell_kyrioss_lightning_dash);
|
||||
RegisterSpellScript(spell_kyrioss_stormheart);
|
||||
RegisterSpellScript(spell_kyrioss_thunderbolt);
|
||||
RegisterSpellScript(spell_kyrioss_unstable_charge);
|
||||
RegisterSpellScript(spell_kyrioss_lightning_torrent);
|
||||
RegisterSpellScript(spell_kyrioss_lightning_torrent_effect);
|
||||
RegisterSpellScript(spell_kyrioss_unstable_charge_explosion);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) WowCommunity Project
|
||||
* Copyright WowCommunity Project by Thordekk
|
||||
*
|
||||
* This SourceCode is NOT free a software. Please hold everything Private
|
||||
* and read our Terms
|
||||
*/
|
||||
|
||||
#include "the_rookery.h"
|
||||
@@ -12,23 +10,31 @@
|
||||
|
||||
enum Spells
|
||||
{
|
||||
// Chaotic Corruption
|
||||
SPELL_CHAOTIC_CORRUPTION = 424737,
|
||||
SPELL_CHAOTIC_CORRUPTION_DOT = 424739,
|
||||
SPELL_CHAOTIC_VULNERABILITY = 424797,
|
||||
SPELL_DARK_GRAVITY = 425048,
|
||||
SPELL_DARK_GRAVITY_DAMAGE = 425052,
|
||||
SPELL_CRUSH_REALITY = 424958,
|
||||
SPELL_CRUSH_REALITY_DAMAGE = 425113,
|
||||
SPELL_REALITY_TEAR = 426136,
|
||||
SPELL_LINGERING_VOID = 424966,
|
||||
SPELL_DARK_GRAVITY_PERIODIC = 426160,
|
||||
|
||||
// Crush Reality
|
||||
SPELL_CRUSH_REALITY = 424958,
|
||||
SPELL_CRUSH_REALITY_DAMAGE = 425113,
|
||||
SPELL_LINGERING_VOID_CRUSH = 424961,
|
||||
SPELL_REALITY_TEAR = 426133,
|
||||
SPELL_REALITY_TEAR_BEAM = 426136,
|
||||
|
||||
// Dark Gravity
|
||||
SPELL_DARK_GRAVITY = 425048,
|
||||
SPELL_DARK_GRAVITY_DAMAGE = 425052,
|
||||
SPELL_LINGERING_VOID = 424966,
|
||||
SPELL_DARK_GRAVITY_PERIODIC = 426160,
|
||||
};
|
||||
|
||||
enum Events
|
||||
{
|
||||
EVENT_CHAOTIC_CORRUPTION = 1,
|
||||
EVENT_CRUSH_REALITY,
|
||||
EVENT_CRUSH_REALITY_DAMAGE,
|
||||
EVENT_DARK_GRAVITY,
|
||||
EVENT_CRUSH_REALITY
|
||||
EVENT_REALITY_TEAR_BEAM
|
||||
};
|
||||
|
||||
enum talks
|
||||
@@ -55,9 +61,9 @@ struct boss_stormguard_gorren : public BossAI
|
||||
{
|
||||
Talk(TALK_INTRO);
|
||||
BossAI::JustEngagedWith(who);
|
||||
events.ScheduleEvent(EVENT_CHAOTIC_CORRUPTION, 5s);
|
||||
events.ScheduleEvent(EVENT_CHAOTIC_CORRUPTION, 6s);
|
||||
events.ScheduleEvent(EVENT_CRUSH_REALITY, 10s + 500ms);
|
||||
events.ScheduleEvent(EVENT_DARK_GRAVITY, 15s);
|
||||
events.ScheduleEvent(EVENT_CRUSH_REALITY, 25s);
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
@@ -65,29 +71,30 @@ struct boss_stormguard_gorren : public BossAI
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_CHAOTIC_CORRUPTION:
|
||||
{
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_CHAOTIC_CORRUPTION);
|
||||
if (IsMythic())
|
||||
target->CastSpell(target, SPELL_CHAOTIC_VULNERABILITY, true);
|
||||
}
|
||||
Talk(TALK_AGGRO);
|
||||
events.Repeat(20s);
|
||||
events.Repeat(33s);
|
||||
break;
|
||||
case EVENT_DARK_GRAVITY:
|
||||
DoCastAOE(SPELL_DARK_GRAVITY);
|
||||
events.Repeat(30s);
|
||||
break;
|
||||
|
||||
}
|
||||
case EVENT_CRUSH_REALITY:
|
||||
{
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_CRUSH_REALITY);
|
||||
|
||||
// Create void zones and reality tears
|
||||
DoCast(target, SPELL_REALITY_TEAR_BEAM, TRIGGERED_FULL_MASK);
|
||||
}
|
||||
events.Repeat(16s);
|
||||
events.ScheduleEvent(EVENT_CRUSH_REALITY_DAMAGE, 3s);
|
||||
break;
|
||||
}
|
||||
case EVENT_CRUSH_REALITY_DAMAGE:
|
||||
{
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
{
|
||||
Position pos = target->GetPosition();
|
||||
me->CastSpell(pos, SPELL_LINGERING_VOID, true);
|
||||
|
||||
DoCast(target, SPELL_CRUSH_REALITY_DAMAGE);
|
||||
me->CastSpell(pos, SPELL_LINGERING_VOID_CRUSH, true);
|
||||
for (uint8 i = 0; i < 8; ++i)
|
||||
{
|
||||
float angle = i * (M_PI / 4);
|
||||
@@ -98,9 +105,27 @@ struct boss_stormguard_gorren : public BossAI
|
||||
me->CastSpell(tearPos, SPELL_REALITY_TEAR, true);
|
||||
}
|
||||
}
|
||||
events.Repeat(45s);
|
||||
break;
|
||||
|
||||
}
|
||||
case EVENT_DARK_GRAVITY:
|
||||
{
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
{
|
||||
Position pos = target->GetPosition();
|
||||
me->CastSpell(pos, SPELL_DARK_GRAVITY, false);
|
||||
me->CastSpell(pos, SPELL_LINGERING_VOID, true);
|
||||
me->CastSpell(pos, SPELL_DARK_GRAVITY_PERIODIC, true);
|
||||
me->CastSpell(pos, SPELL_DARK_GRAVITY_DAMAGE, true);
|
||||
}
|
||||
events.Repeat(33s);
|
||||
break;
|
||||
}
|
||||
case EVENT_REALITY_TEAR_BEAM:
|
||||
{
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
DoCast(target, SPELL_REALITY_TEAR_BEAM);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -109,202 +134,10 @@ struct boss_stormguard_gorren : public BossAI
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
_JustDied();
|
||||
Map::PlayerList const& players = me->GetMap()->GetPlayers();
|
||||
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
if (Player* player = itr->GetSource())
|
||||
player->RemoveAurasDueToSpell(SPELL_LINGERING_VOID);
|
||||
}
|
||||
};
|
||||
|
||||
// 424739 Chaotic Corruption DOT
|
||||
class spell_chaotic_corruption : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_CHAOTIC_CORRUPTION_DOT });
|
||||
}
|
||||
|
||||
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
Unit* caster = GetCaster();
|
||||
if (!target || !caster)
|
||||
return;
|
||||
|
||||
// Find the nearest player to transfer the corruption to
|
||||
Player* nearestPlayer = nullptr;
|
||||
float minDistance = FLT_MAX;
|
||||
|
||||
Map* map = target->GetMap();
|
||||
if (!map)
|
||||
return;
|
||||
|
||||
Map::PlayerList const& players = map->GetPlayers();
|
||||
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
{
|
||||
if (Player* player = itr->GetSource())
|
||||
{
|
||||
if (player->IsAlive() && !player->IsGameMaster() && player != target)
|
||||
{
|
||||
float distance = target->GetDistance(player);
|
||||
if (distance < minDistance)
|
||||
{
|
||||
minDistance = distance;
|
||||
nearestPlayer = player;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Transfer the corruption to the nearest player
|
||||
if (nearestPlayer && minDistance < 30.0f) // Within reasonable range
|
||||
{
|
||||
caster->CastSpell(nearestPlayer, SPELL_CHAOTIC_CORRUPTION_DOT, true);
|
||||
|
||||
// Visual effect for the transfer
|
||||
uint32 visualId = 135038; // From spell data
|
||||
caster->SendPlaySpellVisual(nearestPlayer, visualId, 0, 0, 1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_chaotic_corruption::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
// 424958 - Crush Reality
|
||||
class spell_crush_reality : public SpellScript
|
||||
{
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ 425113 }); // Referenced spell in description
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
WorldLocation const* dest = GetExplTargetDest();
|
||||
if (!dest)
|
||||
return;
|
||||
|
||||
// Visual effect for the reality crush
|
||||
caster->SendPlaySpellVisual(caster, 134903, 0, 0, 1.0f);
|
||||
|
||||
// Play a sound effect for the reality crush
|
||||
caster->PlayDirectSound(18023); // Appropriate crushing sound
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_crush_reality::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// 425113 - Crush Reality Effect
|
||||
class spell_crush_reality_effect : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({
|
||||
424961, // Lingering Void
|
||||
426131 // Reality Tear
|
||||
});
|
||||
}
|
||||
|
||||
void FilterTargets(std::list<WorldObject*>& targets)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
// Keep only players
|
||||
targets.remove_if([](WorldObject* obj) {
|
||||
return !obj->IsPlayer();
|
||||
});
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_crush_reality_effect::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
// 425052 - Dark Gravity Explosion
|
||||
class spell_dark_gravity_explosion : public SpellScript
|
||||
{
|
||||
void HandleKnockback(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (Unit* target = GetHitUnit())
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
// Apply knockback from caster position
|
||||
Position casterPos = caster->GetPosition();
|
||||
target->KnockbackFrom(casterPos, 15.0f, 15.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_dark_gravity_explosion::HandleKnockback, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
// 426160 - Dark Gravity Periodic Damage
|
||||
class spell_dark_gravity_periodic : public AuraScript
|
||||
{
|
||||
void OnPeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
// Pull players toward the caster
|
||||
Map* map = caster->GetMap();
|
||||
if (!map)
|
||||
return;
|
||||
|
||||
// Define pull radius - adjust as needed
|
||||
float radius = 60.0f;
|
||||
|
||||
Map::PlayerList const& players = map->GetPlayers();
|
||||
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
{
|
||||
if (Player* player = itr->GetSource())
|
||||
{
|
||||
if (player->IsAlive() && player->IsWithinDist(caster, radius))
|
||||
{
|
||||
// Calculate direction vector toward caster
|
||||
float angle = player->GetAbsoluteAngle(caster);
|
||||
float pullStrength = 5.0f; // Adjust pull strength as needed
|
||||
|
||||
// Apply movement force toward caster
|
||||
Position pullPos(player->GetPositionX() + cos(angle + M_PI) * 5.0f,
|
||||
player->GetPositionY() + sin(angle + M_PI) * 5.0f,
|
||||
player->GetPositionZ());
|
||||
player->KnockbackFrom(pullPos, pullStrength, pullStrength);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_dark_gravity_periodic::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_stormguard_gorren()
|
||||
{
|
||||
RegisterCreatureAI(boss_stormguard_gorren);
|
||||
RegisterSpellScript(spell_chaotic_corruption);
|
||||
RegisterSpellScript(spell_crush_reality);
|
||||
RegisterSpellScript(spell_crush_reality_effect);
|
||||
RegisterSpellScript(spell_dark_gravity_explosion);
|
||||
RegisterSpellScript(spell_dark_gravity_periodic);
|
||||
}
|
||||
RegisterTheRookeryCreatureAI(boss_stormguard_gorren);
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) WowCommunity Project
|
||||
* Copyright WowCommunity Project by Thordekk
|
||||
*
|
||||
* This SourceCode is NOT free a software. Please hold everything Private
|
||||
* and read our Terms
|
||||
*/
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
@@ -10,157 +8,198 @@
|
||||
#include "SpellScript.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "ObjectAccessor.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
// Voidstone Monstrosity
|
||||
SPELL_NULL_UPHEAVAL = 423305,
|
||||
SPELL_NULL_UPHEAVAL_DAMAGE = 423356,
|
||||
SPELL_VOID_SHELL = 445262,
|
||||
SPELL_UNLEASH_CORRUPTION = 429487,
|
||||
SPELL_UNSTABLE_CORRUPTION = 429493,
|
||||
SPELL_SEEPING_CORRUPTION = 433067,
|
||||
SPELL_FULL_ENERGY = 448502,
|
||||
SPELL_ATTACK_ME = 447441,
|
||||
SPELL_TAINTED_WATERS = 455219,
|
||||
SPELL_OBLIVION_WAVE = 445457,
|
||||
SPELL_OBLIVION_WAVE_DAMAGE = 445537,
|
||||
SPELL_ENTROPY = 423393,
|
||||
SPELL_UNSTABLE_CORRUPTION = 429493,
|
||||
SPELL_UNSTABLE_CORRUPTION_2 = 429499,
|
||||
SPELL_UNLEASH_CORRUPTION = 429487,
|
||||
SPELL_NULL_UPHEAVAL = 423305,
|
||||
SPELL_NULL_UPHEAVAL_TRIGGER = 423145,
|
||||
SPELL_NULL_UPHEAVAL_DAMAGE = 423356,
|
||||
SPELL_STORMS_VENGEANCE = 423839,
|
||||
SPELL_STORMRIDERS_CHARGE = 458082,
|
||||
SPELL_STORMRIDER_PING = 428630,
|
||||
SPELL_SEEPING_FRAGMENT = 458013,
|
||||
|
||||
// Voidstone Fragment
|
||||
SPELL_RESHAPE = 428269,
|
||||
|
||||
// Voidstone Awakened
|
||||
SPELL_CORRUPTION_OVERLOAD = 429029,
|
||||
SPELL_SEEPING_FRAGMENT_DNT = 458014,
|
||||
|
||||
// Stormrider Vokmar
|
||||
SPELL_STORMRIDERS_CHARGE = 458082,
|
||||
SPELL_STORMS_VENGEANCE = 424371
|
||||
SPELL_STORMS_VENGEANCE_VOKMAR = 424371,
|
||||
SPELL_ANCHOR_HERE = 45313
|
||||
};
|
||||
|
||||
enum Events
|
||||
{
|
||||
EVENT_NULL_UPHEAVAL = 1,
|
||||
EVENT_VOID_SHELL,
|
||||
EVENT_UNLEASH_CORRUPTION,
|
||||
EVENT_OBLIVION_WAVE,
|
||||
EVENT_ENTROPY_CHECK,
|
||||
EVENT_OBLIVION_WAVE = 1,
|
||||
EVENT_UNSTABLE_CORRUPTION,
|
||||
EVENT_NULL_UPHEAVAL,
|
||||
EVENT_STORMS_VENGEANCE,
|
||||
EVENT_SUMMON_VOKMAR,
|
||||
EVENT_VOKMAR_VENGEANCE,
|
||||
EVENT_SPAWN_FRAGMENTS,
|
||||
ACTION_START_ENCOUNTER
|
||||
};
|
||||
|
||||
enum Talks
|
||||
{
|
||||
TALK_INTRO = 1,
|
||||
TALK_AGGRO,
|
||||
TALK_KILL,
|
||||
TALK_DEATH
|
||||
};
|
||||
|
||||
//207207
|
||||
struct boss_voidstone_monstrosity : public BossAI
|
||||
{
|
||||
boss_voidstone_monstrosity(Creature* creature)
|
||||
: BossAI(creature, DATA_VOIDSTONE_MONSTROSITY),
|
||||
_voidShellActive(false),
|
||||
_fragmentsSpawned(false)
|
||||
_vulnerable(false)
|
||||
{
|
||||
}
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
BossAI::Reset();
|
||||
_vokmarGuid = ObjectGuid::Empty;
|
||||
_voidShellActive = false;
|
||||
_fragmentsSpawned = false;
|
||||
_vulnerable = false;
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
Talk(TALK_AGGRO);
|
||||
BossAI::JustEngagedWith(who);
|
||||
events.ScheduleEvent(EVENT_NULL_UPHEAVAL, 10s);
|
||||
events.ScheduleEvent(EVENT_VOID_SHELL, 15s);
|
||||
events.ScheduleEvent(EVENT_UNLEASH_CORRUPTION, 8s);
|
||||
events.ScheduleEvent(EVENT_OBLIVION_WAVE, 12s);
|
||||
events.ScheduleEvent(EVENT_ENTROPY_CHECK, 2s);
|
||||
events.ScheduleEvent(EVENT_SUMMON_VOKMAR, 5s);
|
||||
events.ScheduleEvent(EVENT_SUMMON_VOKMAR, 1s);
|
||||
|
||||
DoCastSelf(SPELL_FULL_ENERGY, true);
|
||||
DoCastSelf(SPELL_ATTACK_ME, true);
|
||||
DoCastSelf(SPELL_TAINTED_WATERS, true);
|
||||
ActivateVoidShell();
|
||||
|
||||
events.ScheduleEvent(EVENT_OBLIVION_WAVE, 6s);
|
||||
events.ScheduleEvent(EVENT_UNSTABLE_CORRUPTION, 12s + 800ms);
|
||||
events.ScheduleEvent(EVENT_NULL_UPHEAVAL, 42s);
|
||||
}
|
||||
|
||||
void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
|
||||
{
|
||||
if (_voidShellActive)
|
||||
{
|
||||
damage = CalculatePct(damage, 80); // Reduce damage by 20% during Void Shell
|
||||
damage = CalculatePct(damage, 90); // Feeble while Void Shell holds (broken by Vokmar)
|
||||
}
|
||||
else if (_vulnerable)
|
||||
{
|
||||
damage = CalculatePct(damage, 150); // Takes extra damage when exposed
|
||||
}
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
_JustDied();
|
||||
}
|
||||
|
||||
void ExecuteEvent(uint32 eventId) override
|
||||
{
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_NULL_UPHEAVAL:
|
||||
DoCastAOE(SPELL_NULL_UPHEAVAL);
|
||||
if (!_fragmentsSpawned)
|
||||
case EVENT_SUMMON_VOKMAR:
|
||||
{
|
||||
if (Creature* vokmar = me->SummonCreature(NPC_STORMRIDER_VOKMAR, 2800.0f, -1612.0f, 330.0f, 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30s))
|
||||
{
|
||||
// Spawn Voidstone Fragments
|
||||
for (uint8 i = 0; i < 8; ++i)
|
||||
{
|
||||
float angle = i * (M_PI / 4);
|
||||
Position pos = me->GetPosition();
|
||||
pos.m_positionX += 10.0f * cos(angle);
|
||||
pos.m_positionY += 10.0f * sin(angle);
|
||||
if (Creature* fragment = me->SummonCreature(NPC_VOIDSTONE_FRAGMENT, pos))
|
||||
fragment->CastSpell(fragment, SPELL_RESHAPE, false);
|
||||
}
|
||||
_fragmentsSpawned = true;
|
||||
_vokmarGuid = vokmar->GetGUID();
|
||||
vokmar->SetReactState(REACT_PASSIVE);
|
||||
vokmar->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
vokmar->CastSpell(vokmar, SPELL_ANCHOR_HERE, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case EVENT_OBLIVION_WAVE:
|
||||
DoCastAOE(SPELL_OBLIVION_WAVE);
|
||||
events.Repeat(30s);
|
||||
break;
|
||||
|
||||
case EVENT_VOID_SHELL:
|
||||
DoCastSelf(SPELL_VOID_SHELL);
|
||||
_voidShellActive = true;
|
||||
events.Repeat(45s);
|
||||
break;
|
||||
|
||||
case EVENT_UNLEASH_CORRUPTION:
|
||||
if (Unit* target1 = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
case EVENT_UNSTABLE_CORRUPTION:
|
||||
{
|
||||
std::list<Unit*> targets;
|
||||
SelectTargetList(targets, 4, SelectTargetMethod::Random, 0, 40.0f, true);
|
||||
bool leash = false;
|
||||
for (Unit* target : targets)
|
||||
{
|
||||
if (Unit* target2 = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true, true, -SPELL_UNSTABLE_CORRUPTION))
|
||||
{
|
||||
DoCast(target1, SPELL_UNLEASH_CORRUPTION);
|
||||
DoCast(target2, SPELL_UNLEASH_CORRUPTION);
|
||||
}
|
||||
leash = !leash;
|
||||
DoCast(target, leash ? SPELL_UNSTABLE_CORRUPTION : SPELL_UNSTABLE_CORRUPTION_2);
|
||||
}
|
||||
events.Repeat(25s);
|
||||
DoCastSelf(SPELL_UNLEASH_CORRUPTION, TRIGGERED_FULL_MASK);
|
||||
events.Repeat(26s);
|
||||
break;
|
||||
|
||||
case EVENT_OBLIVION_WAVE:
|
||||
if (Unit* target = me->GetVictim())
|
||||
DoCast(target, SPELL_OBLIVION_WAVE);
|
||||
events.Repeat(18s);
|
||||
}
|
||||
case EVENT_NULL_UPHEAVAL:
|
||||
{
|
||||
DoCastSelf(SPELL_NULL_UPHEAVAL);
|
||||
ActivateVoidShell();
|
||||
events.ScheduleEvent(EVENT_SPAWN_FRAGMENTS, 2s + 500ms);
|
||||
events.Repeat(32s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SPAWN_FRAGMENTS:
|
||||
{
|
||||
if (Creature* vokmar = ObjectAccessor::GetCreature(*me, _vokmarGuid))
|
||||
{
|
||||
vokmar->CastSpell(me, SPELL_STORMRIDERS_CHARGE, true);
|
||||
}
|
||||
|
||||
case EVENT_ENTROPY_CHECK:
|
||||
if (!me->IsWithinMeleeRange(me->GetVictim()))
|
||||
DoCastAOE(SPELL_ENTROPY);
|
||||
events.Repeat(2s);
|
||||
for (uint8 i = 0; i < 4; ++i)
|
||||
{
|
||||
Position pos = me->GetNearPosition(8.0f, i * (M_PI / 2));
|
||||
if (Creature* fragment = me->SummonCreature(NPC_VOIDSTONE_FRAGMENT, pos, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20s))
|
||||
fragment->CastSpell(fragment, SPELL_RESHAPE, false);
|
||||
}
|
||||
|
||||
DeactivateVoidShell();
|
||||
events.ScheduleEvent(EVENT_STORMS_VENGEANCE, 2s);
|
||||
events.ScheduleEvent(EVENT_VOKMAR_VENGEANCE, 2s);
|
||||
break;
|
||||
|
||||
case EVENT_SUMMON_VOKMAR:
|
||||
// Logic to summon Stormrider Vokmar
|
||||
if (Creature* vokmar = me->SummonCreature(NPC_STORMRIDER_VOKMAR, me->GetPosition()))
|
||||
vokmar->AI()->DoAction(ACTION_START_ENCOUNTER);
|
||||
}
|
||||
case EVENT_STORMS_VENGEANCE:
|
||||
{
|
||||
DoCastSelf(SPELL_STORMS_VENGEANCE);
|
||||
events.ScheduleEvent(EVENT_NULL_UPHEAVAL, 20s);
|
||||
events.ScheduleEvent(EVENT_OBLIVION_WAVE, 22s);
|
||||
break;
|
||||
|
||||
}
|
||||
case EVENT_VOKMAR_VENGEANCE:
|
||||
{
|
||||
if (Creature* vokmar = ObjectAccessor::GetCreature(*me, _vokmarGuid))
|
||||
vokmar->CastSpell(me, SPELL_STORMS_VENGEANCE_VOKMAR, true);
|
||||
events.Repeat(4s);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
void ActivateVoidShell()
|
||||
{
|
||||
DoCastSelf(SPELL_VOID_SHELL);
|
||||
_voidShellActive = true;
|
||||
_vulnerable = false;
|
||||
}
|
||||
|
||||
void DeactivateVoidShell()
|
||||
{
|
||||
me->RemoveAurasDueToSpell(SPELL_VOID_SHELL);
|
||||
_voidShellActive = false;
|
||||
_vulnerable = true;
|
||||
}
|
||||
|
||||
ObjectGuid _vokmarGuid;
|
||||
bool _voidShellActive;
|
||||
bool _fragmentsSpawned;
|
||||
bool _vulnerable;
|
||||
};
|
||||
|
||||
void AddSC_boss_voidstone_monstrosity()
|
||||
{
|
||||
RegisterCreatureAI(boss_voidstone_monstrosity);
|
||||
}
|
||||
RegisterTheRookeryCreatureAI(boss_voidstone_monstrosity);
|
||||
}
|
||||
@@ -55,18 +55,16 @@ struct instance_the_rookery : public InstanceMapScript
|
||||
if (!player->GetGroup() || !player->GetGroup()->GetLeaderGUID())
|
||||
return;
|
||||
|
||||
ObjectGuid leaderguid = player->GetGroup()->GetLeaderGUID();
|
||||
if (!leaderguid)
|
||||
return;
|
||||
|
||||
if (Player* leader = ObjectAccessor::GetPlayer(*player, leaderguid))
|
||||
{
|
||||
faction_group = leader->GetTeamId();
|
||||
}
|
||||
player->GetGroup()->AddFollowerModeBots(player);
|
||||
}
|
||||
|
||||
private:
|
||||
TeamId faction_group = TEAM_HORDE;
|
||||
void OnPlayerExit(Player* player)
|
||||
{
|
||||
if (!player->GetGroup())
|
||||
return;
|
||||
|
||||
player->GetGroup()->DespawnFollowerModeBots(player);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -29,7 +29,8 @@ enum TheRookeryCreatureIds : uint32
|
||||
NPC_DARK_FRAGMENT = 218839,
|
||||
NPC_STORMROOK = 209538,
|
||||
NPC_VOIDSTONE_FRAGMENT = 227518,
|
||||
NPC_STORMRIDER_VOKMAR = 218334,
|
||||
NPC_STORMRIDER_VOKMAR = 211260,
|
||||
NPC_STORMRIDER_VOKMAR_LEGION = 215967,
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
|
||||
@@ -17,6 +17,13 @@ void AddSC_instance_the_rookery();
|
||||
void AddSC_boss_stormguard_gorren();
|
||||
void AddSC_boss_voidstone_monstrosity();
|
||||
|
||||
//Priority Of The Sacred Flame
|
||||
void AddSC_instance_priority_of_the_sacred_flame();
|
||||
void AddSC_boss_baron_braunpyke();
|
||||
void AddSC_boss_captain_dailcry();
|
||||
void AddSC_boss_prioress_murrpray();
|
||||
void AddSC_priority_of_the_sacred_flame();
|
||||
|
||||
// The name of this function should match:
|
||||
// void Add${NameOfDirectory}Scripts()
|
||||
void AddWarWithinScripts()
|
||||
@@ -28,4 +35,12 @@ void AddWarWithinScripts()
|
||||
AddSC_instance_the_rookery();
|
||||
AddSC_boss_stormguard_gorren();
|
||||
AddSC_boss_voidstone_monstrosity();
|
||||
|
||||
//Priority Of The Sacred Flame
|
||||
AddSC_instance_priority_of_the_sacred_flame();
|
||||
AddSC_boss_baron_braunpyke();
|
||||
AddSC_boss_captain_dailcry();
|
||||
AddSC_boss_prioress_murrpray();
|
||||
AddSC_priority_of_the_sacred_flame();
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user