diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_corla_herald_of_twilight.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_corla_herald_of_twilight.cpp index dc6a89719ca..dac5e4f9b81 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_corla_herald_of_twilight.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_corla_herald_of_twilight.cpp @@ -17,6 +17,7 @@ #include "ScriptMgr.h" #include "blackrock_caverns.h" +#include "GameEventMgr.h" #include "ScriptedCreature.h" #include "SpellScript.h" #include "Spell.h" @@ -39,6 +40,7 @@ enum Spells SPELL_DRAIN_ESSENSE = 75645, SPELL_AURA_OF_ACCELERATION = 87376, SPELL_TWILIGHT_EVOLUTION = 75732, + SPELL_WEAR_CHRISTMAS_HAT_RED_SELF_DND = 61400, // Twilight Zealot SPELL_KNEELING_SUPPLICATION = 75608, @@ -94,6 +96,11 @@ enum Data DATA_ARRESTED_DEVELOPMENT = 0 }; +enum Misc +{ + GAME_EVENT_WINTER_VEIL = 2 +}; + Position const TwilightZealotSummonPositions[] = { { 585.0278f, 982.8993f, 155.4369f, 1.500983f }, @@ -103,18 +110,18 @@ Position const TwilightZealotSummonPositions[] = struct boss_corla_herald_of_twilight : public BossAI { - boss_corla_herald_of_twilight(Creature* creature) : BossAI(creature, DATA_CORLA_HERALD_OF_TWILIGHT) { } + boss_corla_herald_of_twilight(Creature* creature) : BossAI(creature, DATA_CORLA_HERALD_OF_TWILIGHT), _killedZealots(0) { } - - void Reset() override + void JustAppeared() override { - _Reset(); - _killedZealots = 0; events.SetPhase(PHASE_OUT_OF_COMBAT); events.ScheduleEvent(EVENT_DRAIN_ESSENSE, 1ms, 0, PHASE_OUT_OF_COMBAT); for (uint8 i = 0; i < (IsHeroic() ? 3 : 2); i++) DoSummon(NPC_TWILIGHT_ZEALOT, TwilightZealotSummonPositions[i], 0, TEMPSUMMON_MANUAL_DESPAWN); + + if (sGameEventMgr->IsActiveEvent(GAME_EVENT_WINTER_VEIL)) + DoCastSelf(SPELL_WEAR_CHRISTMAS_HAT_RED_SELF_DND); } void JustEngagedWith(Unit* /*who*/) override diff --git a/src/server/scripts/Maelstrom/Stonecore/boss_high_priestess_azil.cpp b/src/server/scripts/Maelstrom/Stonecore/boss_high_priestess_azil.cpp index aceab3d1573..984601fa470 100644 --- a/src/server/scripts/Maelstrom/Stonecore/boss_high_priestess_azil.cpp +++ b/src/server/scripts/Maelstrom/Stonecore/boss_high_priestess_azil.cpp @@ -17,6 +17,7 @@ #include "ScriptMgr.h" #include "DynamicObject.h" +#include "GameEventMgr.h" #include "InstanceScript.h" #include "Map.h" #include "MoveSplineInit.h" @@ -35,32 +36,33 @@ enum Spells { - SPELL_ENERGY_SHIELD = 82858, - SPELL_CURSE_OF_BLOOD = 79345, - SPELL_FORCE_GRIP = 79351, - SPELL_FORCE_GRIP_CHANGE_SEAT = 79359, - SPELL_FORCE_GRIP_DAMAGE = 79358, - SPELL_SUMMON_GRAVITY_WELL = 79340, - SPELL_EARTH_FURY_ENERGY_SHIELD = 79050, - SPELL_GRAVITY_WELL_VISUAL = 79245, - SPELL_GRAVITY_WELL_AURA_DAMAGE = 79244, - SPELL_GRAVITY_WELL_AURA_PULL = 79333, - SPELL_GRAVITY_WELL_DAMAGE = 79249, - SPELL_GRAVITY_WELL_PULL = 79332, - SPELL_EARTH_FURY_CASTING_VISUAL = 79002, - SPELL_SEISMIC_SHARD_SUMMON_1 = 86860, - SPELL_SEISMIC_SHARD_SUMMON_2 = 86858, - SPELL_SEISMIC_SHARD_SUMMON_3 = 86856, - SPELL_SEISMIC_SHARD_VISUAL = 79009, - SPELL_SEISMIC_SHARD_PREPARE = 86862, - SPELL_SEISMIC_SHARD_TARGETING = 80511, - SPELL_SEISMIC_SHARD_LAUNCH = 79015, - SPELL_SEISMIC_SHARD_MISSLE = 79014, - SPELL_EJECT_ALL_PASSENGERS = 68576, - SPELL_SUMMON_WAVE_SOUTH = 79200, - SPELL_SUMMON_WAVE_WEST = 79196, - SPELL_SUMMON_ADD_SOUTH = 79193, - SPELL_SUMMON_ADD_WEST = 79199 + SPELL_ENERGY_SHIELD = 82858, + SPELL_CURSE_OF_BLOOD = 79345, + SPELL_FORCE_GRIP = 79351, + SPELL_FORCE_GRIP_CHANGE_SEAT = 79359, + SPELL_FORCE_GRIP_DAMAGE = 79358, + SPELL_SUMMON_GRAVITY_WELL = 79340, + SPELL_EARTH_FURY_ENERGY_SHIELD = 79050, + SPELL_GRAVITY_WELL_VISUAL = 79245, + SPELL_GRAVITY_WELL_AURA_DAMAGE = 79244, + SPELL_GRAVITY_WELL_AURA_PULL = 79333, + SPELL_GRAVITY_WELL_DAMAGE = 79249, + SPELL_GRAVITY_WELL_PULL = 79332, + SPELL_EARTH_FURY_CASTING_VISUAL = 79002, + SPELL_SEISMIC_SHARD_SUMMON_1 = 86860, + SPELL_SEISMIC_SHARD_SUMMON_2 = 86858, + SPELL_SEISMIC_SHARD_SUMMON_3 = 86856, + SPELL_SEISMIC_SHARD_VISUAL = 79009, + SPELL_SEISMIC_SHARD_PREPARE = 86862, + SPELL_SEISMIC_SHARD_TARGETING = 80511, + SPELL_SEISMIC_SHARD_LAUNCH = 79015, + SPELL_SEISMIC_SHARD_MISSLE = 79014, + SPELL_EJECT_ALL_PASSENGERS = 68576, + SPELL_SUMMON_WAVE_SOUTH = 79200, + SPELL_SUMMON_WAVE_WEST = 79196, + SPELL_SUMMON_ADD_SOUTH = 79193, + SPELL_SUMMON_ADD_WEST = 79199, + SPELL_WEAR_CHRISTMAS_HAT_RED_SELF_DND = 61400 }; enum Texts @@ -123,6 +125,11 @@ enum VehicleIds VEHICLE_ID_FORCE_GRIP = 892 }; +enum Misc +{ + GAME_EVENT_WINTER_VEIL = 2 +}; + Position const GroundPos = { 1331.82f, 980.314f, 207.542f }; Position const AbovePlatformPos = { 1336.21f, 960.813f, 215.0f }; @@ -144,6 +151,12 @@ class boss_high_priestess_azil : public CreatureScript _isChannelingForceGrip = false; } + void JustAppeared() override + { + if (sGameEventMgr->IsActiveEvent(GAME_EVENT_WINTER_VEIL)) + DoCastSelf(SPELL_WEAR_CHRISTMAS_HAT_RED_SELF_DND); + } + void Reset() override { _Reset();