Core/SAI: ported set speed, weather and override light smart actions from 335
This commit is contained in:
1 parent
0e61055ac3
commit
52287e1f07
8 files changed
+177
-36
No files matched your search
@@ -344,6 +344,7 @@ enum EncounterActions
|
||||
|
||||
enum MiscData
|
||||
{
|
||||
LIGHT_DEFAULT = 2488,
|
||||
LIGHT_SNOWSTORM = 2490,
|
||||
LIGHT_SOULSTORM = 2508,
|
||||
LIGHT_FOG = 2509,
|
||||
@@ -518,7 +519,7 @@ class boss_the_lich_king : public CreatureScript
|
||||
Cell::VisitGridObjects(me, worker, 333.0f);
|
||||
|
||||
// Reset any light override
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_ICECROWN_CITADEL, 0, 5000);
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_ICECROWN_CITADEL, LIGHT_DEFAULT, 0, 5000);
|
||||
|
||||
if (!ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HIGHLORD_TIRION_FORDRING)))
|
||||
me->SummonCreature(NPC_HIGHLORD_TIRION_FORDRING_LK, TirionSpawn, TEMPSUMMON_MANUAL_DESPAWN);
|
||||
@@ -532,7 +533,7 @@ class boss_the_lich_king : public CreatureScript
|
||||
me->GetMotionMaster()->MoveFall();
|
||||
if (Creature* frostmourne = me->FindNearestCreature(NPC_FROSTMOURNE_TRIGGER, 50.0f))
|
||||
frostmourne->DespawnOrUnsummon();
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_ICECROWN_CITADEL, LIGHT_FOG, 5000);
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_ICECROWN_CITADEL, LIGHT_DEFAULT, LIGHT_FOG, 5000);
|
||||
me->GetMap()->SetZoneWeather(AREA_ICECROWN_CITADEL, WEATHER_STATE_FOG, 0.0f);
|
||||
}
|
||||
|
||||
@@ -601,7 +602,7 @@ class boss_the_lich_king : public CreatureScript
|
||||
me->GetMap()->SetZoneMusic(AREA_ICECROWN_CITADEL, MUSIC_FINAL);
|
||||
break;
|
||||
case ACTION_RESTORE_LIGHT:
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_ICECROWN_CITADEL, 0, 5000);
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_ICECROWN_CITADEL, LIGHT_DEFAULT, 0, 5000);
|
||||
break;
|
||||
case ACTION_BREAK_FROSTMOURNE:
|
||||
me->CastSpell((Unit*)nullptr, SPELL_SUMMON_BROKEN_FROSTMOURNE, TRIGGERED_IGNORE_CAST_IN_PROGRESS);
|
||||
@@ -736,7 +737,7 @@ class boss_the_lich_king : public CreatureScript
|
||||
{
|
||||
summon->CastSpell((Unit*)nullptr, SPELL_BROKEN_FROSTMOURNE, true);
|
||||
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_ICECROWN_CITADEL, LIGHT_SOULSTORM, 10000);
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_ICECROWN_CITADEL, LIGHT_DEFAULT, LIGHT_SOULSTORM, 10000);
|
||||
me->GetMap()->SetZoneWeather(AREA_ICECROWN_CITADEL, WEATHER_STATE_BLACKSNOW, 0.5f);
|
||||
|
||||
events.ScheduleEvent(EVENT_OUTRO_SOUL_BARRAGE, 5000, 0, PHASE_OUTRO);
|
||||
@@ -791,7 +792,7 @@ class boss_the_lich_king : public CreatureScript
|
||||
{
|
||||
if (spell->Id == REMORSELESS_WINTER_1 || spell->Id == REMORSELESS_WINTER_2)
|
||||
{
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_ICECROWN_CITADEL, LIGHT_SNOWSTORM, 5000);
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_ICECROWN_CITADEL, LIGHT_DEFAULT, LIGHT_SNOWSTORM, 5000);
|
||||
me->GetMap()->SetZoneWeather(AREA_ICECROWN_CITADEL, WEATHER_STATE_LIGHT_SNOW, 0.5f);
|
||||
summons.DespawnEntry(NPC_SHADOW_TRAP);
|
||||
}
|
||||
|
||||
@@ -305,7 +305,7 @@ enum AreaIds
|
||||
enum MiscData
|
||||
{
|
||||
// Lights
|
||||
LIGHT_GET_DEFAULT_FOR_MAP = 0,
|
||||
LIGHT_DEFAULT = 1773,
|
||||
LIGHT_OBSCURE_SPACE = 1822,
|
||||
LIGHT_CHANGE_DIMENSIONS = 1823,
|
||||
LIGHT_ARCANE_RUNES = 1824,
|
||||
@@ -583,7 +583,7 @@ public:
|
||||
instance->SetBossState(DATA_MALYGOS_EVENT, FAIL);
|
||||
instance->SetBossState(DATA_MALYGOS_EVENT, NOT_STARTED);
|
||||
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_GET_DEFAULT_FOR_MAP, 1*IN_MILLISECONDS);
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_DEFAULT, 0, 1 * IN_MILLISECONDS);
|
||||
|
||||
if (!summons.empty())
|
||||
{
|
||||
@@ -701,7 +701,7 @@ public:
|
||||
me->SetDisableGravity(true);
|
||||
if (Creature* alexstraszaBunny = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ALEXSTRASZA_BUNNY_GUID)))
|
||||
me->SetFacingToObject(alexstraszaBunny);
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_ARCANE_RUNES, 5 * IN_MILLISECONDS);
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_DEFAULT, LIGHT_ARCANE_RUNES, 5 * IN_MILLISECONDS);
|
||||
events.ScheduleEvent(EVENT_FLY_OUT_OF_PLATFORM, 18 * IN_MILLISECONDS, 0, PHASE_TWO);
|
||||
break;
|
||||
case POINT_SURGE_OF_POWER_P_TWO:
|
||||
@@ -713,7 +713,7 @@ public:
|
||||
}
|
||||
break;
|
||||
case POINT_DESTROY_PLATFORM_P_TWO:
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_OBSCURE_SPACE, 1 * IN_MILLISECONDS);
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_DEFAULT, LIGHT_OBSCURE_SPACE, 1 * IN_MILLISECONDS);
|
||||
DoCast(me, SPELL_DESTROY_PLATFORM_CHANNEL);
|
||||
events.ScheduleEvent(EVENT_MOVE_TO_P_THREE_POINT, 11*IN_MILLISECONDS, 0, PHASE_TWO);
|
||||
break;
|
||||
@@ -911,7 +911,7 @@ public:
|
||||
}
|
||||
break;
|
||||
case EVENT_LIGHT_DIMENSION_CHANGE:
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_CHANGE_DIMENSIONS, 2 * IN_MILLISECONDS);
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_DEFAULT, LIGHT_CHANGE_DIMENSIONS, 2 * IN_MILLISECONDS);
|
||||
break;
|
||||
case EVENT_DELAY_MOVE_TO_DESTROY_P:
|
||||
me->GetMotionMaster()->MovePoint(POINT_DESTROY_PLATFORM_P_TWO, MalygosPositions[0]);
|
||||
@@ -921,7 +921,7 @@ public:
|
||||
me->GetMotionMaster()->MovePoint(POINT_IDLE_P_THREE, MalygosPositions[4]);
|
||||
break;
|
||||
case EVENT_START_P_THREE:
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_OBSCURE_ARCANE_RUNES, 1 * IN_MILLISECONDS);
|
||||
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_DEFAULT, LIGHT_OBSCURE_ARCANE_RUNES, 1 * IN_MILLISECONDS);
|
||||
DoCast(me, SPELL_CLEAR_ALL_DEBUFFS);
|
||||
DoCast(me, SPELL_IMMUNE_CURSES);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
|
||||
Reference in new issue
Block a user