From 9fbdffee476c1df5a0de2440d8f0810b3f2a28af Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Mon, 4 Oct 2021 03:07:26 +0200 Subject: [PATCH] refactor(Core/Map): Use std::chrono for SetZoneOverrideLight (#6489) * cherry-pick https://github.com/TrinityCore/TrinityCore/commit/e33c4b8f7f18c89fec3d95531fdccad526c12c10 Co-Authored-By: HelloKitty <5829095+HelloKitty@users.noreply.github.com> --- src/server/game/Maps/Map.cpp | 6 +++--- src/server/game/Maps/Map.h | 2 +- .../Northrend/IcecrownCitadel/boss_the_lich_king.cpp | 6 +++--- .../Northrend/Nexus/EyeOfEternity/boss_malygos.cpp | 10 +++++----- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 9a03c22f2..f31f7f351 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -3712,14 +3712,14 @@ void Map::SetZoneWeather(uint32 zoneId, uint32 weatherId, float weatherGrade) } } -void Map::SetZoneOverrideLight(uint32 zoneId, uint32 lightId, uint32 fadeInTime) +void Map::SetZoneOverrideLight(uint32 zoneId, uint32 lightId, Milliseconds fadeInTime) { if (_zoneDynamicInfo.find(zoneId) == _zoneDynamicInfo.end()) _zoneDynamicInfo.insert(ZoneDynamicInfoMap::value_type(zoneId, ZoneDynamicInfo())); ZoneDynamicInfo& info = _zoneDynamicInfo[zoneId]; info.OverrideLightId = lightId; - info.LightFadeInTime = fadeInTime; + info.LightFadeInTime = static_cast(fadeInTime.count()); Map::PlayerList const& players = GetPlayers(); if (!players.isEmpty()) @@ -3727,7 +3727,7 @@ void Map::SetZoneOverrideLight(uint32 zoneId, uint32 lightId, uint32 fadeInTime) WorldPacket data(SMSG_OVERRIDE_LIGHT, 4 + 4 + 4); data << uint32(_defaultLight); data << uint32(lightId); - data << uint32(fadeInTime); + data << uint32(static_cast(fadeInTime.count())); for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) if (Player* player = itr->GetSource()) diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index 252a96b24..b0977dc61 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -596,7 +596,7 @@ public: void PlayDirectSoundToMap(uint32 soundId, uint32 zoneId = 0); void SetZoneMusic(uint32 zoneId, uint32 musicId); void SetZoneWeather(uint32 zoneId, uint32 weatherId, float weatherGrade); - void SetZoneOverrideLight(uint32 zoneId, uint32 lightId, uint32 fadeInTime); + void SetZoneOverrideLight(uint32 zoneId, uint32 lightId, Milliseconds fadeInTime); // Checks encounter state at kill/spellcast, originally in InstanceScript however not every map has instance script :( void UpdateEncounterState(EncounterCreditType type, uint32 creditEntry, Unit* source); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp index ece0df6a4..9abdfc30c 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -732,7 +732,7 @@ public: switch (action) { case ACTION_RESTORE_LIGHT: - me->GetMap()->SetZoneOverrideLight(AREA_THE_FROZEN_THRONE, 0, 5000); + me->GetMap()->SetZoneOverrideLight(AREA_THE_FROZEN_THRONE, 0, 5s); me->GetMap()->SetZoneWeather(AREA_THE_FROZEN_THRONE, WEATHER_STATE_FINE, 0.5f); break; case ACTION_START_ATTACK: @@ -917,7 +917,7 @@ public: { if (spell->Id == REMORSELESS_WINTER_1 || spell->Id == REMORSELESS_WINTER_2) { - me->GetMap()->SetZoneOverrideLight(AREA_THE_FROZEN_THRONE, LIGHT_SNOWSTORM, 5000); + me->GetMap()->SetZoneOverrideLight(AREA_THE_FROZEN_THRONE, LIGHT_SNOWSTORM, 5s); me->GetMap()->SetZoneWeather(AREA_THE_FROZEN_THRONE, WEATHER_STATE_LIGHT_SNOW, 0.5f); summons.DespawnEntry(NPC_SHADOW_TRAP_TRIGGER); } @@ -1536,7 +1536,7 @@ public: me->SetFacingToObject(theLichKing); theLichKing->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID, EQUIP_UNEQUIP); theLichKing->CastSpell((Unit*)nullptr, SPELL_SUMMON_BROKEN_FROSTMOURNE_3, true); - me->GetMap()->SetZoneOverrideLight(AREA_THE_FROZEN_THRONE, LIGHT_SOULSTORM, 10000); + me->GetMap()->SetZoneOverrideLight(AREA_THE_FROZEN_THRONE, LIGHT_SOULSTORM, 10s); me->GetMap()->SetZoneWeather(AREA_THE_FROZEN_THRONE, WEATHER_STATE_BLACKSNOW, 0.5f); _events.ScheduleEvent(EVENT_OUTRO_AFTER_SUMMON_BROKEN_FROSTMOURNE, 1000); diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index 7665ee746..b24e95775 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -300,7 +300,7 @@ public: events.RescheduleEvent(EVENT_VORTEX_LAND_1, 0, 1); break; case MI_POINT_CENTER_AIR_PH_2: - me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_ARCANE_RUNES, 5 * IN_MILLISECONDS); + me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_ARCANE_RUNES, 5s); break; case MI_POINT_PH_3_FIGHT_POSITION: events.RescheduleEvent(EVENT_START_PHASE_3, 6000, 1); @@ -698,7 +698,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_CHANGE_DIMENSIONS, 2s); break; case EVENT_DESTROY_PLATFORM_0: if (Creature* c = me->SummonCreature(NPC_WORLD_TRIGGER_LAOI, CenterPos, TEMPSUMMON_TIMED_DESPAWN, 3000)) @@ -707,7 +707,7 @@ public: c->CastSpell(c, SPELL_DESTROY_PLATFORM_VISUAL, true); c->CastSpell(c, SPELL_DESTROY_PLATFORM_EFFECT, false); } - me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_OBSCURE_SPACE, 1 * IN_MILLISECONDS); + me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_OBSCURE_SPACE, 1s); events.RescheduleEvent(EVENT_MOVE_TO_PHASE_3_POSITION, 2000, 1); break; case EVENT_MOVE_TO_PHASE_3_POSITION: @@ -746,7 +746,7 @@ public: break; case EVENT_START_PHASE_3: events.SetPhase(PHASE_THREE); - me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_OBSCURE_ARCANE_RUNES, 1 * IN_MILLISECONDS); + me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_OBSCURE_ARCANE_RUNES, 1s); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED | UNIT_FLAG_DISABLE_MOVE); if (Unit* target = me->GetVictim()) @@ -821,7 +821,7 @@ public: void EnterEvadeMode() override { - me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_GET_DEFAULT_FOR_MAP, 1 * IN_MILLISECONDS); + me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_GET_DEFAULT_FOR_MAP, 1s); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE); ScriptedAI::EnterEvadeMode(); }