From 074d9ebca70c0dab2b99116ff32942372297e149 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A9=E9=B9=AD?= <18535853+PkllonG@users.noreply.github.com> Date: Mon, 13 Oct 2025 08:30:32 +0800 Subject: [PATCH 1/6] fix(Core/CreatureText): race conditions in CreatureTextMgr repeat group (#23153) Co-authored-by: Shauren Co-authored-by: Giacomo Pozzoni --- .../game/Entities/Creature/Creature.cpp | 27 +++++++ src/server/game/Entities/Creature/Creature.h | 10 +++ src/server/game/Texts/CreatureTextMgr.cpp | 81 ++----------------- src/server/game/Texts/CreatureTextMgr.h | 9 --- 4 files changed, 44 insertions(+), 83 deletions(-) diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 877cfee68a..fe39491c0b 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -3713,6 +3713,33 @@ bool Creature::CanGeneratePickPocketLoot() const return (lootPickPocketRestoreTime == 0 || lootPickPocketRestoreTime < GameTime::GetGameTime().count()); } +void Creature::SetTextRepeatId(uint8 textGroup, uint8 id) +{ + CreatureTextRepeatIds& repeats = m_textRepeat[textGroup]; + if (std::find(repeats.begin(), repeats.end(), id) == repeats.end()) + repeats.push_back(id); + else + LOG_ERROR("sql.sql", "CreatureTextMgr: TextGroup {} for Creature({}) {}, id {} already added", uint32(textGroup), GetName(), GetGUID().ToString(), uint32(id)); +} + +CreatureTextRepeatIds const& Creature::GetTextRepeatGroup(uint8 textGroup) +{ + static CreatureTextRepeatIds const emptyIds; + + CreatureTextRepeatGroup::const_iterator groupItr = m_textRepeat.find(textGroup); + if (groupItr != m_textRepeat.end()) + return groupItr->second; + + return emptyIds; +} + +void Creature::ClearTextRepeatGroup(uint8 textGroup) +{ + CreatureTextRepeatGroup::iterator groupItr = m_textRepeat.find(textGroup); + if (groupItr != m_textRepeat.end()) + groupItr->second.clear(); +} + void Creature::SetRespawnTime(uint32 respawn) { m_respawnTime = respawn ? GameTime::GetGameTime().count() + respawn : 0; diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index e5ebcd45a4..950bc5367c 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -39,6 +39,10 @@ class CreatureGroup; #define MAX_VENDOR_ITEMS 150 // Limitation in 3.x.x item count in SMSG_LIST_INVENTORY +//used for handling non-repeatable random texts +typedef std::vector CreatureTextRepeatIds; +typedef std::unordered_map CreatureTextRepeatGroup; + class Creature : public Unit, public GridObject, public MovableMapObject, public UpdatableMapObject { public: @@ -388,6 +392,10 @@ public: void UpdateLeashExtensionTime(); uint8 GetLeashTimer() const; + CreatureTextRepeatIds const& GetTextRepeatGroup(uint8 textGroup); + void SetTextRepeatId(uint8 textGroup, uint8 id); + void ClearTextRepeatGroup(uint8 textGroup); + bool IsFreeToMove(); static constexpr uint32 MOVE_CIRCLE_CHECK_INTERVAL = 3000; static constexpr uint32 MOVE_BACKWARDS_CHECK_INTERVAL = 2000; @@ -519,6 +527,8 @@ private: Spell const* _focusSpell; ///> Locks the target during spell cast for proper facing + CreatureTextRepeatGroup m_textRepeat; + bool _isMissingSwimmingFlagOutOfCombat; uint32 m_assistanceTimer; diff --git a/src/server/game/Texts/CreatureTextMgr.cpp b/src/server/game/Texts/CreatureTextMgr.cpp index c471c78154..0a69981cda 100644 --- a/src/server/game/Texts/CreatureTextMgr.cpp +++ b/src/server/game/Texts/CreatureTextMgr.cpp @@ -83,7 +83,7 @@ void CreatureTextMgr::LoadCreatureTexts() uint32 oldMSTime = getMSTime(); mTextMap.clear(); // for reload case - mTextRepeatMap.clear(); //reset all currently used temp texts + //all currently used temp texts are NOT reset WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_SEL_CREATURE_TEXT); PreparedQueryResult result = WorldDatabase.Query(stmt); @@ -218,7 +218,7 @@ uint32 CreatureTextMgr::SendChat(Creature* source, uint8 textGroup, WorldObject } CreatureTextGroup const& textGroupContainer = itr->second; //has all texts in the group - CreatureTextRepeatIds repeatGroup = GetRepeatGroup(source, textGroup);//has all textIDs from the group that were already said + CreatureTextRepeatIds repeatGroup = source->GetTextRepeatGroup(textGroup);//has all textIDs from the group that were already said CreatureTextGroup tempGroup;//will use this to talk after sorting repeatGroup for (CreatureTextGroup::const_iterator giter = textGroupContainer.begin(); giter != textGroupContainer.end(); ++giter) @@ -227,52 +227,14 @@ uint32 CreatureTextMgr::SendChat(Creature* source, uint8 textGroup, WorldObject if (tempGroup.empty()) { - CreatureTextRepeatMap::iterator mapItr = mTextRepeatMap.find(source->GetGUID()); - if (mapItr != mTextRepeatMap.end()) - { - CreatureTextRepeatGroup::iterator groupItr = mapItr->second.find(textGroup); - groupItr->second.clear(); - } - + source->ClearTextRepeatGroup(textGroup); tempGroup = textGroupContainer; } - uint8 count = 0; - float lastChance = -1; - bool isEqualChanced = true; - - float totalChance = 0; - - for (CreatureTextGroup::const_iterator iter = tempGroup.begin(); iter != tempGroup.end(); ++iter) + auto iter = Acore::Containers::SelectRandomWeightedContainerElement(tempGroup, [](CreatureTextEntry const& t) -> double { - if (lastChance >= 0 && lastChance != iter->probability) - isEqualChanced = false; - - lastChance = iter->probability; - totalChance += iter->probability; - ++count; - } - - int32 offset = -1; - if (!isEqualChanced) - { - for (CreatureTextGroup::const_iterator iter = tempGroup.begin(); iter != tempGroup.end(); ++iter) - { - uint32 chance = uint32(iter->probability); - uint32 r = urand(0, 100); - ++offset; - if (r <= chance) - break; - } - } - - uint32 pos = 0; - if (isEqualChanced || offset < 0) - pos = urand(0, count - 1); - else if (offset >= 0) - pos = offset; - - CreatureTextGroup::const_iterator iter = tempGroup.begin() + pos; + return t.probability; + }); ChatMsg finalType = (msgType == CHAT_MSG_ADDON) ? iter->type : msgType; Language finalLang = (language == LANG_ADDON) ? iter->lang : language; @@ -301,9 +263,8 @@ uint32 CreatureTextMgr::SendChat(Creature* source, uint8 textGroup, WorldObject CreatureTextBuilder builder(finalSource, finalSource->getGender(), finalType, iter->group, iter->id, finalLang, target); SendChatPacket(finalSource, builder, finalType, target, range, teamId, gmOnly); } - if (isEqualChanced || (!isEqualChanced && totalChance == 100.0f)) - SetRepeatId(source, textGroup, iter->id); + source->SetTextRepeatId(textGroup, iter->id); return iter->duration; } @@ -410,34 +371,6 @@ void CreatureTextMgr::SendEmote(Unit* source, uint32 emote) source->HandleEmoteCommand(emote); } -void CreatureTextMgr::SetRepeatId(Creature* source, uint8 textGroup, uint8 id) -{ - if (!source) - return; - - CreatureTextRepeatIds& repeats = mTextRepeatMap[source->GetGUID()][textGroup]; - if (std::find(repeats.begin(), repeats.end(), id) == repeats.end()) - repeats.push_back(id); - else - LOG_ERROR("sql.sql", "CreatureTextMgr: TextGroup {} for Creature {} ({}), id {} already added", - uint32(textGroup), source->GetName(), source->GetGUID().ToString(), uint32(id)); -} - -CreatureTextRepeatIds CreatureTextMgr::GetRepeatGroup(Creature* source, uint8 textGroup) -{ - ASSERT(source);//should never happen - CreatureTextRepeatIds ids; - - CreatureTextRepeatMap::const_iterator mapItr = mTextRepeatMap.find(source->GetGUID()); - if (mapItr != mTextRepeatMap.end()) - { - CreatureTextRepeatGroup::const_iterator groupItr = (*mapItr).second.find(textGroup); - if (groupItr != mapItr->second.end()) - ids = groupItr->second; - } - return ids; -} - bool CreatureTextMgr::TextExist(uint32 sourceEntry, uint8 textGroup) { if (!sourceEntry) diff --git a/src/server/game/Texts/CreatureTextMgr.h b/src/server/game/Texts/CreatureTextMgr.h index d84d91c8dd..569de95867 100644 --- a/src/server/game/Texts/CreatureTextMgr.h +++ b/src/server/game/Texts/CreatureTextMgr.h @@ -77,11 +77,6 @@ typedef std::unordered_map CreatureTextMap; // a typedef std::map LocaleCreatureTextMap; -//used for handling non-repeatable random texts -typedef std::vector CreatureTextRepeatIds; -typedef std::unordered_map CreatureTextRepeatGroup; -typedef std::unordered_map CreatureTextRepeatMap;//guid based - class CreatureTextMgr { CreatureTextMgr() { } @@ -105,14 +100,10 @@ public: template void SendChatPacket(WorldObject* source, Builder const& builder, ChatMsg msgType, WorldObject const* target = nullptr, CreatureTextRange range = TEXT_RANGE_NORMAL, TeamId teamId = TEAM_NEUTRAL, bool gmOnly = false) const; private: - CreatureTextRepeatIds GetRepeatGroup(Creature* source, uint8 textGroup); - void SetRepeatId(Creature* source, uint8 textGroup, uint8 id); - void SendNonChatPacket(WorldObject* source, WorldPacket const* data, ChatMsg msgType, WorldObject const* target, CreatureTextRange range, TeamId teamId, bool gmOnly) const; float GetRangeForChatType(ChatMsg msgType) const; CreatureTextMap mTextMap; - CreatureTextRepeatMap mTextRepeatMap; LocaleCreatureTextMap mLocaleTextMap; }; From 8ac6019a67f0e22489b65b379850d6081619c043 Mon Sep 17 00:00:00 2001 From: Grimdhex Date: Mon, 13 Oct 2025 03:11:44 +0200 Subject: [PATCH 2/6] fix(Scripts/HallOfLightning): wrong stance when bjarngrim reset (#23207) --- .../Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp index 9435ba6491..6312429744 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp @@ -160,10 +160,12 @@ public: me->RemoveAllAuras(); me->CastSpell(me, SPELL_TEMPORARY_ELECTRICAL_CHARGE, true); - RollStance(0, STANCE_DEFENSIVE); if (m_pInstance) m_pInstance->SetData(TYPE_BJARNGRIM, NOT_STARTED); + + me->CastSpell(me, SPELL_BATTLE_STANCE, true); + SetEquipmentSlots(false, EQUIP_SWORD, EQUIP_SHIELD, EQUIP_NO_CHANGE); } void JustEngagedWith(Unit*) override @@ -171,6 +173,8 @@ public: me->SetInCombatWithZone(); Talk(SAY_AGGRO); + RollStance(STANCE_BATTLE); + events.ScheduleEvent(EVENT_BJARNGRIM_CHANGE_STANCE, 20s, 0); // DEFENSIVE STANCE From 8e1426c06a0136bf6a123ace69a883c789dcdf5b Mon Sep 17 00:00:00 2001 From: Grimdhex Date: Mon, 13 Oct 2025 03:12:07 +0200 Subject: [PATCH 3/6] fix(Script/HallOfLightning): wrong spell group with General Bjarngrim (#23205) --- .../Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp index 6312429744..1d5a440df8 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp @@ -179,17 +179,17 @@ public: // DEFENSIVE STANCE events.ScheduleEvent(EVENT_BJARNGRIM_REFLECTION, 8s, STANCE_DEFENSIVE); - events.ScheduleEvent(EVENT_BJARNGRIM_PUMMEL, 5s, STANCE_DEFENSIVE); events.ScheduleEvent(EVENT_BJARNGRIM_KNOCK, 16s, STANCE_DEFENSIVE); events.ScheduleEvent(EVENT_BJARNGRIM_IRONFORM, 12s, STANCE_DEFENSIVE); // BERSERKER STANCE - events.ScheduleEvent(EVENT_BJARNGRIM_MORTAL_STRIKE, 24s, STANCE_BERSERKER); + events.ScheduleEvent(EVENT_BJARNGRIM_INTERCEPT, 23s, STANCE_BERSERKER); + events.ScheduleEvent(EVENT_BJARNGRIM_CLEAVE, 25s, STANCE_BERSERKER); events.ScheduleEvent(EVENT_BJARNGRIM_WHIRLWIND, 26s, STANCE_BERSERKER); // BATTLE STANCE - events.ScheduleEvent(EVENT_BJARNGRIM_INTERCEPT, 23s, STANCE_BATTLE); - events.ScheduleEvent(EVENT_BJARNGRIM_CLEAVE, 25s, STANCE_BATTLE); + events.ScheduleEvent(EVENT_BJARNGRIM_PUMMEL, 5s, STANCE_BATTLE); + events.ScheduleEvent(EVENT_BJARNGRIM_MORTAL_STRIKE, 24s, STANCE_BATTLE); events.ScheduleEvent(EVENT_BJARNGRIM_SLAM, 30s, STANCE_BATTLE); if (m_pInstance) From 9c49349e1e25f81edd46547d693686ff8736d809 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A9=E9=B9=AD?= <18535853+PkllonG@users.noreply.github.com> Date: Mon, 13 Oct 2025 09:19:24 +0800 Subject: [PATCH 4/6] refactor(Core/EventMap): Refactor EventMap and related scripts (#23121) Co-authored-by: Kelno <3866946+kelno@users.noreply.github.com> Co-authored-by: Peter Keresztes Schmidt --- src/common/Utilities/EventMap.cpp | 181 +++++---------- src/common/Utilities/EventMap.h | 177 ++++++-------- src/server/game/AI/CoreAI/CombatAI.cpp | 8 +- .../Battlegrounds/Zones/BattlegroundAB.cpp | 6 +- .../game/Battlegrounds/Zones/BattlegroundAB.h | 7 +- .../Battlegrounds/Zones/BattlegroundEY.cpp | 8 +- .../game/Battlegrounds/Zones/BattlegroundEY.h | 11 +- .../Battlegrounds/Zones/BattlegroundWS.cpp | 12 +- .../game/Battlegrounds/Zones/BattlegroundWS.h | 10 +- .../AlteracValley/alterac_valley.cpp | 2 +- .../BlackrockDepths/blackrock_depths.cpp | 7 +- .../BlackrockDepths/boss_anubshiah.cpp | 31 ++- .../BlackrockDepths/boss_eviscerator.cpp | 19 +- .../boss_gorosh_the_dervish.cpp | 25 +- .../BlackrockDepths/boss_grizzle.cpp | 19 +- .../BlackrockDepths/boss_hedrum.cpp | 21 +- .../boss_moira_bronzebeard.cpp | 37 ++- .../BlackrockDepths/boss_okthor.cpp | 29 ++- .../BlackrockSpire/boss_gyth.cpp | 2 +- .../BlackrockSpire/boss_lord_valthalak.cpp | 8 +- .../boss_quartermaster_zigris.cpp | 6 +- .../BlackrockSpire/boss_rend_blackhand.cpp | 12 +- .../BlackrockSpire/boss_the_beast.cpp | 4 +- .../BlackrockSpire/boss_warmaster_voone.cpp | 14 +- .../instance_blackrock_spire.cpp | 5 +- .../BlackwingLair/instance_blackwing_lair.cpp | 6 +- .../MoltenCore/boss_baron_geddon.cpp | 6 +- .../MoltenCore/boss_garr.cpp | 4 +- .../MoltenCore/boss_gehennas.cpp | 6 +- .../MoltenCore/boss_lucifron.cpp | 6 +- .../MoltenCore/boss_magmadar.cpp | 8 +- .../MoltenCore/boss_majordomo_executus.cpp | 6 +- .../MoltenCore/boss_ragnaros.cpp | 10 +- .../MoltenCore/boss_shazzrah.cpp | 10 +- .../MoltenCore/boss_sulfuron_harbinger.cpp | 18 +- .../Deadmines/boss_mr_smite.cpp | 4 +- .../boss_felblood_kaelthas.cpp | 2 +- .../MagistersTerrace/boss_selin_fireheart.cpp | 2 +- .../ScarletEnclave/chapter1.cpp | 10 +- .../ScarletEnclave/chapter2.cpp | 36 +-- .../ScarletEnclave/chapter5.cpp | 10 +- .../Scholomance/boss_darkmaster_gandling.cpp | 23 +- .../Scholomance/instance_scholomance.cpp | 10 +- .../Stratholme/instance_stratholme.cpp | 22 +- .../SunwellPlateau/boss_brutallus.cpp | 58 ++--- .../SunwellPlateau/boss_kiljaeden.cpp | 54 ++--- .../EasternKingdoms/ZulAman/boss_hexlord.cpp | 80 +++---- .../EasternKingdoms/ZulAman/zulaman.cpp | 12 +- .../EasternKingdoms/ZulGurub/boss_arlokk.cpp | 2 +- .../ZulGurub/boss_mandokir.cpp | 2 +- .../zone_eastern_plaguelands.cpp | 4 +- .../EasternKingdoms/zone_eversong_woods.cpp | 2 +- .../zone_isle_of_queldanas.cpp | 94 ++++---- .../zone_silverpine_forest.cpp | 16 +- src/server/scripts/Events/brewfest.cpp | 12 +- src/server/scripts/Events/hallows_end.cpp | 20 +- .../BattleForMountHyjal/boss_archimonde.cpp | 2 +- .../BattleForMountHyjal/boss_azgalor.cpp | 2 +- .../BattleForMountHyjal/boss_kazrogal.cpp | 6 +- .../BattleForMountHyjal/instance_hyjal.cpp | 16 +- .../CullingOfStratholme/boss_epoch.cpp | 16 +- .../CullingOfStratholme/boss_infinite.cpp | 8 +- .../CullingOfStratholme/boss_mal_ganis.cpp | 16 +- .../CullingOfStratholme/boss_meathook.cpp | 12 +- .../CullingOfStratholme/boss_salramm.cpp | 20 +- .../culling_of_stratholme.cpp | 138 +++++------ .../instance_old_hillsbrad.cpp | 14 +- .../EscapeFromDurnholdeKeep/old_hillsbrad.cpp | 128 +++++----- .../TheBlackMorass/the_black_morass.cpp | 36 +-- .../Kalimdor/OnyxiasLair/boss_onyxia.cpp | 80 +++---- .../TempleOfAhnQiraj/boss_viscidus.cpp | 2 +- .../TempleOfAhnQiraj/temple_of_ahnqiraj.cpp | 6 +- src/server/scripts/Kalimdor/zone_desolace.cpp | 10 +- src/server/scripts/Kalimdor/zone_silithus.cpp | 2 +- .../AzjolNerub/AzjolNerub/boss_anubarak.cpp | 2 +- .../AzjolNerub/AzjolNerub/boss_hadronox.cpp | 2 +- .../ObsidianSanctum/boss_sartharion.cpp | 10 +- .../boss_baltharus_the_warborn.cpp | 2 +- .../RubySanctum/boss_general_zarithrian.cpp | 2 +- .../RubySanctum/boss_halion.cpp | 8 +- .../RubySanctum/boss_saviana_ragefire.cpp | 2 +- .../boss_argent_challenge.cpp | 4 +- .../TrialOfTheChampion/boss_black_knight.cpp | 4 +- .../boss_grand_champions.cpp | 10 +- .../instance_trial_of_the_champion.cpp | 11 +- .../boss_anubarak_trial.cpp | 2 +- .../boss_faction_champions.cpp | 218 +++++++++--------- .../boss_northrend_beasts.cpp | 2 +- .../TrialOfTheCrusader/boss_twin_valkyr.cpp | 4 +- .../instance_trial_of_the_crusader.cpp | 136 +++++------ .../Northrend/DraktharonKeep/boss_novos.cpp | 2 +- .../DraktharonKeep/boss_tharon_ja.cpp | 2 +- .../DraktharonKeep/boss_trollgore.cpp | 2 +- .../ForgeOfSouls/boss_bronjahm.cpp | 2 +- .../ForgeOfSouls/boss_devourer_of_souls.cpp | 6 +- .../HallsOfReflection/boss_falric.cpp | 2 +- .../HallsOfReflection/halls_of_reflection.cpp | 4 +- .../PitOfSaron/boss_forgemaster_garfrost.cpp | 4 +- .../PitOfSaron/boss_krickandick.cpp | 6 +- .../PitOfSaron/boss_scourgelord_tyrannus.cpp | 2 +- .../FrozenHalls/PitOfSaron/pit_of_saron.cpp | 2 +- .../Gundrak/boss_drakkari_colossus.cpp | 2 +- .../Northrend/Gundrak/boss_gal_darah.cpp | 2 +- .../Northrend/Gundrak/boss_moorabi.cpp | 2 +- .../Northrend/Gundrak/boss_slad_ran.cpp | 2 +- .../boss_deathbringer_saurfang.cpp | 10 +- .../IcecrownCitadel/boss_festergut.cpp | 2 +- .../boss_icecrown_gunship_battle.cpp | 4 +- .../IcecrownCitadel/boss_lord_marrowgar.cpp | 6 +- .../boss_professor_putricide.cpp | 12 +- .../IcecrownCitadel/boss_rotface.cpp | 10 +- .../IcecrownCitadel/boss_sindragosa.cpp | 20 +- .../IcecrownCitadel/boss_the_lich_king.cpp | 41 ++-- .../IcecrownCitadel/icecrown_citadel.cpp | 62 ++--- .../instance_icecrown_citadel.cpp | 2 +- .../Northrend/Naxxramas/boss_gluth.cpp | 6 +- .../Northrend/Naxxramas/boss_gothik.cpp | 4 +- .../Northrend/Naxxramas/boss_grobbulus.cpp | 4 +- .../Northrend/Naxxramas/boss_kelthuzad.cpp | 2 +- .../Northrend/Naxxramas/boss_sapphiron.cpp | 4 +- .../Nexus/EyeOfEternity/boss_malygos.cpp | 4 +- .../Northrend/Nexus/Nexus/boss_anomalus.cpp | 5 +- .../Nexus/Nexus/boss_keristrasza.cpp | 6 +- .../Nexus/Nexus/boss_magus_telestra.cpp | 2 +- .../Northrend/Nexus/Nexus/boss_ormorok.cpp | 2 +- .../Northrend/Nexus/Oculus/boss_eregos.cpp | 2 +- .../Northrend/Nexus/Oculus/boss_urom.cpp | 2 +- .../HallsOfLightning/boss_bjarngrim.cpp | 12 +- .../Ulduar/HallsOfStone/boss_sjonnir.cpp | 2 +- .../Ulduar/HallsOfStone/brann_bronzebeard.cpp | 20 +- .../Ulduar/boss_algalon_the_observer.cpp | 32 +-- .../Ulduar/Ulduar/boss_assembly_of_iron.cpp | 2 +- .../Northrend/Ulduar/Ulduar/boss_auriaya.cpp | 2 +- .../Ulduar/Ulduar/boss_general_vezax.cpp | 6 +- .../Northrend/Ulduar/Ulduar/boss_ignis.cpp | 4 +- .../Northrend/Ulduar/Ulduar/boss_mimiron.cpp | 4 +- .../Ulduar/Ulduar/boss_yoggsaron.cpp | 36 +-- .../UtgardeKeep/UtgardeKeep/utgarde_keep.cpp | 6 +- .../UtgardePinnacle/boss_svala.cpp | 4 +- .../UtgardePinnacle/boss_ymiron.cpp | 2 +- .../Northrend/VioletHold/boss_xevozz.cpp | 2 +- .../VioletHold/instance_violet_hold.cpp | 4 +- .../Northrend/VioletHold/violet_hold.cpp | 4 +- .../scripts/Northrend/zone_borean_tundra.cpp | 6 +- .../scripts/Northrend/zone_dragonblight.cpp | 6 +- .../scripts/Northrend/zone_icecrown.cpp | 4 +- .../boss_grandmaster_vorpil.cpp | 2 +- .../Outland/BlackTemple/boss_illidan.cpp | 2 +- .../BlackTemple/boss_illidari_council.cpp | 4 +- .../BlackTemple/boss_shade_of_akama.cpp | 2 +- .../SerpentShrine/boss_lurker_below.cpp | 4 +- .../SlavePens/boss_ahune.cpp | 40 ++-- .../scripts/Outland/GruulsLair/boss_gruul.cpp | 4 +- .../GruulsLair/boss_high_king_maulgar.cpp | 2 +- .../Outland/TempestKeep/Eye/boss_kaelthas.cpp | 42 ++-- .../Outland/TempestKeep/arcatraz/arcatraz.cpp | 100 ++++---- .../boss_wrath_scryer_soccothrates.cpp | 18 +- .../Outland/zone_blades_edge_mountains.cpp | 24 +- .../scripts/Outland/zone_netherstorm.cpp | 6 +- .../Outland/zone_shadowmoon_valley.cpp | 18 +- .../scripts/Outland/zone_terokkar_forest.cpp | 12 +- src/server/scripts/Pet/pet_generic.cpp | 4 +- src/server/scripts/Pet/pet_mage.cpp | 15 +- src/server/scripts/Pet/pet_shaman.cpp | 14 +- .../scripts/World/boss_emerald_dragons.cpp | 28 +-- src/server/scripts/World/go_scripts.cpp | 51 ++-- .../scripts/World/npc_stave_of_ancients.cpp | 104 ++++----- src/server/scripts/World/npcs_special.cpp | 4 +- 168 files changed, 1468 insertions(+), 1593 deletions(-) diff --git a/src/common/Utilities/EventMap.cpp b/src/common/Utilities/EventMap.cpp index 00dac4a6db..0d11d931fe 100644 --- a/src/common/Utilities/EventMap.cpp +++ b/src/common/Utilities/EventMap.cpp @@ -21,113 +21,81 @@ void EventMap::Reset() { _eventMap.clear(); - _time = 0; - _phase = 0; + _time = TimePoint::min(); + _phaseMask = 0; } -void EventMap::SetPhase(uint8 phase) +void EventMap::SetPhase(PhaseIndex phase) { if (!phase) - { - _phase = 0; - } - else if (phase <= 8) - { - _phase = (1 << (phase - 1)); - } + _phaseMask = 0; + else if (phase <= sizeof(PhaseMask) * 8) + _phaseMask = PhaseMask(1u << (phase - 1u)); } -void EventMap::AddPhase(uint8 phase) +void EventMap::AddPhase(PhaseIndex phase) { - if (phase && phase <= 8) - { - _phase |= (1 << (phase - 1)); - } + if (phase && phase <= sizeof(PhaseMask) * 8) + _phaseMask |= PhaseMask(1u << (phase - 1u)); } -void EventMap::RemovePhase(uint8 phase) +void EventMap::RemovePhase(PhaseIndex phase) { - if (phase && phase <= 8) - { - _phase &= ~(1 << (phase - 1)); - } + if (phase && phase <= sizeof(PhaseMask) * 8) + _phaseMask &= PhaseMask(~(1u << (phase - 1u))); } -void EventMap::ScheduleEvent(uint32 eventId, uint32 time, uint32 group /*= 0*/, uint32 phase /*= 0*/) +void EventMap::ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group /*= 0u*/, PhaseIndex phase /*= 0u*/) { - if (group && group <= 8) - { - eventId |= (1 << (group + 15)); - } + if (group > sizeof(GroupMask) * 8) + return; - if (phase && phase <= 8) - { - eventId |= (1 << (phase + 23)); - } + if (phase > sizeof(PhaseMask) * 8) + return; - _eventMap.emplace(_time + time, eventId); + _eventMap.emplace(_time + time, Event(eventId, group, phase)); } -void EventMap::ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group /*= 0*/, uint8 phase /* = 0*/) +void EventMap::ScheduleEvent(EventId eventId, Milliseconds minTime, Milliseconds maxTime, GroupIndex group /*= 0u*/, PhaseIndex phase /*= 0u*/) { - ScheduleEvent(eventId, time.count(), group, phase); + ScheduleEvent(eventId, randtime(minTime, maxTime), group, phase); } -void EventMap::ScheduleEvent(uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group /*= 0*/, uint32 phase /*= 0*/) -{ - ScheduleEvent(eventId, randtime(minTime, maxTime).count(), group, phase); -} - -void EventMap::RescheduleEvent(uint32 eventId, uint32 time, uint32 groupId /*= 0*/, uint32 phase/* = 0*/) +void EventMap::RescheduleEvent(EventId eventId, Milliseconds minTime, Milliseconds maxTime, GroupIndex group /*= 0u*/, PhaseIndex phase /*= 0u*/) { CancelEvent(eventId); - ScheduleEvent(eventId, time, groupId, phase); + ScheduleEvent(eventId, randtime(minTime, maxTime), group, phase); } -void EventMap::RescheduleEvent(uint32 eventId, Milliseconds time, uint32 group /*= 0*/, uint8 phase /* = 0*/) +void EventMap::RescheduleEvent(EventId eventId, Milliseconds time, GroupIndex group /*= 0u*/, PhaseIndex phase /*= 0u*/) { CancelEvent(eventId); - ScheduleEvent(eventId, time.count(), group, phase); -} - -void EventMap::RescheduleEvent(uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group /*= 0*/, uint32 phase /*= 0*/) -{ - CancelEvent(eventId); - ScheduleEvent(eventId, randtime(minTime, maxTime).count(), group, phase); -} - -void EventMap::RepeatEvent(uint32 time) -{ - _eventMap.emplace(_time + time, _lastEvent); + ScheduleEvent(eventId, time, group, phase); } void EventMap::Repeat(Milliseconds time) { - RepeatEvent(time.count()); + _eventMap.emplace(_time + time, _lastEvent); } void EventMap::Repeat(Milliseconds minTime, Milliseconds maxTime) { - RepeatEvent(randtime(minTime, maxTime).count()); + Repeat(randtime(minTime, maxTime)); } -uint32 EventMap::ExecuteEvent() +EventMap::EventId EventMap::ExecuteEvent() { while (!Empty()) { auto const& itr = _eventMap.begin(); if (itr->first > _time) - { return 0; - } - else if (_phase && (itr->second & 0xFF000000) && !((itr->second >> 24) & _phase)) - { + else if (_phaseMask && itr->second._phaseMask && !(itr->second._phaseMask & _phaseMask)) _eventMap.erase(itr); - } else { - uint32 eventId = (itr->second & 0x0000FFFF); + auto eventId = itr->second._id; _lastEvent = itr->second; _eventMap.erase(itr); return eventId; @@ -137,30 +105,32 @@ uint32 EventMap::ExecuteEvent() return 0; } -void EventMap::DelayEvents(uint32 delay) -{ - _time = delay < _time ? _time - delay : 0; -} - void EventMap::DelayEvents(Milliseconds delay) { - DelayEvents(delay.count()); + if (Empty()) + return; + + EventStore delayed = std::move(_eventMap); + for (auto itr = delayed.begin(); itr != delayed.end();) + { + auto node = delayed.extract(itr++); + node.key() = node.key() + delay; + _eventMap.insert(_eventMap.end(), std::move(node)); + } } -void EventMap::DelayEvents(uint32 delay, uint32 group) +void EventMap::DelayEvents(Milliseconds delay, GroupIndex group) { - if (group > 8 || Empty()) - { + if (group > sizeof(GroupMask) * 8 || Empty()) return; - } EventStore delayed; - for (EventStore::iterator itr = _eventMap.begin(); itr != _eventMap.end();) + for (auto itr = _eventMap.begin(); itr != _eventMap.end();) { - if (!group || (itr->second & (1 << (group + 15)))) + if (!group || (itr->second._groupMask & GroupMask(1u << (group - 1u)))) { - delayed.insert(EventStore::value_type(itr->first + delay, itr->second)); + delayed.emplace(itr->first + delay, itr->second); itr = _eventMap.erase(itr); continue; } @@ -171,13 +141,13 @@ void EventMap::DelayEvents(uint32 delay, uint32 group) _eventMap.insert(delayed.begin(), delayed.end()); } -void EventMap::DelayEventsToMax(uint32 delay, uint32 group) +void EventMap::DelayEventsToMax(Milliseconds delay, GroupIndex group) { for (auto itr = _eventMap.begin(); itr != _eventMap.end();) { - if (itr->first < _time + delay && (group == 0 || ((1 << (group + 15)) & itr->second))) + if (itr->first < _time + delay && (!group || (itr->second._groupMask & GroupMask(1u << (group - 1u))))) { - ScheduleEvent(itr->second, delay); + ScheduleEvent(itr->second._id, delay, group); _eventMap.erase(itr); itr = _eventMap.begin(); continue; @@ -187,16 +157,14 @@ void EventMap::DelayEventsToMax(uint32 delay, uint32 group) } } -void EventMap::CancelEvent(uint32 eventId) +void EventMap::CancelEvent(EventId eventId) { if (Empty()) - { return; - } for (auto itr = _eventMap.begin(); itr != _eventMap.end();) { - if (eventId == (itr->second & 0x0000FFFF)) + if (eventId == itr->second._id) { itr = _eventMap.erase(itr); continue; @@ -206,17 +174,14 @@ void EventMap::CancelEvent(uint32 eventId) } } -void EventMap::CancelEventGroup(uint32 group) +void EventMap::CancelEventGroup(GroupIndex group) { - if (!group || group > 8 || Empty()) - { + if (!group || group > sizeof(GroupMask) * 8 || Empty()) return; - } - uint32 groupMask = (1 << (group + 15)); - for (EventStore::iterator itr = _eventMap.begin(); itr != _eventMap.end();) + for (auto itr = _eventMap.begin(); itr != _eventMap.end();) { - if (itr->second & groupMask) + if (itr->second._groupMask & GroupMask(1u << (group - 1u))) { _eventMap.erase(itr); itr = _eventMap.begin(); @@ -227,39 +192,21 @@ void EventMap::CancelEventGroup(uint32 group) } } -uint32 EventMap::GetNextEventTime(uint32 eventId) const +bool EventMap::IsInPhase(PhaseIndex phase) const { - if (Empty()) - { - return 0; - } - - for (auto const& itr : _eventMap) - { - if (eventId == (itr.second & 0x0000FFFF)) - { - return itr.first; - } - } - - return 0; + return phase <= sizeof(PhaseIndex) * 8 && (!phase || _phaseMask & PhaseMask(1u << (phase - 1u))); } -uint32 EventMap::GetNextEventTime() const +Milliseconds EventMap::GetTimeUntilEvent(EventId eventId) const { - return Empty() ? 0 : _eventMap.begin()->first; -} - -bool EventMap::IsInPhase(uint8 phase) -{ - return phase <= 8 && (!phase || _phase & (1 << (phase - 1))); -} - -Milliseconds EventMap::GetTimeUntilEvent(uint32 eventId) const -{ - for (std::pair const& itr : _eventMap) - if (eventId == (itr.second & 0x0000FFFF)) - return std::chrono::duration_cast(Milliseconds(itr.first) - Milliseconds(_time)); + for (auto const& [time, event] : _eventMap) + if (eventId == event._id) + return std::chrono::duration_cast(time - _time); return Milliseconds::max(); } + +bool EventMap::HasTimeUntilEvent(EventId eventId) const +{ + return GetTimeUntilEvent(eventId) != Milliseconds::max(); +} diff --git a/src/common/Utilities/EventMap.h b/src/common/Utilities/EventMap.h index 1d3df6222e..15d2e233d9 100644 --- a/src/common/Utilities/EventMap.h +++ b/src/common/Utilities/EventMap.h @@ -24,18 +24,31 @@ class EventMap { + using EventId = uint16; + using GroupIndex = uint8; + using GroupMask = uint8; + using PhaseIndex = uint8; + using PhaseMask = uint8; + struct Event + { + Event() = default; + Event(EventId id, GroupIndex groupIndex, PhaseIndex phaseIndex) : + _id(id), + _groupMask(groupIndex ? GroupMask(1u << (groupIndex - 1u)) : 0u), + _phaseMask(phaseIndex ? PhaseMask(1u << (phaseIndex - 1u)) : 0u) + { + } + + EventId _id = 0u; + GroupMask _groupMask = 0u; + PhaseMask _phaseMask = 0u; + }; + /** - * Internal storage type. - * Key: Time as TimePoint when the event should occur. - * Value: The event data as uint32. - * - * Structure of event data: - * - Bit 0 - 15: Event Id. - * - Bit 16 - 23: Group - * - Bit 24 - 31: Phase - * - Pattern: 0xPPGGEEEE - */ - typedef std::multimap EventStore; + * Internal storage type. + * Key: Time as TimePoint when the event should occur. + */ + using EventStore = std::multimap; public: EventMap() { } @@ -47,13 +60,13 @@ public: void Reset(); /** - * @name Update - * @brief Updates the timer of the event map. - * @param time Value to be added to time. - */ + * @name Update + * @brief Updates the timer of the event map. + * @param time Value to be added to time. + */ void Update(uint32 time) { - _time += time; + Update(Milliseconds(time)); } /** @@ -63,37 +76,23 @@ public: */ void Update(Milliseconds time) { - _time += static_cast(time.count()); - } - - /** - * @name GetTimer - * @return Current timer value. - */ - [[nodiscard]] uint32 GetTimer() const - { - return _time; - } - - void SetTimer(uint32 time) - { - _time = time; + _time += time; } /** * @name GetPhaseMask * @return Active phases as mask. */ - [[nodiscard]] uint8 GetPhaseMask() const + PhaseMask GetPhaseMask() const { - return _phase; + return _phaseMask; } /** * @name Empty * @return True, if there are no events scheduled. */ - [[nodiscard]] bool Empty() const + bool Empty() const { return _eventMap.empty(); } @@ -103,31 +102,21 @@ public: * @brief Sets the phase of the map (absolute). * @param phase Phase which should be set. Values: 1 - 8. 0 resets phase. */ - void SetPhase(uint8 phase); + void SetPhase(PhaseIndex phase); /** * @name AddPhase - * @brief Activates the given phase (bitwise). + * @brief Activates the given phase (absolute). * @param phase Phase which should be activated. Values: 1 - 8 */ - void AddPhase(uint8 phase); + void AddPhase(PhaseIndex phase); /** * @name RemovePhase - * @brief Deactivates the given phase (bitwise). + * @brief Deactivates the given phase (absolute). * @param phase Phase which should be deactivated. Values: 1 - 8. */ - void RemovePhase(uint8 phase); - - /** - * @name ScheduleEvent - * @brief Creates new event entry in map. - * @param eventId The id of the new event. - * @param time The time in milliseconds until the event occurs. - * @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group. - * @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases. - */ - void ScheduleEvent(uint32 eventId, uint32 time, uint32 group = 0, uint32 phase = 0); + void RemovePhase(PhaseIndex phase); /** * @name ScheduleEvent @@ -137,7 +126,7 @@ public: * @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group. * @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases. */ - void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group = 0, uint8 phase = 0); + void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group = 0u, PhaseIndex phase = 0u); /** * @name ScheduleEvent @@ -148,17 +137,7 @@ public: * @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group. * @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases. */ - void ScheduleEvent(uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group = 0, uint32 phase = 0); - - /** - * @name RescheduleEvent - * @brief Cancels the given event and reschedules it. - * @param eventId The id of the event. - * @param time The time in milliseconds until the event occurs. - * @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group. - * @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases. - */ - void RescheduleEvent(uint32 eventId, uint32 time, uint32 groupId = 0, uint32 phase = 0); + void ScheduleEvent(EventId eventId, Milliseconds minTime, Milliseconds maxTime, GroupIndex group = 0u, PhaseIndex phase = 0u); /** * @name RescheduleEvent @@ -168,7 +147,7 @@ public: * @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group. * @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases. */ - void RescheduleEvent(uint32 eventId, Milliseconds time, uint32 group = 0, uint8 phase = 0); + void RescheduleEvent(EventId eventId, Milliseconds time, GroupIndex group = 0u, PhaseIndex phase = 0u); /** * @name RescheduleEvent @@ -179,25 +158,17 @@ public: * @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group. * @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases. */ - void RescheduleEvent(uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group = 0, uint32 phase = 0); + void RescheduleEvent(EventId eventId, Milliseconds minTime, Milliseconds maxTime, GroupIndex group = 0u, PhaseIndex phase = 0u); /** - * @name RepeatEvent - * @brief Repeats the most recently executed event. - * @param time Time until the event occurs as std::chrono type. - */ - void RepeatEvent(uint32 time); - - /** - * @name RepeatEvent + * @name Repeat * @brief Repeats the most recently executed event. * @param time Time until the event occurs as std::chrono type. */ void Repeat(Milliseconds time); /** - - * @name RepeatEvent + * @name Repeat * @brief Repeats the most recently executed event. * @param minTime The minimum time until the event occurs as std::chrono type. * @param maxTime The maximum time until the event occurs as std::chrono type. @@ -209,14 +180,7 @@ public: * @brief Returns the next event to execute and removes it from map. * @return Id of the event to execute. */ - uint32 ExecuteEvent(); - - /** - * @name DelayEvents - * @brief Delays all events in the map. If delay is greater than or equal internal timer, delay will be 0. - * @param delay Amount of delay. - */ - void DelayEvents(uint32 delay); + EventId ExecuteEvent(); /** * @name DelayEvents @@ -228,62 +192,57 @@ public: /** * @name DelayEvents * @brief Delay all events of the same group. - * @param delay Amount of delay. + * @param delay Amount of delay as std::chrono type. * @param group Group of the events. */ - void DelayEvents(uint32 delay, uint32 group); + void DelayEvents(Milliseconds delay, GroupIndex group); /** * @name EventsEvents * @brief Delay all events of the same group. - * @param delay Amount of delay. + * @param delay Amount of delay as std::chrono type. * @param group Group of the events. */ - void DelayEventsToMax(uint32 delay, uint32 group); + void DelayEventsToMax(Milliseconds delay, GroupIndex group); /** * @name CancelEvent * @brief Cancels all events of the specified id. * @param eventId Event id to cancel. */ - void CancelEvent(uint32 eventId); + void CancelEvent(EventId eventId); /** * @name CancelEventGroup * @brief Cancel events belonging to specified group. * @param group Group to cancel. */ - void CancelEventGroup(uint32 group); - - /** - * @name GetNextEventTime - * @brief Returns closest occurence of specified event. - * @param eventId Wanted event id. - * @return Time of found event. - */ - [[nodiscard]] uint32 GetNextEventTime(uint32 eventId) const; - - /** - * @name GetNextEventTime - * @return Time of next event. - */ - [[nodiscard]] uint32 GetNextEventTime() const; + void CancelEventGroup(GroupIndex group); /** * @name IsInPhase - * @brief Returns wether event map is in specified phase or not. + * @brief Returns whether event map is in specified phase or not. * @param phase Wanted phase. * @return True, if phase of event map contains specified phase. */ - bool IsInPhase(uint8 phase); + bool IsInPhase(PhaseIndex phase) const; /** * @name GetTimeUntilEvent * @brief Returns time as std::chrono type until next event. - * @param eventId of the event. + * @param eventId The id of the event. * @return Time of next event. If event is not scheduled returns Milliseconds::max() + * @return Time of next event. */ - Milliseconds GetTimeUntilEvent(uint32 eventId) const; + Milliseconds GetTimeUntilEvent(EventId eventId) const; + + /** + * @name HasTimeUntilEvent + * @brief Returns whether an event is scheduled + * @param eventId The id of the event. + * @return True if event is scheduled + */ + bool HasTimeUntilEvent(EventId eventId) const; private: /** @@ -296,23 +255,23 @@ private: * has reached their time value. Its value is changed in the * Update method. */ - uint32 _time{ 0 }; + TimePoint _time{ TimePoint::min() }; /** - * @name _phase + * @name _phaseMask * @brief Phase mask of the event map. * * Contains the phases the event map is in. Multiple * phases from 1 to 8 can be set with SetPhase or * AddPhase. RemovePhase deactives a phase. */ - uint32 _phase{0}; + PhaseMask _phaseMask{ 0 }; /** * @name _lastEvent * @brief Stores information on the most recently executed event */ - uint32 _lastEvent{0}; + Event _lastEvent; /** * @name _eventMap diff --git a/src/server/game/AI/CoreAI/CombatAI.cpp b/src/server/game/AI/CoreAI/CombatAI.cpp index 13609a9b56..0e932e56df 100644 --- a/src/server/game/AI/CoreAI/CombatAI.cpp +++ b/src/server/game/AI/CoreAI/CombatAI.cpp @@ -80,7 +80,7 @@ void CombatAI::JustEngagedWith(Unit* who) if (AISpellInfo[*i].condition == AICOND_AGGRO) me->CastSpell(who, *i, false); else if (AISpellInfo[*i].condition == AICOND_COMBAT) - events.ScheduleEvent(*i, AISpellInfo[*i].cooldown + rand() % AISpellInfo[*i].cooldown); + events.ScheduleEvent(*i, Milliseconds(AISpellInfo[*i].cooldown + rand() % AISpellInfo[*i].cooldown)); } } @@ -97,7 +97,7 @@ void CombatAI::UpdateAI(uint32 diff) if (uint32 spellId = events.ExecuteEvent()) { DoCast(spellId); - events.ScheduleEvent(spellId, AISpellInfo[spellId].cooldown + rand() % AISpellInfo[spellId].cooldown); + events.ScheduleEvent(spellId, Milliseconds(AISpellInfo[spellId].cooldown + rand() % AISpellInfo[spellId].cooldown)); } else DoMeleeAttackIfReady(); @@ -143,7 +143,7 @@ void CasterAI::JustEngagedWith(Unit* who) DoCast(spells[spell]); cooldown += me->GetCurrentSpellCastTime(*itr); } - events.ScheduleEvent(*itr, cooldown); + events.ScheduleEvent(*itr, Milliseconds(cooldown)); } } } @@ -168,7 +168,7 @@ void CasterAI::UpdateAI(uint32 diff) { DoCast(spellId); uint32 casttime = me->GetCurrentSpellCastTime(spellId); - events.ScheduleEvent(spellId, (casttime ? casttime : 500) + GetAISpellInfo(spellId)->realCooldown); + events.ScheduleEvent(spellId, Milliseconds((casttime ? casttime : 500) + GetAISpellInfo(spellId)->realCooldown)); } } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp index d1aa246ab0..ab12f3634a 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp @@ -101,7 +101,7 @@ void BattlegroundAB::PostUpdateImpl(uint32 diff) uint8 controlledPoints = _controlledPoints[teamId]; if (controlledPoints == 0) { - _bgEvents.ScheduleEvent(eventId, 3000); + _bgEvents.ScheduleEvent(eventId, 3s); break; } @@ -170,8 +170,8 @@ void BattlegroundAB::StartingEventOpenDoors() DoorOpen(BG_AB_OBJECT_GATE_A); DoorOpen(BG_AB_OBJECT_GATE_H); StartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, BG_AB_EVENT_START_BATTLE); - _bgEvents.ScheduleEvent(BG_AB_EVENT_ALLIANCE_TICK, 3000); - _bgEvents.ScheduleEvent(BG_AB_EVENT_HORDE_TICK, 3000); + _bgEvents.ScheduleEvent(BG_AB_EVENT_ALLIANCE_TICK, 3s); + _bgEvents.ScheduleEvent(BG_AB_EVENT_HORDE_TICK, 3s); } void BattlegroundAB::AddPlayer(Player* player) diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.h b/src/server/game/Battlegrounds/Zones/BattlegroundAB.h index 61aee582d7..9c3bf400c2 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.h @@ -170,12 +170,11 @@ enum BG_AB_Misc BG_AB_WARNING_NEAR_VICTORY_SCORE = 1400, BG_AB_MAX_TEAM_SCORE = 1600, - - BG_AB_FLAG_CAPTURING_TIME = 60000, - BG_AB_BANNER_UPDATE_TIME = 2000 }; +constexpr Milliseconds BG_AB_FLAG_CAPTURING_TIME = 60s; +constexpr Milliseconds BG_AB_BANNER_UPDATE_TIME = 2s; -const uint32 BG_AB_TickIntervals[BG_AB_DYNAMIC_NODES_COUNT + 1] = {0, 12000, 9000, 6000, 3000, 1000}; +const Milliseconds BG_AB_TickIntervals[BG_AB_DYNAMIC_NODES_COUNT + 1] = {0ms, 12s, 9s, 6s, 3s, 1s}; const uint32 BG_AB_TickPoints[BG_AB_DYNAMIC_NODES_COUNT + 1] = {0, 10, 10, 10, 10, 30}; const uint32 BG_AB_GraveyardIds[BG_AB_ALL_NODES_COUNT] = {895, 894, 893, 897, 896, 898, 899}; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp index ed636bcf5e..e646dd2e11 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp @@ -68,7 +68,7 @@ void BattlegroundEY::PostUpdateImpl(uint32 diff) AddPoints(TEAM_ALLIANCE, BG_EY_TickPoints[_ownedPointsCount[TEAM_ALLIANCE] - 1]); if (_ownedPointsCount[TEAM_HORDE] > 0) AddPoints(TEAM_HORDE, BG_EY_TickPoints[_ownedPointsCount[TEAM_HORDE] - 1]); - _bgEvents.ScheduleEvent(BG_EY_EVENT_ADD_POINTS, BG_EY_FPOINTS_TICK_TIME - (GameTime::GetGameTimeMS().count() % BG_EY_FPOINTS_TICK_TIME)); + _bgEvents.ScheduleEvent(BG_EY_EVENT_ADD_POINTS, BG_EY_FPOINTS_TICK_TIME - (GameTime::GetGameTimeMS() % BG_EY_FPOINTS_TICK_TIME)); break; case BG_EY_EVENT_FLAG_ON_GROUND: RespawnFlagAfterDrop(); @@ -78,7 +78,7 @@ void BattlegroundEY::PostUpdateImpl(uint32 diff) break; case BG_EY_EVENT_CHECK_CPOINTS: UpdatePointsState(); - _bgEvents.ScheduleEvent(BG_EY_EVENT_CHECK_CPOINTS, BG_EY_FPOINTS_CHECK_TIME - (GameTime::GetGameTimeMS().count() % BG_EY_FPOINTS_CHECK_TIME)); + _bgEvents.ScheduleEvent(BG_EY_EVENT_CHECK_CPOINTS, BG_EY_FPOINTS_CHECK_TIME - (GameTime::GetGameTimeMS() % BG_EY_FPOINTS_CHECK_TIME)); break; } } @@ -106,8 +106,8 @@ void BattlegroundEY::StartingEventOpenDoors() // Achievement: Flurry StartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, BG_EY_EVENT_START_BATTLE); - _bgEvents.ScheduleEvent(BG_EY_EVENT_ADD_POINTS, 0); - _bgEvents.ScheduleEvent(BG_EY_EVENT_CHECK_CPOINTS, 0); + _bgEvents.ScheduleEvent(BG_EY_EVENT_ADD_POINTS, 0ms); + _bgEvents.ScheduleEvent(BG_EY_EVENT_CHECK_CPOINTS, 0ms); } void BattlegroundEY::AddPoints(TeamId teamId, uint32 points) diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h index 1cdf29992b..50a46ce411 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h @@ -31,13 +31,10 @@ enum BG_EY_Events BG_EY_EVENT_CHECK_CPOINTS = 4 }; -enum BG_EY_Timers -{ - BG_EY_FLAG_RESPAWN_TIME = 10 * IN_MILLISECONDS, - BG_EY_FLAG_ON_GROUND_TIME = 10 * IN_MILLISECONDS, - BG_EY_FPOINTS_CHECK_TIME = 2 * IN_MILLISECONDS, - BG_EY_FPOINTS_TICK_TIME = 2 * IN_MILLISECONDS -}; +constexpr Milliseconds BG_EY_FLAG_RESPAWN_TIME = 10s; +constexpr Milliseconds BG_EY_FLAG_ON_GROUND_TIME = 10s; +constexpr Milliseconds BG_EY_FPOINTS_CHECK_TIME = 2s; +constexpr Milliseconds BG_EY_FPOINTS_TICK_TIME = 2s; enum BG_EY_ProgressBarConsts { diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp index 974e1d67ae..0c450b4833 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp @@ -63,7 +63,7 @@ void BattlegroundWS::PostUpdateImpl(uint32 diff) { case BG_WS_EVENT_UPDATE_GAME_TIME: UpdateWorldState(WORLD_STATE_BATTLEGROUND_WS_STATE_TIMER, GetMatchTime()); - _bgEvents.ScheduleEvent(BG_WS_EVENT_UPDATE_GAME_TIME, ((BG_WS_TOTAL_GAME_TIME - GetStartTime()) % (MINUTE * IN_MILLISECONDS)) + 1); + _bgEvents.ScheduleEvent(BG_WS_EVENT_UPDATE_GAME_TIME, Milliseconds(((BG_WS_TOTAL_GAME_TIME - GetStartTime()) % (MINUTE * IN_MILLISECONDS)) + 1)); break; case BG_WS_EVENT_NO_TIME_LEFT: if (GetTeamScore(TEAM_ALLIANCE) == GetTeamScore(TEAM_HORDE)) @@ -137,8 +137,8 @@ void BattlegroundWS::StartingEventOpenDoors() StartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, WS_EVENT_START_BATTLE); UpdateWorldState(WORLD_STATE_BATTLEGROUND_WS_STATE_TIMER_ACTIVE, 1); - _bgEvents.ScheduleEvent(BG_WS_EVENT_UPDATE_GAME_TIME, 0); - _bgEvents.ScheduleEvent(BG_WS_EVENT_NO_TIME_LEFT, BG_WS_TOTAL_GAME_TIME - 2 * MINUTE * IN_MILLISECONDS); // 27 - 2 = 25 minutes + _bgEvents.ScheduleEvent(BG_WS_EVENT_UPDATE_GAME_TIME, 0ms); + _bgEvents.ScheduleEvent(BG_WS_EVENT_NO_TIME_LEFT, Milliseconds(BG_WS_TOTAL_GAME_TIME - 2 * MINUTE * IN_MILLISECONDS)); // 27 - 2 = 25 minutes _bgEvents.ScheduleEvent(BG_WS_EVENT_DESPAWN_DOORS, BG_WS_DOOR_DESPAWN_TIME); } @@ -229,7 +229,7 @@ void BattlegroundWS::EventPlayerCapturedFlag(Player* player) EndBattleground(GetTeamScore(TEAM_HORDE) == _configurableMaxTeamScore ? TEAM_HORDE : TEAM_ALLIANCE); } else - _bgEvents.ScheduleEvent(BG_WS_EVENT_RESPAWN_BOTH_FLAGS, BG_WS_FLAG_RESPAWN_TIME); + _bgEvents.ScheduleEvent(BG_WS_EVENT_RESPAWN_BOTH_FLAGS, Milliseconds(BG_WS_FLAG_RESPAWN_TIME)); _bgEvents.CancelEvent(BG_WS_EVENT_BOTH_FLAGS_KEPT10); _bgEvents.CancelEvent(BG_WS_EVENT_BOTH_FLAGS_KEPT15); @@ -580,10 +580,10 @@ uint32 BattlegroundWS::GetAssaultSpellId() const { if ((!GetFlagPickerGUID(TEAM_ALLIANCE) && GetFlagState(TEAM_ALLIANCE) != BG_WS_FLAG_STATE_ON_GROUND) || (!GetFlagPickerGUID(TEAM_HORDE) && GetFlagState(TEAM_HORDE) != BG_WS_FLAG_STATE_ON_GROUND) || - _bgEvents.GetNextEventTime(BG_WS_EVENT_BOTH_FLAGS_KEPT10) > 0) + _bgEvents.HasTimeUntilEvent(BG_WS_EVENT_BOTH_FLAGS_KEPT10)) return 0; - return _bgEvents.GetNextEventTime(BG_WS_EVENT_BOTH_FLAGS_KEPT15) > 0 ? BG_WS_SPELL_FOCUSED_ASSAULT : BG_WS_SPELL_BRUTAL_ASSAULT; + return _bgEvents.HasTimeUntilEvent(BG_WS_EVENT_BOTH_FLAGS_KEPT15) ? BG_WS_SPELL_FOCUSED_ASSAULT : BG_WS_SPELL_BRUTAL_ASSAULT; } void BattlegroundWS::RemoveAssaultAuras() diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundWS.h b/src/server/game/Battlegrounds/Zones/BattlegroundWS.h index 7aa8975003..25df45ab6c 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundWS.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundWS.h @@ -39,12 +39,12 @@ enum BG_WS_TimerOrScore BG_WS_MAX_TEAM_SCORE = 3, BG_WS_TOTAL_GAME_TIME = 27 * MINUTE * IN_MILLISECONDS, - BG_WS_FLAG_RESPAWN_TIME = 23 * IN_MILLISECONDS, - BG_WS_FLAG_DROP_TIME = 10 * IN_MILLISECONDS, - BG_WS_SPELL_FORCE_TIME = 10 * MINUTE * IN_MILLISECONDS, - BG_WS_SPELL_BRUTAL_TIME = 15 * MINUTE * IN_MILLISECONDS, - BG_WS_DOOR_DESPAWN_TIME = 5 * IN_MILLISECONDS + BG_WS_FLAG_RESPAWN_TIME = 23 * IN_MILLISECONDS }; +constexpr Milliseconds BG_WS_FLAG_DROP_TIME = 10s; +constexpr Milliseconds BG_WS_SPELL_FORCE_TIME = 600s; +constexpr Milliseconds BG_WS_SPELL_BRUTAL_TIME = 900s; +constexpr Milliseconds BG_WS_DOOR_DESPAWN_TIME = 5s; enum BG_WS_BroadcastTexts { diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp index bd71099346..0b534612b8 100644 --- a/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp +++ b/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp @@ -213,7 +213,7 @@ public: ScriptedAI::EnterEvadeMode(); return; } - events.ScheduleEvent(EVENT_CHECK_RESET, 5000); + events.ScheduleEvent(EVENT_CHECK_RESET, 5s); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp index 214b923550..4691fb367d 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp @@ -27,12 +27,13 @@ enum IronhandData { - IRONHAND_FLAMES_TIMER = 16000, - IRONHAND_FLAMES_TIMER_RAND = 3000, IRONHAND_N_GROUPS = 3, SPELL_GOUT_OF_FLAMES = 15529 }; +constexpr Milliseconds IRONHAND_FLAMES_TIMER = 16s; +constexpr Milliseconds IRONHAND_FLAMES_TIMER_RAND = 3s; + class go_shadowforge_brazier : public GameObjectScript { public: @@ -110,7 +111,7 @@ public: { case SPELL_GOUT_OF_FLAMES: DoCast(SPELL_GOUT_OF_FLAMES); - events.RescheduleEvent(SPELL_GOUT_OF_FLAMES, urand(IRONHAND_FLAMES_TIMER - IRONHAND_FLAMES_TIMER_RAND, IRONHAND_FLAMES_TIMER + IRONHAND_FLAMES_TIMER_RAND)); + events.RescheduleEvent(SPELL_GOUT_OF_FLAMES, IRONHAND_FLAMES_TIMER - IRONHAND_FLAMES_TIMER_RAND, IRONHAND_FLAMES_TIMER + IRONHAND_FLAMES_TIMER_RAND); break; default: break; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp index dadfb58c60..df52818e42 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp @@ -28,14 +28,11 @@ enum Spells SPELL_ENVELOPING_WEB = 15471 }; -enum Timers -{ - TIMER_SHADOWBOLT = 7000, - TIMER_CURSE_TONGUES = 24000, - TIMER_CURSE_WEAKNESS = 12000, - TIMER_DEMON_ARMOR = 3000, // virtually only cast once - TIMER_ENVELOPING_WEB = 16000 -}; +constexpr Milliseconds TIMER_SHADOWBOLT = 7s; +constexpr Milliseconds TIMER_CURSE_TONGUES = 24s; +constexpr Milliseconds TIMER_CURSE_WEAKNESS = 12s; +constexpr Milliseconds TIMER_DEMON_ARMOR = 3s; //virtually only cast once +constexpr Milliseconds TIMER_ENVELOPING_WEB = 16s; class boss_anubshiah : public CreatureScript { @@ -54,11 +51,11 @@ public: void JustEngagedWith(Unit* /*who*/) override { _JustEngagedWith(); - events.ScheduleEvent(SPELL_SHADOWBOLT, 0.2 * (int)TIMER_SHADOWBOLT); - events.ScheduleEvent(SPELL_CURSE_TONGUES, 0.2 * (int)TIMER_CURSE_TONGUES); - events.ScheduleEvent(SPELL_CURSE_WEAKNESS, 0.2 * (int)TIMER_CURSE_WEAKNESS); - events.ScheduleEvent(SPELL_DEMON_ARMOR, 0.2 * (int)TIMER_DEMON_ARMOR); - events.ScheduleEvent(SPELL_ENVELOPING_WEB, 0.2 * (int)TIMER_ENVELOPING_WEB); + events.ScheduleEvent(SPELL_SHADOWBOLT, TIMER_SHADOWBOLT / 5); + events.ScheduleEvent(SPELL_CURSE_TONGUES, TIMER_CURSE_TONGUES / 5); + events.ScheduleEvent(SPELL_CURSE_WEAKNESS, TIMER_CURSE_WEAKNESS / 5); + events.ScheduleEvent(SPELL_DEMON_ARMOR, TIMER_DEMON_ARMOR / 5); + events.ScheduleEvent(SPELL_ENVELOPING_WEB, TIMER_ENVELOPING_WEB / 5); } void UpdateAI(uint32 diff) override @@ -80,21 +77,21 @@ public: { case SPELL_SHADOWBOLT: DoCastVictim(SPELL_SHADOWBOLT); - events.ScheduleEvent(SPELL_SHADOWBOLT, urand(TIMER_SHADOWBOLT - 2000, TIMER_SHADOWBOLT + 2000)); + events.ScheduleEvent(SPELL_SHADOWBOLT, TIMER_SHADOWBOLT - 2s, TIMER_SHADOWBOLT + 2s); break; case SPELL_CURSE_TONGUES: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true)) { DoCast(target, SPELL_CURSE_TONGUES); } - events.ScheduleEvent(SPELL_CURSE_TONGUES, urand(TIMER_CURSE_TONGUES - 2000, TIMER_CURSE_TONGUES + 2000)); + events.ScheduleEvent(SPELL_CURSE_TONGUES, TIMER_CURSE_TONGUES - 2s, TIMER_CURSE_TONGUES + 2s); break; case SPELL_CURSE_WEAKNESS: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true)) { DoCast(target, SPELL_CURSE_WEAKNESS); } - events.ScheduleEvent(SPELL_CURSE_WEAKNESS, urand(TIMER_CURSE_WEAKNESS - 2000, TIMER_CURSE_WEAKNESS + 2000)); + events.ScheduleEvent(SPELL_CURSE_WEAKNESS, TIMER_CURSE_WEAKNESS - 2s, TIMER_CURSE_WEAKNESS + 2s); break; case SPELL_DEMON_ARMOR: DoCast(me, SPELL_DEMON_ARMOR); @@ -103,7 +100,7 @@ public: case SPELL_ENVELOPING_WEB: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true)) DoCast(target, SPELL_ENVELOPING_WEB); - events.ScheduleEvent(SPELL_ENVELOPING_WEB, urand(TIMER_ENVELOPING_WEB - 2000, TIMER_ENVELOPING_WEB + 2000)); + events.ScheduleEvent(SPELL_ENVELOPING_WEB, TIMER_ENVELOPING_WEB - 2s, TIMER_ENVELOPING_WEB + 2s); break; default: break; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_eviscerator.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_eviscerator.cpp index 5d12ea5ac1..dfebbcf111 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_eviscerator.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_eviscerator.cpp @@ -26,12 +26,9 @@ enum Spells SPELL_SHIELD = 7121 }; -enum Timers -{ - TIMER_SHADOWBOLT_VOLLEY = 7000, - TIMER_REND = 20000, - TIMER_SHIELD = 12000 -}; +constexpr Milliseconds TIMER_SHADOWBOLT_VOLLEY = 7s; +constexpr Milliseconds TIMER_REND = 20s; +constexpr Milliseconds TIMER_SHIELD = 12s; class boss_eviscerator : public CreatureScript { @@ -52,9 +49,9 @@ public: void JustEngagedWith(Unit* /*who*/) override { _JustEngagedWith(); - events.ScheduleEvent(SPELL_SHADOWBOLT_VOLLEY, 0.2 * (int)TIMER_SHADOWBOLT_VOLLEY); - events.ScheduleEvent(SPELL_REND, 0.2 * (int) TIMER_REND); - events.ScheduleEvent(SPELL_SHIELD, 0.2 * (int) TIMER_SHIELD); + events.ScheduleEvent(SPELL_SHADOWBOLT_VOLLEY, TIMER_SHADOWBOLT_VOLLEY / 5); + events.ScheduleEvent(SPELL_REND, TIMER_REND / 5); + events.ScheduleEvent(SPELL_SHIELD, TIMER_SHIELD / 5); } void DamageTaken(Unit* /* doneBy */, uint32& /* damage */, DamageEffectType /* damagetype */, SpellSchoolMask damageSchoolMask) override @@ -86,11 +83,11 @@ public: { case SPELL_SHADOWBOLT_VOLLEY: DoCastVictim(SPELL_SHADOWBOLT_VOLLEY); - events.ScheduleEvent(SPELL_SHADOWBOLT_VOLLEY, urand(TIMER_SHADOWBOLT_VOLLEY - 2000, TIMER_SHADOWBOLT_VOLLEY + 2000)); + events.ScheduleEvent(SPELL_SHADOWBOLT_VOLLEY, TIMER_SHADOWBOLT_VOLLEY - 2s, TIMER_SHADOWBOLT_VOLLEY + 2s); break; case SPELL_REND: DoCastVictim(SPELL_REND); - events.ScheduleEvent(SPELL_REND, urand(TIMER_REND - 2000, TIMER_REND + 2000)); + events.ScheduleEvent(SPELL_REND, TIMER_REND - 2s, TIMER_REND + 2s); break; case SPELL_SHIELD: SpellShieldReady = true; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp index 6621829836..4947301136 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp @@ -26,12 +26,9 @@ enum Spells SPELL_BLOODLUST = 21049 }; -enum Timers -{ - TIMER_WHIRLWIND = 12000, - TIMER_MORTAL = 22000, - TIMER_BLOODLUST = 30000 -}; +constexpr Milliseconds TIMER_WHIRLWIND = 12s; +constexpr Milliseconds TIMER_MORTAL = 22s; +constexpr Milliseconds TIMER_BLOODLUST = 30s; class boss_gorosh_the_dervish : public CreatureScript { @@ -47,14 +44,14 @@ public: { boss_gorosh_the_dervishAI(Creature* creature) : BossAI(creature, DATA_GOROSH) { } - uint32 nextWhirlwindTime; + Milliseconds nextWhirlwindTime; void JustEngagedWith(Unit* /*who*/) override { _JustEngagedWith(); - events.ScheduleEvent(SPELL_WHIRLWIND, 0.2 * (int) TIMER_WHIRLWIND); - events.ScheduleEvent(SPELL_MORTALSTRIKE, 0.2 * (int) TIMER_MORTAL); - events.ScheduleEvent(SPELL_BLOODLUST, 0.2 * (int) TIMER_BLOODLUST); + events.ScheduleEvent(SPELL_WHIRLWIND, TIMER_WHIRLWIND / 5); + events.ScheduleEvent(SPELL_MORTALSTRIKE, TIMER_MORTAL / 5); + events.ScheduleEvent(SPELL_BLOODLUST, TIMER_BLOODLUST / 5); } void UpdateAI(uint32 diff) override @@ -78,22 +75,22 @@ public: if (me->GetDistance2d(me->GetVictim()) < 10.0f) { DoCastVictim(SPELL_WHIRLWIND); - nextWhirlwindTime = urand(TIMER_WHIRLWIND - 2000, TIMER_WHIRLWIND + 2000); + nextWhirlwindTime = randtime(TIMER_WHIRLWIND - 2s, TIMER_WHIRLWIND + 2s); } else { // reschedule sooner - nextWhirlwindTime = 0.3 * urand(TIMER_WHIRLWIND - 2000, TIMER_WHIRLWIND + 2000); + nextWhirlwindTime = randtime(TIMER_WHIRLWIND - 2s, TIMER_WHIRLWIND + 2s) / 3; } events.ScheduleEvent(SPELL_WHIRLWIND, nextWhirlwindTime); break; case SPELL_MORTALSTRIKE: DoCastVictim(SPELL_MORTALSTRIKE); - events.ScheduleEvent(SPELL_MORTALSTRIKE, urand(TIMER_MORTAL - 2000, TIMER_MORTAL + 2000)); + events.ScheduleEvent(SPELL_MORTALSTRIKE, TIMER_MORTAL - 2s, TIMER_MORTAL + 2s); break; case SPELL_BLOODLUST: DoCastSelf(SPELL_BLOODLUST); - events.ScheduleEvent(SPELL_BLOODLUST, urand(TIMER_BLOODLUST - 2000, TIMER_BLOODLUST + 2000)); + events.ScheduleEvent(SPELL_BLOODLUST, TIMER_BLOODLUST - 2s, TIMER_BLOODLUST + 2s); break; default: break; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp index cbe77cd858..c9176385d2 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp @@ -26,11 +26,8 @@ enum Grizzle EMOTE_FRENZY_KILL = 0 }; -enum Timer -{ - TIMER_GROUNDTREMOR = 10000, - TIMER_FRENZY = 15000 -}; +constexpr Milliseconds TIMER_GROUNDTREMOR = 10s; +constexpr Milliseconds TIMER_FRENZY = 15s; class boss_grizzle : public CreatureScript { @@ -46,13 +43,13 @@ public: { boss_grizzleAI(Creature* creature) : BossAI(creature, DATA_GRIZZLE) {} - uint32 nextTremorTime; + Milliseconds nextTremorTime; void JustEngagedWith(Unit* /*who*/) override { _JustEngagedWith(); - events.ScheduleEvent(SPELL_GROUNDTREMOR, 0.2 * (int) TIMER_GROUNDTREMOR); - events.ScheduleEvent(SPELL_FRENZY, 0.2 * (int) TIMER_FRENZY); + events.ScheduleEvent(SPELL_GROUNDTREMOR, TIMER_GROUNDTREMOR / 5); + events.ScheduleEvent(SPELL_FRENZY, TIMER_FRENZY / 5); } void UpdateAI(uint32 diff) override @@ -77,17 +74,17 @@ public: if (me->GetDistance2d(me->GetVictim()) < 10.0f) { DoCastVictim(SPELL_GROUNDTREMOR); - nextTremorTime = urand(TIMER_GROUNDTREMOR - 2000, TIMER_GROUNDTREMOR + 2000); + nextTremorTime = randtime(TIMER_GROUNDTREMOR - 2s, TIMER_GROUNDTREMOR + 2s); } else { - nextTremorTime = 0.3*urand(TIMER_GROUNDTREMOR - 2000, TIMER_GROUNDTREMOR + 2000); + nextTremorTime = randtime(TIMER_GROUNDTREMOR - 2s, TIMER_GROUNDTREMOR + 2s) / 3; } events.ScheduleEvent(SPELL_GROUNDTREMOR, nextTremorTime); break; case SPELL_FRENZY: DoCastSelf(SPELL_FRENZY); - events.ScheduleEvent(SPELL_FRENZY, urand(TIMER_FRENZY - 2000, TIMER_FRENZY + 2000)); + events.ScheduleEvent(SPELL_FRENZY, TIMER_FRENZY - 2s, TIMER_FRENZY + 2s); Talk(EMOTE_FRENZY_KILL); break; default: diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_hedrum.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_hedrum.cpp index 6861d1b895..8b2dfaaba6 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_hedrum.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_hedrum.cpp @@ -26,12 +26,9 @@ enum Spells SPELL_WEB_EXPLOSION = 15474 }; -enum Timers -{ - TIMER_PARALYZING = 20000, - TIMER_BANEFUL = 24000, - TIMER_WEB_EXPLOSION = 20000 -}; +constexpr Milliseconds TIMER_PARALYZING = 20s; +constexpr Milliseconds TIMER_BANEFUL = 24s; +constexpr Milliseconds TIMER_WEB_EXPLOSION = 20s; class boss_hedrum : public CreatureScript { @@ -50,9 +47,9 @@ public: void JustEngagedWith(Unit* /*who*/) override { _JustEngagedWith(); - events.ScheduleEvent(SPELL_PARALYZING, 0.2 * (int) TIMER_PARALYZING); - events.ScheduleEvent(SPELL_BANEFUL, 0.2 * (int) TIMER_BANEFUL); - events.ScheduleEvent(SPELL_WEB_EXPLOSION, 0.2 * (int) TIMER_WEB_EXPLOSION); + events.ScheduleEvent(SPELL_PARALYZING, TIMER_PARALYZING / 5); + events.ScheduleEvent(SPELL_BANEFUL, TIMER_BANEFUL / 5); + events.ScheduleEvent(SPELL_WEB_EXPLOSION, TIMER_WEB_EXPLOSION / 5); } void UpdateAI(uint32 diff) override @@ -74,18 +71,18 @@ public: { case SPELL_PARALYZING: DoCastVictim(SPELL_PARALYZING); - events.ScheduleEvent(SPELL_PARALYZING, urand(TIMER_PARALYZING - 2000, TIMER_PARALYZING + 2000)); + events.ScheduleEvent(SPELL_PARALYZING, TIMER_PARALYZING - 2s, TIMER_PARALYZING + 2s); break; case SPELL_BANEFUL: DoCastVictim(SPELL_BANEFUL); - events.ScheduleEvent(SPELL_BANEFUL, urand(TIMER_BANEFUL - 2000, TIMER_BANEFUL + 2000)); + events.ScheduleEvent(SPELL_BANEFUL, TIMER_BANEFUL - 2s, TIMER_BANEFUL + 2s); break; case SPELL_WEB_EXPLOSION: if (me->GetDistance2d(me->GetVictim()) < 100.0f) { DoCast(SPELL_WEB_EXPLOSION); } - events.ScheduleEvent(SPELL_WEB_EXPLOSION, urand(TIMER_WEB_EXPLOSION - 2000, TIMER_WEB_EXPLOSION + 2000)); + events.ScheduleEvent(SPELL_WEB_EXPLOSION, TIMER_WEB_EXPLOSION - 2s, TIMER_WEB_EXPLOSION + 2s); break; default: break; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp index 5d27104936..a408472a07 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp @@ -28,14 +28,11 @@ enum Spells SPELL_WORDPAIN = 15654, }; -enum SpellTimers -{ - TIMER_HEAL = 12000, - TIMER_MINDBLAST = 16000, - TIMER_RENEW = 12000, - TIMER_SHADOWBOLT = 16000, - TIMER_WORDPAIN = 12000, -}; +constexpr Milliseconds TIMER_HEAL = 12s; +constexpr Milliseconds TIMER_MINDBLAST = 16s; +constexpr Milliseconds TIMER_RENEW = 12s; +constexpr Milliseconds TIMER_SHADOWBOLT = 16s; +constexpr Milliseconds TIMER_WORDPAIN = 12s; struct boss_moira_bronzebeardAI : public BossAI { @@ -44,9 +41,9 @@ struct boss_moira_bronzebeardAI : public BossAI void JustEngagedWith(Unit* /*who*/) override { _JustEngagedWith(); - events.ScheduleEvent(SPELL_MINDBLAST, 0.5 * (int) TIMER_MINDBLAST); - events.ScheduleEvent(SPELL_HEAL, 0.5 * (int) TIMER_HEAL); - events.ScheduleEvent(SPELL_RENEW, 0.5 * (int) TIMER_RENEW); + events.ScheduleEvent(SPELL_MINDBLAST, TIMER_MINDBLAST / 2); + events.ScheduleEvent(SPELL_HEAL, TIMER_HEAL / 2); + events.ScheduleEvent(SPELL_RENEW, TIMER_RENEW / 2); } void UpdateAI(uint32 diff) override @@ -67,7 +64,7 @@ struct boss_moira_bronzebeardAI : public BossAI { case SPELL_MINDBLAST: DoCastVictim(SPELL_MINDBLAST); - events.ScheduleEvent(SPELL_MINDBLAST, urand(TIMER_MINDBLAST - 2000, TIMER_MINDBLAST + 2000)); + events.ScheduleEvent(SPELL_MINDBLAST, TIMER_MINDBLAST - 2s, TIMER_MINDBLAST + 2s); break; case SPELL_HEAL: CastOnEmperorIfPossible(SPELL_HEAL, TIMER_HEAL); @@ -82,7 +79,7 @@ struct boss_moira_bronzebeardAI : public BossAI DoMeleeAttackIfReady(); } - void CastOnEmperorIfPossible(uint32 spell, uint32 timer) + void CastOnEmperorIfPossible(uint32 spell, Milliseconds timer) { Creature* emperor = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EMPEROR)); if (emperor && emperor->HealthBelowPct(90)) @@ -93,7 +90,7 @@ struct boss_moira_bronzebeardAI : public BossAI { DoCastSelf(spell); } - events.ScheduleEvent(spell, urand(timer - 2000, timer + 2000)); + events.ScheduleEvent(spell, timer - 2s, timer + 2s); } }; @@ -107,10 +104,10 @@ struct boss_high_priestess_thaurissanAI : public boss_moira_bronzebeardAI { _JustEngagedWith(); Talk(0); - events.ScheduleEvent(SPELL_WORDPAIN, 0.5 * (int)TIMER_WORDPAIN); - events.ScheduleEvent(SPELL_HEAL, 0.5 * (int) TIMER_HEAL); - events.ScheduleEvent(SPELL_RENEW, 0.5 * (int) TIMER_RENEW); - events.ScheduleEvent(SPELL_SHADOWBOLT, 0.5 * (int) TIMER_SHADOWBOLT); + events.ScheduleEvent(SPELL_WORDPAIN, TIMER_WORDPAIN / 2); + events.ScheduleEvent(SPELL_HEAL, TIMER_HEAL / 2); + events.ScheduleEvent(SPELL_RENEW, TIMER_RENEW / 2); + events.ScheduleEvent(SPELL_SHADOWBOLT, TIMER_SHADOWBOLT / 2); } void UpdateAI(uint32 diff) override @@ -131,7 +128,7 @@ struct boss_high_priestess_thaurissanAI : public boss_moira_bronzebeardAI { case SPELL_WORDPAIN: DoCastVictim(SPELL_WORDPAIN); - events.ScheduleEvent(SPELL_WORDPAIN, urand(TIMER_WORDPAIN - 2000, TIMER_WORDPAIN + 2000)); + events.ScheduleEvent(SPELL_WORDPAIN, TIMER_WORDPAIN - 2s, TIMER_WORDPAIN + 2s); break; case SPELL_HEAL: CastOnEmperorIfPossible(SPELL_HEAL, TIMER_HEAL); @@ -141,7 +138,7 @@ struct boss_high_priestess_thaurissanAI : public boss_moira_bronzebeardAI break; case SPELL_SHADOWBOLT: DoCastVictim(SPELL_SHADOWBOLT); - events.ScheduleEvent(SPELL_SHADOWBOLT, urand(TIMER_SHADOWBOLT - 2000, TIMER_SHADOWBOLT + 2000)); + events.ScheduleEvent(SPELL_SHADOWBOLT, TIMER_SHADOWBOLT - 2s, TIMER_SHADOWBOLT + 2s); break; default: break; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_okthor.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_okthor.cpp index c5168332ae..1da1d30b0a 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_okthor.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_okthor.cpp @@ -27,13 +27,10 @@ enum Spells SPELL_SLOW = 19137 }; -enum Timers -{ - TIMER_ARCANE_BOLT = 7000, - TIMER_ARCANE_EXPLOSION = 24000, - TIMER_POLYMORPH = 12000, - TIMER_SLOW = 15000 -}; +constexpr Milliseconds TIMER_ARCANE_BOLT = 7s; +constexpr Milliseconds TIMER_ARCANE_EXPLOSION = 24s; +constexpr Milliseconds TIMER_POLYMORPH = 12s; +constexpr Milliseconds TIMER_SLOW = 15s; class boss_okthor : public CreatureScript { @@ -49,15 +46,15 @@ public: { boss_okthorAI(Creature* creature) : BossAI(creature, DATA_OKTHOR) {} - uint32 nextArcaneExplosionTime; + Milliseconds nextArcaneExplosionTime; void JustEngagedWith(Unit* /*who*/) override { _JustEngagedWith(); - events.ScheduleEvent(SPELL_ARCANE_BOLT, 0.2 * (int) TIMER_ARCANE_BOLT); - events.ScheduleEvent(SPELL_ARCANE_EXPLOSION, 0.2 * (int) TIMER_ARCANE_EXPLOSION); - events.ScheduleEvent(SPELL_POLYMORPH, 0.2 * (int) TIMER_POLYMORPH); - events.ScheduleEvent(SPELL_SLOW, 500); + events.ScheduleEvent(SPELL_ARCANE_BOLT, TIMER_ARCANE_BOLT / 5); + events.ScheduleEvent(SPELL_ARCANE_EXPLOSION, TIMER_ARCANE_EXPLOSION / 5); + events.ScheduleEvent(SPELL_POLYMORPH, TIMER_POLYMORPH / 5); + events.ScheduleEvent(SPELL_SLOW, 500ms); } void UpdateAI(uint32 diff) override @@ -82,17 +79,17 @@ public: { DoCast(target, SPELL_ARCANE_BOLT); } - events.ScheduleEvent(SPELL_ARCANE_BOLT, urand(TIMER_ARCANE_BOLT - 2000, TIMER_ARCANE_BOLT + 2000)); + events.ScheduleEvent(SPELL_ARCANE_BOLT, TIMER_ARCANE_BOLT - 2s, TIMER_ARCANE_BOLT + 2s); break; case SPELL_ARCANE_EXPLOSION: if (me->GetDistance2d(me->GetVictim()) < 50.0f) { DoCast(SPELL_ARCANE_EXPLOSION); - nextArcaneExplosionTime = urand(TIMER_ARCANE_EXPLOSION - 2000, TIMER_ARCANE_EXPLOSION + 2000); + nextArcaneExplosionTime = randtime(TIMER_ARCANE_EXPLOSION - 2s, TIMER_ARCANE_EXPLOSION + 2s); } else { - nextArcaneExplosionTime = 0.3*urand(TIMER_ARCANE_EXPLOSION - 2000, TIMER_ARCANE_EXPLOSION + 2000); + nextArcaneExplosionTime = randtime(TIMER_ARCANE_EXPLOSION - 2s, TIMER_ARCANE_EXPLOSION + 2s) / 3; } events.ScheduleEvent(SPELL_ARCANE_EXPLOSION, nextArcaneExplosionTime); break; @@ -101,7 +98,7 @@ public: { DoCast(target, SPELL_POLYMORPH); } - events.ScheduleEvent(SPELL_POLYMORPH, urand(TIMER_POLYMORPH - 2000, TIMER_POLYMORPH + 2000)); + events.ScheduleEvent(SPELL_POLYMORPH, TIMER_POLYMORPH - 2s, TIMER_POLYMORPH + 2s); break; case SPELL_SLOW: if (me->GetDistance2d(me->GetVictim()) < 50.0f) diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp index 2beaacff3d..fc49d131f5 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp @@ -96,7 +96,7 @@ public: void IsSummonedBy(WorldObject* /*summoner*/) override { - events.ScheduleEvent(EVENT_SUMMONED_1, 1000); + events.ScheduleEvent(EVENT_SUMMONED_1, 1s); } void JustSummoned(Creature* summon) override diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp index 66ecf747ec..d88c390b10 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp @@ -71,7 +71,7 @@ public: void IsSummonedBy(WorldObject* /*summoner*/) override { - StartTalking(TALK_SUMMON, 8 * IN_MILLISECONDS); + StartTalking(TALK_SUMMON, 8s); } void JustEngagedWith(Unit* who) override @@ -92,7 +92,7 @@ public: instance->SetData(DATA_LORD_VALTHALAK, DONE); } - void StartTalking(uint32 talkGroupId, uint32 timer) + void StartTalking(uint32 talkGroupId, Milliseconds timer) { me->SetReactState(REACT_PASSIVE); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE); @@ -123,7 +123,7 @@ public: events.CancelEvent(EVENT_SUMMON_SPECTRAL_ASSASSIN); - StartTalking(TALK_40_HP, 5 * IN_MILLISECONDS); + StartTalking(TALK_40_HP, 5s); } if (!frenzy15 && me->HealthBelowPctDamaged(15, damage)) @@ -132,7 +132,7 @@ public: events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 12s, 19s, 0, EVENT_PHASE_FIGHT); - StartTalking(TALK_15_HP, 5 * IN_MILLISECONDS); + StartTalking(TALK_15_HP, 5s); } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp index 45e6502eb8..16c7f0db47 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp @@ -108,11 +108,11 @@ struct boss_quartermaster_zigris : public BossAI if (me->IsWithinMeleeRange(me->GetVictim())) { DoCastVictim(SPELL_HOOKEDNET); - events.RepeatEvent(16000); + events.Repeat(16s); } else { - events.RepeatEvent(3000); + events.Repeat(3s); } break; case EVENT_SHOOT: @@ -128,7 +128,7 @@ struct boss_quartermaster_zigris : public BossAI me->GetMotionMaster()->Clear(); me->GetMotionMaster()->MoveChase(me->GetVictim()); } - events.RepeatEvent(2000); + events.Repeat(2s); break; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp index 6383681943..82e19a6944 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp @@ -222,7 +222,7 @@ public: if (GameObject* portcullis = me->FindNearestGameObject(GO_DR_PORTCULLIS, 50.0f)) waveDoorGUID = portcullis->GetGUID(); - events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0); + events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0ms); events.ScheduleEvent(EVENT_START_1, 1s); } } @@ -264,7 +264,7 @@ public: events.ScheduleEvent(EVENT_START_2, 4s); break; case EVENT_START_2: - events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0); + events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0ms); if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID)) victor->HandleEmoteCommand(EMOTE_ONESHOT_POINT); events.ScheduleEvent(EVENT_START_3, 4s); @@ -314,14 +314,14 @@ public: events.ScheduleEvent(EVENT_SPAWN_WAVE, 3s); break; case EVENT_WAVES_TEXT_2: - events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0); + events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0ms); if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID)) victor->AI()->Talk(SAY_NEFARIUS_3); events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4s); events.ScheduleEvent(EVENT_SPAWN_WAVE, 3s); break; case EVENT_WAVES_TEXT_3: - events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0); + events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0ms); if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID)) victor->AI()->Talk(SAY_NEFARIUS_4); events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4s); @@ -334,14 +334,14 @@ public: events.ScheduleEvent(EVENT_SPAWN_WAVE, 3s); break; case EVENT_WAVES_TEXT_5: - events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0); + events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0ms); if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID)) victor->AI()->Talk(SAY_NEFARIUS_5); events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4s); events.ScheduleEvent(EVENT_SPAWN_WAVE, 3s); break; case EVENT_WAVES_COMPLETE_TEXT_1: - events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0); + events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0ms); if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID)) victor->AI()->Talk(SAY_NEFARIUS_6); events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4s); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp index 84d3c07acc..80b4a6776d 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp @@ -227,7 +227,7 @@ public: case EVENT_FIREBALL: DoCastVictim(SPELL_FIREBALL); events.ScheduleEvent(EVENT_FIREBALL, 8s, 21s); - if (events.GetNextEventTime(EVENT_FIREBLAST) < 3 * IN_MILLISECONDS) + if (events.GetTimeUntilEvent(EVENT_FIREBLAST) < 3s) { events.RescheduleEvent(EVENT_FIREBLAST, 3s); } @@ -235,7 +235,7 @@ public: case EVENT_FIREBLAST: DoCastVictim(SPELL_FIREBLAST); events.ScheduleEvent(EVENT_FIREBLAST, 5s, 8s); - if (events.GetNextEventTime(EVENT_FIREBALL) < 3 * IN_MILLISECONDS) + if (events.GetTimeUntilEvent(EVENT_FIREBALL) < 3s) { events.RescheduleEvent(EVENT_FIREBALL, 3s); } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp index 55ac1f26e0..33f37d0833 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp @@ -98,31 +98,31 @@ public: { case EVENT_SNAP_KICK: DoCastVictim(SPELL_SNAPKICK); - events.RepeatEvent(6 * IN_MILLISECONDS); + events.Repeat(6s); break; case EVENT_CLEAVE: DoCastVictim(SPELL_CLEAVE); - events.RepeatEvent(12 * IN_MILLISECONDS); + events.Repeat(12s); break; case EVENT_UPPERCUT: DoCastVictim(SPELL_UPPERCUT); - events.RepeatEvent(14 * IN_MILLISECONDS); + events.Repeat(14s); break; case EVENT_MORTAL_STRIKE: DoCastVictim(SPELL_MORTALSTRIKE); - events.RepeatEvent(10 * IN_MILLISECONDS); + events.Repeat(10s); break; case EVENT_PUMMEL: DoCastVictim(SPELL_PUMMEL); - events.RepeatEvent(16 * IN_MILLISECONDS); + events.Repeat(16s); break; case EVENT_THROW_AXE: DoCastRandomTarget(SPELL_THROWAXE); - events.RepeatEvent(8 * IN_MILLISECONDS); + events.Repeat(8s); break; case EVENT_THRASH: DoCastSelf(SPELL_THRASH); - events.RepeatEvent(10 * IN_MILLISECONDS); + events.Repeat(10s); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp index d9508f0b5a..54809c6e5e 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp @@ -39,10 +39,7 @@ enum EventIds EVENT_SOLAKAR_WAVE = 3 }; -enum Timers -{ - TIMER_SOLAKAR_WAVE = 30000 -}; +constexpr Milliseconds TIMER_SOLAKAR_WAVE = 30s; enum SolakarWaves { diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp index de8d3ef6c7..15f0f63f17 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp @@ -345,7 +345,7 @@ public: { case NPC_BLACKWING_DRAGON: --addsCount[0]; - if (EggEvent != DONE && _events.GetTimeUntilEvent(EVENT_RAZOR_SPAWN) == Milliseconds::max()) + if (EggEvent != DONE && !_events.HasTimeUntilEvent(EVENT_RAZOR_SPAWN)) { _events.ScheduleEvent(EVENT_RAZOR_SPAWN, 1s); } @@ -353,7 +353,7 @@ public: case NPC_BLACKWING_LEGIONAIRE: case NPC_BLACKWING_MAGE: --addsCount[1]; - if (EggEvent != DONE && _events.GetTimeUntilEvent(EVENT_RAZOR_SPAWN) == Milliseconds::max()) + if (EggEvent != DONE && !_events.HasTimeUntilEvent(EVENT_RAZOR_SPAWN)) { _events.ScheduleEvent(EVENT_RAZOR_SPAWN, 1s); } @@ -413,7 +413,7 @@ public: if (spawnMoreAdds) { - _events.ScheduleEvent(EVENT_RAZOR_SPAWN, 15000); + _events.ScheduleEvent(EVENT_RAZOR_SPAWN, 15s); } } break; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp index 9f6823b3b1..0bf59bb34f 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp @@ -91,7 +91,7 @@ public: case EVENT_INFERNO: { DoCastAOE(SPELL_INFERNO); - events.RepeatEvent(urand(21000, 26000)); + events.Repeat(21s, 26s); break; } case EVENT_IGNITE_MANA: @@ -101,7 +101,7 @@ public: DoCast(target, SPELL_IGNITE_MANA); } - events.RepeatEvent(urand(27000, 32000)); + events.Repeat(27s, 32s); break; } case EVENT_LIVING_BOMB: @@ -111,7 +111,7 @@ public: DoCast(target, SPELL_LIVING_BOMB); } - events.RepeatEvent(urand(11000, 16000)); + events.Repeat(11s, 16s); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp index 3682a67fd1..9b6ec713a5 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp @@ -111,13 +111,13 @@ public: case EVENT_ANTIMAGIC_PULSE: { DoCastSelf(SPELL_ANTIMAGIC_PULSE); - events.RepeatEvent(20000); + events.Repeat(20s); break; } case EVENT_MAGMA_SHACKLES: { DoCastSelf(SPELL_MAGMA_SHACKLES); - events.RepeatEvent(15000); + events.Repeat(15s); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp index a358bec9d5..80a2bc1e82 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp @@ -58,7 +58,7 @@ public: case EVENT_GEHENNAS_CURSE: { DoCastVictim(SPELL_GEHENNAS_CURSE); - events.RepeatEvent(urand(25000, 30000)); + events.Repeat(25s, 30s); break; } case EVENT_RAIN_OF_FIRE: @@ -67,7 +67,7 @@ public: { DoCast(target, SPELL_RAIN_OF_FIRE, true); } - events.RepeatEvent(6000); + events.Repeat(6s); break; } case EVENT_SHADOW_BOLT: @@ -88,7 +88,7 @@ public: DoCastVictim(SPELL_SHADOW_BOLT_VICTIM); } - events.RepeatEvent(5000); + events.Repeat(5s); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp index 384b818974..1ddbabeefd 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp @@ -57,19 +57,19 @@ public: case EVENT_IMPENDING_DOOM: { DoCastVictim(SPELL_IMPENDING_DOOM); - events.RepeatEvent(20000); + events.Repeat(20s); break; } case EVENT_LUCIFRON_CURSE: { DoCastVictim(SPELL_LUCIFRON_CURSE); - events.RepeatEvent(20000); + events.Repeat(20s); break; } case EVENT_SHADOW_SHOCK: { DoCastVictim(SPELL_SHADOW_SHOCK); - events.RepeatEvent(5000); + events.Repeat(5s); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp index 978cf2f80a..460abdbd16 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp @@ -73,13 +73,13 @@ public: { Talk(EMOTE_FRENZY); DoCastSelf(SPELL_FRENZY); - events.RepeatEvent(urand(15000, 20000)); + events.Repeat(15s, 20s); break; } case EVENT_PANIC: { DoCastVictim(SPELL_PANIC); - events.RepeatEvent(urand(31000, 38000)); + events.Repeat(31s, 38s); break; } case EVENT_LAVA_BOMB: @@ -89,7 +89,7 @@ public: DoCast(target, SPELL_LAVA_BOMB); } - events.RepeatEvent(urand(12000, 15000)); + events.Repeat(12s, 15s); break; } case EVENT_LAVA_BOMB_RANGED: @@ -104,7 +104,7 @@ public: { DoCast(targets.front() , SPELL_LAVA_BOMB_RANGED); } - events.RepeatEvent(urand(12000, 15000)); + events.Repeat(12s, 15s); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp index ce586774f5..0a51970c43 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp @@ -348,7 +348,7 @@ public: { DoCastSelf(SPELL_DAMAGE_REFLECTION); } - events.RepeatEvent(30000); + events.Repeat(30s); break; } case EVENT_TELEPORT_RANDOM: @@ -359,14 +359,14 @@ public: DoCast(target, SPELL_TELEPORT_RANDOM); } - events.RepeatEvent(30000); + events.Repeat(30s); break; } case EVENT_TELEPORT_TARGET: { DoCastSelf(SPELL_HATE_TO_ZERO, true); DoCastAOE(SPELL_TELEPORT_TARGET); - events.RepeatEvent(30000); + events.Repeat(30s); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp index 84dfa53781..1280914f48 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp @@ -189,7 +189,7 @@ public: { if (_lavaBurstGUIDS.empty()) { - extraEvents.ScheduleEvent(EVENT_LAVA_BURST_TRIGGER, 1); + extraEvents.ScheduleEvent(EVENT_LAVA_BURST_TRIGGER, 1ms); } _lavaBurstGUIDS.insert(guid); @@ -309,7 +309,7 @@ public: } _lavaBurstGUIDS.erase(lavaBurstGUID); - extraEvents.RepeatEvent(1000); + extraEvents.Repeat(1s); } else { @@ -350,7 +350,7 @@ public: { Talk(SAY_WRATH); } - events.RepeatEvent(25000); + events.Repeat(25s); break; } case EVENT_HAND_OF_RAGNAROS: @@ -362,7 +362,7 @@ public: _isKnockbackEmoteAllowed = false; extraEvents.RescheduleEvent(EVENT_RESET_KNOCKBACK_EMOTE, 5s); } - events.RepeatEvent(20000); + events.Repeat(20s); break; } case EVENT_LAVA_BURST: @@ -401,7 +401,7 @@ public: extraEvents.RescheduleEvent(EVENT_RESET_KNOCKBACK_EMOTE, 5s); } } - events.RepeatEvent(urand(11000, 30000)); + events.Repeat(11s, 30s); break; } case EVENT_SUBMERGE: diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp index fc135b2817..08203f4439 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp @@ -67,7 +67,7 @@ public: case EVENT_ARCANE_EXPLOSION: { DoCastVictim(SPELL_ARCANE_EXPLOSION); - events.RepeatEvent(urand(4000, 5000)); + events.Repeat(4s, 5s); break; } case EVENT_SHAZZRAH_CURSE: @@ -76,26 +76,26 @@ public: { DoCast(target, SPELL_SHAZZRAH_CURSE); } - events.RepeatEvent(urand(23000, 26000)); + events.Repeat(23s, 26s); break; } case EVENT_MAGIC_GROUNDING: { DoCastSelf(SPELL_MAGIC_GROUNDING); - events.RepeatEvent(urand(7000, 9000)); + events.Repeat(7s, 9s); break; } case EVENT_COUNTERSPELL: { DoCastAOE(SPELL_COUNTERSPELL); - events.RepeatEvent(urand(15000, 18000)); + events.Repeat(15s, 18s); break; } case EVENT_SHAZZRAH_GATE: { DoCastAOE(SPELL_SHAZZRAH_GATE_DUMMY); events.RescheduleEvent(EVENT_ARCANE_EXPLOSION, 3s, 6s); - events.RepeatEvent(45000); + events.Repeat(45s); break; } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp index 942a22f619..739a82d665 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp @@ -72,7 +72,7 @@ public: case EVENT_DEMORALIZING_SHOUT: { DoCastVictim(SPELL_DEMORALIZING_SHOUT); - events.RepeatEvent(urand(12000, 18000)); + events.Repeat(12s, 18s); break; } case EVENT_INSPIRE: @@ -84,19 +84,19 @@ public: } DoCastSelf(SPELL_INSPIRE); - events.RepeatEvent(urand(13000, 20000)); + events.Repeat(13s, 20s); break; } case EVENT_KNOCKDOWN: { DoCastVictim(SPELL_KNOCKDOWN); - events.RepeatEvent(urand(10000, 20000)); + events.Repeat(10s, 20s); break; } case EVENT_FLAMESPEAR: { DoCastRandomTarget(SPELL_FLAMESPEAR); - events.RepeatEvent(urand(12000, 16000)); + events.Repeat(12s, 16s); break; } } @@ -133,7 +133,7 @@ public: events.ScheduleEvent(EVENT_DARK_STRIKE, 4s, 7s); events.ScheduleEvent(EVENT_DARK_MENDING, 15s, 30s); events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 2s, 4s); - events.ScheduleEvent(EVENT_IMMOLATE, 3500ms, 6000ms); + events.ScheduleEvent(EVENT_IMMOLATE, 3500ms, 6s); } void UpdateAI(uint32 diff) override @@ -157,7 +157,7 @@ public: case EVENT_DARK_STRIKE: { DoCastVictim(SPELL_DARK_STRIKE); - events.RepeatEvent(urand(4000, 7000)); + events.Repeat(4s, 7s); break; } case EVENT_DARK_MENDING: @@ -169,7 +169,7 @@ public: DoCast(target, SPELL_DARK_MENDING); } } - events.RepeatEvent(urand(15000, 20000)); + events.Repeat(15s, 20s); break; } case EVENT_SHADOW_WORD_PAIN: @@ -178,7 +178,7 @@ public: { DoCast(target, SPELL_SHADOW_WORD_PAIN); } - events.RepeatEvent(urand(2500, 5000)); + events.Repeat(2500ms, 5s); break; } case EVENT_IMMOLATE: @@ -187,7 +187,7 @@ public: { DoCast(target, SPELL_IMMOLATE); } - events.RepeatEvent(urand(5000, 7000)); + events.Repeat(5s, 7s); break; } } diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp index 44c7b68395..d52d5bb34a 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp +++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp @@ -90,7 +90,7 @@ public: if (me->HealthBelowPct(67) && !health67) { me->CastSpell(me, SPELL_SMITE_STOMP, false); - events.DelayEvents(10000); + events.DelayEvents(10s); me->GetMotionMaster()->Clear(); me->GetMotionMaster()->MovePoint(EQUIP_TWO_SWORDS, 1.859f, -780.72f, 9.831f); Talk(SAY_SWAP1); @@ -105,7 +105,7 @@ public: if (me->HealthBelowPct(34) && !health34) { me->CastSpell(me, SPELL_SMITE_STOMP, false); - events.DelayEvents(10000); + events.DelayEvents(10s); me->GetMotionMaster()->Clear(); me->GetMotionMaster()->MovePoint(EQUIP_MACE, 1.859f, -780.72f, 9.831f); Talk(SAY_SWAP2); diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp index 8feeadedcb..91c2e40b03 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp @@ -138,7 +138,7 @@ struct boss_felblood_kaelthas : public BossAI ScheduleTimedEvent(0ms, [&]{ DoCastVictim(SPELL_FIREBALL); - }, 3000ms, 4500ms); + }, 3s, 4500ms); ScheduleTimedEvent(15s, [&]{ Talk(SAY_PHOENIX); DoCastSelf(SPELL_PHOENIX); diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp index 66edbda08a..e5535991f5 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp @@ -95,7 +95,7 @@ struct boss_selin_fireheart : public BossAI BossAI::JustEngagedWith(who); ScheduleTimedEvent(2500ms, [&]{ DoCastRandomTarget(SPELL_DRAIN_LIFE); - }, 10000ms); + }, 10s); ScheduleTimedEvent(2s, [&]{ me->RemoveAuraFromStack(SPELL_MANA_RAGE_TRIGGER); DoCastAOE(SPELL_FEL_EXPLOSION); diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index 4747e77658..b70c90063f 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -438,7 +438,7 @@ public: if (owner->GetVictim()) AttackStart(owner->GetVictim()); - events.RepeatEvent(1000); + events.Repeat(1s); return; } @@ -760,22 +760,22 @@ public: { case EVENT_ICY_TOUCH: DoCastVictim(SPELL_ICY_TOUCH); - events.DelayEvents(1000, GCD_CAST); + events.DelayEvents(1s, GCD_CAST); events.ScheduleEvent(EVENT_ICY_TOUCH, 5s, GCD_CAST); break; case EVENT_PLAGUE_STRIKE: DoCastVictim(SPELL_PLAGUE_STRIKE); - events.DelayEvents(1000, GCD_CAST); + events.DelayEvents(1s, GCD_CAST); events.ScheduleEvent(EVENT_PLAGUE_STRIKE, 5s, GCD_CAST); break; case EVENT_BLOOD_STRIKE: DoCastVictim(SPELL_BLOOD_STRIKE); - events.DelayEvents(1000, GCD_CAST); + events.DelayEvents(1s, GCD_CAST); events.ScheduleEvent(EVENT_BLOOD_STRIKE, 5s, GCD_CAST); break; case EVENT_DEATH_COIL: DoCastVictim(SPELL_DEATH_COIL); - events.DelayEvents(1000, GCD_CAST); + events.DelayEvents(1s, GCD_CAST); events.ScheduleEvent(EVENT_DEATH_COIL, 5s, GCD_CAST); break; } diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp index 9c71aad73a..5a1c4218b4 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp @@ -613,7 +613,7 @@ public: me->GetMotionMaster()->MovePath(pathId, true); // true = repeatable } // Schedule the first ritual after 20-30s - events.ScheduleEvent(EVENT_START_RITUAL, urand(20000, 30000)); + events.ScheduleEvent(EVENT_START_RITUAL, 20s, 30s); } void UpdateAI(uint32 diff) override @@ -628,7 +628,7 @@ public: { if (isOnRitual) // Already performing ritual { - events.ScheduleEvent(EVENT_START_RITUAL, urand(5000, 10000)); + events.ScheduleEvent(EVENT_START_RITUAL, 5s, 10s); break; } @@ -655,7 +655,7 @@ public: if (!nearestCorpse) { // No corpse found nearby: try again later - events.ScheduleEvent(EVENT_START_RITUAL, urand(5000, 10000)); + events.ScheduleEvent(EVENT_START_RITUAL, 5s, 10s); break; } // Start ritual @@ -702,7 +702,7 @@ public: // Resume paused waypoint movement me->ResumeMovement(); // Schedule next ritual in 20-30s - events.ScheduleEvent(EVENT_START_RITUAL, urand(20000, 30000)); + events.ScheduleEvent(EVENT_START_RITUAL, 20s, 30s); break; } } @@ -723,9 +723,9 @@ public: me->SetFacingToObject(geist); geistGUID = geist->GetGUID(); // Geist found: schedule Ghoulplosion at +3s, then raising at +6s, then resume at +9s - events.ScheduleEvent(EVENT_GHOULPLOSION, 3000); - events.ScheduleEvent(EVENT_RAISE_GHOUL, 6000); - events.ScheduleEvent(EVENT_RESUME_WP, 9000); + events.ScheduleEvent(EVENT_GHOULPLOSION, 3s); + events.ScheduleEvent(EVENT_RAISE_GHOUL, 6s); + events.ScheduleEvent(EVENT_RESUME_WP, 9s); } else { @@ -737,8 +737,8 @@ public: me->SetFacingToObject(corpse); } - events.ScheduleEvent(EVENT_RAISE_GHOUL, 3000); - events.ScheduleEvent(EVENT_RESUME_WP, 6000); + events.ScheduleEvent(EVENT_RAISE_GHOUL, 3s); + events.ScheduleEvent(EVENT_RESUME_WP, 6s); } } } @@ -800,7 +800,7 @@ public: me->GetMotionMaster()->MovePath(pathId, true); // true = repeatable } // Schedule the first ritual after 50-60s - events.ScheduleEvent(EVENT_START_RITUAL, urand(50000, 60000)); + events.ScheduleEvent(EVENT_START_RITUAL, 50s, 60s); } void UpdateAI(uint32 diff) override { @@ -814,7 +814,7 @@ public: { if (isOnRitual) // Already performing ritual { - events.ScheduleEvent(EVENT_START_RITUAL, urand(5000, 10000)); + events.ScheduleEvent(EVENT_START_RITUAL, 5s, 10s); break; } @@ -841,7 +841,7 @@ public: } if (!nearestCorpse) { - events.ScheduleEvent(EVENT_START_RITUAL, urand(5000, 10000)); + events.ScheduleEvent(EVENT_START_RITUAL, 5s, 10s); break; } // Start ritual @@ -894,7 +894,7 @@ public: // Resume paused waypoint movement me->ResumeMovement(); // Schedule next ritual in 50-60s - events.ScheduleEvent(EVENT_START_RITUAL, urand(50000, 60000)); + events.ScheduleEvent(EVENT_START_RITUAL, 50s, 60s); break; } } @@ -923,15 +923,15 @@ public: me->SetFacingToObject(geist); geistGUID = geist->GetGUID(); // Geist present: Ghoulplosion in 3s (with SAY_GEIST), raise in 6s, resume in 9s - events.ScheduleEvent(EVENT_GHOULPLOSION, 3000); - events.ScheduleEvent(EVENT_RAISE_DEAD, 6000); - events.ScheduleEvent(EVENT_RESUME_WP, 9000); + events.ScheduleEvent(EVENT_GHOULPLOSION, 3s); + events.ScheduleEvent(EVENT_RAISE_DEAD, 6s); + events.ScheduleEvent(EVENT_RESUME_WP, 9s); } else { // No Geist: raise in 3s, resume in 6s - events.ScheduleEvent(EVENT_RAISE_DEAD, 3000); - events.ScheduleEvent(EVENT_RESUME_WP, 6000); + events.ScheduleEvent(EVENT_RAISE_DEAD, 3s); + events.ScheduleEvent(EVENT_RESUME_WP, 6s); } } } diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp index bfd1d01b9c..d77e5756e9 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp @@ -526,11 +526,11 @@ public: if (battleStarted != ENCOUNTER_STATE_FIGHT) return; - events.RescheduleEvent(EVENT_SPELL_ANTI_MAGIC_ZONE, 15000); - events.RescheduleEvent(EVENT_SPELL_DEATH_STRIKE, 8000); - events.RescheduleEvent(EVENT_SPELL_DEATH_EMBRACE, 5000); - events.RescheduleEvent(EVENT_SPELL_UNHOLY_BLIGHT, 10000); - events.RescheduleEvent(EVENT_SPELL_DARION_MOD_DAMAGE, 500); + events.RescheduleEvent(EVENT_SPELL_ANTI_MAGIC_ZONE, 15s); + events.RescheduleEvent(EVENT_SPELL_DEATH_STRIKE, 8s); + events.RescheduleEvent(EVENT_SPELL_DEATH_EMBRACE, 5s); + events.RescheduleEvent(EVENT_SPELL_UNHOLY_BLIGHT, 10s); + events.RescheduleEvent(EVENT_SPELL_DARION_MOD_DAMAGE, 500ms); } void Reset() override diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp index 8b585920c9..3392b3a953 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp @@ -36,16 +36,13 @@ enum BossData GANDLING_ROOM_TO_USE }; -enum Timers -{ - TIMER_ARCANE_MIN = 8000, - TIMER_ARCANE_MAX = 14000, - TIMER_CURSE_MIN = 20000, - TIMER_CURSE_MAX = 30000, - TIMER_SHIELD_MIN = 30000, - TIMER_SHIELD_MAX = 40000, - TIMER_PORTAL = 25000 -}; +constexpr Milliseconds TIMER_ARCANE_MIN = 8s; +constexpr Milliseconds TIMER_ARCANE_MAX = 14s; +constexpr Milliseconds TIMER_CURSE_MIN = 20s; +//constexpr Milliseconds TIMER_CURSE_MAX = 30s; +constexpr Milliseconds TIMER_SHIELD_MIN = 30s; +//constexpr Milliseconds TIMER_SHIELD_MAX = 40s; +constexpr Milliseconds TIMER_PORTAL = 25s; enum IdPortalSpells { @@ -335,18 +332,18 @@ public: { case SPELL_ARCANE_MISSILES: DoCastVictim(SPELL_ARCANE_MISSILES); - events.ScheduleEvent(SPELL_ARCANE_MISSILES, urand(TIMER_ARCANE_MIN, TIMER_ARCANE_MAX)); + events.ScheduleEvent(SPELL_ARCANE_MISSILES, TIMER_ARCANE_MIN, TIMER_ARCANE_MAX); break; case SPELL_CURSE_DARKMASTER: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true)) { DoCast(target, SPELL_CURSE_DARKMASTER); } - events.ScheduleEvent(SPELL_ARCANE_MISSILES, urand(TIMER_ARCANE_MIN, TIMER_ARCANE_MAX)); + events.ScheduleEvent(SPELL_ARCANE_MISSILES, TIMER_ARCANE_MIN, TIMER_ARCANE_MAX); break; case SPELL_SHADOW_SHIELD: DoCastSelf(SPELL_SHADOW_SHIELD); - events.ScheduleEvent(SPELL_ARCANE_MISSILES, urand(TIMER_ARCANE_MIN, TIMER_ARCANE_MAX)); + events.ScheduleEvent(SPELL_ARCANE_MISSILES, TIMER_ARCANE_MIN, TIMER_ARCANE_MAX); break; case SPELL_SHADOW_PORTAL: diff --git a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp index 5363fac88e..253608fd51 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp @@ -399,17 +399,17 @@ public: { case 1: me->CastSpell(me, BONE_ARMOR_SPELL, false); - events.RepeatEvent(60000); + events.Repeat(60s); break; case 2: if (Unit* target = SelectUnitCasting()) { me->CastSpell(target, COUNTER_SPELL, false); - events.RepeatEvent(urand(10000, 20000)); + events.Repeat(10s, 20s); } else { - events.RepeatEvent(400); + events.Repeat(400ms); } break; case 3: @@ -417,11 +417,11 @@ public: { me->CastSpell(target, DRAIN_MANA_SPELL, false); } - events.RepeatEvent(urand(13000, 20000)); + events.Repeat(13s, 20s); break; case 4: me->CastSpell(me->GetVictim(), SHADOWBOLT_VOLLEY_SPELL, true); - events.RepeatEvent(urand(11000, 17000)); + events.Repeat(11s, 17s); break; } diff --git a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp index 9435fd1943..affaef9dcf 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp @@ -135,14 +135,14 @@ public: if (_slaughterProgress == 2) { for (uint32 i = 0; i < 33; ++i) - events.ScheduleEvent(EVENT_SPAWN_MINDLESS, 5000 + i * 210); + events.ScheduleEvent(EVENT_SPAWN_MINDLESS, Milliseconds(5000 + i * 210)); if (Creature* baron = instance->GetCreature(_baronRivendareGUID)) if (GameObject* gate = baron->FindNearestGameObject(GO_SLAUGHTER_GATE_SIDE, 200.0f)) gate->SetGoState(GO_STATE_ACTIVE); } if (_slaughterProgress == 3) { - events.ScheduleEvent(EVENT_SPAWN_BLACK_GUARD, 20000); + events.ScheduleEvent(EVENT_SPAWN_BLACK_GUARD, 20s); } if (_slaughterProgress == 4) { @@ -296,7 +296,7 @@ public: _baronRunProgress = DATA_BARON_RUN_GATE; _baronRunTime = 45; DoCastSpellOnPlayers(SPELL_BARON_ULTIMATUM); - events.ScheduleEvent(EVENT_BARON_TIME, 60000); + events.ScheduleEvent(EVENT_BARON_TIME, 60s); if (Creature* baron = instance->GetCreature(_baronRivendareGUID)) baron->AI()->Talk(SAY_BARON_INIT_YELL); @@ -379,12 +379,12 @@ public: data >> _barthilasrunProgress; if (_baronRunTime) { - events.ScheduleEvent(EVENT_BARON_TIME, 60000); + events.ScheduleEvent(EVENT_BARON_TIME, 60s); } if (_slaughterProgress > 0 && _slaughterProgress < 4) { - events.ScheduleEvent(EVENT_FORCE_SLAUGHTER_EVENT, 5000); + events.ScheduleEvent(EVENT_FORCE_SLAUGHTER_EVENT, 5s); } } @@ -455,20 +455,20 @@ public: if (i == 0) { // set timer to reset the trap - events.ScheduleEvent(EVENT_GATE1_TRAP, 30 * MINUTE * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_GATE1_TRAP, 1800s); // set timer to reopen gates - events.ScheduleEvent(EVENT_GATE1_DELAY, 20 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_GATE1_DELAY, 20s); // set timer to spawn the plagued critters - events.ScheduleEvent(EVENT_GATE1_CRITTER_DELAY, 2 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_GATE1_CRITTER_DELAY, 2s); } else if (i == 1) { // set timer to reset the trap - events.ScheduleEvent(EVENT_GATE2_TRAP, 30 * MINUTE * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_GATE2_TRAP, 1800s); // set timer to reopen gates - events.ScheduleEvent(EVENT_GATE2_DELAY, 20 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_GATE2_DELAY, 20s); // set timer to spawn the plagued critters - events.ScheduleEvent(EVENT_GATE2_CRITTER_DELAY, 2 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_GATE2_CRITTER_DELAY, 2s); } } } diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp index e7937c6226..b41f445482 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp @@ -196,10 +196,10 @@ struct npc_madrigosa : public NullCreatureAI me->RemoveDynamicFlag(UNIT_DYNFLAG_DEAD); me->SendMovementFlagUpdate(); - events.ScheduleEvent(EVENT_MAD_1, 2000); + events.ScheduleEvent(EVENT_MAD_1, 2s); } else if (param == ACTION_SPAWN_FELMYST) - events.ScheduleEvent(EVENT_SPAWN_FELMYST, 60000); + events.ScheduleEvent(EVENT_SPAWN_FELMYST, 60s); } void UpdateAI(uint32 diff) override @@ -217,27 +217,27 @@ struct npc_madrigosa : public NullCreatureAI } me->GetMotionMaster()->MoveTakeoff(1, 1477.94f, 643.22f, 21.21f); me->AddUnitState(UNIT_STATE_NO_ENVIRONMENT_UPD); - events.ScheduleEvent(EVENT_MAD_2, 4000); + events.ScheduleEvent(EVENT_MAD_2, 4s); break; case EVENT_MAD_2: Talk(SAY_MAD_1); me->CastSpell(me, SPELL_MADRIGOSA_FREEZE, false); - events.ScheduleEvent(EVENT_MAD_2_1, 1000); + events.ScheduleEvent(EVENT_MAD_2_1, 1s); break; case EVENT_MAD_2_1: me->HandleEmoteCommand(EMOTE_ONESHOT_LAND); me->SetDisableGravity(false); me->CastSpell(me, SPELL_MADRIGOSA_FROST_BREATH, false); - events.ScheduleEvent(EVENT_MAD_3, 7000); + events.ScheduleEvent(EVENT_MAD_3, 7s); break; case EVENT_MAD_3: Talk(SAY_MAD_2); - events.ScheduleEvent(EVENT_MAD_4, 7000); + events.ScheduleEvent(EVENT_MAD_4, 7s); break; case EVENT_MAD_4: if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) brutallus->AI()->Talk(YELL_INTRO); - events.ScheduleEvent(EVENT_MAD_5, 5000); + events.ScheduleEvent(EVENT_MAD_5, 5s); break; case EVENT_MAD_5: if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) @@ -245,7 +245,7 @@ struct npc_madrigosa : public NullCreatureAI brutallus->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_ATTACK1H); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_ATTACK1H); } - events.ScheduleEvent(EVENT_MAD_6, 10000); + events.ScheduleEvent(EVENT_MAD_6, 10s); break; case EVENT_MAD_6: if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) @@ -255,21 +255,21 @@ struct npc_madrigosa : public NullCreatureAI } me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF); me->SetDisableGravity(true); - events.ScheduleEvent(EVENT_MAD_7, 4000); + events.ScheduleEvent(EVENT_MAD_7, 4s); break; case EVENT_MAD_7: Talk(SAY_MAD_3); me->CastSpell(me, SPELL_MADRIGOSA_FROST_BLAST, false); - events.ScheduleEvent(EVENT_MAD_8, 3000); - events.ScheduleEvent(EVENT_MAD_8, 5000); - events.ScheduleEvent(EVENT_MAD_8_1, 6000); - events.ScheduleEvent(EVENT_MAD_8, 6500); - events.ScheduleEvent(EVENT_MAD_8, 7500); - events.ScheduleEvent(EVENT_MAD_8, 8500); - events.ScheduleEvent(EVENT_MAD_8, 9500); - events.ScheduleEvent(EVENT_MAD_9, 11000); - events.ScheduleEvent(EVENT_MAD_8, 12000); - events.ScheduleEvent(EVENT_MAD_8, 14000); + events.ScheduleEvent(EVENT_MAD_8, 3s); + events.ScheduleEvent(EVENT_MAD_8, 5s); + events.ScheduleEvent(EVENT_MAD_8_1, 6s); + events.ScheduleEvent(EVENT_MAD_8, 6500ms); + events.ScheduleEvent(EVENT_MAD_8, 7500ms); + events.ScheduleEvent(EVENT_MAD_8, 8500ms); + events.ScheduleEvent(EVENT_MAD_8, 9500ms); + events.ScheduleEvent(EVENT_MAD_9, 11s); + events.ScheduleEvent(EVENT_MAD_8, 12s); + events.ScheduleEvent(EVENT_MAD_8, 14s); break; case EVENT_MAD_8: if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) @@ -286,19 +286,19 @@ struct npc_madrigosa : public NullCreatureAI brutallus->CastSpell(brutallus, SPELL_BRUTALLUS_FEL_FIREBALL, false); brutallus->AI()->Talk(YELL_INTRO_BREAK_ICE); } - events.ScheduleEvent(EVENT_MAD_11, 6000); + events.ScheduleEvent(EVENT_MAD_11, 6s); break; //case EVENT_MAD_10: case EVENT_MAD_11: me->SetDisableGravity(false); me->HandleEmoteCommand(EMOTE_ONESHOT_LAND); - events.ScheduleEvent(EVENT_MAD_13, 2500); + events.ScheduleEvent(EVENT_MAD_13, 2500ms); break; case EVENT_MAD_13: Talk(SAY_MAD_4); me->RemoveAllAuras(); me->CastSpell(me, SPELL_MADRIGOSA_ENCAPSULATE, false); - events.ScheduleEvent(EVENT_MAD_14, 2000); + events.ScheduleEvent(EVENT_MAD_14, 2s); break; case EVENT_MAD_14: if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) @@ -306,7 +306,7 @@ struct npc_madrigosa : public NullCreatureAI brutallus->SetDisableGravity(true); brutallus->GetMotionMaster()->MovePoint(0, brutallus->GetPositionX(), brutallus->GetPositionY() - 30.0f, brutallus->GetPositionZ() + 15.0f, false, true); } - events.ScheduleEvent(EVENT_MAD_15, 10000); + events.ScheduleEvent(EVENT_MAD_15, 10s); break; case EVENT_MAD_15: if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) @@ -316,28 +316,28 @@ struct npc_madrigosa : public NullCreatureAI brutallus->GetMotionMaster()->MoveFall(); brutallus->AI()->Talk(YELL_INTRO_CHARGE); } - events.ScheduleEvent(EVENT_MAD_16, 1400); + events.ScheduleEvent(EVENT_MAD_16, 1400ms); break; case EVENT_MAD_16: if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) brutallus->CastSpell(me, SPELL_BRUTALLUS_CHARGE, true); - events.ScheduleEvent(EVENT_MAD_17, 1200); + events.ScheduleEvent(EVENT_MAD_17, 1200ms); break; case EVENT_MAD_17: if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) brutallus->HandleEmoteCommand(EMOTE_ONESHOT_ATTACK1H); - events.ScheduleEvent(EVENT_MAD_18, 500); + events.ScheduleEvent(EVENT_MAD_18, 500ms); break; case EVENT_MAD_18: Talk(SAY_MAD_5); me->SetDynamicFlag(UNIT_DYNFLAG_DEAD); me->SetStandState(UNIT_STAND_STATE_DEAD); - events.ScheduleEvent(EVENT_MAD_19, 6000); + events.ScheduleEvent(EVENT_MAD_19, 6s); break; case EVENT_MAD_19: if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) brutallus->AI()->Talk(YELL_INTRO_KILL_MADRIGOSA); - events.ScheduleEvent(EVENT_MAD_20, 7000); + events.ScheduleEvent(EVENT_MAD_20, 7s); break; case EVENT_MAD_20: me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); @@ -347,7 +347,7 @@ struct npc_madrigosa : public NullCreatureAI brutallus->AI()->Talk(YELL_INTRO_TAUNT); brutallus->CastSpell(brutallus, SPELL_BRUTALLUS_BREAK_ICE, false); } - events.ScheduleEvent(EVENT_MAD_21, 4000); + events.ScheduleEvent(EVENT_MAD_21, 4s); break; case EVENT_MAD_21: if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp index 221f15a236..40352f3012 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp @@ -719,7 +719,7 @@ struct npc_kalecgos_kj : public NullCreatureAI me->SetCanFly(false); me->SetDisableGravity(false); me->CastSpell(me, SPELL_TELEPORT_AND_TRANSFORM, true); - events.ScheduleEvent(EVENT_SCENE_01, 35000); + events.ScheduleEvent(EVENT_SCENE_01, 35s); } } @@ -775,21 +775,21 @@ struct npc_kalecgos_kj : public NullCreatureAI { case EVENT_SCENE_01: Talk(SAY_KALECGOS_GOODBYE); - events.ScheduleEvent(eventId + 1, 15000); + events.ScheduleEvent(eventId + 1, 15s); break; case EVENT_SCENE_02: me->SummonCreature(NPC_SHATTERED_SUN_RIFTWAKER, 1688.42f, 641.82f, 27.60f, 0.67f); me->SummonCreature(NPC_SHATTERED_SUN_RIFTWAKER, 1712.58f, 616.29f, 27.78f, 0.76f); - events.ScheduleEvent(eventId + 1, 6000); + events.ScheduleEvent(eventId + 1, 6s); break; case EVENT_SCENE_03: me->SummonCreature(NPC_SHATTRATH_PORTAL_DUMMY, 1727.08f + cos(5.14f), 656.82f + std::sin(5.14f), 28.37f + 2.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 10000); me->SummonCreature(NPC_SHATTRATH_PORTAL_DUMMY, 1738.84f + cos(2.0f), 627.32f + std::sin(2.0f), 28.26f + 2.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 10000); - events.ScheduleEvent(eventId + 1, 11000); + events.ScheduleEvent(eventId + 1, 11s); break; case EVENT_SCENE_04: me->SummonCreature(NPC_INERT_PORTAL, 1734.96f, 642.43f, 28.06f, 3.49f); - events.ScheduleEvent(eventId + 1, 4000); + events.ScheduleEvent(eventId + 1, 4s); break; case EVENT_SCENE_05: if (Creature* first = me->SummonCreature(NPC_SHATTERED_SUN_SOLDIER, 1729.48f, 640.49f, 28.06f, 3.49f)) @@ -800,7 +800,7 @@ struct npc_kalecgos_kj : public NullCreatureAI if (Creature* follower = me->SummonCreature(NPC_SHATTERED_SUN_SOLDIER, 1729.48f + 5 * cos(i * 2.0f * M_PI / 9), 640.49f + 5 * std::sin(i * 2.0f * M_PI / 9), 28.06f, 3.49f)) follower->GetMotionMaster()->MoveFollow(first, 3.0f, follower->GetAngle(first)); } - events.ScheduleEvent(eventId + 1, 10000); + events.ScheduleEvent(eventId + 1, 10s); break; case EVENT_SCENE_06: if (Creature* first = me->SummonCreature(NPC_SHATTERED_SUN_SOLDIER, 1729.48f, 640.49f, 28.06f, 3.49f)) @@ -811,33 +811,33 @@ struct npc_kalecgos_kj : public NullCreatureAI if (Creature* follower = me->SummonCreature(NPC_SHATTERED_SUN_SOLDIER, 1729.48f + 5 * cos(i * 2.0f * M_PI / 9), 640.49f + 5 * std::sin(i * 2.0f * M_PI / 9), 28.06f, 3.49f)) follower->GetMotionMaster()->MoveFollow(first, 3.0f, follower->GetAngle(first)); } - events.ScheduleEvent(eventId + 1, 12000); + events.ScheduleEvent(eventId + 1, 12s); break; case EVENT_SCENE_07: me->SummonCreature(NPC_LADY_LIADRIN, 1719.87f, 644.265f, 28.06f, 3.83f); me->SummonCreature(NPC_PROPHET_VELEN, 1717.97f, 646.44f, 28.06f, 3.94f); - events.ScheduleEvent(eventId + 1, 7000); + events.ScheduleEvent(eventId + 1, 7s); break; case EVENT_SCENE_08: if (Creature* velen = summons.GetCreatureWithEntry(NPC_PROPHET_VELEN)) velen->AI()->Talk(SAY_VELEN_01); - events.ScheduleEvent(eventId + 1, 25000); + events.ScheduleEvent(eventId + 1, 25s); break; case EVENT_SCENE_09: if (Creature* velen = summons.GetCreatureWithEntry(NPC_PROPHET_VELEN)) velen->AI()->Talk(SAY_VELEN_02); - events.ScheduleEvent(eventId + 1, 14500); + events.ScheduleEvent(eventId + 1, 14500ms); break; case EVENT_SCENE_10: if (Creature* velen = summons.GetCreatureWithEntry(NPC_PROPHET_VELEN)) velen->AI()->Talk(SAY_VELEN_03); - events.ScheduleEvent(eventId + 1, 12500); + events.ScheduleEvent(eventId + 1, 12500ms); break; case EVENT_SCENE_11: me->SummonCreature(NPC_THE_CORE_OF_ENTROPIUS, 1698.86f, 628.73f, 92.83f, 0.0f); if (Creature* velen = summons.GetCreatureWithEntry(NPC_PROPHET_VELEN)) velen->CastSpell(velen, SPELL_CALL_ENTROPIUS, false); - events.ScheduleEvent(eventId + 1, 8000); + events.ScheduleEvent(eventId + 1, 8s); break; case EVENT_SCENE_12: if (Creature* velen = summons.GetCreatureWithEntry(NPC_PROPHET_VELEN)) @@ -845,32 +845,32 @@ struct npc_kalecgos_kj : public NullCreatureAI velen->InterruptNonMeleeSpells(false); velen->AI()->Talk(SAY_VELEN_04); } - events.ScheduleEvent(eventId + 1, 20000); + events.ScheduleEvent(eventId + 1, 20s); break; case EVENT_SCENE_13: if (Creature* liadrin = summons.GetCreatureWithEntry(NPC_LADY_LIADRIN)) liadrin->GetMotionMaster()->MovePoint(0, 1711.28f, 637.29f, 27.29f); - events.ScheduleEvent(eventId + 1, 6000); + events.ScheduleEvent(eventId + 1, 6s); break; case EVENT_SCENE_14: if (Creature* liadrin = summons.GetCreatureWithEntry(NPC_LADY_LIADRIN)) liadrin->AI()->Talk(SAY_LIADRIN_01); - events.ScheduleEvent(eventId + 1, 10000); + events.ScheduleEvent(eventId + 1, 10s); break; case EVENT_SCENE_15: if (Creature* velen = summons.GetCreatureWithEntry(NPC_PROPHET_VELEN)) velen->AI()->Talk(SAY_VELEN_05); - events.ScheduleEvent(eventId + 1, 14000); + events.ScheduleEvent(eventId + 1, 14s); break; case EVENT_SCENE_16: if (Creature* liadrin = summons.GetCreatureWithEntry(NPC_LADY_LIADRIN)) liadrin->AI()->Talk(SAY_LIADRIN_02); - events.ScheduleEvent(eventId + 1, 2000); + events.ScheduleEvent(eventId + 1, 2s); break; case EVENT_SCENE_17: if (Creature* velen = summons.GetCreatureWithEntry(NPC_PROPHET_VELEN)) velen->AI()->Talk(SAY_VELEN_06); - events.ScheduleEvent(eventId + 1, 3000); + events.ScheduleEvent(eventId + 1, 3s); break; case EVENT_SCENE_18: if (Creature* core = summons.GetCreatureWithEntry(NPC_THE_CORE_OF_ENTROPIUS)) @@ -878,7 +878,7 @@ struct npc_kalecgos_kj : public NullCreatureAI core->RemoveAllAuras(); core->CastSpell(core, SPELL_BLAZE_TO_LIGHT, true); } - events.ScheduleEvent(eventId + 1, 8000); + events.ScheduleEvent(eventId + 1, 8s); break; case EVENT_SCENE_19: if (Creature* core = summons.GetCreatureWithEntry(NPC_THE_CORE_OF_ENTROPIUS)) @@ -886,34 +886,34 @@ struct npc_kalecgos_kj : public NullCreatureAI core->SetObjectScale(0.75f); core->GetMotionMaster()->MovePoint(0, core->GetPositionX(), core->GetPositionY(), 28.0f); } - events.ScheduleEvent(eventId + 1, 2000); + events.ScheduleEvent(eventId + 1, 2s); break; case EVENT_SCENE_20: if (Creature* core = summons.GetCreatureWithEntry(NPC_THE_CORE_OF_ENTROPIUS)) core->CastSpell(core, SPELL_SUNWELL_IGNITION, true); - events.ScheduleEvent(eventId + 1, 3000); + events.ScheduleEvent(eventId + 1, 3s); break; case EVENT_SCENE_21: if (Creature* velen = summons.GetCreatureWithEntry(NPC_PROPHET_VELEN)) velen->AI()->Talk(SAY_VELEN_07); - events.ScheduleEvent(eventId + 1, 15000); + events.ScheduleEvent(eventId + 1, 15s); break; case EVENT_SCENE_22: if (Creature* liadrin = summons.GetCreatureWithEntry(NPC_LADY_LIADRIN)) liadrin->AI()->Talk(SAY_LIADRIN_03); - events.ScheduleEvent(eventId + 1, 20000); + events.ScheduleEvent(eventId + 1, 20s); break; case EVENT_SCENE_23: if (Creature* velen = summons.GetCreatureWithEntry(NPC_PROPHET_VELEN)) velen->AI()->Talk(SAY_VELEN_08); if (Creature* liadrin = summons.GetCreatureWithEntry(NPC_LADY_LIADRIN)) liadrin->SetStandState(UNIT_STAND_STATE_KNEEL); - events.ScheduleEvent(eventId + 1, 8000); + events.ScheduleEvent(eventId + 1, 8s); break; case EVENT_SCENE_24: if (Creature* velen = summons.GetCreatureWithEntry(NPC_PROPHET_VELEN)) velen->AI()->Talk(SAY_VELEN_09); - events.ScheduleEvent(eventId + 1, 5000); + events.ScheduleEvent(eventId + 1, 5s); break; case EVENT_SCENE_25: if (Creature* velen = summons.GetCreatureWithEntry(NPC_PROPHET_VELEN)) @@ -921,7 +921,7 @@ struct npc_kalecgos_kj : public NullCreatureAI velen->GetMotionMaster()->MovePoint(0, 1739.38f, 643.79f, 28.06f); velen->DespawnOrUnsummon(5000); } - events.ScheduleEvent(eventId + 1, 3000); + events.ScheduleEvent(eventId + 1, 3s); break; case EVENT_SCENE_26: for (SummonList::const_iterator itr = summons.begin(); itr != summons.end(); ++itr) @@ -931,7 +931,7 @@ struct npc_kalecgos_kj : public NullCreatureAI summon->GetMotionMaster()->MovePoint(0, 1739.38f, 643.79f, 28.06f); summon->DespawnOrUnsummon(summon->GetExactDist2d(1734.96f, 642.43f) * 100); } - events.ScheduleEvent(eventId + 1, 7000); + events.ScheduleEvent(eventId + 1, 7s); break; case EVENT_SCENE_27: me->setActive(false); diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp index 065192bf74..863f4a2449 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp @@ -161,72 +161,72 @@ static PlayerAbilityStruct PlayerAbility[13][3] = // 0 UNK class (should never be set) { // Warrior as fallback behavior if for some reason UNK class - { SPELL_WR_SPELL_REFLECT, ABILITY_TARGET_SELF, 10000ms }, - { SPELL_WR_WHIRLWIND, ABILITY_TARGET_SELF, 10000ms }, - { SPELL_WR_MORTAL_STRIKE, ABILITY_TARGET_VICTIM, 6000ms } + { SPELL_WR_SPELL_REFLECT, ABILITY_TARGET_SELF, 10s }, + { SPELL_WR_WHIRLWIND, ABILITY_TARGET_SELF, 10s }, + { SPELL_WR_MORTAL_STRIKE, ABILITY_TARGET_VICTIM, 6s } }, // 1 warrior - { { SPELL_WR_SPELL_REFLECT, ABILITY_TARGET_SELF, 10000ms }, - { SPELL_WR_WHIRLWIND, ABILITY_TARGET_SELF, 10000ms }, - { SPELL_WR_MORTAL_STRIKE, ABILITY_TARGET_VICTIM, 6000ms } + { { SPELL_WR_SPELL_REFLECT, ABILITY_TARGET_SELF, 10s }, + { SPELL_WR_WHIRLWIND, ABILITY_TARGET_SELF, 10s }, + { SPELL_WR_MORTAL_STRIKE, ABILITY_TARGET_VICTIM, 6s } }, // 2 paladin - { { SPELL_PA_CONSECRATION, ABILITY_TARGET_SELF, 10000ms }, - { SPELL_PA_HOLY_LIGHT, ABILITY_TARGET_HEAL, 10000ms }, - { SPELL_PA_AVENGING_WRATH, ABILITY_TARGET_SELF, 10000ms } + { { SPELL_PA_CONSECRATION, ABILITY_TARGET_SELF, 10s }, + { SPELL_PA_HOLY_LIGHT, ABILITY_TARGET_HEAL, 10s }, + { SPELL_PA_AVENGING_WRATH, ABILITY_TARGET_SELF, 10s } }, // 3 hunter - { { SPELL_HU_EXPLOSIVE_TRAP, ABILITY_TARGET_SELF, 10000ms }, - { SPELL_HU_FREEZING_TRAP, ABILITY_TARGET_SELF, 10000ms }, - { SPELL_HU_SNAKE_TRAP, ABILITY_TARGET_SELF, 10000ms } + { { SPELL_HU_EXPLOSIVE_TRAP, ABILITY_TARGET_SELF, 10s }, + { SPELL_HU_FREEZING_TRAP, ABILITY_TARGET_SELF, 10s }, + { SPELL_HU_SNAKE_TRAP, ABILITY_TARGET_SELF, 10s } }, // 4 rogue - { { SPELL_RO_WOUND_POISON, ABILITY_TARGET_VICTIM, 3000ms }, - { SPELL_RO_SLICE_DICE, ABILITY_TARGET_SELF, 10000ms }, - { SPELL_RO_BLIND, ABILITY_TARGET_ENEMY, 10000ms } + { { SPELL_RO_WOUND_POISON, ABILITY_TARGET_VICTIM, 3s }, + { SPELL_RO_SLICE_DICE, ABILITY_TARGET_SELF, 10s }, + { SPELL_RO_BLIND, ABILITY_TARGET_ENEMY, 10s } }, // 5 priest - { { SPELL_PR_PAIN_SUPP, ABILITY_TARGET_HEAL, 10000ms }, - { SPELL_PR_HEAL, ABILITY_TARGET_HEAL, 10000ms }, - { SPELL_PR_PSYCHIC_SCREAM, ABILITY_TARGET_SELF, 10000ms } + { { SPELL_PR_PAIN_SUPP, ABILITY_TARGET_HEAL, 10s }, + { SPELL_PR_HEAL, ABILITY_TARGET_HEAL, 10s }, + { SPELL_PR_PSYCHIC_SCREAM, ABILITY_TARGET_SELF, 10s } }, // 6 death knight { - { SPELL_DK_PLAGUE_STRIKE, ABILITY_TARGET_ENEMY, 2000ms }, - { SPELL_DK_DEATH_AND_DECAY, ABILITY_TARGET_SELF, 10000ms }, - { SPELL_DK_BLOOD_WORMS, ABILITY_TARGET_ENEMY, 5000ms } + { SPELL_DK_PLAGUE_STRIKE, ABILITY_TARGET_ENEMY, 2s }, + { SPELL_DK_DEATH_AND_DECAY, ABILITY_TARGET_SELF, 10s }, + { SPELL_DK_BLOOD_WORMS, ABILITY_TARGET_ENEMY, 5s } }, // 7 shaman - { { SPELL_SH_FIRE_NOVA, ABILITY_TARGET_SELF, 10000ms }, - { SPELL_SH_HEALING_WAVE, ABILITY_TARGET_HEAL, 10000ms }, - { SPELL_SH_CHAIN_LIGHT, ABILITY_TARGET_ENEMY, 8000ms } + { { SPELL_SH_FIRE_NOVA, ABILITY_TARGET_SELF, 10s }, + { SPELL_SH_HEALING_WAVE, ABILITY_TARGET_HEAL, 10s }, + { SPELL_SH_CHAIN_LIGHT, ABILITY_TARGET_ENEMY, 8s } }, // 8 mage - { { SPELL_MG_FIREBALL, ABILITY_TARGET_ENEMY, 5000ms }, - { SPELL_MG_FROSTBOLT, ABILITY_TARGET_ENEMY, 5000ms }, - { SPELL_MG_ICE_LANCE, ABILITY_TARGET_SPECIAL, 2000ms } + { { SPELL_MG_FIREBALL, ABILITY_TARGET_ENEMY, 5s }, + { SPELL_MG_FROSTBOLT, ABILITY_TARGET_ENEMY, 5s }, + { SPELL_MG_ICE_LANCE, ABILITY_TARGET_SPECIAL, 2s } }, // 9 warlock - { { SPELL_WL_CURSE_OF_DOOM, ABILITY_TARGET_ENEMY, 10000ms }, - { SPELL_WL_RAIN_OF_FIRE, ABILITY_TARGET_ENEMY, 10000ms }, - { SPELL_WL_UNSTABLE_AFFL, ABILITY_TARGET_ENEMY, 10000ms } + { { SPELL_WL_CURSE_OF_DOOM, ABILITY_TARGET_ENEMY, 10s }, + { SPELL_WL_RAIN_OF_FIRE, ABILITY_TARGET_ENEMY, 10s }, + { SPELL_WL_UNSTABLE_AFFL, ABILITY_TARGET_ENEMY, 10s } }, // 10 UNK class (should never be set) { // Warrior as fallback behavior if for some reason UNK class - { SPELL_WR_SPELL_REFLECT, ABILITY_TARGET_SELF, 10000ms }, - { SPELL_WR_WHIRLWIND, ABILITY_TARGET_SELF, 10000ms }, - { SPELL_WR_MORTAL_STRIKE, ABILITY_TARGET_VICTIM, 6000ms } + { SPELL_WR_SPELL_REFLECT, ABILITY_TARGET_SELF, 10s }, + { SPELL_WR_WHIRLWIND, ABILITY_TARGET_SELF, 10s }, + { SPELL_WR_MORTAL_STRIKE, ABILITY_TARGET_VICTIM, 6s } }, // 11 druid - { { SPELL_DR_LIFEBLOOM, ABILITY_TARGET_HEAL, 10000ms }, - { SPELL_DR_THORNS, ABILITY_TARGET_SELF, 10000ms }, - { SPELL_DR_MOONFIRE, ABILITY_TARGET_ENEMY, 8000ms } + { { SPELL_DR_LIFEBLOOM, ABILITY_TARGET_HEAL, 10s }, + { SPELL_DR_THORNS, ABILITY_TARGET_SELF, 10s }, + { SPELL_DR_MOONFIRE, ABILITY_TARGET_ENEMY, 8s } }, // MISC shadow priest - { { SPELL_PR_MIND_CONTROL, ABILITY_TARGET_ENEMY, 15000ms }, - { SPELL_PR_MIND_BLAST, ABILITY_TARGET_ENEMY, 5000ms }, - { SPELL_PR_SW_DEATH, ABILITY_TARGET_ENEMY, 10000ms } + { { SPELL_PR_MIND_CONTROL, ABILITY_TARGET_ENEMY, 15s }, + { SPELL_PR_MIND_BLAST, ABILITY_TARGET_ENEMY, 5s }, + { SPELL_PR_SW_DEATH, ABILITY_TARGET_ENEMY, 10s } } }; @@ -244,7 +244,7 @@ struct boss_hexlord_malacrass : public BossAI { BossAI::Reset(); _currentClass = CLASS_NONE; - _classAbilityTimer = 10000ms; + _classAbilityTimer = 10s; _timeUntilNextDrainPower = 0ms; SpawnAdds(); ScheduleHealthCheckEvent(80, [&] { diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp index 6dd4a8c9e2..39fca29ffa 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp @@ -103,7 +103,7 @@ struct npc_forest_frog : public ScriptedAI Talk(SAY_THANKS_FREED, player); eventTimer = 2; - events.ScheduleEvent(eventTimer, urand(4000, 5000)); + events.ScheduleEvent(eventTimer, 4s, 5s); break; case 2: if (me->GetEntry() != NPC_GUNTER && me->GetEntry() != NPC_KYREN) // vendors don't kneel? @@ -140,7 +140,7 @@ struct npc_forest_frog : public ScriptedAI break; } eventTimer = 3; - events.ScheduleEvent(eventTimer, urand(6000, 7000)); + events.ScheduleEvent(eventTimer, 6s, 7s); break; case 3: me->SetStandState(EMOTE_ONESHOT_NONE); @@ -152,9 +152,9 @@ struct npc_forest_frog : public ScriptedAI eventTimer = 4; if (me->GetEntry() == NPC_GUNTER || me->GetEntry() == NPC_KYREN) - events.ScheduleEvent(eventTimer, 5 * MINUTE * IN_MILLISECONDS); // vendors wait for 5 minutes before running away and despawning + events.ScheduleEvent(eventTimer, 300s); // vendors wait for 5 minutes before running away and despawning else - events.ScheduleEvent(eventTimer, 6000); + events.ScheduleEvent(eventTimer, 6s); break; case 4: me->HandleEmoteCommand(EMOTE_ONESHOT_WAVE); @@ -165,7 +165,7 @@ struct npc_forest_frog : public ScriptedAI Talk(SAY_GOODBYE, player); eventTimer = 5; - events.ScheduleEvent(eventTimer, 2000); + events.ScheduleEvent(eventTimer, 2s); break; case 5: @@ -205,7 +205,7 @@ struct npc_forest_frog : public ScriptedAI // start generic rp eventTimer = 1; - events.ScheduleEvent(eventTimer, 3000); + events.ScheduleEvent(eventTimer, 3s); me->UpdateEntry(cEntry); diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp index 5cabaf62c4..7046c02a22 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp @@ -330,7 +330,7 @@ public: if (Unit* arlokk = ObjectAccessor::GetUnit(*me, _instance->GetGuidData(NPC_ARLOKK))) me->GetMotionMaster()->MovePoint(0, arlokk->GetPositionX(), arlokk->GetPositionY(), arlokk->GetPositionZ()); - _events.ScheduleEvent(EVENT_ATTACK, 6000); + _events.ScheduleEvent(EVENT_ATTACK, 6s); } void JustEngagedWith(Unit* /*who*/) override diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp index e02c69e0f3..b455b71e8a 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp @@ -156,7 +156,7 @@ public: killCount = 0; if (me->GetPositionZ() > 140.0f) { - events.ScheduleEvent(EVENT_CHECK_START, 1000); + events.ScheduleEvent(EVENT_CHECK_START, 1s); if (Creature* speaker = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_VILEBRANCH_SPEAKER))) { if (!speaker->IsAlive()) diff --git a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp index c90d2d78b7..6b5ff59370 100644 --- a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp @@ -207,7 +207,7 @@ public: EnterEvadeMode(); return; } - events.RepeatEvent(2000); + events.Repeat(2s); break; } case EVENT_SUMMON_ARCHERS: @@ -217,7 +217,7 @@ public: _spoken = false; SummonPeasants(); _spoken = false; - events.RepeatEvent(60 * IN_MILLISECONDS); + events.Repeat(60s); break; } } diff --git a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp index cd3612d4eb..5c50dc91e6 100644 --- a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp +++ b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp @@ -139,7 +139,7 @@ struct npc_partygoer : public ScriptedAI void Reset() override { - _events.ScheduleEvent(EVENT_RANDOM_ACTION, urand(1000, 20000)); + _events.ScheduleEvent(EVENT_RANDOM_ACTION, 1s, 20s); } void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp index 61e04b795d..246a1246f7 100644 --- a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp +++ b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp @@ -136,25 +136,25 @@ public: if (Creature* c = me->FindNearestCreature(NPC_THALORIEN_REMAINS, 100.0f, true)) c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); events.Reset(); - events.ScheduleEvent(EVENT_CHECK_PLAYER, 5000); - events.ScheduleEvent(EVENT_SUMMON_SOLDIERS, 0); - events.ScheduleEvent(EVENT_TALK_INTRO_0, 3000); - events.ScheduleEvent(EVENT_TALK_INTRO_1, 8000); - events.ScheduleEvent(EVENT_TALK_INTRO_2, 15000); - events.ScheduleEvent(EVENT_TALK_INTRO_3, 22000); - events.ScheduleEvent(EVENT_SALUTE, 24000); - events.ScheduleEvent(EVENT_SOLDIERS_RUN_AWAY, 30000); - events.ScheduleEvent(EVENT_GO_FIGHTPOINT, 31000); - events.ScheduleEvent(EVENT_TALK_SPAWN_0, 38000); - events.ScheduleEvent(EVENT_SUMMON_MORLEN, 44000); - events.ScheduleEvent(EVENT_TALK_SPAWN_1, 47000); - events.ScheduleEvent(EVENT_TALK_MORLEN_0, 52000); - events.ScheduleEvent(EVENT_TALK_MORLEN_1, 58000); - events.ScheduleEvent(EVENT_SPAWN_WAVE_1, 61000); + events.ScheduleEvent(EVENT_CHECK_PLAYER, 5s); + events.ScheduleEvent(EVENT_SUMMON_SOLDIERS, 0ms); + events.ScheduleEvent(EVENT_TALK_INTRO_0, 3s); + events.ScheduleEvent(EVENT_TALK_INTRO_1, 8s); + events.ScheduleEvent(EVENT_TALK_INTRO_2, 15s); + events.ScheduleEvent(EVENT_TALK_INTRO_3, 22s); + events.ScheduleEvent(EVENT_SALUTE, 24s); + events.ScheduleEvent(EVENT_SOLDIERS_RUN_AWAY, 30s); + events.ScheduleEvent(EVENT_GO_FIGHTPOINT, 31s); + events.ScheduleEvent(EVENT_TALK_SPAWN_0, 38s); + events.ScheduleEvent(EVENT_SUMMON_MORLEN, 44s); + events.ScheduleEvent(EVENT_TALK_SPAWN_1, 47s); + events.ScheduleEvent(EVENT_TALK_MORLEN_0, 52s); + events.ScheduleEvent(EVENT_TALK_MORLEN_1, 58s); + events.ScheduleEvent(EVENT_SPAWN_WAVE_1, 61s); - events.ScheduleEvent(EVENT_SPELL_BLADESTORM, urand(6000, 15000)); - events.ScheduleEvent(EVENT_SPELL_MORTAL_STRIKE, urand(3000, 7000)); - events.ScheduleEvent(EVENT_SPELL_HEROIC_STRIKE, urand(4000, 10000)); + events.ScheduleEvent(EVENT_SPELL_BLADESTORM, 6s, 15s); + events.ScheduleEvent(EVENT_SPELL_MORTAL_STRIKE, 3s, 7s); + events.ScheduleEvent(EVENT_SPELL_HEROIC_STRIKE, 4s, 10s); } void JustSummoned(Creature* summon) override @@ -172,10 +172,10 @@ public: me->RemoveAurasDueToSpell(67541); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); me->GetMotionMaster()->MoveCharge(11779.30f, -7065.43f, 24.92f, me->GetSpeed(MOVE_RUN), EVENT_CHARGE); - events.ScheduleEvent(EVENT_OUTRO_0, 0); - events.ScheduleEvent(EVENT_OUTRO_1, 5000); - events.ScheduleEvent(EVENT_OUTRO_2, 12000); - events.ScheduleEvent(EVENT_OUTRO_3, 19000); + events.ScheduleEvent(EVENT_OUTRO_0, 0ms); + events.ScheduleEvent(EVENT_OUTRO_1, 5s); + events.ScheduleEvent(EVENT_OUTRO_2, 12s); + events.ScheduleEvent(EVENT_OUTRO_3, 19s); } else if (summons.size() == 1) { @@ -184,13 +184,13 @@ public: switch (summon->GetEntry()) { case NPC_SCOURGE_ZOMBIE: - events.ScheduleEvent(EVENT_SPAWN_WAVE_2, 3000); + events.ScheduleEvent(EVENT_SPAWN_WAVE_2, 3s); break; case NPC_GHOUL_INVADER: - events.ScheduleEvent(EVENT_SPAWN_WAVE_3, 3000); + events.ScheduleEvent(EVENT_SPAWN_WAVE_3, 3s); break; case NPC_CRYPT_RAIDER: - events.ScheduleEvent(EVENT_SUMMONS_ATTACK, 3000); + events.ScheduleEvent(EVENT_SUMMONS_ATTACK, 3s); break; } } @@ -227,7 +227,7 @@ public: if (Player* p = ObjectAccessor::GetPlayer(*me, playerGUID)) if (p->GetExactDist(me) <= 50.0f) { - events.RepeatEvent(5000); + events.Repeat(5s); break; } me->setActive(false); @@ -266,7 +266,7 @@ public: { if (!summons.empty()) { - events.RepeatEvent(5000); + events.Repeat(5s); return; } else @@ -350,7 +350,7 @@ public: break; } } - events.ScheduleEvent(EVENT_SUMMONS_ATTACK, 3000); + events.ScheduleEvent(EVENT_SUMMONS_ATTACK, 3s); break; case EVENT_SUMMONS_ATTACK: for (SummonList::const_iterator itr = summons.begin(); itr != summons.end(); ++itr) @@ -370,13 +370,13 @@ public: case EVENT_OUTRO_3: Talk(SAY_OUTRO_0 + (evId - EVENT_OUTRO_0)); if (evId == EVENT_OUTRO_3) - events.ScheduleEvent(EVENT_OUTRO_KNEEL, 6000); + events.ScheduleEvent(EVENT_OUTRO_KNEEL, 6s); break; case EVENT_OUTRO_KNEEL: if (Player* p = ObjectAccessor::GetPlayer(*me, playerGUID)) p->KilledMonsterCredit(NPC_THALORIEN_KILL_CREDIT); me->SetStandState(UNIT_STAND_STATE_KNEEL); - events.ScheduleEvent(EVENT_DISAPPEAR, 6000); + events.ScheduleEvent(EVENT_DISAPPEAR, 6s); break; case EVENT_DISAPPEAR: me->SetVisible(false); @@ -390,17 +390,17 @@ public: case EVENT_SPELL_BLADESTORM: if (me->GetVictim() && me->IsWithinMeleeRange(me->GetVictim())) me->CastSpell(me->GetVictim(), 67541, false); - events.RepeatEvent(urand(25000, 35000)); + events.Repeat(25s, 35s); break; case EVENT_SPELL_MORTAL_STRIKE: if (me->GetVictim() && me->IsWithinMeleeRange(me->GetVictim())) me->CastSpell(me->GetVictim(), 67542, false); - events.RepeatEvent(urand(7000, 12000)); + events.Repeat(7s, 12s); break; case EVENT_SPELL_HEROIC_STRIKE: if (me->GetVictim() && me->IsWithinMeleeRange(me->GetVictim())) me->CastSpell(me->GetVictim(), 57846, false); - events.RepeatEvent(urand(5000, 10000)); + events.Repeat(5s, 10s); break; } @@ -410,7 +410,7 @@ public: void MovementInform(uint32 type, uint32 id) override { if (type == POINT_MOTION_TYPE && id == EVENT_CHARGE) - events.ScheduleEvent(EVENT_SET_FACING, 0); + events.ScheduleEvent(EVENT_SET_FACING, 0ms); } void EnterEvadeMode(EvadeReason why) override @@ -504,19 +504,19 @@ public: me->SummonCreature(NPC_SUNWELL_VISUAL_BUNNY, 1688.24f, 621.769f, 29.1745f, 0.523177f, TEMPSUMMON_MANUAL_DESPAWN); me->setActive(true); events.Reset(); - events.ScheduleEvent(1, 1000); // guard talk - events.ScheduleEvent(2, 4000); // theron talk - events.ScheduleEvent(3, 10000); // npcs walk - events.ScheduleEvent(4, 17000); // rommath talk - events.ScheduleEvent(5, 20000); // theron talk - events.ScheduleEvent(6, 28000); // theron talk - events.ScheduleEvent(7, 37000); // rommath talk - events.ScheduleEvent(8, 44000); // rommath talk - events.ScheduleEvent(9, 52000); // rommath talk - events.ScheduleEvent(10, 60000); // auric talk - events.ScheduleEvent(11, 66000); // auric talk - events.ScheduleEvent(12, 76000); // rommath talk - events.ScheduleEvent(13, 80000); // move home + events.ScheduleEvent(1, 1s); // guard talk + events.ScheduleEvent(2, 4s); // theron talk + events.ScheduleEvent(3, 10s); // npcs walk + events.ScheduleEvent(4, 17s); // rommath talk + events.ScheduleEvent(5, 20s); // theron talk + events.ScheduleEvent(6, 28s); // theron talk + events.ScheduleEvent(7, 37s); // rommath talk + events.ScheduleEvent(8, 44s); // rommath talk + events.ScheduleEvent(9, 52s); // rommath talk + events.ScheduleEvent(10, 60s); // auric talk + events.ScheduleEvent(11, 66s); // auric talk + events.ScheduleEvent(12, 76s); // rommath talk + events.ScheduleEvent(13, 80s); // move home } } diff --git a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp index 5709c14b87..27abbc0b73 100644 --- a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp +++ b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp @@ -328,7 +328,7 @@ public: { HasEnded = false; TalkRNG = urand(0,1); - events.ScheduleEvent(EVENT_APPA_INTRO, 2000); + events.ScheduleEvent(EVENT_APPA_INTRO, 2s); summons.DespawnAll(); } @@ -387,31 +387,31 @@ public: case EVENT_APPA_INTRO: Talk(SAY_APPA_INTRO); SummonCrowd(); - events.ScheduleEvent(EVENT_APPA_SAY_1, 3000); + events.ScheduleEvent(EVENT_APPA_SAY_1, 3s); break; case EVENT_APPA_SAY_1: Talk(TalkRNG ? SAY_APPA_OPTION_1_1 : SAY_APPA_OPTION_2_1); - events.ScheduleEvent(EVENT_APPA_SAY_2, 5000); + events.ScheduleEvent(EVENT_APPA_SAY_2, 5s); break; case EVENT_APPA_SAY_2: Talk(TalkRNG ? SAY_APPA_OPTION_1_2 : SAY_APPA_OPTION_2_2); - events.ScheduleEvent(EVENT_APPA_SAY_3, 5000); + events.ScheduleEvent(EVENT_APPA_SAY_3, 5s); break; case EVENT_APPA_SAY_3: Talk(TalkRNG ? SAY_APPA_OPTION_1_3 : SAY_APPA_OPTION_2_3); - events.ScheduleEvent(EVENT_APPA_SAY_4, 5000); + events.ScheduleEvent(EVENT_APPA_SAY_4, 5s); break; case EVENT_APPA_SAY_4: Talk(TalkRNG ? SAY_APPA_OPTION_1_4 : SAY_APPA_OPTION_2_4); - events.ScheduleEvent(EVENT_APPA_OUTRO, 5000); + events.ScheduleEvent(EVENT_APPA_OUTRO, 5s); break; case EVENT_APPA_OUTRO: Talk(SAY_APPA_OUTRO); - events.ScheduleEvent(EVENT_APPA_OUTRO_CROWD, 3000); + events.ScheduleEvent(EVENT_APPA_OUTRO_CROWD, 3s); break; case EVENT_APPA_OUTRO_CROWD: EmoteCrowd(); - events.ScheduleEvent(EVENT_APPA_OUTRO_END, 5000); + events.ScheduleEvent(EVENT_APPA_OUTRO_END, 5s); break; case EVENT_APPA_OUTRO_END: // Despawn for Apparition is handled via Areatrigger SAI (5m) summons.DespawnAll(); diff --git a/src/server/scripts/Events/brewfest.cpp b/src/server/scripts/Events/brewfest.cpp index e0b01c49f9..31d72e61a1 100644 --- a/src/server/scripts/Events/brewfest.cpp +++ b/src/server/scripts/Events/brewfest.cpp @@ -367,10 +367,10 @@ struct npc_dark_iron_attack_generator : public ScriptedAI if (AllowStart()) { PrepareEvent(); - events.RepeatEvent(300000); + events.Repeat(300s); return; } - events.RepeatEvent(2000); + events.Repeat(2s); break; } case EVENT_SPAWN_MOLE_MACHINE: @@ -393,7 +393,7 @@ struct npc_dark_iron_attack_generator : public ScriptedAI if (Creature* cr = me->SummonCreature(NPC_MOLE_MACHINE_TRIGGER, x, y, 398.11f, 0.0f)) cr->CastSpell(cr, SPELL_SPAWN_MOLE_MACHINE, true); } - events.RepeatEvent(3000); + events.Repeat(3s); break; } case EVENT_PRE_FINISH_ATTACK: @@ -410,7 +410,7 @@ struct npc_dark_iron_attack_generator : public ScriptedAI } case EVENT_BARTENDER_SAY: { - events.RepeatEvent(12000); + events.Repeat(12s); Creature* sayer = GetRandomBartender(); if (!sayer) return; @@ -1714,12 +1714,12 @@ struct npc_coren_direbrew : public ScriptedAI case EVENT_SUMMON_MOLE_MACHINE: { me->CastCustomSpell(SPELL_MOLE_MACHINE_TARGET_PICKER, SPELLVALUE_MAX_TARGETS, 1, nullptr, true); - _events.RepeatEvent(15 * IN_MILLISECONDS); + _events.Repeat(15s); break; } case EVENT_DIREBREW_DISARM: DoCastSelf(SPELL_DIREBREW_DISARM_PRE_CAST, true); - _events.RepeatEvent(20 * IN_MILLISECONDS); + _events.Repeat(20s); break; default: break; diff --git a/src/server/scripts/Events/hallows_end.cpp b/src/server/scripts/Events/hallows_end.cpp index 06d649291a..a7a2d2b642 100644 --- a/src/server/scripts/Events/hallows_end.cpp +++ b/src/server/scripts/Events/hallows_end.cpp @@ -763,7 +763,7 @@ struct npc_hallows_end_soh : public ScriptedAI } CastFires(false); - events.RepeatEvent(15000); + events.Repeat(15s); break; } case 4: @@ -868,7 +868,7 @@ struct npc_hallows_end_soh : public ScriptedAI me->RemoveAllAuras(); me->SetCanFly(false); me->SetDisableGravity(false); - events.ScheduleEvent(4, 2000); + events.ScheduleEvent(4, 2s); } } @@ -1202,7 +1202,7 @@ struct boss_headless_horseman : public ScriptedAI talkCount = 0; return; // pop and return, skip repeat } - events.RepeatEvent(2000); + events.Repeat(2s); break; } case EVENT_HORSEMAN_FOLLOW: @@ -1218,7 +1218,7 @@ struct boss_headless_horseman : public ScriptedAI case EVENT_HORSEMAN_CLEAVE: { me->CastSpell(me->GetVictim(), SPELL_HORSEMAN_CLEAVE, false); - events.RepeatEvent(8000); + events.Repeat(8s); break; } case EVENT_HORSEMAN_WHIRLWIND: @@ -1226,11 +1226,11 @@ struct boss_headless_horseman : public ScriptedAI if (me->HasAuraEffect(SPELL_HORSEMAN_WHIRLWIND, EFFECT_0)) { me->RemoveAura(SPELL_HORSEMAN_WHIRLWIND); - events.RepeatEvent(15000); + events.Repeat(15s); break; } me->CastSpell(me, SPELL_HORSEMAN_WHIRLWIND, true); - events.RepeatEvent(6000); + events.Repeat(6s); break; } case EVENT_HORSEMAN_CHECK_HEALTH: @@ -1241,7 +1241,7 @@ struct boss_headless_horseman : public ScriptedAI return; } - events.RepeatEvent(1000); + events.Repeat(1s); break; } case EVENT_HORSEMAN_CONFLAGRATION: @@ -1253,21 +1253,21 @@ struct boss_headless_horseman : public ScriptedAI Talk(TALK_CONFLAGRATION); } - events.RepeatEvent(12500); + events.Repeat(12500ms); break; } case EVENT_SUMMON_PUMPKIN: { if (talkCount < 4) { - events.RepeatEvent(1); + events.Repeat(1ms); talkCount++; me->CastSpell(me, SPELL_SUMMON_PUMPKIN, false); } else { Talk(TALK_SPROUTING_PUMPKINS); - events.RepeatEvent(15000); + events.Repeat(15s); talkCount = 0; } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp index 3d15d6cf7c..6caa1ff950 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp @@ -297,7 +297,7 @@ struct boss_archimonde : public BossAI } } }, 5s); - ScheduleTimedEvent(5000ms, [&] + ScheduleTimedEvent(5s, [&] { bool noPlayersInRange = true; if (Map* map = me->GetMap()) diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp index 82f86f1b58..4d0c1c3c9e 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp @@ -110,7 +110,7 @@ public: if (Creature* archi = instance->GetCreature(DATA_ARCHIMONDE)) { archi->AI()->DoAction(ACTION_BECOME_ACTIVE_AND_CHANNEL); - archi->AI()->Talk(SAY_ARCHIMONDE_INTRO, 25000ms); + archi->AI()->Talk(SAY_ARCHIMONDE_INTRO, 25s); } BossAI::JustDied(killer); } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp index 42ad0d907d..a4855f855c 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp @@ -94,9 +94,9 @@ public: Milliseconds GetMarkRepeatTimer() { ++_markCounter; - Milliseconds timer = 45000ms - (5000ms * _markCounter); - if (timer <= 10000ms) - return 10000ms; + Milliseconds timer = 45s - (5s * _markCounter); + if (timer <= 10s) + return 10s; else return timer; } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp index 1803000b92..5a120eaa07 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp @@ -53,16 +53,16 @@ ObjectData const creatureData[] = Milliseconds hyjalWaveTimers[4][MAX_WAVES_STANDARD] { - { 130000ms, 130000ms, 130000ms, 130000ms, 130000ms, 130000ms, 130000ms, 190000ms, 0ms }, // Winterchill - { 130000ms, 130000ms, 130000ms, 130000ms, 130000ms, 130000ms, 130000ms, 190000ms, 0ms }, // Anetheron - { 130000ms, 155000ms, 130000ms, 155000ms, 130000ms, 130000ms, 155000ms, 225000ms, 0ms }, // Kaz'rogal - { 130000ms, 190000ms, 190000ms, 190000ms, 130000ms, 155000ms, 190000ms, 225000ms, 0ms } // Azgalor + { 130s, 130s, 130s, 130s, 130s, 130s, 130s, 190s, 0ms }, // Winterchill + { 130s, 130s, 130s, 130s, 130s, 130s, 130s, 190s, 0ms }, // Anetheron + { 130s, 155s, 130s, 155s, 130s, 130s, 155s, 225s, 0ms }, // Kaz'rogal + { 130s, 190s, 190s, 190s, 130s, 155s, 190s, 225s, 0ms } // Azgalor }; Milliseconds hyjalRetreatTimers[2][MAX_WAVES_RETREAT] { - { 10000ms, 6000ms , 0ms }, // Alliance - { 10000ms, 40000ms, 0ms } // Horde + { 10s, 6s , 0ms }, // Alliance + { 10s, 40s, 0ms } // Horde }; Milliseconds hyjalNightElfWaveTimers[1][MAX_WAVES_NIGHT_ELF] @@ -295,7 +295,7 @@ public: } // Despawn all alliance NPCs - scheduler.Schedule(21000ms, [this](TaskContext) + scheduler.Schedule(21s, [this](TaskContext) { for (ObjectGuid const& guid : _baseAlliance) if (Creature* creature = instance->GetCreature(guid)) @@ -343,7 +343,7 @@ public: } } - scheduler.Schedule(21000ms, [this](TaskContext) + scheduler.Schedule(21s, [this](TaskContext) { for (ObjectGuid const& guid : _baseHorde) if (Creature* creature = instance->GetCreature(guid)) diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp index f429e5a474..db6e61927d 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp @@ -77,12 +77,12 @@ public: { Talk(SAY_AGGRO); - events.ScheduleEvent(EVENT_SPELL_CURSE_OF_EXERTION, 9000); - events.ScheduleEvent(EVENT_SPELL_WOUNDING_STRIKE, 3000); - events.ScheduleEvent(EVENT_SPELL_TIME_WARP, 25000); + events.ScheduleEvent(EVENT_SPELL_CURSE_OF_EXERTION, 9s); + events.ScheduleEvent(EVENT_SPELL_WOUNDING_STRIKE, 3s); + events.ScheduleEvent(EVENT_SPELL_TIME_WARP, 25s); if (IsHeroic()) - events.ScheduleEvent(EVENT_SPELL_TIME_STOP, 20000); + events.ScheduleEvent(EVENT_SPELL_TIME_STOP, 20s); } void SpellHitTarget(Unit* target, SpellInfo const* spellInfo) override @@ -116,15 +116,15 @@ public: case EVENT_SPELL_CURSE_OF_EXERTION: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true)) me->CastSpell(target, SPELL_CURSE_OF_EXERTION, false); - events.RepeatEvent(9000); + events.Repeat(9s); break; case EVENT_SPELL_WOUNDING_STRIKE: me->CastSpell(me->GetVictim(), DUNGEON_MODE(SPELL_WOUNDING_STRIKE_N, SPELL_WOUNDING_STRIKE_H), false); - events.RepeatEvent(6000); + events.Repeat(6s); break; case EVENT_SPELL_TIME_STOP: me->CastSpell(me, SPELL_TIME_STOP, false); - events.RepeatEvent(20000); + events.Repeat(20s); break; case EVENT_SPELL_TIME_WARP: Talk(SAY_TIME_WARP); @@ -132,7 +132,7 @@ public: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true)) me->CastSpell(target, DUNGEON_MODE(SPELL_TIME_STEP_N, SPELL_TIME_STEP_H), true); - events.RepeatEvent(25000); + events.Repeat(25s); break; } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp index 7ec0d095c3..d5983c7eab 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp @@ -79,8 +79,8 @@ public: void JustEngagedWith(Unit* /*who*/) override { me->InterruptNonMeleeSpells(false); - events.ScheduleEvent(EVENT_SPELL_VOID_STRIKE, 8000); - events.ScheduleEvent(EVENT_SPELL_CORRUPTING_BLIGHT, 12000); + events.ScheduleEvent(EVENT_SPELL_VOID_STRIKE, 8s); + events.ScheduleEvent(EVENT_SPELL_CORRUPTING_BLIGHT, 12s); Talk(SAY_AGGRO); } @@ -147,12 +147,12 @@ public: { case EVENT_SPELL_VOID_STRIKE: me->CastSpell(me->GetVictim(), SPELL_VOID_STRIKE, false); - events.RepeatEvent(8000); + events.Repeat(8s); break; case EVENT_SPELL_CORRUPTING_BLIGHT: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true)) me->CastSpell(target, SPELL_CORRUPTING_BLIGHT, false); - events.RepeatEvent(12000); + events.Repeat(12s); break; } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp index 065224bdc3..bf7f18c2ac 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp @@ -87,10 +87,10 @@ public: void JustEngagedWith(Unit* /*who*/) override { Talk(SAY_AGGRO); - events.ScheduleEvent(EVENT_SPELL_CARRION_SWARM, 6000); - events.ScheduleEvent(EVENT_SPELL_MIND_BLAST, 11000); - events.ScheduleEvent(EVENT_SPELL_SLEEP, 20000); - events.ScheduleEvent(EVENT_SPELL_VAMPIRIC_TOUCH, 15000); + events.ScheduleEvent(EVENT_SPELL_CARRION_SWARM, 6s); + events.ScheduleEvent(EVENT_SPELL_MIND_BLAST, 11s); + events.ScheduleEvent(EVENT_SPELL_SLEEP, 20s); + events.ScheduleEvent(EVENT_SPELL_VAMPIRIC_TOUCH, 15s); } void JustDied(Unit* /*killer*/) override @@ -146,22 +146,22 @@ public: { case EVENT_SPELL_CARRION_SWARM: me->CastSpell(me->GetVictim(), DUNGEON_MODE(SPELL_CARRION_SWARM_N, SPELL_CARRION_SWARM_H), false); - events.RepeatEvent(7000); + events.Repeat(7s); break; case EVENT_SPELL_MIND_BLAST: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true)) me->CastSpell(target, DUNGEON_MODE(SPELL_MIND_BLAST_N, SPELL_MIND_BLAST_H), false); - events.RepeatEvent(6000); + events.Repeat(6s); break; case EVENT_SPELL_SLEEP: Talk(SAY_SLEEP); if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true)) me->CastSpell(target, DUNGEON_MODE(SPELL_SLEEP_N, SPELL_SLEEP_H), false); - events.RepeatEvent(17000); + events.Repeat(17s); break; case EVENT_SPELL_VAMPIRIC_TOUCH: me->CastSpell(me, SPELL_VAMPIRIC_TOUCH, true); - events.RepeatEvent(30000); + events.Repeat(30s); break; } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp index 8a87485c1e..e97fab3633 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp @@ -66,9 +66,9 @@ public: void JustEngagedWith(Unit* /*who*/) override { Talk(SAY_AGGRO); - events.RescheduleEvent(EVENT_SPELL_CONSTRICTING_CHAINS, 15000); - events.RescheduleEvent(EVENT_SPELL_DISEASE_EXPULSION, 4000); - events.RescheduleEvent(EVENT_SPELL_FRENZY, 20000); + events.RescheduleEvent(EVENT_SPELL_CONSTRICTING_CHAINS, 15s); + events.RescheduleEvent(EVENT_SPELL_DISEASE_EXPULSION, 4s); + events.RescheduleEvent(EVENT_SPELL_FRENZY, 20s); } void JustDied(Unit* /*killer*/) override @@ -98,16 +98,16 @@ public: { case EVENT_SPELL_DISEASE_EXPULSION: me->CastSpell(me, DUNGEON_MODE(SPELL_DISEASE_EXPULSION_N, SPELL_DISEASE_EXPULSION_H), false); - events.RepeatEvent(6000); + events.Repeat(6s); break; case EVENT_SPELL_FRENZY: me->CastSpell(me, SPELL_FRENZY, false); - events.RepeatEvent(20000); + events.Repeat(20s); break; case EVENT_SPELL_CONSTRICTING_CHAINS: if (Unit* pTarget = SelectTarget(SelectTargetMethod::MinThreat, 0, 50.0f, true)) me->CastSpell(pTarget, DUNGEON_MODE(SPELL_CONSTRICTING_CHAINS_N, SPELL_CONSTRICTING_CHAINS_H), false); - events.RepeatEvent(14000); + events.Repeat(14s); break; } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp index f0228eec2a..9ea60c7b03 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp @@ -84,12 +84,12 @@ public: void JustEngagedWith(Unit* /*who*/) override { Talk(SAY_AGGRO); - events.ScheduleEvent(EVENT_SPELL_SHADOW_BOLT, 7000); - events.ScheduleEvent(EVENT_SPELL_STEAL_FLESH, 11000); - events.ScheduleEvent(EVENT_SPELL_SUMMON_GHOULS, 16000); - events.ScheduleEvent(EVENT_EXPLODE_GHOUL, 22000); + events.ScheduleEvent(EVENT_SPELL_SHADOW_BOLT, 7s); + events.ScheduleEvent(EVENT_SPELL_STEAL_FLESH, 11s); + events.ScheduleEvent(EVENT_SPELL_SUMMON_GHOULS, 16s); + events.ScheduleEvent(EVENT_EXPLODE_GHOUL, 22s); if (IsHeroic()) - events.ScheduleEvent(EVENT_SPELL_CURSE, 25000); + events.ScheduleEvent(EVENT_SPELL_CURSE, 25s); } void JustDied(Unit* /*killer*/) override @@ -130,29 +130,29 @@ public: { case EVENT_SPELL_SHADOW_BOLT: me->CastSpell(me->GetVictim(), DUNGEON_MODE(SPELL_SHADOW_BOLT_N, SPELL_SHADOW_BOLT_H), false); - events.RepeatEvent(10000); + events.Repeat(10s); break; case EVENT_SPELL_STEAL_FLESH: if (!urand(0, 2)) Talk(SAY_STEAL_FLESH); me->CastSpell(me->GetVictim(), SPELL_STEAL_FLESH_CHANNEL, false); - events.RepeatEvent(12000); + events.Repeat(12s); break; case EVENT_SPELL_SUMMON_GHOULS: if (!urand(0, 2)) Talk(SAY_SUMMON_GHOULS); me->CastSpell(me, SPELL_SUMMON_GHOULS, false); - events.RepeatEvent(10000); + events.Repeat(10s); break; case EVENT_EXPLODE_GHOUL: if (!urand(0, 2)) Talk(SAY_EXPLODE_GHOUL); ExplodeGhoul(); - events.RepeatEvent(15000); + events.Repeat(15s); break; case EVENT_SPELL_CURSE: me->CastSpell(me->GetVictim(), SPELL_CURSE_OF_TWISTED_FAITH, false); - events.RepeatEvent(30000); + events.Repeat(30s); break; } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp index 5d1e9826a7..b26ec632ab 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp @@ -385,7 +385,7 @@ public: uint8 timeRiftId; Creature* GetEventNpc(uint32 entry); - void ScheduleNextEvent(uint32 currentEvent, uint32 time); + void ScheduleNextEvent(uint32 currentEvent, Milliseconds time); void SummonNextWave(); void ReorderInstance(uint32 data); void JustEngagedWith(Unit* /*who*/) override ; @@ -418,12 +418,12 @@ public: { // Event eventInRun = true; - actionEvents.ScheduleEvent(EVENT_ACTION_PHASE1, 0); + actionEvents.ScheduleEvent(EVENT_ACTION_PHASE1, 0ms); } else if (param == ACTION_START_CITY) { Talk(SAY_PHASE201); - actionEvents.ScheduleEvent(EVENT_ACTION_PHASE2, 12000); + actionEvents.ScheduleEvent(EVENT_ACTION_PHASE2, 12s); SetRun(false); eventInRun = true; @@ -435,7 +435,7 @@ public: waveGroupId = 10; eventInRun = true; SetRun(true); - actionEvents.ScheduleEvent(EVENT_ACTION_PHASE2 + 9, 10000); + actionEvents.ScheduleEvent(EVENT_ACTION_PHASE2 + 9, 10s); } else if (param == ACTION_START_TOWN_HALL) { @@ -486,7 +486,7 @@ public: { EnterEvadeMode(); eventInRun = true; - actionEvents.ScheduleEvent(EVENT_ACTION_PHASE5 + 1, 22000); + actionEvents.ScheduleEvent(EVENT_ACTION_PHASE5 + 1, 22s); me->SetFacingTo(1.84f); if (!me->GetMap()->GetPlayers().IsEmpty()) @@ -579,7 +579,7 @@ public: break; // Inside Town Hall first scene pos case 22: - actionEvents.ScheduleEvent(EVENT_ACTION_PHASE3, 0); + actionEvents.ScheduleEvent(EVENT_ACTION_PHASE3, 0ms); eventInRun = true; SetEscortPaused(true); break; @@ -652,7 +652,7 @@ public: // Infront of malganis case 55: Talk(SAY_PHASE502); - actionEvents.ScheduleEvent(EVENT_ACTION_PHASE5, 7000); + actionEvents.ScheduleEvent(EVENT_ACTION_PHASE5, 7s); SetEscortPaused(true); eventInRun = true; break; @@ -686,7 +686,7 @@ public: if (Creature* horse = me->SummonCreature(NPC_HORSE_ESCORT, EventPos[EVENT_SRC_HORSE1 + i], TEMPSUMMON_DEAD_DESPAWN, 180000)) horse->GetMotionMaster()->MovePoint(0, EventPos[EVENT_DST_HORSE1 + i], false); - ScheduleNextEvent(currentEvent, 4000); + ScheduleNextEvent(currentEvent, 4s); break; case EVENT_ACTION_PHASE1+1: // Start Event @@ -694,24 +694,24 @@ public: SetDespawnAtEnd(false); SetDespawnAtFar(false); - ScheduleNextEvent(currentEvent, 9000); + ScheduleNextEvent(currentEvent, 9s); break; // After waypoint 0 case EVENT_ACTION_PHASE1+2: Talk(SAY_PHASE101); - ScheduleNextEvent(currentEvent, 2000); + ScheduleNextEvent(currentEvent, 2s); break; case EVENT_ACTION_PHASE1+3: if (Creature* uther = GetEventNpc(NPC_UTHER)) uther->AI()->Talk(SAY_PHASE102); - ScheduleNextEvent(currentEvent, 8000); + ScheduleNextEvent(currentEvent, 8s); break; case EVENT_ACTION_PHASE1+4: SetEscortPaused(false); eventInRun = false; Talk(SAY_PHASE103); - ScheduleNextEvent(currentEvent, 2000); + ScheduleNextEvent(currentEvent, 2s); break; // After waypoint 1 case EVENT_ACTION_PHASE1+5: @@ -719,63 +719,63 @@ public: jaina->SetTarget(me->GetGUID()); Talk(SAY_PHASE104); - ScheduleNextEvent(currentEvent, 10000); + ScheduleNextEvent(currentEvent, 10s); break; case EVENT_ACTION_PHASE1+6: if (Creature* uther = GetEventNpc(NPC_UTHER)) uther->AI()->Talk(SAY_PHASE105); - ScheduleNextEvent(currentEvent, 1000); + ScheduleNextEvent(currentEvent, 1s); break; case EVENT_ACTION_PHASE1+7: Talk(SAY_PHASE106); - ScheduleNextEvent(currentEvent, 4000); + ScheduleNextEvent(currentEvent, 4s); break; case EVENT_ACTION_PHASE1+8: if (Creature* uther = GetEventNpc(NPC_UTHER)) uther->AI()->Talk(SAY_PHASE107); - ScheduleNextEvent(currentEvent, 6000); + ScheduleNextEvent(currentEvent, 6s); break; case EVENT_ACTION_PHASE1+9: Talk(SAY_PHASE108); - ScheduleNextEvent(currentEvent, 4000); + ScheduleNextEvent(currentEvent, 4s); break; case EVENT_ACTION_PHASE1+10: if (Creature* uther = GetEventNpc(NPC_UTHER)) uther->AI()->Talk(SAY_PHASE109); - ScheduleNextEvent(currentEvent, 8000); + ScheduleNextEvent(currentEvent, 8s); break; case EVENT_ACTION_PHASE1+11: Talk(SAY_PHASE110); - ScheduleNextEvent(currentEvent, 4000); + ScheduleNextEvent(currentEvent, 4s); break; case EVENT_ACTION_PHASE1+12: if (Creature* uther = GetEventNpc(NPC_UTHER)) uther->AI()->Talk(SAY_PHASE111); - ScheduleNextEvent(currentEvent, 4000); + ScheduleNextEvent(currentEvent, 4s); break; case EVENT_ACTION_PHASE1+13: Talk(SAY_PHASE112); - ScheduleNextEvent(currentEvent, 11000); + ScheduleNextEvent(currentEvent, 11s); break; case EVENT_ACTION_PHASE1+14: if (Creature* jaina = GetEventNpc(NPC_JAINA)) jaina->AI()->Talk(SAY_PHASE113); - ScheduleNextEvent(currentEvent, 2500); + ScheduleNextEvent(currentEvent, 2500ms); break; case EVENT_ACTION_PHASE1+15: Talk(SAY_PHASE114); - ScheduleNextEvent(currentEvent, 9000); + ScheduleNextEvent(currentEvent, 9s); break; case EVENT_ACTION_PHASE1+16: if (Creature* uther = GetEventNpc(NPC_UTHER)) uther->AI()->Talk(SAY_PHASE115); - ScheduleNextEvent(currentEvent, 4000); + ScheduleNextEvent(currentEvent, 4s); break; case EVENT_ACTION_PHASE1+17: for (SummonList::const_iterator i = summons.begin(); i != summons.end(); ++i) @@ -785,7 +785,7 @@ public: summon->GetMotionMaster()->MovePoint(0, EventPos[EVENT_POS_RETREAT], false); } - ScheduleNextEvent(currentEvent, 1000); + ScheduleNextEvent(currentEvent, 1s); break; case EVENT_ACTION_PHASE1+18: if (Creature* uther = GetEventNpc(NPC_UTHER)) @@ -794,7 +794,7 @@ public: uther->AddUnitMovementFlag(MOVEMENTFLAG_WALKING); uther->GetMotionMaster()->MovePoint(0, EventPos[EVENT_POS_RETREAT], false); } - ScheduleNextEvent(currentEvent, 1000); + ScheduleNextEvent(currentEvent, 1s); break; case EVENT_ACTION_PHASE1+19: if (Creature* jaina = GetEventNpc(NPC_JAINA)) @@ -804,7 +804,7 @@ public: jaina->GetMotionMaster()->MovePoint(0, EventPos[EVENT_POS_RETREAT], false); } Talk(SAY_PHASE116); - ScheduleNextEvent(currentEvent, 2000); + ScheduleNextEvent(currentEvent, 2s); break; case EVENT_ACTION_PHASE1+20: if (Creature* jaina = GetEventNpc(NPC_JAINA)) @@ -813,7 +813,7 @@ public: jaina->AI()->Talk(SAY_PHASE117); } - ScheduleNextEvent(currentEvent, 2000); + ScheduleNextEvent(currentEvent, 2s); break; case EVENT_ACTION_PHASE1+21: if (Creature* jaina = GetEventNpc(NPC_JAINA)) @@ -822,7 +822,7 @@ public: jaina->GetMotionMaster()->MovePoint(0, EventPos[EVENT_POS_RETREAT], false); } summons.DespawnEntry(NPC_HORSE_ESCORT); - ScheduleNextEvent(currentEvent, 4000); + ScheduleNextEvent(currentEvent, 4s); break; case EVENT_ACTION_PHASE1+22: SetEscortPaused(false); @@ -836,7 +836,7 @@ public: me->SetTarget(); SetEscortPaused(false); eventInRun = false; - ScheduleNextEvent(currentEvent, 1000); + ScheduleNextEvent(currentEvent, 1s); break; // After waypoint 9 case EVENT_ACTION_PHASE2+1: @@ -848,13 +848,13 @@ public: cityman->GetMotionMaster()->MovePoint(0, EventPos[EVENT_DST_CITYMAN]); } - ScheduleNextEvent(currentEvent, 9000); + ScheduleNextEvent(currentEvent, 9s); break; case EVENT_ACTION_PHASE2+2: Talk(SAY_PHASE203); SetEscortPaused(false); eventInRun = false; - ScheduleNextEvent(currentEvent, 1500); + ScheduleNextEvent(currentEvent, 1500ms); break; // After waypoint 11 case EVENT_ACTION_PHASE2+3: @@ -864,7 +864,7 @@ public: stalker->DespawnOrUnsummon(500); } Talk(SAY_PHASE205); - ScheduleNextEvent(currentEvent, 4000); + ScheduleNextEvent(currentEvent, 4s); break; case EVENT_ACTION_PHASE2+4: if (Creature* malganis = me->SummonCreature(NPC_MAL_GANIS, EventPos[EVENT_SRC_MALGANIS], TEMPSUMMON_TIMED_DESPAWN, 60000)) @@ -889,13 +889,13 @@ public: unitList.clear(); } - ScheduleNextEvent(currentEvent, 12000); + ScheduleNextEvent(currentEvent, 12s); break; case EVENT_ACTION_PHASE2+5: if (Creature* malganis = GetEventNpc(NPC_MAL_GANIS)) malganis->AI()->Talk(SAY_PHASE207); - ScheduleNextEvent(currentEvent, 15000); + ScheduleNextEvent(currentEvent, 15s); break; case EVENT_ACTION_PHASE2+6: if (Creature* malganis = GetEventNpc(NPC_MAL_GANIS)) @@ -906,7 +906,7 @@ public: } Talk(SAY_PHASE208); - ScheduleNextEvent(currentEvent, 11000); + ScheduleNextEvent(currentEvent, 11s); break; case EVENT_ACTION_PHASE2+7: summons.DespawnEntry(NPC_MAL_GANIS); @@ -914,7 +914,7 @@ public: summons.DespawnEntry(NPC_CITY_MAN2); Talk(SAY_PHASE209); me->SetReactState(REACT_DEFENSIVE); - ScheduleNextEvent(currentEvent, 20000); + ScheduleNextEvent(currentEvent, 20s); if (pInstance) pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_FINISHED_CITY_INTRO); break; @@ -941,36 +941,36 @@ public: cr->SetTarget(me->GetGUID()); if (Creature* cr = GetEventNpc(NPC_CITY_MAN)) cr->SetTarget(me->GetGUID()); - ScheduleNextEvent(currentEvent, 1000); + ScheduleNextEvent(currentEvent, 1s); break; case EVENT_ACTION_PHASE3+1: me->SetReactState(REACT_AGGRESSIVE); if (Creature* cr = GetEventNpc(NPC_CITY_MAN3)) cr->AI()->Talk(SAY_PHASE302); - ScheduleNextEvent(currentEvent, 7000); + ScheduleNextEvent(currentEvent, 7s); break; case EVENT_ACTION_PHASE3+2: Talk(SAY_PHASE303); SetEscortPaused(false); eventInRun = false; - ScheduleNextEvent(currentEvent, 0); + ScheduleNextEvent(currentEvent, 0ms); break; // After waypoint 23 case EVENT_ACTION_PHASE3+3: SetRun(true); if (Creature* cr = GetEventNpc(NPC_CITY_MAN3)) me->CastSpell(cr, SPELL_ARTHAS_CRUSADER_STRIKE, true); - ScheduleNextEvent(currentEvent, 2000); + ScheduleNextEvent(currentEvent, 2s); break; case EVENT_ACTION_PHASE3+4: Talk(SAY_PHASE304); - ScheduleNextEvent(currentEvent, 2000); + ScheduleNextEvent(currentEvent, 2s); break; case EVENT_ACTION_PHASE3+5: if (Creature* cr = GetEventNpc(NPC_CITY_MAN3)) cr->AI()->Talk(SAY_PHASE305); - ScheduleNextEvent(currentEvent, 1000); + ScheduleNextEvent(currentEvent, 1s); break; // Trio citizen transformation right as we enter Town Hall case EVENT_ACTION_PHASE3+6: @@ -981,7 +981,7 @@ public: cr->SetImmuneToAll(true); cr->SetReactState(REACT_PASSIVE); } - ScheduleNextEvent(currentEvent, 2000); + ScheduleNextEvent(currentEvent, 2s); break; case EVENT_ACTION_PHASE3+7: if (Creature* cr = GetEventNpc(NPC_CITY_MAN4)) @@ -991,7 +991,7 @@ public: cr->SetImmuneToAll(true); cr->SetReactState(REACT_PASSIVE); } - ScheduleNextEvent(currentEvent, 2000); + ScheduleNextEvent(currentEvent, 2s); break; case EVENT_ACTION_PHASE3+8: if (Creature* cr = GetEventNpc(NPC_CITY_MAN3)) @@ -1016,35 +1016,35 @@ public: cr->SetInCombatWithZone(); cr->AddThreat(me, 0.0f); } - ScheduleNextEvent(currentEvent, 2000); + ScheduleNextEvent(currentEvent, 2s); break; case EVENT_ACTION_PHASE3+9: // Arthas is fighting infinites in town hall if (me->IsInCombat()) { - actionEvents.RepeatEvent(1000); + actionEvents.Repeat(1s); return; } summons.DespawnAll(); Talk(SAY_PHASE305_1); me->SetFacingTo(0.0f); - ScheduleNextEvent(currentEvent, 5000); + ScheduleNextEvent(currentEvent, 5s); break; case EVENT_ACTION_PHASE3+10: Talk(SAY_PHASE306); - ScheduleNextEvent(currentEvent, 5000); + ScheduleNextEvent(currentEvent, 5s); break; case EVENT_ACTION_PHASE3+11: SetEscortPaused(false); eventInRun = false; - ScheduleNextEvent(currentEvent, 1000); + ScheduleNextEvent(currentEvent, 1s); break; case EVENT_ACTION_PHASE3+12: // Arthas is fighting first chronos if (me->IsInCombat()) { - actionEvents.RepeatEvent(1000); + actionEvents.Repeat(1s); return; } @@ -1052,13 +1052,13 @@ public: SetEscortPaused(false); Talk(SAY_PHASE308); me->SetFacingTo(M_PI); - ScheduleNextEvent(currentEvent, 0); + ScheduleNextEvent(currentEvent, 0ms); break; case EVENT_ACTION_PHASE3+13: // Arthas is fighting second chronos if (me->IsInCombat()) { - actionEvents.RepeatEvent(1000); + actionEvents.Repeat(1s); return; } @@ -1066,18 +1066,18 @@ public: SetEscortPaused(false); Talk(SAY_PHASE311); me->SetFacingTo(M_PI * 3 / 2); - ScheduleNextEvent(currentEvent, 0); + ScheduleNextEvent(currentEvent, 0ms); break; case EVENT_ACTION_PHASE3+14: // Arthas is fighting third chronos if (me->IsInCombat()) { - actionEvents.RepeatEvent(1000); + actionEvents.Repeat(1s); return; } me->SetFacingTo(M_PI / 2); - ScheduleNextEvent(currentEvent, 8000); + ScheduleNextEvent(currentEvent, 8s); break; case EVENT_ACTION_PHASE3+15: Talk(SAY_PHASE313); @@ -1090,17 +1090,17 @@ public: cr->GetMotionMaster()->MovePoint(0, EventPos[EVENT_DST_EPOCH]); } - ScheduleNextEvent(currentEvent, 3000); + ScheduleNextEvent(currentEvent, 3s); break; case EVENT_ACTION_PHASE3+16: if (Creature* cr = GetEventNpc(NPC_EPOCH)) cr->AI()->Talk(SAY_PHASE314); - ScheduleNextEvent(currentEvent, 14000); + ScheduleNextEvent(currentEvent, 14s); break; case EVENT_ACTION_PHASE3+17: Talk(SAY_PHASE315); - ScheduleNextEvent(currentEvent, 7000); + ScheduleNextEvent(currentEvent, 7s); break; case EVENT_ACTION_PHASE3+18: if (Creature* cr = GetEventNpc(NPC_EPOCH)) @@ -1111,13 +1111,13 @@ public: cr->AddThreat(me, 0.0f); cr->SetInCombatWithZone(); } - ScheduleNextEvent(currentEvent, 1000); + ScheduleNextEvent(currentEvent, 1s); break; case EVENT_ACTION_PHASE3+19: // Arthas is fighting epoch chronos if (me->IsInCombat()) { - actionEvents.RepeatEvent(1000); + actionEvents.Repeat(1s); return; } @@ -1143,7 +1143,7 @@ public: Talk(SAY_PHASE503); SetEscortPaused(false); eventInRun = false; - ScheduleNextEvent(currentEvent, 5000); + ScheduleNextEvent(currentEvent, 5s); break; case EVENT_ACTION_PHASE5+2: me->SetFacingTo(5.28f); @@ -1156,7 +1156,7 @@ public: pInstance->instance->SummonGameObject(DUNGEON_MODE(GO_MALGANIS_CHEST_N, GO_MALGANIS_CHEST_H), 2288.35f, 1498.73f, 128.414f, -0.994837f, 0, 0, 0, 0, 7 * DAY * IN_MILLISECONDS); } - ScheduleNextEvent(currentEvent, 10000); + ScheduleNextEvent(currentEvent, 10s); break; case EVENT_ACTION_PHASE5+3: eventInRun = false; @@ -1179,13 +1179,13 @@ public: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0)) me->CastSpell(target, DUNGEON_MODE(SPELL_ARTHAS_EXORCISM_N, SPELL_ARTHAS_EXORCISM_H), false); - combatEvents.RepeatEvent(7300); + combatEvents.Repeat(7300ms); break; case EVENT_COMBAT_HEALTH_CHECK: if (HealthBelowPct(40)) me->CastSpell(me, SPELL_ARTHAS_HOLY_LIGHT, false); - combatEvents.RepeatEvent(1000); + combatEvents.Repeat(1s); break; } @@ -1210,7 +1210,7 @@ Creature* npc_arthas::npc_arthasAI::GetEventNpc(uint32 entry) return nullptr; } -void npc_arthas::npc_arthasAI::ScheduleNextEvent(uint32 currentEvent, uint32 time) +void npc_arthas::npc_arthasAI::ScheduleNextEvent(uint32 currentEvent, Milliseconds time) { actionEvents.ScheduleEvent(currentEvent + 1, time); } @@ -1236,8 +1236,8 @@ void npc_arthas::npc_arthasAI::JustEngagedWith(Unit* /*who*/) DoCast(me, SPELL_ARTHAS_AURA); // Fight - combatEvents.ScheduleEvent(EVENT_COMBAT_EXORCISM, 2000); - combatEvents.ScheduleEvent(EVENT_COMBAT_HEALTH_CHECK, 2000); + combatEvents.ScheduleEvent(EVENT_COMBAT_EXORCISM, 2s); + combatEvents.ScheduleEvent(EVENT_COMBAT_HEALTH_CHECK, 2s); } void npc_arthas::npc_arthasAI::ReorderInstance(uint32 data) @@ -1261,7 +1261,7 @@ void npc_arthas::npc_arthasAI::ReorderInstance(uint32 data) if (data == COS_PROGRESS_FINISHED_CITY_INTRO) { eventInRun = true; - actionEvents.RescheduleEvent(EVENT_ACTION_PHASE2 + 8, 10000); + actionEvents.RescheduleEvent(EVENT_ACTION_PHASE2 + 8, 10s); } else if (data == COS_PROGRESS_KILLED_MEATHOOK) { diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp index 6cb2b46da7..0afbb1e500 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp @@ -79,11 +79,11 @@ public: if (_encounterProgress == ENCOUNTER_PROGRESS_NONE) return; - _events.ScheduleEvent(EVENT_INITIAL_BARRELS_FLAME, 0); - _events.ScheduleEvent(EVENT_FINAL_BARRELS_FLAME, 0); + _events.ScheduleEvent(EVENT_INITIAL_BARRELS_FLAME, 0ms); + _events.ScheduleEvent(EVENT_FINAL_BARRELS_FLAME, 0ms); if (_encounterProgress == ENCOUNTER_PROGRESS_BARRELS) - _events.ScheduleEvent(EVENT_SUMMON_LIEUTENANT, 0); + _events.ScheduleEvent(EVENT_SUMMON_LIEUTENANT, 0ms); else SetData(DATA_THRALL_REPOSITION, 2); } @@ -138,7 +138,7 @@ public: { case DATA_THRALL_REPOSITION: if (data > 1) - _events.ScheduleEvent(EVENT_THRALL_REPOSITION, data == 2 ? 0 : 10000); + _events.ScheduleEvent(EVENT_THRALL_REPOSITION, data == 2 ? 0ms : 10s); else if (Creature* thrall = instance->GetCreature(_thrallGUID)) Reposition(thrall); return; @@ -157,9 +157,9 @@ public: DoUpdateWorldState(WORLD_STATE_OLD_HILLSBRAD_BARRELS_PLANTED, ++_barrelCount); if (_barrelCount == 5) { - _events.ScheduleEvent(EVENT_INITIAL_BARRELS_FLAME, 4000); - _events.ScheduleEvent(EVENT_FINAL_BARRELS_FLAME, 12000); - _events.ScheduleEvent(EVENT_SUMMON_LIEUTENANT, 18000); + _events.ScheduleEvent(EVENT_INITIAL_BARRELS_FLAME, 4s); + _events.ScheduleEvent(EVENT_FINAL_BARRELS_FLAME, 12s); + _events.ScheduleEvent(EVENT_SUMMON_LIEUTENANT, 18s); } break; } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp index 8745dc128c..271cb6c229 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp @@ -258,8 +258,8 @@ public: switch (param) { case ENCOUNTER_PROGRESS_BARRELS: - events.ScheduleEvent(EVENT_OPEN_DOORS, 0); - events.ScheduleEvent(EVENT_START_WP, 3000); + events.ScheduleEvent(EVENT_OPEN_DOORS, 0ms); + events.ScheduleEvent(EVENT_START_WP, 3s); break; case ENCOUNTER_PROGRESS_THRALL_ARMORED: case ENCOUNTER_PROGRESS_AMBUSHES_1: @@ -268,27 +268,27 @@ public: SetEscortPaused(false); break; case ENCOUNTER_PROGRESS_TARETHA_MEET: - events.ScheduleEvent(EVENT_SUMMON_CHRONO, 0); - events.ScheduleEvent(EVENT_THRALL_TALK_2, 6000); - events.ScheduleEvent(EVENT_TARETHA_FALL, 11000); - events.ScheduleEvent(EVENT_THRALL_TALK_3, 15000); - events.ScheduleEvent(EVENT_THRALL_MOVE_DOWN, 17000); + events.ScheduleEvent(EVENT_SUMMON_CHRONO, 0ms); + events.ScheduleEvent(EVENT_THRALL_TALK_2, 6s); + events.ScheduleEvent(EVENT_TARETHA_FALL, 11s); + events.ScheduleEvent(EVENT_THRALL_TALK_3, 15s); + events.ScheduleEvent(EVENT_THRALL_MOVE_DOWN, 17s); break; case NPC_TARETHA: - events.ScheduleEvent(EVENT_THRALL_FACE_TARETHA, 0); - events.ScheduleEvent(EVENT_THRALL_TALK_4, 4000); - events.ScheduleEvent(EVENT_TARETHA_TALK_1, 13000); - events.ScheduleEvent(EVENT_THRALL_TALK_5, 17000); - events.ScheduleEvent(EVENT_SUMMON_EROZION, 17500); - events.ScheduleEvent(EVENT_EROZION_TALK_1, 18000); - events.ScheduleEvent(EVENT_EROZION_ACTION_1, 24000); - events.ScheduleEvent(EVENT_EROZION_TALK_2, 29000); - events.ScheduleEvent(EVENT_EROZION_TALK_3, 40000); - events.ScheduleEvent(EVENT_EROZION_ACTION_2, 46000); - events.ScheduleEvent(EVENT_THRALL_TALK_6, 48000); - events.ScheduleEvent(EVENT_THRALL_RUN_AWAY, 51000); - events.ScheduleEvent(EVENT_TARETHA_TALK_2, 53000); - events.ScheduleEvent(EVENT_EROZION_FLAGS, 56000); + events.ScheduleEvent(EVENT_THRALL_FACE_TARETHA, 0ms); + events.ScheduleEvent(EVENT_THRALL_TALK_4, 4s); + events.ScheduleEvent(EVENT_TARETHA_TALK_1, 13s); + events.ScheduleEvent(EVENT_THRALL_TALK_5, 17s); + events.ScheduleEvent(EVENT_SUMMON_EROZION, 17500ms); + events.ScheduleEvent(EVENT_EROZION_TALK_1, 18s); + events.ScheduleEvent(EVENT_EROZION_ACTION_1, 24s); + events.ScheduleEvent(EVENT_EROZION_TALK_2, 29s); + events.ScheduleEvent(EVENT_EROZION_TALK_3, 40s); + events.ScheduleEvent(EVENT_EROZION_ACTION_2, 46s); + events.ScheduleEvent(EVENT_THRALL_TALK_6, 48s); + events.ScheduleEvent(EVENT_THRALL_RUN_AWAY, 51s); + events.ScheduleEvent(EVENT_TARETHA_TALK_2, 53s); + events.ScheduleEvent(EVENT_EROZION_FLAGS, 56s); break; } } @@ -311,23 +311,23 @@ public: Talk(SAY_START_EVENT_PART1); break; case 8: - events.ScheduleEvent(EVENT_SET_FACING, 500); - events.ScheduleEvent(EVENT_ARMORER_SAY, 700); - events.ScheduleEvent(EVENT_THRALL_EMOTE, 1300); + events.ScheduleEvent(EVENT_SET_FACING, 500ms); + events.ScheduleEvent(EVENT_ARMORER_SAY, 700ms); + events.ScheduleEvent(EVENT_THRALL_EMOTE, 1300ms); break; case 9: SetRun(false); - events.ScheduleEvent(EVENT_KILL_ARMORER, 500); - events.ScheduleEvent(EVENT_TALK_KILL_ARMORER, 3000); + events.ScheduleEvent(EVENT_KILL_ARMORER, 500ms); + events.ScheduleEvent(EVENT_TALK_KILL_ARMORER, 3s); break; case 10: SetRun(true); - events.ScheduleEvent(EVENT_DRESSING_KNEEL, 500); - events.ScheduleEvent(EVENT_DRESSING_ARMOR, 3000); - events.ScheduleEvent(EVENT_DRESSING_STAND, 4000); - events.ScheduleEvent(EVENT_DRESSING_AXE, 7000); - events.ScheduleEvent(EVENT_DRESSING_SHIELD, 9000); - events.ScheduleEvent(EVENT_DRESSING_TALK, 12000); + events.ScheduleEvent(EVENT_DRESSING_KNEEL, 500ms); + events.ScheduleEvent(EVENT_DRESSING_ARMOR, 3s); + events.ScheduleEvent(EVENT_DRESSING_STAND, 4s); + events.ScheduleEvent(EVENT_DRESSING_AXE, 7s); + events.ScheduleEvent(EVENT_DRESSING_SHIELD, 9s); + events.ScheduleEvent(EVENT_DRESSING_TALK, 12s); break; case 18: if (Creature* warden = me->SummonCreature(NPC_DURNHOLDE_WARDEN, 2149.4634f, 104.97559f, 73.632385f, 1.9065f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30 * IN_MILLISECONDS)) @@ -362,8 +362,8 @@ public: Talk(SAY_SKARLOC_MEET); break; case 30: - events.ScheduleEvent(EVENT_ENTER_MOUNT, 3000); - events.ScheduleEvent(EVENT_TALK_START_RIDE, 7000); + events.ScheduleEvent(EVENT_ENTER_MOUNT, 3s); + events.ScheduleEvent(EVENT_TALK_START_RIDE, 7s); break; case 59: instance->SetData(DATA_ESCORT_PROGRESS, ENCOUNTER_PROGRESS_TARREN_MILL); @@ -394,20 +394,20 @@ public: SetRun(false); break; case 67: - events.ScheduleEvent(EVENT_LOOK_1, 1200); - events.ScheduleEvent(EVENT_MOVE_AROUND, 3500); - events.ScheduleEvent(EVENT_LOOK_2, 5000); - events.ScheduleEvent(EVENT_SUMMON_GUARDS, 5100); - events.ScheduleEvent(EVENT_LOOK_3, 7000); - events.ScheduleEvent(EVENT_SUMMON_TALK1, 12000); - events.ScheduleEvent(EVENT_LOOK_4, 17000); - events.ScheduleEvent(EVENT_SUMMON_TALK2, 19000); - events.ScheduleEvent(EVENT_GUARDS_MOVING, 21000); + events.ScheduleEvent(EVENT_LOOK_1, 1200ms); + events.ScheduleEvent(EVENT_MOVE_AROUND, 3500ms); + events.ScheduleEvent(EVENT_LOOK_2, 5s); + events.ScheduleEvent(EVENT_SUMMON_GUARDS, 5100ms); + events.ScheduleEvent(EVENT_LOOK_3, 7s); + events.ScheduleEvent(EVENT_SUMMON_TALK1, 12s); + events.ScheduleEvent(EVENT_LOOK_4, 17s); + events.ScheduleEvent(EVENT_SUMMON_TALK2, 19s); + events.ScheduleEvent(EVENT_GUARDS_MOVING, 21s); break; case 82: - events.ScheduleEvent(EVENT_LOOK_5, 500); - events.ScheduleEvent(EVENT_SUMMON_GUARDS_2, 1000); - events.ScheduleEvent(EVENT_SUMMON_TALK3, 1500); + events.ScheduleEvent(EVENT_LOOK_5, 500ms); + events.ScheduleEvent(EVENT_SUMMON_GUARDS_2, 1s); + events.ScheduleEvent(EVENT_SUMMON_TALK3, 1500ms); break; case 91: me->SummonCreature(NPC_TM_PROTECTOR, 2652.71f, 660.31f, 61.93f, 1.67f, TEMPSUMMON_MANUAL_DESPAWN); @@ -430,14 +430,14 @@ public: Taretha->HandleEmoteCommand(EMOTE_ONESHOT_CHEER); Taretha->AI()->Talk(SAY_TARETHA_ESCAPED); } - events.ScheduleEvent(EVENT_THRALL_TALK, 4000); + events.ScheduleEvent(EVENT_THRALL_TALK, 4s); break; case 101: SetEscortPaused(true); - events.ScheduleEvent(EVENT_EPOCH_INTRO, 500); - events.ScheduleEvent(EVENT_SUMMON_INFINITES, 1500); - events.ScheduleEvent(EVENT_TRANSFORM, 8000); - events.ScheduleEvent(EVENT_START_WAVE_1, 25000); + events.ScheduleEvent(EVENT_EPOCH_INTRO, 500ms); + events.ScheduleEvent(EVENT_SUMMON_INFINITES, 1500ms); + events.ScheduleEvent(EVENT_TRANSFORM, 8s); + events.ScheduleEvent(EVENT_START_WAVE_1, 25s); break; case 103: instance->SetData(DATA_ESCORT_PROGRESS, ENCOUNTER_PROGRESS_FINISHED); @@ -473,9 +473,9 @@ public: void JustEngagedWith(Unit*) override { combatEvents.Reset(); - combatEvents.ScheduleEvent(EVENT_CHECK_HEALTH, 500); - combatEvents.ScheduleEvent(EVENT_SPELL_SHIELD_BLOCK, 8000); - combatEvents.ScheduleEvent(EVENT_SPELL_STRIKE, 2000); + combatEvents.ScheduleEvent(EVENT_CHECK_HEALTH, 500ms); + combatEvents.ScheduleEvent(EVENT_SPELL_SHIELD_BLOCK, 8s); + combatEvents.ScheduleEvent(EVENT_SPELL_STRIKE, 2s); if (roll_chance_i(50)) Talk(SAY_RANDOM_AGGRO); @@ -766,7 +766,7 @@ public: summons.DoAction(ACTION_SET_IMMUNE_FLAG); break; case EVENT_START_WAVE_1: - events.ScheduleEvent(EVENT_CHECK_WAVE_1, 500); + events.ScheduleEvent(EVENT_CHECK_WAVE_1, 500ms); summons.DoAction(ACTION_REMOVE_IMMUNE_FLAG); summons.DoAction(ACTION_START_COMBAT); break; @@ -777,10 +777,10 @@ public: me->SummonCreature(NPC_INFINITE_SLAYER, 2599.57f, 677.0f, 55.975f, 0.05f, TEMPSUMMON_MANUAL_DESPAWN); me->SummonCreature(NPC_INFINITE_DEFILER, 2592.57f, 680.0f, 55.975f, 0.05f, TEMPSUMMON_MANUAL_DESPAWN); summons.DoAction(ACTION_START_COMBAT); - events.ScheduleEvent(EVENT_CHECK_WAVE_2, 500); + events.ScheduleEvent(EVENT_CHECK_WAVE_2, 500ms); break; } - events.ScheduleEvent(EVENT_CHECK_WAVE_1, 500); + events.ScheduleEvent(EVENT_CHECK_WAVE_1, 500ms); break; case EVENT_CHECK_WAVE_2: if (summons.size() == 1) @@ -790,20 +790,20 @@ public: me->SummonCreature(NPC_INFINITE_SABOTEUR, 2638.62f, 705.43f, 55.965f, 4.46f, TEMPSUMMON_MANUAL_DESPAWN); me->SummonCreature(NPC_INFINITE_DEFILER, 2642.62f, 705.43f, 55.965f, 4.46f, TEMPSUMMON_MANUAL_DESPAWN); summons.DoAction(ACTION_START_COMBAT); - events.ScheduleEvent(EVENT_CHECK_WAVE_3, 500); + events.ScheduleEvent(EVENT_CHECK_WAVE_3, 500ms); break; } - events.ScheduleEvent(EVENT_CHECK_WAVE_2, 500); + events.ScheduleEvent(EVENT_CHECK_WAVE_2, 500ms); break; case EVENT_CHECK_WAVE_3: if (summons.size() == 1) { me->SetHomePosition(2634.79f, 672.964f, 54.8577f, 1.33f); me->GetMotionMaster()->MoveTargetedHome(); - events.ScheduleEvent(EVENT_CALL_EPOCH, 8000); + events.ScheduleEvent(EVENT_CALL_EPOCH, 8s); break; } - events.ScheduleEvent(EVENT_CHECK_WAVE_3, 500); + events.ScheduleEvent(EVENT_CHECK_WAVE_3, 500ms); break; case EVENT_CALL_EPOCH: if (Creature* epoch = summons.GetCreatureWithEntry(NPC_EPOCH_HUNTER)) @@ -905,15 +905,15 @@ public: Talk(SAY_RANDOM_LOW_HP); break; } - events.ScheduleEvent(EVENT_CHECK_HEALTH, 500); + events.ScheduleEvent(EVENT_CHECK_HEALTH, 500ms); break; case EVENT_SPELL_STRIKE: me->CastSpell(me->GetVictim(), SPELL_STRIKE, false); - events.ScheduleEvent(EVENT_SPELL_STRIKE, 6000); + events.ScheduleEvent(EVENT_SPELL_STRIKE, 6s); break; case EVENT_SPELL_SHIELD_BLOCK: me->CastSpell(me, SPELL_SHIELD_BLOCK, false); - events.ScheduleEvent(EVENT_SPELL_SHIELD_BLOCK, 6000); + events.ScheduleEvent(EVENT_SPELL_SHIELD_BLOCK, 6s); break; } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp index f80ed1b288..0f08fb9bee 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp @@ -137,13 +137,13 @@ struct npc_medivh_bm : public ScriptedAI me->CastSpell(me, SPELL_MEDIVH_CHANNEL, false); - events.ScheduleEvent(EVENT_CHECK_HEALTH_75, 500); - events.ScheduleEvent(EVENT_CHECK_HEALTH_50, 500); - events.ScheduleEvent(EVENT_CHECK_HEALTH_25, 500); - events.ScheduleEvent(EVENT_SUMMON_CRYSTAL, 2000); - events.ScheduleEvent(EVENT_SUMMON_CRYSTAL, 4000); - events.ScheduleEvent(EVENT_SUMMON_CRYSTAL, 6000); - events.ScheduleEvent(EVENT_SUMMON_FLYING_CRYSTAL, 8000); + events.ScheduleEvent(EVENT_CHECK_HEALTH_75, 500ms); + events.ScheduleEvent(EVENT_CHECK_HEALTH_50, 500ms); + events.ScheduleEvent(EVENT_CHECK_HEALTH_25, 500ms); + events.ScheduleEvent(EVENT_SUMMON_CRYSTAL, 2s); + events.ScheduleEvent(EVENT_SUMMON_CRYSTAL, 4s); + events.ScheduleEvent(EVENT_SUMMON_CRYSTAL, 6s); + events.ScheduleEvent(EVENT_SUMMON_FLYING_CRYSTAL, 8s); } } @@ -154,7 +154,7 @@ struct npc_medivh_bm : public ScriptedAI if (param == ACTION_OUTRO) { events.Reset(); - events.ScheduleEvent(EVENT_OUTRO_1, 4000); + events.ScheduleEvent(EVENT_OUTRO_1, 4s); me->InterruptNonMeleeSpells(true); me->SummonGameObject(GO_DARK_PORTAL, -2086.0f, 7125.6215f, 30.5f, 6.148f, 0.0f, 0.0f, 0.0f, 0.0f, 0); @@ -180,43 +180,43 @@ struct npc_medivh_bm : public ScriptedAI Talk(eventId + 1); break; } - events.ScheduleEvent(eventId, 500); + events.ScheduleEvent(eventId, 500ms); break; case EVENT_SUMMON_CRYSTAL: me->SummonCreature(NPC_DP_EMITTER_STALKER, me->GetPositionX() + 8.0f, me->GetPositionY(), me->GetPositionZ()); break; case EVENT_SUMMON_FLYING_CRYSTAL: me->CastSpell(me, SPELL_PORTAL_CRYSTALS, true); - events.ScheduleEvent(EVENT_SUMMON_FLYING_CRYSTAL, 1000); + events.ScheduleEvent(EVENT_SUMMON_FLYING_CRYSTAL, 1s); break; case EVENT_OUTRO_1: me->SetFacingTo(6.21f); Talk(SAY_MEDIVH_WIN); - events.ScheduleEvent(EVENT_OUTRO_2, 17000); + events.ScheduleEvent(EVENT_OUTRO_2, 17s); break; case EVENT_OUTRO_2: me->SetFacingTo(3.07f); - events.ScheduleEvent(EVENT_OUTRO_3, 2000); + events.ScheduleEvent(EVENT_OUTRO_3, 2s); break; case EVENT_OUTRO_3: SummonOrcs(-2046.158f, -3.0f, 37000, 30000, true); - events.ScheduleEvent(EVENT_OUTRO_4, 2000); + events.ScheduleEvent(EVENT_OUTRO_4, 2s); break; case EVENT_OUTRO_4: SummonOrcs(-2055.97f, -2.0f, 33000, 28000, false); - events.ScheduleEvent(EVENT_OUTRO_5, 2000); + events.ScheduleEvent(EVENT_OUTRO_5, 2s); break; case EVENT_OUTRO_5: SummonOrcs(-2064.0f, -1.5f, 29000, 26000, false); - events.ScheduleEvent(EVENT_OUTRO_6, 2000); + events.ScheduleEvent(EVENT_OUTRO_6, 2s); break; case EVENT_OUTRO_6: SummonOrcs(-2074.35f, -0.1f, 26000, 24000, false); - events.ScheduleEvent(EVENT_OUTRO_7, 7000); + events.ScheduleEvent(EVENT_OUTRO_7, 7s); break; case EVENT_OUTRO_7: Talk(SAY_MEDIVH_ORCS_ENTER); - events.ScheduleEvent(EVENT_OUTRO_8, 7000); + events.ScheduleEvent(EVENT_OUTRO_8, 7s); break; case EVENT_OUTRO_8: if (Creature* cr = me->FindNearestCreature(NPC_SHADOW_COUNCIL_ENFORCER, 20.0f)) @@ -368,7 +368,7 @@ struct npc_time_rift : public NullCreatureAI if (!_instance->GetCreature(DATA_AEONUS)) { DoSelectSummon(); - events.ScheduleEvent(EVENT_SUMMON_AT_RIFT, 15000); + events.ScheduleEvent(EVENT_SUMMON_AT_RIFT, 15s); } break; case EVENT_SUMMON_BOSS: diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp index 3564bc8804..f51446e467 100644 --- a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp +++ b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp @@ -138,16 +138,16 @@ public: switch (ph) { case PHASE_GROUNDED: - events.ScheduleEvent(EVENT_SPELL_WINGBUFFET, urand(10000, 20000)); - events.ScheduleEvent(EVENT_SPELL_FLAMEBREATH, urand(10000, 20000)); - events.ScheduleEvent(EVENT_SPELL_TAILSWEEP, urand(15000, 20000)); - events.ScheduleEvent(EVENT_SPELL_CLEAVE, urand(2000, 5000)); + events.ScheduleEvent(EVENT_SPELL_WINGBUFFET, 10s, 20s); + events.ScheduleEvent(EVENT_SPELL_FLAMEBREATH, 10s, 20s); + events.ScheduleEvent(EVENT_SPELL_TAILSWEEP, 15s, 20s); + events.ScheduleEvent(EVENT_SPELL_CLEAVE, 2s, 5s); break; case PHASE_AIRPHASE: - events.ScheduleEvent(EVENT_START_PHASE_2, 0); + events.ScheduleEvent(EVENT_START_PHASE_2, 0ms); break; case PHASE_LANDED: - events.ScheduleEvent(EVENT_START_PHASE_3, 5000); + events.ScheduleEvent(EVENT_START_PHASE_3, 5s); break; } } @@ -237,7 +237,7 @@ public: me->SetFacingTo(OnyxiaMoveData[id].o); me->SetSpeed(MOVE_RUN, 1.6f, false); CurrentWP = id; - events.ScheduleEvent(EVENT_SPELL_FIREBALL_FIRST, 1000); + events.ScheduleEvent(EVENT_SPELL_FIREBALL_FIRST, 1s); } } else @@ -246,21 +246,21 @@ public: { case 10: me->SetFacingTo(OnyxiaMoveData[0].o); - events.ScheduleEvent(EVENT_LIFTOFF, 0); + events.ScheduleEvent(EVENT_LIFTOFF, 0ms); break; case 11: me->SetFacingTo(OnyxiaMoveData[1].o); - events.ScheduleEvent(EVENT_FLY_S_TO_N, 0); + events.ScheduleEvent(EVENT_FLY_S_TO_N, 0ms); break; case 12: me->SetFacingTo(OnyxiaMoveData[1].o); - events.ScheduleEvent(EVENT_LAND, 0); + events.ScheduleEvent(EVENT_LAND, 0ms); break; case 13: me->SetCanFly(false); me->SetDisableGravity(false); me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run, false); - events.ScheduleEvent(EVENT_PHASE_3_ATTACK, 0); + events.ScheduleEvent(EVENT_PHASE_3_ATTACK, 0ms); break; } } @@ -326,25 +326,25 @@ public: case EVENT_SPELL_WINGBUFFET: { DoCastAOE(SPELL_WINGBUFFET); - events.RepeatEvent(urand(15000, 30000)); + events.Repeat(15s, 30s); break; } case EVENT_SPELL_FLAMEBREATH: { DoCastAOE(SPELL_FLAMEBREATH); - events.RepeatEvent(urand(10000, 20000)); + events.Repeat(10s, 20s); break; } case EVENT_SPELL_TAILSWEEP: { DoCastAOE(SPELL_TAILSWEEP); - events.RepeatEvent(urand(15000, 20000)); + events.Repeat(15s, 20s); break; } case EVENT_SPELL_CLEAVE: { DoCastVictim(SPELL_CLEAVE); - events.RepeatEvent(urand(2000, 5000)); + events.Repeat(2s, 5s); break; } case EVENT_START_PHASE_2: @@ -369,7 +369,7 @@ public: me->GetMotionMaster()->MoveTakeoff(11, OnyxiaMoveData[1].x + 1.0f, OnyxiaMoveData[1].y, OnyxiaMoveData[1].z, 12.0f); bManyWhelpsAvailable = true; - events.RescheduleEvent(EVENT_END_MANY_WHELPS_TIME, 10000); + events.RescheduleEvent(EVENT_END_MANY_WHELPS_TIME, 10s); break; } case EVENT_END_MANY_WHELPS_TIME: @@ -381,20 +381,20 @@ public: me->GetMotionMaster()->MovePoint(5, OnyxiaMoveData[5].x, OnyxiaMoveData[5].y, OnyxiaMoveData[5].z); whelpSpam = true; - events.ScheduleEvent(EVENT_WHELP_SPAM, 90000); - events.ScheduleEvent(EVENT_SUMMON_LAIR_GUARD, 30000); + events.ScheduleEvent(EVENT_WHELP_SPAM, 90s); + events.ScheduleEvent(EVENT_SUMMON_LAIR_GUARD, 30s); break; } case EVENT_SUMMON_LAIR_GUARD: { me->CastSpell(-101.654f, -214.491f, -80.70f, SPELL_SUMMON_LAIR_GUARD, true); - events.RepeatEvent(30000); + events.Repeat(30s); break; } case EVENT_WHELP_SPAM: { whelpSpam = true; - events.RepeatEvent(90000); + events.Repeat(90s); break; } case EVENT_LAND: @@ -413,7 +413,7 @@ public: DoCast(v, SPELL_FIREBALL); } - events.ScheduleEvent(EVENT_SPELL_FIREBALL_SECOND, 4000); + events.ScheduleEvent(EVENT_SPELL_FIREBALL_SECOND, 4s); break; } case EVENT_SPELL_FIREBALL_SECOND: @@ -427,15 +427,15 @@ public: uint8 rand = urand(0, 99); if (rand < 33) { - events.ScheduleEvent(EVENT_PHASE_2_STEP_CW, 4000); + events.ScheduleEvent(EVENT_PHASE_2_STEP_CW, 4s); } else if (rand < 66) { - events.ScheduleEvent(EVENT_PHASE_2_STEP_ACW, 4000); + events.ScheduleEvent(EVENT_PHASE_2_STEP_ACW, 4s); } else { - events.ScheduleEvent(EVENT_PHASE_2_STEP_ACROSS, 4000); + events.ScheduleEvent(EVENT_PHASE_2_STEP_ACROSS, 4s); } break; } @@ -464,7 +464,7 @@ public: Talk(EMOTE_BREATH); me->SetFacingTo(OnyxiaMoveData[CurrentWP].o); DoCastAOE(OnyxiaMoveData[CurrentWP].spellId); - events.ScheduleEvent(EVENT_SPELL_BREATH, 8250); + events.ScheduleEvent(EVENT_SPELL_BREATH, 8250ms); break; } case EVENT_SPELL_BREATH: @@ -491,20 +491,20 @@ public: DoCastAOE(SPELL_BELLOWINGROAR); - events.ScheduleEvent(EVENT_ERUPTION, 0); - events.ScheduleEvent(EVENT_SPELL_WINGBUFFET, urand(10000, 20000)); - events.ScheduleEvent(EVENT_SPELL_FLAMEBREATH, urand(10000, 20000)); - events.ScheduleEvent(EVENT_SPELL_TAILSWEEP, urand(15000, 20000)); - events.ScheduleEvent(EVENT_SPELL_CLEAVE, urand(2000, 5000)); - events.ScheduleEvent(EVENT_SPELL_BELLOWINGROAR, 15000); - events.ScheduleEvent(EVENT_SUMMON_WHELP, 10000); + events.ScheduleEvent(EVENT_ERUPTION, 0ms); + events.ScheduleEvent(EVENT_SPELL_WINGBUFFET, 10s, 20s); + events.ScheduleEvent(EVENT_SPELL_FLAMEBREATH, 10s, 20s); + events.ScheduleEvent(EVENT_SPELL_TAILSWEEP, 15s, 20s); + events.ScheduleEvent(EVENT_SPELL_CLEAVE, 2s, 5s); + events.ScheduleEvent(EVENT_SPELL_BELLOWINGROAR, 15s); + events.ScheduleEvent(EVENT_SUMMON_WHELP, 10s); break; } case EVENT_SPELL_BELLOWINGROAR: { DoCastAOE(SPELL_BELLOWINGROAR); - events.RepeatEvent(22000); - events.ScheduleEvent(EVENT_ERUPTION, 0); + events.Repeat(22s); + events.ScheduleEvent(EVENT_ERUPTION, 0ms); break; } case EVENT_ERUPTION: @@ -521,7 +521,7 @@ public: float dist = rand_norm() * 4.0f; me->CastSpell(-33.18f + cos(angle) * dist, -258.80f + std::sin(angle) * dist, -89.0f, 17646, true); me->CastSpell(-32.535f + cos(angle) * dist, -170.190f + std::sin(angle) * dist, -89.0f, 17646, true); - events.RepeatEvent(30000); + events.Repeat(30s); break; } } @@ -555,8 +555,8 @@ public: void JustEngagedWith(Unit* /*who*/) override { events.Reset(); - events.ScheduleEvent(EVENT_OLG_SPELL_BLASTNOVA, 15000); - events.ScheduleEvent(EVENT_OLG_SPELL_IGNITEWEAPON, 10000); + events.ScheduleEvent(EVENT_OLG_SPELL_BLASTNOVA, 15s); + events.ScheduleEvent(EVENT_OLG_SPELL_IGNITEWEAPON, 10s); } void UpdateAI(uint32 diff) override @@ -577,17 +577,17 @@ public: { case EVENT_OLG_SPELL_BLASTNOVA: DoCastAOE(SPELL_OLG_BLASTNOVA); - events.RepeatEvent(15000); + events.Repeat(15s); break; case EVENT_OLG_SPELL_IGNITEWEAPON: if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) { - events.RepeatEvent(5000); + events.Repeat(5s); } else { DoCastSelf(SPELL_OLG_IGNITEWEAPON); - events.RepeatEvent(urand(18000, 21000)); + events.Repeat(18s, 21s); } break; } diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp index a254356892..6f642d152c 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp @@ -175,7 +175,7 @@ struct boss_viscidus : public BossAI { DoCastSelf(SPELL_EXPLODE_TRIGGER, true); }) - .Schedule(3000ms, [this](TaskContext /*context*/) + .Schedule(3s, [this](TaskContext /*context*/) { DoCastSelf(SPELL_INVIS_SELF, true); me->SetAuraStack(SPELL_VISCIDUS_SHRINKS, me, 20); diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.cpp index 2cc53521d4..2d7cfb40b6 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.cpp @@ -393,10 +393,10 @@ struct npc_obsidian_nullifier : public ScriptedAI context.Repeat(6s); }) - .Schedule(6000ms, 8400ms, [this](TaskContext context) + .Schedule(6s, 8400ms, [this](TaskContext context) { DoCastVictim(SPELL_CLEAVE, true); - context.Repeat(6000ms, 8400ms); + context.Repeat(6s, 8400ms); }); } @@ -447,7 +447,7 @@ struct npc_ahnqiraji_critter : public ScriptedAI } } - context.Repeat(3500ms, 4000ms); + context.Repeat(3500ms, 4s); }); } diff --git a/src/server/scripts/Kalimdor/zone_desolace.cpp b/src/server/scripts/Kalimdor/zone_desolace.cpp index 396ee22955..276c37bd85 100644 --- a/src/server/scripts/Kalimdor/zone_desolace.cpp +++ b/src/server/scripts/Kalimdor/zone_desolace.cpp @@ -42,9 +42,6 @@ enum Caravan MAX_CARAVAN_SUMMONS = 3, - TIME_SHOP_STOP = 10 * MINUTE * IN_MILLISECONDS, - TIME_HIRE_STOP = 4 * MINUTE * IN_MILLISECONDS, - // Ambush NPC_KOLKAR_WAYLAYER = 12976, NPC_KOLKAR_AMBUSHER = 12977, @@ -53,6 +50,9 @@ enum Caravan NPC_NETHER = 4684, }; +constexpr Milliseconds TIME_SHOP_STOP = 600s; +constexpr Milliseconds TIME_HIRE_STOP = 240s; + class npc_cork_gizelton : public CreatureScript { public: @@ -264,14 +264,14 @@ public: { // Finished north path case 52: - me->SummonCreature(NPC_VENDOR_TRON, -694.61f, 1460.7f, 90.794f, 2.4f, TEMPSUMMON_TIMED_DESPAWN, TIME_SHOP_STOP + 15 * IN_MILLISECONDS); + me->SummonCreature(NPC_VENDOR_TRON, -694.61f, 1460.7f, 90.794f, 2.4f, TEMPSUMMON_TIMED_DESPAWN, 600000 + 15 * IN_MILLISECONDS); SetEscortPaused(true); events.ScheduleEvent(EVENT_RESUME_PATH, TIME_SHOP_STOP); CheckCaravan(); break; // Finished south path case 193: - me->SummonCreature(NPC_SUPER_SELLER, -1905.5f, 2463.3f, 61.52f, 5.87f, TEMPSUMMON_TIMED_DESPAWN, TIME_SHOP_STOP + 15 * IN_MILLISECONDS); + me->SummonCreature(NPC_SUPER_SELLER, -1905.5f, 2463.3f, 61.52f, 5.87f, TEMPSUMMON_TIMED_DESPAWN, 600000 + 15 * IN_MILLISECONDS); SetEscortPaused(true); events.ScheduleEvent(EVENT_RESUME_PATH, TIME_SHOP_STOP); CheckCaravan(); diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp index 9a06054bbc..dddcb2cf43 100644 --- a/src/server/scripts/Kalimdor/zone_silithus.cpp +++ b/src/server/scripts/Kalimdor/zone_silithus.cpp @@ -1145,7 +1145,7 @@ public: } } - me->DespawnOrUnsummon(5000ms, respawnTimer); // Despawn in 5 Seconds for respawnTimer value + me->DespawnOrUnsummon(5s, respawnTimer); // Despawn in 5 Seconds for respawnTimer value me->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); CloseGossipMenuFor(player); return false; diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp index 3cdb5967fd..ef3bebdfab 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp @@ -114,7 +114,7 @@ class boss_anub_arak : public CreatureScript void KilledUnit(Unit* /*victim*/) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_SLAY); events.ScheduleEvent(EVENT_KILL_TALK, 6s); diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp index f3f9396ba0..4aa00764c0 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp @@ -111,7 +111,7 @@ public: uint32 GetData(uint32 data) const override { if (data == me->GetEntry()) - return !me->isActiveObject() || events.GetNextEventTime(EVENT_HADRONOX_MOVE4) != 0; + return !me->isActiveObject() || events.HasTimeUntilEvent(EVENT_HADRONOX_MOVE4) ? 1 : 0; return 0; } diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp index e0c14e515f..3b0c79d634 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp @@ -583,7 +583,7 @@ public: } } - events.RepeatEvent((below11PctReached ? urand(1400, 2000) : urand(5000, 20000))); + events.Repeat((below11PctReached ? randtime(1400ms, 2s) : randtime(5s, 20s))); break; } case EVENT_SARTHARION_BERSERK: @@ -1086,7 +1086,7 @@ public: Talk(SAY_TENEBRON_BREATH); } DoCastVictim(SPELL_SHADOW_BREATH, false); - events.RepeatEvent(17500); + events.Repeat(17500ms); break; } case EVENT_MINIBOSS_SHADOW_FISSURE: @@ -1095,7 +1095,7 @@ public: { DoCast(target, SPELL_SHADOW_FISSURE, false); } - events.RepeatEvent(22500); + events.Repeat(22500ms); break; } case EVENT_MINIBOSS_OPEN_PORTAL: @@ -1270,7 +1270,7 @@ public: } DoCastVictim(SPELL_SHADOW_BREATH, false); - events.RepeatEvent(17500); + events.Repeat(17500ms); break; } case EVENT_MINIBOSS_SHADOW_FISSURE: @@ -1279,7 +1279,7 @@ public: { DoCast(target, SPELL_SHADOW_FISSURE, false); } - events.RepeatEvent(22500); + events.Repeat(22500ms); break; } case EVENT_MINIBOSS_OPEN_PORTAL: diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp index 1e693b33a5..ae4769284d 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp @@ -191,7 +191,7 @@ public: void KilledUnit(Unit* /*victim*/) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_KILL); events.ScheduleEvent(EVENT_KILL_TALK, 6s); diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp index ac9a9d7343..f55d5f49a3 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp @@ -136,7 +136,7 @@ public: void KilledUnit(Unit* /*victim*/) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_KILL); events.ScheduleEvent(EVENT_KILL_TALK, 6s); diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp index 6ff00560d0..b5456dff7b 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp @@ -310,7 +310,7 @@ public: void KilledUnit(Unit* victim) override { - if (victim->IsPlayer() && events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (victim->IsPlayer() && !events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_KILL); events.ScheduleEvent(EVENT_KILL_TALK, 6s); @@ -335,7 +335,7 @@ public: void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask) override { - if (events.GetNextEventTime(EVENT_CHECK_HEALTH) != 0) + if (events.HasTimeUntilEvent(EVENT_CHECK_HEALTH)) return; if (!attacker || !me->InSamePhase(attacker)) @@ -477,7 +477,7 @@ public: void KilledUnit(Unit* victim) override { - if (victim->IsPlayer() && _events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (victim->IsPlayer() && !_events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_KILL); _events.ScheduleEvent(EVENT_KILL_TALK, 6s); @@ -598,7 +598,7 @@ public: void SetData(uint32 id, uint32 value) override { - if (_events.GetNextEventTime(EVENT_CHECK_CORPOREALITY) == 0) + if (!events.HasTimeUntilEvent(EVENT_CHECK_CORPOREALITY)) return; if (id == DATA_MATERIAL_DAMAGE_TAKEN) diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp index 5396265952..26a0cf54da 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp @@ -121,7 +121,7 @@ public: void KilledUnit(Unit* /*victim*/) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_KILL); events.ScheduleEvent(EVENT_KILL_TALK, 6s); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp index 47f6266c65..cd4cf6eb86 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp @@ -125,8 +125,8 @@ public: void JustEngagedWith(Unit* /*who*/) override { events.Reset(); - events.ScheduleEvent(EVENT_SPELL_RADIANCE, 16000); - events.ScheduleEvent(EVENT_SPELL_HAMMER_RIGHTEOUS, 25000); + events.ScheduleEvent(EVENT_SPELL_RADIANCE, 16s); + events.ScheduleEvent(EVENT_SPELL_HAMMER_RIGHTEOUS, 25s); Talk(SAY_EADRIC_AGGRO); me->CastSpell(me, SPELL_VENGEANCE, false); if (pInstance) diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp index 47b89b1624..95e7111226 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp @@ -182,7 +182,7 @@ public: events.Reset(); events.ScheduleEvent(EVENT_ANNOUNCER_SAY_ZOMBIE, 2500ms); events.ScheduleEvent(EVENT_SPELL_PLAGUE_STRIKE, 7s, 9s); - events.ScheduleEvent(EVENT_SPELL_ICY_TOUCH, 3500ms, 7000ms); + events.ScheduleEvent(EVENT_SPELL_ICY_TOUCH, 3500ms, 7s); events.ScheduleEvent(EVENT_SPELL_DEATH_RESPITE, 13s, 15s); events.ScheduleEvent(EVENT_SPELL_OBLITERATE, 11s, 19s); } @@ -214,7 +214,7 @@ public: events.Reset(); events.ScheduleEvent(EVENT_SPELL_PLAGUE_STRIKE, 7s, 9s); - events.ScheduleEvent(EVENT_SPELL_ICY_TOUCH, 3500ms, 7000ms); + events.ScheduleEvent(EVENT_SPELL_ICY_TOUCH, 3500ms, 7s); events.ScheduleEvent(EVENT_SPELL_OBLITERATE, 11s, 19s); events.ScheduleEvent(EVENT_SPELL_DESECRATION, 2s, 3s); break; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp index 3ed2a5f79a..68e8cb6491 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp @@ -255,7 +255,7 @@ public: void JustEngagedWith(Unit* /*who*/) override { events.Reset(); - events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4000ms); + events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4s); events.ScheduleEvent(EVENT_SHIELD_BREAKER, 5s, 8s); events.ScheduleEvent(EVENT_THRUST, 3s, 5s); me->CastSpell(me, SPELL_TRAMPLE_AURA, true); @@ -311,7 +311,7 @@ public: me->CastSpell(target, SPELL_MINIONS_CHARGE, false); } } - events.Repeat(4500ms, 6000ms); + events.Repeat(4500ms, 6s); } break; case EVENT_SHIELD_BREAKER: @@ -372,7 +372,7 @@ public: me->CastSpell(me, SPELL_BOSS_DEFEND_PERIODIC, true); events.Reset(); - events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4000ms); + events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4s); events.ScheduleEvent(EVENT_SHIELD_BREAKER, 5s, 8s); events.ScheduleEvent(EVENT_THRUST, 3s, 5s); @@ -640,7 +640,7 @@ public: me->CastSpell(me, SPELL_BOSS_DEFEND_PERIODIC, true); me->SetRegeneratingHealth(true); events.Reset(); - events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4000ms); + events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4s); events.ScheduleEvent(EVENT_SHIELD_BREAKER, 5s, 8s); events.ScheduleEvent(EVENT_THRUST, 3s, 5s); me->SetReactState(REACT_AGGRESSIVE); @@ -766,7 +766,7 @@ public: me->CastSpell(target, SPELL_MINIONS_CHARGE, false); } } - events.Repeat(4500ms, 6000ms); + events.Repeat(4500ms, 6s); } break; case EVENT_SHIELD_BREAKER: diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp index 195d626a73..3342edfb0b 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp @@ -23,7 +23,6 @@ #include "trial_of_the_champion.h" const Position SpawnPosition = {746.67f, 684.08f, 412.5f, 4.65f}; -#define CLEANUP_CHECK_INTERVAL 5000 /** * @todo: Missing dialog/RP (already populated in DB) && spawns (can use ToC25 locations?) for: @@ -88,7 +87,7 @@ public: VehicleList.clear(); CLEANED = false; events.Reset(); - events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0); + events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0ms); Counter = 0; temp1 = 0; temp2 = 0; @@ -268,7 +267,7 @@ public: if (DoNeedCleanup(player)) InstanceCleanup(); - events.RescheduleEvent(EVENT_CHECK_PLAYERS, CLEANUP_CHECK_INTERVAL); + events.RescheduleEvent(EVENT_CHECK_PLAYERS, 5s); } bool DoNeedCleanup(Player* ignoredPlayer = nullptr) @@ -443,7 +442,7 @@ public: Counter = 0; SaveToDB(); events.Reset(); - events.RescheduleEvent(EVENT_CHECK_PLAYERS, CLEANUP_CHECK_INTERVAL); + events.RescheduleEvent(EVENT_CHECK_PLAYERS, 5s); CLEANED = true; } @@ -785,7 +784,7 @@ public: { InstanceCleanup(); } - events.RepeatEvent(CLEANUP_CHECK_INTERVAL); + events.Repeat(5s); } break; case EVENT_SUMMON_GRAND_CHAMPION_1: @@ -812,7 +811,7 @@ public: while( number == temp1 || number == temp2 ); DoSummonGrandChampion(number, 2); HandleGameObject(GO_MainGateGUID, true); - events.ScheduleEvent(EVENT_CLOSE_GATE, 6000); + events.ScheduleEvent(EVENT_CLOSE_GATE, 6s); } break; case EVENT_CLOSE_GATE: diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp index e7762a71be..55410eea26 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp @@ -655,7 +655,7 @@ public: me->NearTeleportTo(target->GetPositionX() + cos(o) * 5.0f, target->GetPositionY() + std::sin(o) * 5.0f, target->GetPositionZ() + 0.6f, target->GetOrientation()); AttackStart(target); me->GetMotionMaster()->MoveChase(target); - events.DelayEvents(3000); + events.DelayEvents(3s); } } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp index 0a44e0f9d1..4cc91611a8 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp @@ -119,7 +119,7 @@ struct boss_faction_championsAI : public ScriptedAI } /// @todo - Convert to std::chrono - void EventMapGCD(EventMap& e, uint32 delay, uint32 gcd = 0) + void EventMapGCD(EventMap& e, Milliseconds delay, uint32 gcd = 0) { e.DelayEventsToMax(delay, gcd); } @@ -316,43 +316,43 @@ public: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_LIFEBLOOM, 40.0f)) me->CastSpell(target, SPELL_LIFEBLOOM, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_NOURISH: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_NOURISH, 40.0f)) me->CastSpell(target, SPELL_NOURISH, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_REGROWTH: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_REGROWTH, 40.0f)) me->CastSpell(target, SPELL_REGROWTH, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_REJUVENATION: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_REJUVENATION, 40.0f)) me->CastSpell(target, SPELL_REJUVENATION, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_THORNS: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_THORNS, 30.0f)) me->CastSpell(target, SPELL_THORNS, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_TRANQUILITY: me->CastSpell(me, SPELL_TRANQUILITY, false); events.Repeat(2min, 3min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_BARKSKIN: if (HealthBelowPct(50)) { me->CastSpell(me, SPELL_BARKSKIN, false); events.Repeat(1min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -360,7 +360,7 @@ public: case EVENT_SPELL_NATURE_GRASP: me->CastSpell(me, SPELL_NATURE_GRASP, false); events.Repeat(1min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; } @@ -445,19 +445,19 @@ public: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HEALING_WAVE, 40.0f)) me->CastSpell(target, SPELL_HEALING_WAVE, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_RIPTIDE: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_RIPTIDE, 40.0f)) me->CastSpell(target, SPELL_RIPTIDE, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_SPIRIT_CLEANSE: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_SPIRIT_CLEANSE, 40.0f)) me->CastSpell(target, SPELL_SPIRIT_CLEANSE, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_HEROISM_OR_BLOODLUST: if (me->GetEntry() == NPC_ALLIANCE_SHAMAN_RESTORATION ) @@ -465,25 +465,25 @@ public: else me->CastSpell((Unit*)nullptr, SPELL_BLOODLUST, true); events.Repeat(10min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_HEX: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 20.0f, true)) me->CastSpell(target, SPELL_HEX, false); events.Repeat(45s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_EARTH_SHIELD: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_EARTH_SHIELD, 40.0f)) me->CastSpell(target, SPELL_EARTH_SHIELD, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_EARTH_SHOCK: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_EARTH_SHOCK, false); events.Repeat(5s, 10s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; } @@ -568,14 +568,14 @@ public: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HAND_OF_FREEDOM, 30.0f)) me->CastSpell(target, SPELL_HAND_OF_FREEDOM, false); events.Repeat(25s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_BUBBLE: if (HealthBelowPct(25)) { me->CastSpell(me, SPELL_BUBBLE, false); events.Repeat(5min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(10s); @@ -584,32 +584,32 @@ public: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_CLEANSE, 40.0f)) me->CastSpell(target, SPELL_CLEANSE, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_FLASH_OF_LIGHT: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_FLASH_OF_LIGHT, 40.0f)) me->CastSpell(target, SPELL_FLASH_OF_LIGHT, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_HOLY_LIGHT: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HOLY_LIGHT, 40.0f)) me->CastSpell(target, SPELL_HOLY_LIGHT, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_HOLY_SHOCK: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HOLY_SHOCK, 40.0f)) me->CastSpell(target, SPELL_HOLY_SHOCK, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_HAND_OF_PROTECTION: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HAND_OF_PROTECTION, 40.0f)) { me->CastSpell(target, SPELL_HAND_OF_PROTECTION, false); events.Repeat(5min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(10s); @@ -619,7 +619,7 @@ public: { me->CastSpell(target, SPELL_HAMMER_OF_JUSTICE, false); events.Repeat(40s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(10s); @@ -701,32 +701,32 @@ public: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_RENEW, 40.0f)) me->CastSpell(target, SPELL_RENEW, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_SHIELD: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_SHIELD, 40.0f)) me->CastSpell(target, SPELL_SHIELD, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_FLASH_HEAL: if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_FLASH_HEAL, 40.0f)) me->CastSpell(target, SPELL_FLASH_HEAL, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_DISPEL: if (Unit* target = (urand(0, 1) ? SelectTarget(SelectTargetMethod::MaxThreat, 0, 30.0f, true) : SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_DISPEL, 40.0f))) me->CastSpell(target, SPELL_DISPEL, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_MANA_BURN: if (Unit* target = SelectEnemyCaster(false, 30.0f)) { me->CastSpell(target, SPELL_MANA_BURN, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -736,7 +736,7 @@ public: { me->CastSpell((Unit*)nullptr, SPELL_PSYCHIC_SCREAM, false); events.Repeat(30s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -825,7 +825,7 @@ public: { me->CastSpell(target, SPELL_SILENCE, false); events.Repeat(45s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; } else @@ -835,32 +835,32 @@ public: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_VAMPIRIC_TOUCH, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_SW_PAIN: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_SW_PAIN, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_MIND_FLAY: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_MIND_FLAY, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_MIND_BLAST: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_MIND_BLAST, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_HORROR: if (me->GetVictim() && me->GetExactDist2d(me->GetVictim()) <= 30.0f ) { me->CastSpell(me->GetVictim(), SPELL_HORROR, false); events.Repeat(2min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(10s); @@ -870,7 +870,7 @@ public: { me->CastSpell(me, SPELL_DISPERSION, false); events.Repeat(3min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -879,14 +879,14 @@ public: if (Unit* target = (urand(0, 1) ? SelectTarget(SelectTargetMethod::MaxThreat, 0, 30.0f, true) : SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_DISPEL, 40.0f))) me->CastSpell(target, SPELL_DISPEL, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_PSYCHIC_SCREAM: if (EnemiesInRange(8.0f) >= 3 ) { me->CastSpell((Unit*)nullptr, SPELL_PSYCHIC_SCREAM, false); events.Repeat(30s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -989,7 +989,7 @@ public: { me->CastSpell((Unit*)nullptr, SPELL_HELLFIRE, false); events.Repeat(30s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -998,43 +998,43 @@ public: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_CORRUPTION, false); events.Repeat(10s, 20s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_CURSE_OF_AGONY: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_CURSE_OF_AGONY, false); events.Repeat(10s, 20s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_CURSE_OF_EXHAUSTION: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_CURSE_OF_EXHAUSTION, false); events.Repeat(10s, 20s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_FEAR: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 20.0f, true)) me->CastSpell(target, SPELL_FEAR, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_SEARING_PAIN: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_SEARING_PAIN, false); events.Repeat(5s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_SHADOW_BOLT: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_SHADOW_BOLT, false); events.Repeat(5s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_UNSTABLE_AFFLICTION: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_UNSTABLE_AFFLICTION, false); events.Repeat(5s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; } @@ -1121,20 +1121,20 @@ public: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_ARCANE_BARRAGE, false); events.Repeat(5s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_ARCANE_BLAST: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_ARCANE_BLAST, false); events.Repeat(5s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_ARCANE_EXPLOSION: if (EnemiesInRange(9.0f) >= 3 ) { me->CastSpell((Unit*)nullptr, SPELL_ARCANE_EXPLOSION, false); events.Repeat(6s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -1144,7 +1144,7 @@ public: { me->CastSpell((Unit*)nullptr, SPELL_FROST_NOVA, false); events.Repeat(15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); // blink disabled, movement not working } else @@ -1155,7 +1155,7 @@ public: { me->CastSpell(target, SPELL_COUNTERSPELL, false); events.Repeat(24s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -1164,14 +1164,14 @@ public: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_FROSTBOLT, false); events.Repeat(5s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_ICE_BLOCK: if (HealthBelowPct(25)) { me->CastSpell(me, SPELL_ICE_BLOCK, false); events.Repeat(5min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -1180,7 +1180,7 @@ public: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true)) me->CastSpell(target, SPELL_POLYMORPH, false); events.Repeat(15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; } @@ -1279,14 +1279,14 @@ public: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_AIMED_SHOT, false); events.Repeat(5s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_DETERRENCE: if (HealthBelowPct(25)) { me->CastSpell(me, SPELL_DETERRENCE, false); events.Repeat(90s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -1296,7 +1296,7 @@ public: { me->CastSpell(me, SPELL_DISENGAGE, false); events.Repeat(20s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -1305,31 +1305,31 @@ public: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_EXPLOSIVE_SHOT, false); events.Repeat(5s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_FROST_TRAP: me->CastSpell(me, SPELL_FROST_TRAP, false); events.Repeat(30s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_STEADY_SHOT: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_STEADY_SHOT, false); events.Repeat(5s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_WING_CLIP: if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 5.0f ) me->CastSpell(me->GetVictim(), SPELL_WING_CLIP, false); events.Repeat(8s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_WYVERN_STING: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 35.0f, true)) { me->CastSpell(target, SPELL_WYVERN_STING, false); events.Repeat(1min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; } events.Repeat(10s); @@ -1429,7 +1429,7 @@ public: { me->CastSpell(me, SPELL_BARKSKIN, false); events.Repeat(1min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -1438,48 +1438,48 @@ public: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_WRATH, false); events.Repeat(5s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_MOONFIRE: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_MOONFIRE, false); events.Repeat(5s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_STARFIRE: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_STARFIRE, false); events.Repeat(5s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_INSECT_SWARM: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_INSECT_SWARM, false); events.Repeat(5s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_ENTANGLING_ROOTS: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true)) me->CastSpell(target, SPELL_ENTANGLING_ROOTS, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_FAERIE_FIRE: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_FAERIE_FIRE, false); events.Repeat(15s, 20s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_CYCLONE: if (Unit* target = SelectTarget(SelectTargetMethod::MaxDistance, 0, 20.0f, true)) me->CastSpell(target, SPELL_CYCLONE, false); events.Repeat(25s, 40s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_FORCE_OF_NATURE: me->CastSpell((Unit*)nullptr, SPELL_FORCE_OF_NATURE, false); events.Repeat(3min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; } @@ -1583,7 +1583,7 @@ public: { me->CastSpell((Unit*)nullptr, SPELL_INTIMIDATING_SHOUT, false); events.Repeat(2min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1597,14 +1597,14 @@ public: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_MORTAL_STRIKE, false); events.Repeat(6s, 8s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_CHARGE: if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) > 8.0f && me->GetDistance2d(me->GetVictim()) < 25.0f ) { me->CastSpell(me->GetVictim(), SPELL_CHARGE, false); events.Repeat(10s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1614,7 +1614,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_DISARM, false); events.Repeat(1min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1629,7 +1629,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_OVERPOWER, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1644,7 +1644,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_SUNDER_ARMOR, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1659,7 +1659,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_SHATTERING_THROW, false); events.Repeat(5min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -1674,7 +1674,7 @@ public: { me->CastSpell(me, SPELL_RETALIATION, false); events.Repeat(5min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1760,7 +1760,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_CHAINS_OF_ICE, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1770,7 +1770,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_DEATH_COIL, false); events.Repeat(5s, 8s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1785,7 +1785,7 @@ public: pos.Relocate(x, y, z); me->GetVictim()->CastSpell(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), 49575, true); events.Repeat(35s); - EventMapGCD(events, 2000); + EventMapGCD(events, 2s); } else events.Repeat(5s); @@ -1800,7 +1800,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_FROST_STRIKE, false); events.Repeat(6s, 10s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1810,7 +1810,7 @@ public: { me->CastSpell(me, SPELL_ICEBOUND_FORTITUDE, false); events.Repeat(1min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -1820,7 +1820,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_ICY_TOUCH, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1830,7 +1830,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_STRANGULATE, false); events.Repeat(2min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1922,7 +1922,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_FAN_OF_KNIVES, false); events.Repeat(6s, 10s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1932,7 +1932,7 @@ public: { me->CastSpell(target, SPELL_BLIND, false); events.Repeat(2min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1942,7 +1942,7 @@ public: { me->CastSpell(me, SPELL_CLOAK, false); events.Repeat(90s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(6s); @@ -1954,7 +1954,7 @@ public: { me->CastSpell(me, SPELL_BLADE_FLURRY, false); events.Repeat(2min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } break; case EVENT_SPELL_SHADOWSTEP: @@ -1962,7 +1962,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_SHADOWSTEP, false); events.Repeat(30s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1977,7 +1977,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_HEMORRHAGE, false); events.Repeat(5s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -1992,7 +1992,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_EVISCERATE, false); events.Repeat(15s, 25s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -2080,7 +2080,7 @@ public: { me->CastSpell(target, SPELL_EARTH_SHOCK_ENH, false); events.Repeat(6s, 8s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -2095,7 +2095,7 @@ public: { me->CastSpell(target, SPELL_LAVA_LASH, false); events.Repeat(6s, 8s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -2110,7 +2110,7 @@ public: { me->CastSpell(target, SPELL_STORMSTRIKE, false); events.Repeat(8s, 9s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -2121,12 +2121,12 @@ public: else me->CastSpell((Unit*)nullptr, SPELL_BLOODLUST, true); events.Repeat(10min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SUMMON_TOTEM: me->CastSpell((Unit*)nullptr, RAND(SPELL_GROUNDING_TOTEM, SPELL_WINDFURY_TOTEM, SPELL_TREMOR_TOTEM), false); events.Repeat(30s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; } @@ -2211,7 +2211,7 @@ public: case EVENT_SPELL_AVENGING_WRATH: me->CastSpell(me, SPELL_AVENGING_WRATH, false); events.Repeat(3min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_CRUSADER_STRIKE: if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) @@ -2223,7 +2223,7 @@ public: { me->CastSpell(target, SPELL_CRUSADER_STRIKE, false); events.Repeat(6s, 8s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -2233,7 +2233,7 @@ public: { me->CastSpell(me, SPELL_DIVINE_SHIELD, false); events.Repeat(5min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -2248,7 +2248,7 @@ public: { me->CastSpell((Unit*)nullptr, SPELL_DIVINE_STORM, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -2258,7 +2258,7 @@ public: { me->CastSpell(target, SPELL_HAMMER_OF_JUSTICE_RET, false); events.Repeat(40s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -2268,7 +2268,7 @@ public: { me->CastSpell(target, SPELL_HAND_OF_PROTECTION_RET, false); events.Repeat(5min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -2278,7 +2278,7 @@ public: { me->CastSpell(target, SPELL_JUDGEMENT_OF_COMMAND, false); events.Repeat(10s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -2288,7 +2288,7 @@ public: { me->CastSpell(target, SPELL_REPENTANCE, false); events.Repeat(1min); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); } else events.Repeat(5s); @@ -2357,13 +2357,13 @@ public: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_DEVOUR_MAGIC, false); events.Repeat(8s, 15s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; case EVENT_SPELL_SPELL_LOCK: if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_SPELL_LOCK, false); events.Repeat(24s); - EventMapGCD(events, 1500); + EventMapGCD(events, 1500ms); break; } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp index 9ad8b6230d..5e99f2353a 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp @@ -848,7 +848,7 @@ public: me->CastSpell(me, SPELL_STAGGERED_DAZE, true); me->CastSpell((Unit*)nullptr, SPELL_TRAMPLE, true); Talk(EMOTE_TRAMPLE_CRASH); - events.DelayEvents(15000); + events.DelayEvents(15s); } else { diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp index 372081fe04..2eb540e02e 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp @@ -384,7 +384,7 @@ struct boss_twin_valkyrAI : public ScriptedAI /* if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, essenceId)) me->CastSpell(target, me->GetEntry()==NPC_LIGHTBANE ? SPELL_LIGHT_TOUCH : SPELL_DARK_TOUCH, false); - events.RepeatEvent(urand(45000,50000)); + events.Repeat(45s,50s); */ GuidVector tList; @@ -458,7 +458,7 @@ struct boss_twin_valkyrAI : public ScriptedAI if ((SpecialMask & 0xF) == 0xF ) SpecialMask = 0; events.Repeat(45s); - events.DelayEventsToMax(15000, 1); // no touch of light/darkness during special abilities! + events.DelayEventsToMax(15s, 1); // no touch of light/darkness during special abilities! } break; case EVENT_REMOVE_DUAL_WIELD: diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp index 7dc9c0c591..71dcb5e857 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp @@ -175,7 +175,7 @@ public: bSwitcher = false; bNooneDied = true; events.Reset(); - events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0); + events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0ms); NPC_ChampionGUIDs.clear(); } @@ -295,22 +295,22 @@ public: switch (InstanceProgress) { case INSTANCE_PROGRESS_INITIAL: - events.RescheduleEvent(EVENT_SCENE_001, 0); + events.RescheduleEvent(EVENT_SCENE_001, 0ms); break; case INSTANCE_PROGRESS_INTRO_DONE: - events.RescheduleEvent(EVENT_SCENE_004, 0); + events.RescheduleEvent(EVENT_SCENE_004, 0ms); break; case INSTANCE_PROGRESS_BEASTS_DEAD: - events.RescheduleEvent(EVENT_SCENE_101, 0); + events.RescheduleEvent(EVENT_SCENE_101, 0ms); break; case INSTANCE_PROGRESS_JARAXXUS_DEAD: - events.RescheduleEvent(EVENT_SCENE_201, 0); + events.RescheduleEvent(EVENT_SCENE_201, 0ms); break; case INSTANCE_PROGRESS_FACTION_CHAMPIONS_DEAD: - events.RescheduleEvent(EVENT_SCENE_301, 0); + events.RescheduleEvent(EVENT_SCENE_301, 0ms); break; case INSTANCE_PROGRESS_VALKYR_DEAD: - events.RescheduleEvent(EVENT_SCENE_401, 0); + events.RescheduleEvent(EVENT_SCENE_401, 0ms); break; } break; @@ -331,7 +331,7 @@ public: if ((northrendBeastsMask & 7) == 7) SetData(TYPE_NORTHREND_BEASTS_ALL, DONE); else if ((northrendBeastsMask & 16) == 0) - events.RescheduleEvent(EVENT_SCENE_005, 2500); + events.RescheduleEvent(EVENT_SCENE_005, 2500ms); } break; case TYPE_JORMUNGAR: @@ -363,7 +363,7 @@ public: else if ((northrendBeastsMask & 32) == 0) { Counter = 0; - events.RescheduleEvent(EVENT_SCENE_006, 2500); + events.RescheduleEvent(EVENT_SCENE_006, 2500ms); } } else // first one died, start timer for achievement @@ -390,7 +390,7 @@ public: InstanceProgress = INSTANCE_PROGRESS_BEASTS_DEAD; HandleGameObject(GO_EnterGateGUID, true); events.CancelEvent(EVENT_NORTHREND_BEASTS_ENRAGE); - events.RescheduleEvent(EVENT_SCENE_BEASTS_DONE, 2500); + events.RescheduleEvent(EVENT_SCENE_BEASTS_DONE, 2500ms); SaveToDB(); } break; @@ -402,7 +402,7 @@ public: { HandleGameObject(GO_EnterGateGUID, true); InstanceProgress = INSTANCE_PROGRESS_JARAXXUS_DEAD; - events.RescheduleEvent(EVENT_SCENE_110, 2500); + events.RescheduleEvent(EVENT_SCENE_110, 2500ms); SaveToDB(); } break; @@ -416,7 +416,7 @@ public: Counter = 0; EncounterStatus = NOT_STARTED; InstanceProgress = INSTANCE_PROGRESS_FACTION_CHAMPIONS_DEAD; - events.RescheduleEvent(EVENT_SCENE_FACTION_CHAMPIONS_DEAD, 2500); + events.RescheduleEvent(EVENT_SCENE_FACTION_CHAMPIONS_DEAD, 2500ms); for (ObjectGuid const& guid : NPC_ChampionGUIDs) if (Creature* c = instance->GetCreature(guid)) @@ -491,7 +491,7 @@ public: InstanceProgress = INSTANCE_PROGRESS_VALKYR_DEAD; DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE, 34497, 1); // Lightbane DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE, 34496, 1); // Darkbane - events.RescheduleEvent(EVENT_SCENE_VALKYR_DEAD, 2500); + events.RescheduleEvent(EVENT_SCENE_VALKYR_DEAD, 2500ms); HandleGameObject(GO_EnterGateGUID, true); SaveToDB(); } @@ -516,7 +516,7 @@ public: c->UpdatePosition(Locs[LOC_TIRION_FINAL], true); c->StopMovingOnCurrentPos(); c->SetFacingTo(Locs[LOC_TIRION_FINAL].GetOrientation()); - events.RescheduleEvent(EVENT_SCENE_501, 20000); + events.RescheduleEvent(EVENT_SCENE_501, 20s); } if (GameObject* floor = instance->GetGameObject(GO_FloorGUID)) floor->SetDestructibleState(GO_DESTRUCTIBLE_REBUILDING, nullptr, true); @@ -591,7 +591,7 @@ public: if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_0_01); - events.RescheduleEvent(EVENT_SCENE_002, 22000); + events.RescheduleEvent(EVENT_SCENE_002, 22s); } break; case EVENT_SCENE_002: @@ -599,7 +599,7 @@ public: if (Creature* c = instance->GetCreature(NPC_VarianGUID)) c->AI()->Talk(SAY_STAGE_0_03a); - events.RescheduleEvent(EVENT_SCENE_003, 5000); + events.RescheduleEvent(EVENT_SCENE_003, 5s); } break; case EVENT_SCENE_003: @@ -607,7 +607,7 @@ public: if (Creature* c = instance->GetCreature(NPC_GarroshGUID)) c->AI()->Talk(SAY_STAGE_0_03h); - events.RescheduleEvent(EVENT_SCENE_004, 8000); + events.RescheduleEvent(EVENT_SCENE_004, 8s); } break; case EVENT_SCENE_004: @@ -620,12 +620,12 @@ public: HandleGameObject(GO_MainGateGUID, true); HandleGameObject(GO_EnterGateGUID, false); - events.RescheduleEvent(EVENT_SUMMON_GORMOK, 1000); + events.RescheduleEvent(EVENT_SUMMON_GORMOK, 1s); if (instance->IsHeroic()) { - events.RescheduleEvent(EVENT_SCENE_005, 150000); - events.RescheduleEvent(EVENT_SCENE_006, 340000); - events.RescheduleEvent(EVENT_NORTHREND_BEASTS_ENRAGE, 520000); + events.RescheduleEvent(EVENT_SCENE_005, 150s); + events.RescheduleEvent(EVENT_SCENE_006, 340s); + events.RescheduleEvent(EVENT_NORTHREND_BEASTS_ENRAGE, 520s); } } break; @@ -650,8 +650,8 @@ public: if (Creature* gormok = c->SummonCreature(NPC_GORMOK, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY(), Locs[LOC_BEHIND_GATE].GetPositionZ(), Locs[LOC_BEHIND_GATE].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30000)) gormok->GetMotionMaster()->MovePoint(0, Locs[LOC_GATE_FRONT].GetPositionX(), Locs[LOC_GATE_FRONT].GetPositionY(), Locs[LOC_GATE_FRONT].GetPositionZ()); - events.RescheduleEvent(EVENT_GORMOK_ATTACK, 10000); - events.RescheduleEvent(EVENT_CLOSE_GATE, 6000); + events.RescheduleEvent(EVENT_GORMOK_ATTACK, 10s); + events.RescheduleEvent(EVENT_CLOSE_GATE, 6s); } break; case EVENT_GORMOK_ATTACK: @@ -676,8 +676,8 @@ public: if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_0_04); - events.RescheduleEvent(EVENT_OPEN_GATE, 3000); - events.RescheduleEvent(EVENT_SUMMON_ACIDMAW_AND_DREADSCALE, 4000); + events.RescheduleEvent(EVENT_OPEN_GATE, 3s); + events.RescheduleEvent(EVENT_SUMMON_ACIDMAW_AND_DREADSCALE, 4s); break; } case EVENT_SUMMON_ACIDMAW_AND_DREADSCALE: @@ -690,7 +690,7 @@ public: acidmaw->AddAura(53421, acidmaw); } - events.RescheduleEvent(EVENT_SCENE_005_2, 4000); + events.RescheduleEvent(EVENT_SCENE_005_2, 4s); break; } @@ -699,7 +699,7 @@ public: if (Creature* dreadscale = instance->GetCreature(NPC_DreadscaleGUID)) dreadscale->GetMotionMaster()->MovePoint(0, Locs[LOC_DREADSCALE].GetPositionX(), Locs[LOC_DREADSCALE].GetPositionY(), Locs[LOC_DREADSCALE].GetPositionZ()); - events.RescheduleEvent(EVENT_ACIDMAW_AND_DREADSCALE_ATTACK, 7000); + events.RescheduleEvent(EVENT_ACIDMAW_AND_DREADSCALE_ATTACK, 7s); break; } case EVENT_ACIDMAW_AND_DREADSCALE_ATTACK: @@ -737,8 +737,8 @@ public: if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_0_05); - events.RescheduleEvent(EVENT_OPEN_GATE, 2000); - events.RescheduleEvent(EVENT_SUMMON_ICEHOWL, 3000); + events.RescheduleEvent(EVENT_OPEN_GATE, 2s); + events.RescheduleEvent(EVENT_SUMMON_ICEHOWL, 3s); break; } case EVENT_SUMMON_ICEHOWL: @@ -747,8 +747,8 @@ public: if (Creature* icehowl = c->SummonCreature(NPC_ICEHOWL, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY(), Locs[LOC_BEHIND_GATE].GetPositionZ(), Locs[LOC_BEHIND_GATE].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000)) icehowl->GetMotionMaster()->MovePoint(0, Locs[LOC_GATE_FRONT].GetPositionX(), Locs[LOC_GATE_FRONT].GetPositionY(), Locs[LOC_GATE_FRONT].GetPositionZ()); - events.RescheduleEvent(EVENT_ICEHOWL_ATTACK, 10000); - events.RescheduleEvent(EVENT_CLOSE_GATE, 6000); + events.RescheduleEvent(EVENT_ICEHOWL_ATTACK, 10s); + events.RescheduleEvent(EVENT_CLOSE_GATE, 6s); break; } case EVENT_ICEHOWL_ATTACK: @@ -785,7 +785,7 @@ public: fizzlebang->AddUnitMovementFlag(MOVEMENTFLAG_WALKING); fizzlebang->GetMotionMaster()->MovePoint(0, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY() - 65.0f, Locs[LOC_BEHIND_GATE].GetPositionZ() - 1.0f); } - events.RescheduleEvent(EVENT_SCENE_102, 20000); + events.RescheduleEvent(EVENT_SCENE_102, 20s); // move Icehowl to side, can't remove corpse because of loot! if (Creature* icehowl = instance->GetCreature(NPC_IcehowlGUID)) @@ -803,7 +803,7 @@ public: if (Creature* c = instance->GetCreature(NPC_FizzlebangGUID)) c->AI()->Talk(SAY_STAGE_1_02); - events.RescheduleEvent(EVENT_SCENE_103, 11000); + events.RescheduleEvent(EVENT_SCENE_103, 11s); break; } case EVENT_SCENE_103: @@ -816,7 +816,7 @@ public: NPC_PurpleGroundGUID = trigger->GetGUID(); } - events.RescheduleEvent(EVENT_SCENE_104, 5000); + events.RescheduleEvent(EVENT_SCENE_104, 5s); break; } case EVENT_SCENE_104: @@ -833,7 +833,7 @@ public: c->HandleEmoteCommand(EMOTE_STATE_SPELL_PRECAST); } - events.RescheduleEvent(EVENT_SUMMON_JARAXXUS, 5000); + events.RescheduleEvent(EVENT_SUMMON_JARAXXUS, 5s); break; } case EVENT_SUMMON_JARAXXUS: @@ -846,7 +846,7 @@ public: c->AI()->Talk(SAY_STAGE_1_04); } - events.RescheduleEvent(EVENT_SCENE_105, 3000); + events.RescheduleEvent(EVENT_SCENE_105, 3s); break; } case EVENT_SCENE_105: @@ -860,7 +860,7 @@ public: c->DespawnOrUnsummon(); NPC_PortalGUID.Clear(); - events.RescheduleEvent(EVENT_SCENE_106, 10000); + events.RescheduleEvent(EVENT_SCENE_106, 10s); break; } case EVENT_SCENE_106: @@ -868,7 +868,7 @@ public: if (Creature* c = instance->GetCreature(NPC_JaraxxusGUID)) c->AI()->Talk(SAY_STAGE_1_05); - events.RescheduleEvent(EVENT_SCENE_107, 5000); + events.RescheduleEvent(EVENT_SCENE_107, 5s); break; } case EVENT_SCENE_107: @@ -876,7 +876,7 @@ public: if (Creature* c = instance->GetCreature(NPC_FizzlebangGUID)) c->AI()->Talk(SAY_STAGE_1_06); - events.RescheduleEvent(EVENT_SCENE_108, 800); + events.RescheduleEvent(EVENT_SCENE_108, 800ms); break; } case EVENT_SCENE_108: @@ -891,7 +891,7 @@ public: } } - events.RescheduleEvent(EVENT_SCENE_109, 5000); + events.RescheduleEvent(EVENT_SCENE_109, 5s); break; } case EVENT_SCENE_109: @@ -901,7 +901,7 @@ public: if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_1_07); - events.RescheduleEvent(EVENT_JARAXXUS_ATTACK, 6000); + events.RescheduleEvent(EVENT_JARAXXUS_ATTACK, 6s); break; } case EVENT_JARAXXUS_ATTACK: @@ -925,7 +925,7 @@ public: if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_1_08); - events.RescheduleEvent(EVENT_SCENE_111, 18000); + events.RescheduleEvent(EVENT_SCENE_111, 18s); break; } case EVENT_SCENE_111: @@ -933,7 +933,7 @@ public: if (Creature* c = instance->GetCreature(NPC_GarroshGUID)) c->AI()->Talk(SAY_STAGE_1_09); - events.RescheduleEvent(EVENT_SCENE_112, 9000); + events.RescheduleEvent(EVENT_SCENE_112, 9s); break; } case EVENT_SCENE_112: @@ -941,7 +941,7 @@ public: if (Creature* c = instance->GetCreature(NPC_VarianGUID)) c->AI()->Talk(SAY_STAGE_1_10); - events.RescheduleEvent(EVENT_SCENE_113, 5000); + events.RescheduleEvent(EVENT_SCENE_113, 5s); break; } case EVENT_SCENE_113: @@ -965,7 +965,7 @@ public: if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_2_01); - events.RescheduleEvent(EVENT_SCENE_202, 9000); + events.RescheduleEvent(EVENT_SCENE_202, 9s); break; } case EVENT_SCENE_202: @@ -974,13 +974,13 @@ public: { if (Creature* c = instance->GetCreature(NPC_GarroshGUID)) c->AI()->Talk(SAY_STAGE_2_02h); - events.RescheduleEvent(EVENT_SCENE_203, 15000); + events.RescheduleEvent(EVENT_SCENE_203, 15s); } else { if (Creature* c = instance->GetCreature(NPC_VarianGUID)) c->AI()->Talk(SAY_STAGE_2_02a); - events.RescheduleEvent(EVENT_SCENE_203, 18000); + events.RescheduleEvent(EVENT_SCENE_203, 18s); } break; } @@ -989,7 +989,7 @@ public: if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_2_03); - events.RescheduleEvent(EVENT_SCENE_204, 5000); + events.RescheduleEvent(EVENT_SCENE_204, 5s); break; } case EVENT_SCENE_204: @@ -998,16 +998,16 @@ public: { if (Creature* c = instance->GetCreature(NPC_GarroshGUID)) c->AI()->Talk(SAY_STAGE_2_04h); - events.RescheduleEvent(EVENT_SCENE_205, 6000); + events.RescheduleEvent(EVENT_SCENE_205, 6s); } else { if (Creature* c = instance->GetCreature(NPC_VarianGUID)) c->AI()->Talk(SAY_STAGE_2_04a); - events.RescheduleEvent(EVENT_SCENE_205, 5000); + events.RescheduleEvent(EVENT_SCENE_205, 5s); } - events.RescheduleEvent(EVENT_SUMMON_CHAMPIONS, 2500); + events.RescheduleEvent(EVENT_SUMMON_CHAMPIONS, 2500ms); break; } case EVENT_SCENE_205: @@ -1089,7 +1089,7 @@ public: } HandleGameObject(GO_EnterGateGUID, false); - events.RescheduleEvent(EVENT_CHAMPIONS_ATTACK, 4000); + events.RescheduleEvent(EVENT_CHAMPIONS_ATTACK, 4s); break; } case EVENT_CHAMPIONS_ATTACK: @@ -1122,7 +1122,7 @@ public: if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_3_01); - events.RescheduleEvent(EVENT_SCENE_302, 13000); + events.RescheduleEvent(EVENT_SCENE_302, 13s); break; } case EVENT_SCENE_302: @@ -1130,7 +1130,7 @@ public: if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_3_02); - events.RescheduleEvent(EVENT_SCENE_303, 3000); + events.RescheduleEvent(EVENT_SCENE_303, 3s); break; } case EVENT_SCENE_303: @@ -1145,7 +1145,7 @@ public: t->GetMotionMaster()->MovePoint(0, Locs[LOC_VALKYR_DEST_LEFT].GetPositionX(), Locs[LOC_VALKYR_DEST_LEFT].GetPositionY(), Locs[LOC_VALKYR_DEST_LEFT].GetPositionZ()); } - events.RescheduleEvent(EVENT_SCENE_304, 6250); + events.RescheduleEvent(EVENT_SCENE_304, 6250ms); break; } case EVENT_SCENE_304: @@ -1157,7 +1157,7 @@ public: if (Creature* c = instance->GetCreature(NPC_DarkbaneGUID)) c->GetMotionMaster()->MovePoint(0, Locs[LOC_VALKYR_DEST_2_LEFT].GetPositionX(), Locs[LOC_VALKYR_DEST_2_LEFT].GetPositionY(), Locs[LOC_VALKYR_DEST_2_LEFT].GetPositionZ()); - events.RescheduleEvent(EVENT_VALKYRIES_ATTACK, 3250); + events.RescheduleEvent(EVENT_VALKYRIES_ATTACK, 3250ms); break; } case EVENT_VALKYRIES_ATTACK: @@ -1189,7 +1189,7 @@ public: if (Creature* c = instance->GetCreature(GetTeamIdInInstance() == TEAM_ALLIANCE ? NPC_VarianGUID : NPC_GarroshGUID)) c->AI()->Talk((GetTeamIdInInstance() == TEAM_ALLIANCE ? SAY_STAGE_3_03a : SAY_STAGE_3_03h)); - events.RescheduleEvent(EVENT_SCENE_401, 60000); + events.RescheduleEvent(EVENT_SCENE_401, 60s); break; } case EVENT_SCENE_401: @@ -1197,7 +1197,7 @@ public: if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_4_01); - events.RescheduleEvent(EVENT_SCENE_402, 20000); + events.RescheduleEvent(EVENT_SCENE_402, 20s); break; } case EVENT_SCENE_402: @@ -1214,7 +1214,7 @@ public: t->SetVisible(false); } - events.RescheduleEvent(EVENT_SCENE_403, 2000); + events.RescheduleEvent(EVENT_SCENE_403, 2s); break; } case EVENT_SCENE_403: @@ -1226,7 +1226,7 @@ public: t->CastSpell(t, 51807, true); } - events.RescheduleEvent(EVENT_SCENE_404, 2000); + events.RescheduleEvent(EVENT_SCENE_404, 2s); break; } case EVENT_SCENE_404: @@ -1238,7 +1238,7 @@ public: c->GetMotionMaster()->MovePoint(0, Locs[LOC_ARTHAS]); } - events.RescheduleEvent(EVENT_SCENE_405, 3000); + events.RescheduleEvent(EVENT_SCENE_405, 3s); break; } case EVENT_SCENE_405: @@ -1246,7 +1246,7 @@ public: if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_4_03); - events.RescheduleEvent(EVENT_SCENE_406, 7000); + events.RescheduleEvent(EVENT_SCENE_406, 7s); break; } case EVENT_SCENE_406: @@ -1257,8 +1257,8 @@ public: c->HandleEmoteCommand(EMOTE_ONESHOT_LAUGH); } - events.RescheduleEvent(EVENT_SCENE_406_2, 2500); - events.RescheduleEvent(EVENT_SCENE_407, 12000); + events.RescheduleEvent(EVENT_SCENE_406_2, 2500ms); + events.RescheduleEvent(EVENT_SCENE_407, 12s); break; } case EVENT_SCENE_406_2: @@ -1276,7 +1276,7 @@ public: if (Creature* c = instance->GetCreature(NPC_LichKingGUID)) c->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION); - events.RescheduleEvent(EVENT_SCENE_408, 4000); + events.RescheduleEvent(EVENT_SCENE_408, 4s); break; } case EVENT_SCENE_408: @@ -1286,7 +1286,7 @@ public: c->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL); } - events.RescheduleEvent(EVENT_SCENE_409, 1500); + events.RescheduleEvent(EVENT_SCENE_409, 1500ms); break; } case EVENT_SCENE_409: @@ -1305,7 +1305,7 @@ public: SpawnAnubArak(); } - events.RescheduleEvent(EVENT_SCENE_410, 2000); + events.RescheduleEvent(EVENT_SCENE_410, 2s); break; } case EVENT_SCENE_410: @@ -1328,7 +1328,7 @@ public: c->SummonGameObject(195682, 668.15f, 134.57f, 142.12f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 630000000); } - events.RescheduleEvent(EVENT_SCENE_502, 20000); + events.RescheduleEvent(EVENT_SCENE_502, 20s); break; } case EVENT_SCENE_502: diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp index b4bbcfc560..a1e01ee32b 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp @@ -167,7 +167,7 @@ public: void KilledUnit(Unit* /*victim*/) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_KILL); events.ScheduleEvent(EVENT_KILL_TALK, 6s); diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp index ac241e409e..94e9f2dfab 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp @@ -104,7 +104,7 @@ public: void KilledUnit(Unit* /*victim*/) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_KILL); events.ScheduleEvent(EVENT_KILL_TALK, 6s); diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp index 1de17ba57b..8098969771 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp @@ -102,7 +102,7 @@ public: void KilledUnit(Unit* /*victim*/) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_KILL); events.ScheduleEvent(EVENT_KILL_TALK, 6s); diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp index c8d14deaa9..7feed77dad 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp @@ -115,7 +115,7 @@ public: me->GetMotionMaster()->MoveIdle(); me->CastSpell(me, SPELL_TELEPORT, false); events.CancelEvent(EVENT_SPELL_CORRUPT_SOUL); - events.DelayEvents(6000); + events.DelayEvents(6s); events.RescheduleEvent(EVENT_SPELL_FEAR, 8s, 14s); } } diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp index b848dd2850..c4160dd523 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp @@ -225,14 +225,14 @@ public: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true)) me->CastSpell(target, SPELL_WELL_OF_SOULS, false); events.Repeat(25s, 30s); - events.DelayEventsToMax(4000, 0); + events.DelayEventsToMax(4s, 0); break; case EVENT_SPELL_UNLEASHED_SOULS: me->CastSpell(me, SPELL_UNLEASHED_SOULS, false); Talk(SAY_FACE_UNLEASH_SOUL); Talk(EMOTE_UNLEASH_SOUL); events.Repeat(30s, 40s); - events.DelayEventsToMax(5000, 0); + events.DelayEventsToMax(5s, 0); me->setAttackTimer(BASE_ATTACK, 5500); break; case EVENT_SPELL_WAILING_SOULS: @@ -241,7 +241,7 @@ public: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true)) me->CastCustomSpell(SPELL_WAILING_SOULS_TARGETING, SPELLVALUE_MAX_TARGETS, 1, target, false); events.Repeat(80s); - events.DelayEventsToMax(20000, 0); + events.DelayEventsToMax(20s, 0); break; } diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp index d5e01c2da0..33c5167f22 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp @@ -131,7 +131,7 @@ public: Talk(SAY_DEFILING_HORROR); me->CastSpell((Unit*)nullptr, SPELL_DEFILING_HORROR, false); me->SetControlled(true, UNIT_STATE_ROOT); - events.DelayEventsToMax(5000, 0); + events.DelayEventsToMax(5s, 0); events.ScheduleEvent(EVENT_UNROOT, 4s); events.ScheduleEvent(EVENT_DEFILING_HORROR, 20s); break; diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp index c4b0bdcc7d..66e3444e7c 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp @@ -658,7 +658,7 @@ public: pLichKing->SendMovementFlagUpdate(); pLichKing->CastSpell(pLichKing, SPELL_FROSTMOURNE_EQUIP, false); pInstance->HandleGameObject(pInstance->GetGuidData(GO_FROSTMOURNE), false); - events.ScheduleEvent(EVENT_INTRO_LK_4_3, 1750); + events.ScheduleEvent(EVENT_INTRO_LK_4_3, 1750ms); } events.ScheduleEvent(EVENT_INTRO_LK_5, 6s); break; @@ -1732,7 +1732,7 @@ public: { ++reqKillCount; - if (events.GetNextEventTime(EVENT_DECREASE_REQ_COUNT_BY_100)) + if (events.HasTimeUntilEvent(EVENT_DECREASE_REQ_COUNT_BY_100)) events.RescheduleEvent(EVENT_DECREASE_REQ_COUNT_BY_100, 10s); summons.Summon(s); s->SetHomePosition(PathWaypoints[WP_STOP[currentWall + 1]]); diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp index 8d60280251..0811908824 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp @@ -112,7 +112,7 @@ public: Talk(SAY_AGGRO); DoZoneInCombat(); - events.RescheduleEvent(EVENT_SPELL_THROW_SARONITE, 5000ms, 7500ms); + events.RescheduleEvent(EVENT_SPELL_THROW_SARONITE, 5s, 7500ms); if (pInstance) pInstance->SetData(DATA_GARFROST, IN_PROGRESS); @@ -178,7 +178,7 @@ public: } if (spell->Id == uint32(SPELL_FORGE_BLADE)) { - events.RescheduleEvent(EVENT_SPELL_CHILLING_WAVE, 10000); + events.RescheduleEvent(EVENT_SPELL_CHILLING_WAVE, 10s); SetEquipmentSlots(false, EQUIP_ID_SWORD); me->SetReactState(REACT_AGGRESSIVE); me->SetControlled(false, UNIT_STATE_ROOT); diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp index c5d341dc9f..21e50018bc 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp @@ -298,7 +298,7 @@ public: if (a == 1) { me->setActive(true); - events.RescheduleEvent(20, 0); + events.RescheduleEvent(20, 0ms); } } @@ -404,7 +404,7 @@ public: case 8: Talk(SAY_OUTRO_KRICK_4); - events.RescheduleEvent(9, 1500); + events.RescheduleEvent(9, 1500ms); break; case 9: if (pInstance) @@ -430,7 +430,7 @@ public: if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_TYRANNUS_EVENT_GUID))) c->AI()->Talk(SAY_TYRANNUS_KRICK_2); - events.RescheduleEvent(11, 9000); + events.RescheduleEvent(11, 9s); break; case 11: if (pInstance) diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp index 1ea12a8314..4ff7de00c7 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp @@ -161,7 +161,7 @@ public: events.RescheduleEvent(EVENT_SPELL_UNHOLY_POWER, 1s); break; } - events.RepeatEvent(3000); + events.Repeat(3s); break; case EVENT_SPELL_UNHOLY_POWER: Talk(SAY_DARK_MIGHT); diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp index a83777d45f..a432db0e2c 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp @@ -1082,7 +1082,7 @@ public: s->AddThreat(c, 0.0f); } } - events.RescheduleEvent(10, 3000); + events.RescheduleEvent(10, 3s); break; } diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp index e4260080f8..7b11623c5c 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp @@ -161,7 +161,7 @@ public: summon->SetRegeneratingHealth(false); summon->SetReactState(REACT_PASSIVE); summon->m_Events.AddEvent(new RestoreFight(summon), summon->m_Events.CalculateTime(3000)); - if (events.GetNextEventTime(EVENT_COLOSSUS_HEALTH_2) == 0) + if (!events.HasTimeUntilEvent(EVENT_COLOSSUS_HEALTH_2)) { summon->SetHealth(summon->GetMaxHealth() / 2); summon->LowerPlayerDamageReq(summon->GetMaxHealth() / 2); diff --git a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp index 2a56ce8873..3df618cd4e 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp @@ -149,7 +149,7 @@ public: void KilledUnit(Unit*) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_SLAY); events.ScheduleEvent(EVENT_KILL_TALK, 6s); diff --git a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp index 5e6fd02aa4..a9b989e6e4 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp @@ -125,7 +125,7 @@ public: void KilledUnit(Unit*) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_SLAY); events.ScheduleEvent(EVENT_KILL_TALK, 6s); diff --git a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp index 5bf51b7c91..0229bab9e8 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp @@ -137,7 +137,7 @@ public: void KilledUnit(Unit*) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_SLAY); events.ScheduleEvent(EVENT_KILL_TALK, 6s); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp index f0172727b4..8610c2e34b 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp @@ -588,9 +588,9 @@ public: (*itr)->AI()->DoAction(ACTION_DESPAWN); /*Talk(SAY_OUTRO_HORDE_1); - _events.ScheduleEvent(EVENT_OUTRO_HORDE_1, 10000); - _events.ScheduleEvent(EVENT_OUTRO_HORDE_2, 18000); - _events.ScheduleEvent(EVENT_OUTRO_HORDE_3, 24000);*/ + _events.ScheduleEvent(EVENT_OUTRO_HORDE_1, 10s); + _events.ScheduleEvent(EVENT_OUTRO_HORDE_2, 18s); + _events.ScheduleEvent(EVENT_OUTRO_HORDE_3, 24s);*/ } break; case ACTION_EVADE: @@ -651,8 +651,8 @@ public: deathbringer->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE); deathbringer->setDeathState(DeathState::Alive); } - _events.ScheduleEvent(EVENT_OUTRO_HORDE_4, 1000); - _events.ScheduleEvent(EVENT_OUTRO_HORDE_5, 4000); + _events.ScheduleEvent(EVENT_OUTRO_HORDE_4, 1s); + _events.ScheduleEvent(EVENT_OUTRO_HORDE_5, 4s); break; case POINT_FINAL: if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_DEATHBRINGER_SAURFANG))) diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp index 923b9a341f..11d0142cec 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp @@ -233,7 +233,7 @@ public: Talk(EMOTE_GAS_SPORE); me->CastCustomSpell(SPELL_GAS_SPORE, SPELLVALUE_MAX_TARGETS, RAID_MODE(2, 3, 2, 3), me); events.ScheduleEvent(EVENT_GAS_SPORE, 40s, 45s); - events.DelayEventsToMax(20000, 1); // delay EVENT_VILE_GAS + events.DelayEventsToMax(20s, 1); // delay EVENT_VILE_GAS break; case EVENT_VILE_GAS: { diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp index 51969299bc..f4bd5ff7b0 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp @@ -847,7 +847,7 @@ public: { time_t now = GameTime::GetGameTime().count(); if (_firstMageCooldown > now) - _events.ScheduleEvent(EVENT_SUMMON_MAGE, (_firstMageCooldown - now) * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_SUMMON_MAGE, Seconds(_firstMageCooldown - now)); else _events.ScheduleEvent(EVENT_SUMMON_MAGE, 1ms); } @@ -1183,7 +1183,7 @@ public: { time_t now = GameTime::GetGameTime().count(); if (_firstMageCooldown > now) - _events.ScheduleEvent(EVENT_SUMMON_MAGE, (_firstMageCooldown - now) * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_SUMMON_MAGE, Seconds(_firstMageCooldown - now)); else _events.ScheduleEvent(EVENT_SUMMON_MAGE, 1ms); } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp index 7faa41fd27..509ff92fb7 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp @@ -206,8 +206,8 @@ public: if (Aura* pStorm = me->GetAura(SPELL_BONE_STORM)) pStorm->SetDuration(int32(_boneStormDuration)); events.ScheduleEvent(EVENT_BONE_STORM_MOVE, 0ms); - events.ScheduleEvent(EVENT_END_BONE_STORM, _boneStormDuration + 1); - } + events.ScheduleEvent(EVENT_END_BONE_STORM, Milliseconds(_boneStormDuration + 1)); + } break; case EVENT_BONE_STORM_MOVE: { @@ -429,7 +429,7 @@ public: summonerUnit->SetPetGUID(petGUID); summonerUnit->GetMotionMaster()->Clear(); summonerUnit->StopMoving(); - events.ScheduleEvent(1, 8000); + events.ScheduleEvent(1, 8s); hasTrappedUnit = true; } } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index cb93c1bf6b..165e8e77e3 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -566,14 +566,14 @@ public: { SpellInfo const* spell = sSpellMgr->GetSpellInfo(SPELL_CREATE_CONCOCTION); me->CastSpell(me, SPELL_CREATE_CONCOCTION, false); - events.ScheduleEvent(EVENT_PHASE_TRANSITION, sSpellMgr->GetSpellForDifficultyFromSpell(spell, me)->CalcCastTime() + 2250); + events.ScheduleEvent(EVENT_PHASE_TRANSITION, Milliseconds(sSpellMgr->GetSpellForDifficultyFromSpell(spell, me)->CalcCastTime() + 2250)); break; } case 3: { SpellInfo const* spell = sSpellMgr->GetSpellInfo(SPELL_GUZZLE_POTIONS); me->CastSpell(me, SPELL_GUZZLE_POTIONS, false); - events.ScheduleEvent(EVENT_PHASE_TRANSITION, sSpellMgr->GetSpellForDifficultyFromSpell(spell, me)->CalcCastTime() + 2250); + events.ScheduleEvent(EVENT_PHASE_TRANSITION, Milliseconds(sSpellMgr->GetSpellForDifficultyFromSpell(spell, me)->CalcCastTime() + 2250)); break; } default: @@ -670,8 +670,8 @@ public: void ChangePhase() { - uint32 heroicDelay = (IsHeroic() ? 25000 : 0); - events.DelayEvents(24000 + heroicDelay, EVENT_GROUP_ABILITIES); + Milliseconds heroicDelay = (IsHeroic() ? 25s : 0ms); + events.DelayEvents(24s + heroicDelay, EVENT_GROUP_ABILITIES); me->AttackStop(); if (!IsHeroic()) { @@ -715,8 +715,8 @@ public: { case 1: _phase = 2; - events.ScheduleEvent(EVENT_MALLEABLE_GOO, urand(25000, 28000) + heroicDelay, EVENT_GROUP_ABILITIES); - events.ScheduleEvent(EVENT_CHOKING_GAS_BOMB, urand(35000, 40000) + heroicDelay, EVENT_GROUP_ABILITIES); + events.ScheduleEvent(EVENT_MALLEABLE_GOO, randtime(25s, 28s) + heroicDelay, EVENT_GROUP_ABILITIES); + events.ScheduleEvent(EVENT_CHOKING_GAS_BOMB, randtime(35s, 40s) + heroicDelay, EVENT_GROUP_ABILITIES); break; case 2: _phase = 3; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp index e9e7acfbd4..cd3a73fdf5 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp @@ -131,13 +131,13 @@ public: { } - uint32 infectionCooldown; + Milliseconds infectionCooldown; ObjectGuid _oozeFloodDummyGUIDs[4][2]; uint8 _oozeFloodStage; void Reset() override { - infectionCooldown = 14000; + infectionCooldown = 14s; for (uint8 i = 0; i < 4; ++i) for (uint8 j = 0; j < 2; ++j) @@ -283,14 +283,14 @@ public: DoCastSelf(SPELL_SLIME_SPRAY); } } - events.DelayEvents(1); + events.DelayEvents(1ms); events.ScheduleEvent(EVENT_SLIME_SPRAY, 20s); events.ScheduleEvent(EVENT_UNROOT, 0ms); break; case EVENT_HASTEN_INFECTIONS: - if (infectionCooldown >= 8000) + if (infectionCooldown >= 8s) { - infectionCooldown -= 2000; + infectionCooldown -= 2s; events.ScheduleEvent(EVENT_HASTEN_INFECTIONS, 90s); } break; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index 884cda64a8..f647883816 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -523,7 +523,7 @@ public: me->SetControlled(true, UNIT_STATE_ROOT); me->SendMovementFlagUpdate(); me->CastSpell(me->GetVictim(), SPELL_TAIL_SMASH, false); - events.DelayEventsToMax(1, 0); + events.DelayEventsToMax(1ms, 0); events.ScheduleEvent(EVENT_UNROOT, 0ms); events.ScheduleEvent(EVENT_TAIL_SMASH, 22s, 27s, EVENT_GROUP_LAND_PHASE); break; @@ -532,7 +532,7 @@ public: me->SetControlled(true, UNIT_STATE_ROOT); me->SendMovementFlagUpdate(); me->CastSpell(me->GetVictim(), _isThirdPhase ? SPELL_FROST_BREATH_P2 : SPELL_FROST_BREATH_P1, false); - events.DelayEventsToMax(1, 0); + events.DelayEventsToMax(1ms, 0); events.ScheduleEvent(EVENT_UNROOT, 0ms); events.ScheduleEvent(EVENT_FROST_BREATH, 20s, 25s, EVENT_GROUP_LAND_PHASE); break; @@ -547,11 +547,10 @@ public: break; case EVENT_ICY_GRIP: me->CastSpell((Unit*)nullptr, SPELL_ICY_GRIP, false); - events.DelayEventsToMax(1001, 0); + events.DelayEventsToMax(1001ms, 0); events.ScheduleEvent(EVENT_BLISTERING_COLD, 1s, EVENT_GROUP_LAND_PHASE); - if (uint32 evTime = events.GetNextEventTime(EVENT_ICE_TOMB)) - if (events.GetTimer() > evTime || evTime - events.GetTimer() < 7000) - events.RescheduleEvent(EVENT_ICE_TOMB, 7s); + if (events.GetTimeUntilEvent(EVENT_ICE_TOMB) < 7s) + events.RescheduleEvent(EVENT_ICE_TOMB, 7s); break; case EVENT_BLISTERING_COLD: Talk(EMOTE_WARN_BLISTERING_COLD); @@ -652,9 +651,8 @@ public: Talk(EMOTE_WARN_FROZEN_ORB, target); me->CastSpell(target, SPELL_ICE_TOMB_DUMMY, true); me->CastSpell(target, SPELL_FROST_BEACON, true); - if (uint32 evTime = events.GetNextEventTime(EVENT_ICY_GRIP)) - if (events.GetTimer() > evTime || evTime - events.GetTimer() < 8000) - events.RescheduleEvent(EVENT_ICY_GRIP, 8s, EVENT_GROUP_LAND_PHASE); + if (events.GetTimeUntilEvent(EVENT_ICY_GRIP) < 8s) + events.RescheduleEvent(EVENT_ICY_GRIP, 8s, EVENT_GROUP_LAND_PHASE); } events.ScheduleEvent(EVENT_ICE_TOMB, 18s, 22s); break; @@ -1451,8 +1449,8 @@ public: else destZ = me->GetPositionZ() + 25.0f; me->GetMotionMaster()->MoveTakeoff(0, me->GetPositionX(), me->GetPositionY(), destZ, me->GetSpeed(MOVE_RUN)); float moveTime = std::fabs(destZ - me->GetPositionZ()) / (me->GetSpeed(MOVE_RUN) * 0.001f); - _events.ScheduleEvent(EVENT_ICY_BLAST, uint32(moveTime) + urand(60000, 70000)); - _events.ScheduleEvent(EVENT_ICY_BLAST_CAST, uint32(moveTime) + 250); + _events.Repeat(Milliseconds(uint32(moveTime) + urand(60000, 70000))); + _events.ScheduleEvent(EVENT_ICY_BLAST_CAST, Milliseconds(uint32(moveTime) + 250)); break; } case EVENT_ICY_BLAST_CAST: 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 d746989103..ecaf282191 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -885,7 +885,7 @@ public: summon->StopMovingOnCurrentPos(); break; case NPC_VALKYR_SHADOWGUARD: - if (_phase == PHASE_THREE || events.GetNextEventTime(EVENT_QUAKE_2)) + if (_phase == PHASE_THREE || events.HasTimeUntilEvent(EVENT_QUAKE_2)) summon->DespawnOrUnsummon(1); break; default: @@ -944,7 +944,7 @@ public: Talk(SAY_LK_REMORSELESS_WINTER); me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL); me->CastSpell(me, SPELL_REMORSELESS_WINTER_1, false); - //events.DelayEvents(62500, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions, 15mins on movies + //events.DelayEvents(62500ms, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions, 15mins on movies events.ScheduleEvent(EVENT_QUAKE, 62s + 500ms); events.ScheduleEvent(EVENT_PAIN_AND_SUFFERING, 3500ms, EVENT_GROUP_ABILITIES); events.ScheduleEvent(EVENT_SUMMON_ICE_SPHERE, 8s, EVENT_GROUP_ABILITIES); @@ -956,7 +956,7 @@ public: me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL); me->CastSpell(me, SPELL_REMORSELESS_WINTER_2, false); summons.DespawnEntry(NPC_VALKYR_SHADOWGUARD); - //events.DelayEvents(62500, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions, 15 mins on movies + //events.DelayEvents(62500ms, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions, 15 mins on movies events.ScheduleEvent(EVENT_QUAKE_2, 62s + 500ms); events.ScheduleEvent(EVENT_PAIN_AND_SUFFERING, 3500ms, EVENT_GROUP_ABILITIES); events.ScheduleEvent(EVENT_SUMMON_ICE_SPHERE, 8s, EVENT_GROUP_ABILITIES); @@ -1081,11 +1081,11 @@ public: case EVENT_PAIN_AND_SUFFERING: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true)) { - //events.DelayEventsToMax(500, EVENT_GROUP_ABILITIES); + //events.DelayEventsToMax(500ms, EVENT_GROUP_ABILITIES); me->SetFacingTo(me->GetAngle(target)); me->CastSpell(target, SPELL_PAIN_AND_SUFFERING, false); } - events.ScheduleEvent(EVENT_PAIN_AND_SUFFERING, (IsHeroic() ? urand(1250, 1750) : urand(1750, 2250)), EVENT_GROUP_ABILITIES); + events.Repeat((IsHeroic() ? randtime(1250ms, 1750ms) : randtime(1750ms, 2250ms))); break; case EVENT_SUMMON_ICE_SPHERE: me->CastSpell((Unit*)nullptr, SPELL_SUMMON_ICE_SPHERE, false); @@ -1098,21 +1098,21 @@ public: break; case EVENT_DEFILE: { - uint32 evTime = events.GetNextEventTime(EVENT_SUMMON_VALKYR); + Milliseconds evTime = events.GetTimeUntilEvent(EVENT_SUMMON_VALKYR); // if defile (cast time 2sec) is less than 3 before valkyr appears // we've to decide - if (evTime && (events.GetTimer() > evTime || evTime - events.GetTimer() < 5000)) + if (evTime < 5s) { // if valkyr is less than 1.5 secs after defile (cast time 2 sec) then we've a sync issue, so // we need to cancel it (break) and schedule a defile to be casted 5 or 4 seconds after valkyr - if (events.GetTimer() > evTime || evTime - events.GetTimer() < 3500) + if (evTime < 3500ms) { - uint32 t = events.GetTimer() > evTime ? 0 : evTime - events.GetTimer(); - events.ScheduleEvent(EVENT_DEFILE, t + (Is25ManRaid() ? 5000 : 4000), EVENT_GROUP_ABILITIES); + Milliseconds t = evTime > 0ms ? evTime : 0ms; + events.ScheduleEvent(EVENT_DEFILE, t + (Is25ManRaid() ? 5s : 4s), EVENT_GROUP_ABILITIES); break; } - // if valkyr is coming between 1.5 and 3 seconds after defile then we've to + // if valkyr is coming within 2,5 seconds after defile then we've to // delay valkyr just a bit events.RescheduleEvent(EVENT_SUMMON_VALKYR, 5s, EVENT_GROUP_ABILITIES); } @@ -1150,12 +1150,9 @@ public: // schedule a defile (or reschedule it) if next defile event // doesn't exist ( now > next defile ) or defile is coming too soon - uint32 minTime = (Is25ManRaid() ? 5000 : 4000); - if (uint32 evTime = events.GetNextEventTime(EVENT_DEFILE)) - if (events.GetTimer() > evTime || evTime - events.GetTimer() < minTime) - { - events.RescheduleEvent(EVENT_DEFILE, minTime, EVENT_GROUP_ABILITIES); - } + Milliseconds minTime = (Is25ManRaid() ? 5s : 4s); + if (events.GetTimeUntilEvent(EVENT_DEFILE) < minTime) + events.RescheduleEvent(EVENT_DEFILE, minTime, EVENT_GROUP_ABILITIES); } break; case EVENT_VILE_SPIRITS: @@ -1180,7 +1177,7 @@ public: me->SetReactState(REACT_PASSIVE); me->AttackStop(); events.ScheduleEvent(EVENT_START_ATTACK, 55s); - events.DelayEvents(52500, EVENT_GROUP_VILE_SPIRITS); + events.DelayEvents(52500ms, EVENT_GROUP_VILE_SPIRITS); events.CancelEvent(EVENT_DEFILE); events.CancelEvent(EVENT_SOUL_REAPER); events.ScheduleEvent(EVENT_FROSTMOURNE_HEROIC, 6s, EVENT_GROUP_ABILITIES); @@ -1508,9 +1505,9 @@ public: theLichKing->GetMotionMaster()->MovePoint(0, CenterPosition); uint32 travelTime = 1000 * theLichKing->GetExactDist(&CenterPosition) / theLichKing->GetSpeed(MOVE_WALK) + 1000; - _events.ScheduleEvent(EVENT_OUTRO_LK_TALK_4, 1 + travelTime); - _events.ScheduleEvent(EVENT_OUTRO_LK_RAISE_DEAD, 1000 + travelTime); - _events.ScheduleEvent(EVENT_OUTRO_LK_TALK_5, 29000 + travelTime); + _events.ScheduleEvent(EVENT_OUTRO_LK_TALK_4, Milliseconds(1 + travelTime)); + _events.ScheduleEvent(EVENT_OUTRO_LK_RAISE_DEAD, Milliseconds(1000 + travelTime)); + _events.ScheduleEvent(EVENT_OUTRO_LK_TALK_5, Milliseconds(29000 + travelTime)); } break; case EVENT_OUTRO_LK_TALK_4: @@ -2620,7 +2617,7 @@ public: me->GetMotionMaster()->Clear(); me->StopMovingOnCurrentPos(); - _events.ScheduleEvent(EVENT_MOVE_TO_DROP_POS, 0); + _events.ScheduleEvent(EVENT_MOVE_TO_DROP_POS, 0ms); } }; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp index 5c6e308310..64d616b5dc 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp @@ -679,7 +679,7 @@ public: { case 1000: case 11000: - _events.ScheduleEvent(EVENT_ACTIVATE_TRAP, uint32(action)); + _events.ScheduleEvent(EVENT_ACTIVATE_TRAP, Milliseconds(action)); break; default: break; @@ -2796,38 +2796,38 @@ class SeveredEssenceSpellInfo public: uint8 Class; uint32 id; - uint32 cooldown_ms; + Milliseconds cooldown_ms; uint8 targetType; float range; }; SeveredEssenceSpellInfo sesi_spells[] = { - {CLASS_SHAMAN, 71938, 5000, 1, 0.0f}, - {CLASS_PALADIN, 57767, 8000, 2, 30.0f}, - {CLASS_WARLOCK, 71937, 10000, 1, 0.0f}, - {CLASS_DEATH_KNIGHT, 49576, 15000, 1, 30.0f}, - {CLASS_ROGUE, 71933, 8000, 1, 0.0f}, - {CLASS_MAGE, 71928, 4000, 1, 40.0f}, - {CLASS_PALADIN, 71930, 5000, 2, 40.0f}, - {CLASS_ROGUE, 71955, 40000, 1, 30.0f}, - {CLASS_PRIEST, 71931, 5000, 2, 40.0f}, - {CLASS_SHAMAN, 71934, 7000, 1, 0.0f}, - {CLASS_DRUID, 71925, 5000, 1, 0.0f}, - {CLASS_DEATH_KNIGHT, 71951, 8000, 1, 0.0f}, - {CLASS_DEATH_KNIGHT, 71924, 8000, 1, 0.0f}, - {CLASS_WARLOCK, 71965, 20000, 0, 0.0f}, - {CLASS_PRIEST, 71932, 8000, 2, 40.0f}, - {CLASS_DRUID, 71926, 10000, 1, 0.0f}, - {CLASS_WARLOCK, 71936, 9000, 1, 0.0f}, - {CLASS_ROGUE, 57640, 3000, 1, 0.0f}, - {CLASS_WARRIOR, 71961, 5000, 1, 0.0f}, - {CLASS_MAGE, 71929, 10000, 1, 0.0f}, - {CLASS_WARRIOR, 53395, 5000, 1, 0.0f}, - {CLASS_WARRIOR, 71552, 5000, 1, 0.0f}, - {CLASS_HUNTER, 36984, 7000, 1, 0.0f}, - {CLASS_HUNTER, 29576, 5000, 1, 0.0f}, - {0, 0, 0, 0, 0.0f}, + { CLASS_SHAMAN, 71938, 5s, 1, 0.0f }, + { CLASS_PALADIN, 57767, 8s, 2, 30.0f }, + { CLASS_WARLOCK, 71937, 10s, 1, 0.0f }, + { CLASS_DEATH_KNIGHT, 49576, 15s, 1, 30.0f }, + { CLASS_ROGUE, 71933, 8s, 1, 0.0f }, + { CLASS_MAGE, 71928, 4s, 1, 40.0f }, + { CLASS_PALADIN, 71930, 5s, 2, 40.0f }, + { CLASS_ROGUE, 71955, 40s, 1, 30.0f }, + { CLASS_PRIEST, 71931, 5s, 2, 40.0f }, + { CLASS_SHAMAN, 71934, 7s, 1, 0.0f }, + { CLASS_DRUID, 71925, 5s, 1, 0.0f }, + { CLASS_DEATH_KNIGHT, 71951, 8s, 1, 0.0f }, + { CLASS_DEATH_KNIGHT, 71924, 8s, 1, 0.0f }, + { CLASS_WARLOCK, 71965, 20s, 0, 0.0f }, + { CLASS_PRIEST, 71932, 8s, 2, 40.0f }, + { CLASS_DRUID, 71926, 10s, 1, 0.0f }, + { CLASS_WARLOCK, 71936, 9s, 1, 0.0f }, + { CLASS_ROGUE, 57640, 3s, 1, 0.0f }, + { CLASS_WARRIOR, 71961, 5s, 1, 0.0f }, + { CLASS_MAGE, 71929, 10s, 1, 0.0f }, + { CLASS_WARRIOR, 53395, 5s, 1, 0.0f }, + { CLASS_WARRIOR, 71552, 5s, 1, 0.0f }, + { CLASS_HUNTER, 36984, 7s, 1, 0.0f }, + { CLASS_HUNTER, 29576, 5s, 1, 0.0f }, + { 0, 0, 0ms, 0, 0.0f } }; class npc_icc_severed_essence : public CreatureScript @@ -2862,7 +2862,7 @@ public: if (sesi_spells[i].id) { if (Class == sesi_spells[i].Class) - events.ScheduleEvent(i + 1, sesi_spells[i].cooldown_ms / 4); + events.ScheduleEvent(i + 1, Milliseconds(sesi_spells[i].cooldown_ms / 4)); } else break; @@ -2895,7 +2895,7 @@ public: if (target) me->CastSpell(target, sesi_spells[e - 1].id, TRIGGERED_IGNORE_SHAPESHIFT); - events.RepeatEvent(sesi_spells[e - 1].cooldown_ms); + events.Repeat(sesi_spells[e - 1].cooldown_ms); } if (Class == CLASS_HUNTER) @@ -3337,7 +3337,7 @@ public: void ScheduleBroodlings() { for (uint8 i = 0; i < 30; ++i) - events.ScheduleEvent(EVENT_SUMMON_BROODLING, 10000 + i * 350); + events.ScheduleEvent(EVENT_SUMMON_BROODLING, Milliseconds(10000 + i * 350)); } void SummonBroodling() @@ -3521,7 +3521,7 @@ public: me->CastSpell(me, SPELL_GIANT_INSECT_SWARM, true); for (uint8 i = 0; i < 60; ++i) - events.ScheduleEvent(EVENT_GAUNTLET_PHASE1, i * 1000); + events.ScheduleEvent(EVENT_GAUNTLET_PHASE1, Seconds(i)); events.ScheduleEvent(EVENT_GAUNTLET_PHASE2, 1min); } } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp index 394225e21a..667a922182 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp @@ -268,7 +268,7 @@ public: if (GetBossState(DATA_LADY_DEATHWHISPER) == DONE && GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != DONE) SpawnGunship(); - if (GetBossState(DATA_SINDRAGOSA) != DONE && IsSindragosaIntroDone && !GetCreature(DATA_SINDRAGOSA) && Events.GetTimeUntilEvent(EVENT_RESPAWN_SINDRAGOSA) == Milliseconds::max()) + if (GetBossState(DATA_SINDRAGOSA) != DONE && IsSindragosaIntroDone && !GetCreature(DATA_SINDRAGOSA) && !Events.HasTimeUntilEvent(EVENT_RESPAWN_SINDRAGOSA)) { Events.ScheduleEvent(EVENT_RESPAWN_SINDRAGOSA, 30s); } diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp index 30b678a876..7451caa1ab 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp @@ -115,7 +115,7 @@ public: me->SetInCombatWithZone(); events.ScheduleEvent(EVENT_MORTAL_WOUND, 10s); events.ScheduleEvent(EVENT_ENRAGE, 22s); - events.ScheduleEvent(EVENT_DECIMATE, RAID_MODE(110000, 90000)); + events.ScheduleEvent(EVENT_DECIMATE, RAID_MODE(110s, 90s)); events.ScheduleEvent(EVENT_BERSERK, 6min); events.ScheduleEvent(EVENT_SUMMON_ZOMBIE, 10s); events.ScheduleEvent(EVENT_CAN_EAT_ZOMBIE, 1s); @@ -194,7 +194,7 @@ public: case EVENT_DECIMATE: Talk(EMOTE_DECIMATE); me->CastSpell(me, RAID_MODE(SPELL_DECIMATE_10, SPELL_DECIMATE_25), false); - events.RepeatEvent(RAID_MODE(110000, 90000)); + events.Repeat(RAID_MODE(110s, 90s)); break; case EVENT_SUMMON_ZOMBIE: { @@ -218,7 +218,7 @@ public: break; } case EVENT_CAN_EAT_ZOMBIE: - events.RepeatEvent(1000); + events.Repeat(1s); if (me->GetVictim()->GetEntry() == NPC_ZOMBIE_CHOW && me->IsWithinMeleeRange(me->GetVictim())) { me->CastCustomSpell(SPELL_CHOW_SEARCHER, SPELLVALUE_RADIUS_MOD, 20000, me, true); diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp index 939f0bf194..3e2ae759c9 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp @@ -440,7 +440,7 @@ public: if (gothikWaves[waveCount][0]) { SummonHelpers(gothikWaves[waveCount][0]); - events.RepeatEvent(gothikWaves[waveCount][1]); + events.Repeat(Milliseconds(gothikWaves[waveCount][1])); } else { @@ -522,7 +522,7 @@ public: events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 3s); break; case NPC_DEAD_RIDER: - events.ScheduleEvent(EVENT_DRAIN_LIFE, 2000ms, 3500ms); + events.ScheduleEvent(EVENT_DRAIN_LIFE, 2s, 3500ms); events.ScheduleEvent(EVENT_UNHOLY_FRENZY, 5s, 9s); break; case NPC_DEAD_HORSE: diff --git a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp index 9a88b24a7b..7be64fe007 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp @@ -102,7 +102,7 @@ public: events.ScheduleEvent(EVENT_POISON_CLOUD, 15s); events.ScheduleEvent(EVENT_MUTATING_INJECTION, 20s); events.ScheduleEvent(EVENT_SLIME_SPRAY, 10s); - events.ScheduleEvent(EVENT_BERSERK, RAID_MODE(720000, 540000)); + events.ScheduleEvent(EVENT_BERSERK, RAID_MODE(720s, 540s)); } void SpellHitTarget(Unit* target, SpellInfo const* spellInfo) override @@ -177,7 +177,7 @@ public: { me->CastSpell(target, SPELL_MUTATING_INJECTION, false); } - events.RepeatEvent(6000 + uint32(120 * me->GetHealthPct())); + events.Repeat(Milliseconds(6000 + uint32(120 * me->GetHealthPct()))); break; } DoMeleeAttackIfReady(); diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp index 57866c7b00..7cf70c4b4a 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp @@ -451,7 +451,7 @@ public: cr->AI()->Talk(SAY_ANSWER_REQUEST); for (uint8 i = 0 ; i < RAID_MODE(2, 4); ++i) - events.ScheduleEvent(EVENT_SUMMON_GUARDIAN_OF_ICECROWN, 10000 + (i * 5000)); + events.ScheduleEvent(EVENT_SUMMON_GUARDIAN_OF_ICECROWN, Milliseconds(10000 + (i * 5000))); break; } diff --git a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp index 98717dcbb1..22de0dac72 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp @@ -280,7 +280,7 @@ public: { cr->GetMotionMaster()->MoveRandom(40); } - events.RepeatEvent(RAID_MODE(8000, 6500)); + events.Repeat(RAID_MODE(8000ms, 6500ms)); return; } case EVENT_FLIGHT_START: @@ -349,7 +349,7 @@ public: blockList.push_back((*itr)->GetGUID()); currentTarget = (*itr)->GetGUID(); --iceboltCount; - events.ScheduleEvent(EVENT_FLIGHT_ICEBOLT, (me->GetExactDist(*itr) / 13.0f)*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_FLIGHT_ICEBOLT, Seconds(uint32(me->GetExactDist(*itr) / 13.0f))); } else { diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index eb39ef71b6..39c3faf621 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -471,7 +471,7 @@ public: me->SetDisableGravity(true); me->GetMotionMaster()->MoveTakeoff(MI_POINT_VORTEX_TAKEOFF, me->GetPositionX(), me->GetPositionY(), CenterPos.GetPositionZ() + 20.0f, 7.0f); - events.DelayEvents(25000, 1); // don't delay berserk (group 0) + events.DelayEvents(25s, 1); // don't delay berserk (group 0) } break; case EVENT_VORTEX_FLY_TO_CENTER: @@ -674,7 +674,7 @@ public: case EVENT_CHECK_TRASH_DEAD: { if (me->FindNearestCreature(NPC_SCION_OF_ETERNITY, 250.0f, true) || me->FindNearestCreature(NPC_NEXUS_LORD, 250.0f, true)) - events.RepeatEvent(3000); + events.Repeat(3s); else { me->SendMeleeAttackStop(); diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp index 397f9ec8bb..1be23abf85 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp @@ -94,7 +94,7 @@ struct boss_anomalus : public BossAI { if (activeRifts > 0 && --activeRifts == 0 && me->HasAura(SPELL_RIFT_SHIELD)) { - events.DelayEvents(me->GetAura(SPELL_RIFT_SHIELD)->GetDuration() - 46000); + events.DelayEvents(Milliseconds(me->GetAura(SPELL_RIFT_SHIELD)->GetDuration() - 46000)); me->RemoveAura(SPELL_RIFT_SHIELD); me->InterruptNonMeleeSpells(false); } @@ -114,7 +114,6 @@ struct boss_anomalus : public BossAI BossAI::JustEngagedWith(who); activeRifts = 0; - events.SetTimer(45000); events.ScheduleEvent(EVENT_ANOMALUS_SPARK, 5s); events.ScheduleEvent(EVENT_ANOMALUS_HEALTH, 1s); events.ScheduleEvent(EVENT_ANOMALUS_SPAWN_RIFT, IsHeroic() ? 15s : 25s); @@ -164,7 +163,7 @@ struct boss_anomalus : public BossAI Talk(EMOTE_RIFT); me->CastSpell(me, SPELL_CREATE_RIFT, false); //Once we hit 51% hp mark, after each rift we spawn an empowered - events.ScheduleEvent(me->HealthBelowPct(51) ? EVENT_ANOMALUS_SPAWN_RIFT_EMPOWERED : EVENT_ANOMALUS_SPAWN_RIFT, IsHeroic() ? 15000 : 25000); + events.ScheduleEvent(me->HealthBelowPct(51) ? EVENT_ANOMALUS_SPAWN_RIFT_EMPOWERED : EVENT_ANOMALUS_SPAWN_RIFT, IsHeroic() ? 15s : 25s); break; case EVENT_ANOMALUS_SPAWN_RIFT_EMPOWERED: Talk(SAY_RIFT); diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp index a367d60592..eb4842098a 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp @@ -75,7 +75,7 @@ struct boss_keristrasza : public BossAI me->CastSpell(me, SPELL_INTENSE_COLD, true); events.ScheduleEvent(EVENT_CRYSTALFIRE_BREATH, 14s); - events.ScheduleEvent(EVENT_CRYSTAL_CHAINS, DUNGEON_MODE(20000, 11000)); + events.ScheduleEvent(EVENT_CRYSTAL_CHAINS, DUNGEON_MODE(20s, 11s)); events.ScheduleEvent(EVENT_TAIL_SWEEP, 5s); events.ScheduleEvent(EVENT_HEALTH_CHECK, 1s); events.ScheduleEvent(EVENT_ACHIEVEMENT_CHECK, 1s); @@ -89,7 +89,7 @@ struct boss_keristrasza : public BossAI void KilledUnit(Unit*) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_SLAY); events.ScheduleEvent(EVENT_KILL_TALK, 6s); @@ -174,7 +174,7 @@ struct boss_keristrasza : public BossAI me->CastSpell(me, SPELL_CRYSTALIZE, false); else if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true)) me->CastSpell(target, SPELL_CRYSTAL_CHAINS, false); - events.ScheduleEvent(EVENT_CRYSTAL_CHAINS, DUNGEON_MODE(20000, 11000)); + events.ScheduleEvent(EVENT_CRYSTAL_CHAINS, DUNGEON_MODE(20s, 11s)); break; } diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp index 90781cfbc7..5926c11b65 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp @@ -132,7 +132,7 @@ struct boss_magus_telestra : public BossAI void KilledUnit(Unit*) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_KILL); events.ScheduleEvent(EVENT_KILL_TALK, 6s); diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp index 82b36095db..982750c2bd 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp @@ -93,7 +93,7 @@ struct boss_ormorok : public BossAI void KilledUnit(Unit* /*victim*/) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_KILL); events.ScheduleEvent(EVENT_KILL_TALK, 6s); diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp index 4b491b156d..db9d41b63a 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp @@ -208,7 +208,7 @@ public: break; case EVENT_SUMMON_WHELPS: for( uint8 i = 0; i < 5; ++i ) - events.ScheduleEvent(EVENT_SUMMON_SINGLE_WHELP, urand(0, 8000)); + events.ScheduleEvent(EVENT_SUMMON_SINGLE_WHELP, 0ms, 8s); events.Repeat(40s); break; case EVENT_SUMMON_SINGLE_WHELP: diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp index 6793cc0505..129df1e67b 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp @@ -300,7 +300,7 @@ public: me->ClearUnitState(UNIT_STATE_CASTING); DoCastAOE(DUNGEON_MODE(SPELL_EMPOWERED_ARCANE_EXPLOSION_N, SPELL_EMPOWERED_ARCANE_EXPLOSION_H)); me->AddUnitState(UNIT_STATE_CASTING); - events.RescheduleEvent(EVENT_TELE_BACK, DUNGEON_MODE(9000, 7000)); + events.RescheduleEvent(EVENT_TELE_BACK, DUNGEON_MODE(9s, 7s)); default: break; } diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp index 1d5a440df8..f4d8c57190 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp @@ -252,8 +252,8 @@ public: me->CastSpell(me, SPELL_DEFENSIVE_STANCE, true); me->CastSpell(me, SPELL_DEFENSIVE_AURA, true); - events.DelayEvents(20000, STANCE_BERSERKER); - events.DelayEvents(20000, STANCE_BATTLE); + events.DelayEvents(20s, STANCE_BERSERKER); + events.DelayEvents(20s, STANCE_BATTLE); SetEquipmentSlots(false, EQUIP_SWORD, EQUIP_SHIELD, EQUIP_NO_CHANGE); break; @@ -263,8 +263,8 @@ public: me->CastSpell(me, SPELL_BERSERKER_STANCE, true); me->CastSpell(me, SPELL_BERSERKER_AURA, true); - events.DelayEvents(20000, STANCE_DEFENSIVE); - events.DelayEvents(20000, STANCE_BATTLE); + events.DelayEvents(20s, STANCE_DEFENSIVE); + events.DelayEvents(20s, STANCE_BATTLE); SetEquipmentSlots(false, EQUIP_SWORD, EQUIP_SWORD, EQUIP_NO_CHANGE); break; @@ -274,8 +274,8 @@ public: me->CastSpell(me, SPELL_BATTLE_STANCE, true); me->CastSpell(me, SPELL_BATTLE_AURA, true); - events.DelayEvents(20000, STANCE_BERSERKER); - events.DelayEvents(20000, STANCE_DEFENSIVE); + events.DelayEvents(20s, STANCE_BERSERKER); + events.DelayEvents(20s, STANCE_DEFENSIVE); SetEquipmentSlots(false, EQUIP_MACE, EQUIP_UNEQUIP, EQUIP_NO_CHANGE); break; diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp index d51461f6a6..5292e69e40 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp @@ -426,7 +426,7 @@ public: void JustEngagedWith(Unit*) override { - events.ScheduleEvent(EVENT_TOXIC_VOLLEY, 5000); + events.ScheduleEvent(EVENT_TOXIC_VOLLEY, 5s); } void JustDied(Unit* /*killer*/) override { diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp index 8202f673a7..b0dd3d79f9 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp @@ -443,8 +443,8 @@ public: me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); me->SetOrientation(3.132660f); me->SendMovementFlagUpdate(); - events.ScheduleEvent(EVENT_SJONNIR_END_BRANN_YELL, 10000ms); - events.ScheduleEvent(EVENT_SJONNIR_END_BRANN_LAST_YELL, 22000ms); + events.ScheduleEvent(EVENT_SJONNIR_END_BRANN_YELL, 10s); + events.ScheduleEvent(EVENT_SJONNIR_END_BRANN_LAST_YELL, 22s); break; case ACTION_SJONNIR_WIPE_START: Reset(); @@ -508,7 +508,7 @@ public: kaddrak->CastSpell(plr, DUNGEON_MODE(SPELL_GLARE_OF_THE_TRIBUNAL, SPELL_GLARE_OF_THE_TRIBUNAL_H), true); } - events.RescheduleEvent(EVENT_KADDRAK_SWITCH_EYE, 1000ms); + events.RescheduleEvent(EVENT_KADDRAK_SWITCH_EYE, 1s); events.Repeat(1500ms); break; } @@ -550,7 +550,7 @@ public: darkMatterTargetGUID = cr->GetGUID(); - events.RescheduleEvent(EVENT_DARK_MATTER_START, 5000ms); + events.RescheduleEvent(EVENT_DARK_MATTER_START, 5s); } } events.Repeat(30s); @@ -575,7 +575,7 @@ public: if (darkMatterTarget->GetDistance(plr) < 15.0f) { - events.RescheduleEvent(EVENT_DARK_MATTER_END, 3000ms); + events.RescheduleEvent(EVENT_DARK_MATTER_END, 3s); } else if (darkMatterTarget->GetDistance(plr) < 30.0f) { @@ -625,12 +625,12 @@ public: uint32 Time = 40000 - (2500 * WaveNum); SummonCreatures(NPC_DARK_RUNE_PROTECTOR, 3, 0); if (WaveNum > 2) - events.ScheduleEvent(EVENT_SUMMON_STORMCALLER, urand(10 - WaveNum, 15 - WaveNum) * 1000); + events.ScheduleEvent(EVENT_SUMMON_STORMCALLER, Seconds(urand(10 - WaveNum, 15 - WaveNum))); if (WaveNum > 5) - events.ScheduleEvent(EVENT_SUMMON_CUSTODIAN, urand(10 - WaveNum, 15 - WaveNum) * 1000); + events.ScheduleEvent(EVENT_SUMMON_CUSTODIAN, Seconds(urand(10 - WaveNum, 15 - WaveNum))); WaveNum++; - events.RepeatEvent(Time); + events.Repeat(Milliseconds(Time)); break; } case EVENT_SUMMON_STORMCALLER: @@ -931,10 +931,10 @@ void brann_bronzebeard::brann_bronzebeardAI::WaypointReached(uint32 id) SetEscortPaused(true); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING); me->SendMovementFlagUpdate(); - events.ScheduleEvent(EVENT_DOOR_OPEN, 1500); + events.ScheduleEvent(EVENT_DOOR_OPEN, 1500ms); me->SetWalk(false); me->SetSpeed(MOVE_RUN, 1.0f, false); - events.ScheduleEvent(EVENT_RESUME_ESCORT, 3500); + events.ScheduleEvent(EVENT_RESUME_ESCORT, 3500ms); break; //Brann stops in front of Sjonnir and awaits the start of the battle. case 36: diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp index 9eec77e622..a11c0e2916 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp @@ -484,7 +484,7 @@ public: return; } - uint32 introDelay = 0; + Milliseconds introDelay = 0ms; me->setActive(true); me->SetInCombatWithZone(); me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE); @@ -495,27 +495,27 @@ public: if (!_firstPull) { events.ScheduleEvent(EVENT_START_COMBAT, 0ms); - introDelay = 8000; + introDelay = 8s; } else { summons.DespawnEntry(NPC_AZEROTH); _firstPull = false; Talk(SAY_ALGALON_START_TIMER); - introDelay = 22000; + introDelay = 22s; events.ScheduleEvent(EVENT_START_COMBAT, 14s); m_pInstance->SetData(DATA_DESPAWN_ALGALON, 0); } - events.ScheduleEvent(EVENT_REMOVE_UNNATTACKABLE, introDelay - 500); + events.ScheduleEvent(EVENT_REMOVE_UNNATTACKABLE, introDelay - 500ms); events.ScheduleEvent(EVENT_INTRO_TIMER_DONE, introDelay); - events.ScheduleEvent(EVENT_QUANTUM_STRIKE, 3500 + introDelay); - events.ScheduleEvent(EVENT_PHASE_PUNCH, 15500 + introDelay); - events.ScheduleEvent(EVENT_SUMMON_COLLAPSING_STAR, 16500 + introDelay); - events.ScheduleEvent(EVENT_COSMIC_SMASH, 25000 + introDelay); - events.ScheduleEvent(EVENT_ACTIVATE_LIVING_CONSTELLATION, 50500 + introDelay); - events.ScheduleEvent(EVENT_BIG_BANG, 90000 + introDelay); - events.ScheduleEvent(EVENT_ASCEND_TO_THE_HEAVENS, 360000 + introDelay); + events.ScheduleEvent(EVENT_QUANTUM_STRIKE, 3500ms + introDelay); + events.ScheduleEvent(EVENT_PHASE_PUNCH, 15500ms + introDelay); + events.ScheduleEvent(EVENT_SUMMON_COLLAPSING_STAR, 16500ms + introDelay); + events.ScheduleEvent(EVENT_COSMIC_SMASH, 25s + introDelay); + events.ScheduleEvent(EVENT_ACTIVATE_LIVING_CONSTELLATION, 50500ms + introDelay); + events.ScheduleEvent(EVENT_BIG_BANG, 90s + introDelay); + events.ScheduleEvent(EVENT_ASCEND_TO_THE_HEAVENS, 360s + introDelay); events.ScheduleEvent(EVENT_CHECK_HERALD_ITEMS, 5s); DoCheckHeraldOfTheTitans(); @@ -688,7 +688,7 @@ public: break; case EVENT_QUANTUM_STRIKE: me->CastSpell(me->GetVictim(), SPELL_QUANTUM_STRIKE, false); - events.Repeat(3000ms, 4500ms); + events.Repeat(3s, 4500ms); break; case EVENT_PHASE_PUNCH: me->CastSpell(me->GetVictim(), SPELL_PHASE_PUNCH, false); @@ -871,12 +871,12 @@ public: if (movementType != POINT_MOTION_TYPE) return; - uint32 delay = 1; + Milliseconds delay = 1ms; _currentPoint = pointId + 1; switch (pointId) { case 2: - delay = 8000; + delay = 8s; me->SetWalk(true); break; case 6: @@ -1010,7 +1010,7 @@ public: break; case ACTION_BIG_BANG: events.SetPhase(PHASE_BIG_BANG); - events.DelayEvents(9500); + events.DelayEvents(9500ms); events.ScheduleEvent(EVENT_RESUME_UPDATING, 9500ms); break; } @@ -1146,7 +1146,7 @@ public: _locked = true; // Start Algalon event me->SetGameObjectFlag(GO_FLAG_IN_USE); - events.ScheduleEvent(EVENT_DESPAWN_CONSOLE, 5000ms); + events.ScheduleEvent(EVENT_DESPAWN_CONSOLE, 5s); if (Creature* brann = me->SummonCreature(NPC_BRANN_BRONZBEARD_ALG, BrannIntroSpawnPos)) brann->AI()->DoAction(ACTION_START_INTRO); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp index c56188547b..9df9798ec2 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp @@ -355,7 +355,7 @@ public: case EVENT_OVERWHELMING_POWER: Talk(SAY_STEELBREAKER_POWER); me->CastSpell(me->GetVictim(), SPELL_OVERWHELMING_POWER, true); - events.RepeatEvent(RAID_MODE(61000, 36000)); + events.Repeat(RAID_MODE(61s, 36s)); break; case EVENT_ENRAGE: Talk(SAY_STEELBREAKER_BERSERK); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp index 1011167987..3a30bbc845 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp @@ -255,7 +255,7 @@ public: case EVENT_SENTINEL_BLAST: me->CastSpell(me, SPELL_SENTINEL_BLAST, false); events.Repeat(35s); - events.DelayEvents(5000, 0); + events.DelayEvents(5s, 0); break; case EVENT_RESPAWN_FERAL_DEFENDER: { diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp index a4351a818e..664565e88c 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp @@ -266,7 +266,7 @@ public: Talk(SAY_EMOTE_SURGE_OF_DARKNESS); me->CastSpell(me, SPELL_SURGE_OF_DARKNESS, false); events.Repeat(63s); - events.DelayEvents(10000, 1); + events.DelayEvents(10s, 1); break; case EVENT_SPELL_MARK_OF_THE_FACELESS: { @@ -312,8 +312,8 @@ public: sv->GetMotionMaster()->MoveCharge(1852.78f, 81.38f, 342.461f, 28.0f); } - events.DelayEvents(12000, 0); - events.DelayEvents(12000, 1); + events.DelayEvents(12s, 0); + events.DelayEvents(12s, 1); events.ScheduleEvent(EVENT_SARONITE_VAPORS_SWIRL, 6s); } } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp index cda5a3629c..133868f332 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp @@ -247,7 +247,7 @@ public: bShattered = false; lastShatterMSTime = 0; events.Reset(); - events.ScheduleEvent(EVENT_ACTIVATE_CONSTRUCT, RAID_MODE(40000, 30000)); + events.ScheduleEvent(EVENT_ACTIVATE_CONSTRUCT, RAID_MODE(40s, 30s)); events.ScheduleEvent(EVENT_SPELL_SCORCH, 10s); events.ScheduleEvent(EVENT_SPELL_FLAME_JETS, 32s); events.ScheduleEvent(EVENT_GRAB, 25s); @@ -347,7 +347,7 @@ public: me->CastSpell(me, SPELL_BERSERK, true); break; } - events.RepeatEvent(RAID_MODE(40000, 30000)); + events.Repeat(RAID_MODE(40s, 30s)); break; case EVENT_SPELL_SCORCH: Talk(SAY_SCORCH); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index 9823a3d9ed..f9497a46b9 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -378,8 +378,8 @@ public: events.ScheduleEvent(EVENT_COMPUTER_SAY_MINUTES, 3s); minutesTalkNum = Is25ManRaid() ? TALK_COMPUTER_TEN : TALK_COMPUTER_EIGHT; for (uint32 i = 0; i < uint32(TALK_COMPUTER_ZERO - minutesTalkNum - 1); ++i) - events.ScheduleEvent(EVENT_COMPUTER_SAY_MINUTES, (i + 1)*MINUTE * IN_MILLISECONDS); - events.ScheduleEvent(EVENT_COMPUTER_SAY_MINUTES, (TALK_COMPUTER_ZERO - minutesTalkNum)*MINUTE * IN_MILLISECONDS + 6000); + events.ScheduleEvent(EVENT_COMPUTER_SAY_MINUTES, Milliseconds((i + 1) * 60000)); + events.ScheduleEvent(EVENT_COMPUTER_SAY_MINUTES, Milliseconds((TALK_COMPUTER_ZERO - minutesTalkNum) * 60000)); } // ensure LMK2 is at proper position diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp index e2c684870c..00e44dfe90 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp @@ -696,11 +696,11 @@ public: yoggb->AI()->Talk(EMOTE_YOGG_SARON_BRAIN_SHATTERED); } - uint32 timer = events.GetNextEventTime(EVENT_SARA_P2_OPEN_PORTALS); - uint32 portalTime = (timer > events.GetTimer() ? timer - events.GetTimer() : 0); - events.DelayEvents(param + 100); + Milliseconds timer = events.GetTimeUntilEvent(EVENT_SARA_P2_OPEN_PORTALS); + Milliseconds portalTime = (timer > 0ms ? timer : 0ms); + events.DelayEvents(Milliseconds(param + 100)); events.RescheduleEvent(EVENT_SARA_P2_OPEN_PORTALS, portalTime, 0, EVENT_PHASE_TWO); - events.ScheduleEvent(EVENT_SARA_P2_REMOVE_STUN, param, 0, EVENT_PHASE_TWO); + events.ScheduleEvent(EVENT_SARA_P2_REMOVE_STUN, Milliseconds(param), 0, EVENT_PHASE_TWO); me->CastSpell(me, SPELL_SHATTERED_ILLUSION, true); } @@ -804,7 +804,7 @@ public: events.ScheduleEvent(EVENT_SARA_P1_SPELLS, 0ms, 1, EVENT_PHASE_ONE); break; case EVENT_SARA_P1_SUMMON: - events.RepeatEvent(20000 - (std::min(_summonedGuardiansCount, (uint8)5) * 2000)); + events.Repeat(Milliseconds(20000 - (std::min(_summonedGuardiansCount, (uint8)5) * 2000))); ++_summonedGuardiansCount; InformCloud(); break; @@ -824,14 +824,14 @@ public: } me->CastCustomSpell(spell, SPELLVALUE_MAX_TARGETS, 1, nullptr, false); - events.RepeatEvent(me->GetMap()->Is25ManRaid() ? urand(0, 3000) : 4000 + urand(0, 2000)); + events.Repeat(me->GetMap()->Is25ManRaid() ? randtime(0ms, 3s) : randtime(4s, 6s)); break; } case EVENT_SARA_P2_START: { EntryCheckPredicate pred(NPC_YOGG_SARON); summons.DoAction(ACTION_YOGG_SARON_APPEAR, pred); - events.RescheduleEvent(EVENT_SARA_P2_SPAWN_START_TENTACLES, 500, 0, EVENT_PHASE_TWO); + events.RescheduleEvent(EVENT_SARA_P2_SPAWN_START_TENTACLES, 500ms, 0, EVENT_PHASE_TWO); // Spawn Brain! me->SummonCreature(NPC_BRAIN_OF_YOGG_SARON, 1981.3f, -25.43f, 265); @@ -856,15 +856,15 @@ public: break; case EVENT_SARA_P2_SUMMON_T1: // CRUSHER SpawnTentacle(NPC_CRUSHER_TENTACLE); - events.RepeatEvent((50000 + urand(0, 10000)) * _summonSpeed); + events.Repeat(Milliseconds(uint32((50000 + urand(0, 10000)) * _summonSpeed))); break; case EVENT_SARA_P2_SUMMON_T2: // CONSTRICTOR SpawnTentacle(NPC_CONSTRICTOR_TENTACLE); - events.RepeatEvent((15000 + urand(0, 5000)) * _summonSpeed); + events.Repeat(Milliseconds(uint32((15000 + urand(0, 5000))* _summonSpeed))); break; case EVENT_SARA_P2_SUMMON_T3: // CORRUPTOR SpawnTentacle(NPC_CORRUPTOR_TENTACLE); - events.RepeatEvent((30000 + urand(0, 10000)) * _summonSpeed); + events.Repeat(Milliseconds(uint32((30000 + urand(0, 10000))* _summonSpeed))); break; case EVENT_SARA_P2_BRAIN_LINK: me->CastCustomSpell(SPELL_BRAIN_LINK, SPELLVALUE_MAX_TARGETS, 1, me, false); @@ -901,9 +901,9 @@ public: events.ScheduleEvent(EVENT_SARA_P2_DEATH_RAY, 15s, 0, EVENT_PHASE_TWO); events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T1, 50s, 60s, 0, EVENT_PHASE_TWO); events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T2, 15s, 20s, 0, EVENT_PHASE_TWO); - events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T3, 30000 + urand(0, 10000), 0, EVENT_PHASE_TWO); - events.ScheduleEvent(EVENT_SARA_P2_BRAIN_LINK, 0, 0, EVENT_PHASE_TWO); - events.ScheduleEvent(EVENT_SARA_P2_OPEN_PORTALS, 60000, 0, EVENT_PHASE_TWO); + events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T3, 30s + randtime(0ms, 10s), 0, EVENT_PHASE_TWO); + events.ScheduleEvent(EVENT_SARA_P2_BRAIN_LINK, 0ms, 0, EVENT_PHASE_TWO); + events.ScheduleEvent(EVENT_SARA_P2_OPEN_PORTALS, 60s, 0, EVENT_PHASE_TWO); break; case EVENT_SARA_P1_BERSERK: if (me->GetInstanceScript()) @@ -1167,20 +1167,20 @@ public: me->RemoveAura(SPELL_SHADOW_BARRIER); - events.ScheduleEvent(EVENT_YS_LUNATIC_GAZE, 7000); - events.ScheduleEvent(EVENT_YS_SHADOW_BEACON, 20000); - events.ScheduleEvent(EVENT_YS_SUMMON_GUARDIAN, 0); + events.ScheduleEvent(EVENT_YS_LUNATIC_GAZE, 7s); + events.ScheduleEvent(EVENT_YS_SHADOW_BEACON, 20s); + events.ScheduleEvent(EVENT_YS_SUMMON_GUARDIAN, 0ms); _thirdPhase = true; Talk(SAY_YOGG_SARON_PHASE_3); } else if (param == ACTION_YOGG_SARON_HARD_MODE) { - events.ScheduleEvent(EVENT_YS_DEAFENING_ROAR, 50000); + events.ScheduleEvent(EVENT_YS_DEAFENING_ROAR, 50s); } else if (param == ACTION_YOGG_SARON_SHADOW_BEACON) { - events.RescheduleEvent(EVENT_YS_SHADOW_BEACON, 40000); + events.RescheduleEvent(EVENT_YS_SHADOW_BEACON, 40s); } else if (param == ACTION_REMOVE_STUN) { diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp index 62263725b5..825efd9693 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp @@ -111,8 +111,8 @@ struct npc_enslaved_proto_drake : public ScriptedAI { _events.Reset(); _events.ScheduleEvent(EVENT_REND, 2s, 3s); - _events.ScheduleEvent(EVENT_FLAME_BREATH, 5500ms, 7000ms); - _events.ScheduleEvent(EVENT_KNOCKAWAY, 3500ms, 6000ms); + _events.ScheduleEvent(EVENT_FLAME_BREATH, 5500ms, 7s); + _events.ScheduleEvent(EVENT_KNOCKAWAY, 3500ms, 6s); } void MovementInform(uint32 type, uint32 id) override @@ -167,7 +167,7 @@ struct npc_enslaved_proto_drake : public ScriptedAI break; case EVENT_KNOCKAWAY: DoCast(SPELL_KNOCK_AWAY); - _events.ScheduleEvent(EVENT_KNOCKAWAY, 7000ms, 8500ms); + _events.ScheduleEvent(EVENT_KNOCKAWAY, 7s, 8500ms); break; default: break; diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp index 92fc069d45..32054ef609 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp @@ -157,7 +157,7 @@ public: me->SetImmuneToAll(true); Started = true; me->setActive(true); - events2.ScheduleEvent(EVENT_SVALA_START, 5000); + events2.ScheduleEvent(EVENT_SVALA_START, 5s); if (Creature* pArthas = me->SummonCreature(NPC_ARTHAS, 295.81f, -366.16f, 92.57f, 1.58f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 59000)) ArthasGUID = pArthas->GetGUID(); @@ -339,7 +339,7 @@ public: me->SetControlled(true, UNIT_STATE_ROOT); } - events.DelayEvents(25001); // +1 just to be sure + events.DelayEvents(25001ms); // +1 just to be sure events.ScheduleEvent(EVENT_SORROWGRAVE_RITUAL_SPELLS, 0ms); events.ScheduleEvent(EVENT_SORROWGRAVE_FINISH_RITUAL, 25s); return; diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp index 0a1487f159..3631886146 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp @@ -217,7 +217,7 @@ public: { if (me->GetHealth() < std::max(0.0f, float(me->GetMaxHealth() * (1.0f - (IsHeroic() ? 0.2f : 0.334f)*float(BoatNum + 1))))) { - events.DelayEvents(12000); + events.DelayEvents(12s); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->InterruptNonMeleeSpells(true); me->CastSpell(me, SPELL_SCREAMS_OF_THE_DEAD, true); diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp index 27b354bee4..f372215ffa 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp @@ -121,7 +121,7 @@ public: while (entry1 == entry2); me->CastSpell((Unit*)nullptr, entry2, true); } - events.RepeatEvent(45000); + events.Repeat(45s); events.RescheduleEvent(EVENT_SPELL_ARCANE_BUFFET, 5s); events.RescheduleEvent(EVENT_CHECK_DISTANCE, 6s); } diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp index 8406b3527c..4fa7bb52ce 100644 --- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp @@ -92,7 +92,7 @@ public: uiFirstBoss = 0; uiSecondBoss = 0; events.Reset(); - events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0); + events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0ms); GateHealth = 100; WaveCount = 0; PortalLocation = 0; @@ -666,7 +666,7 @@ public: EncounterStatus = NOT_STARTED; CLEANED = false; events.Reset(); - events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0); + events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0ms); data >> m_auiEncounter[0]; data >> m_auiEncounter[1]; diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp index 1332cf6723..812bbe05cf 100644 --- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp @@ -1198,11 +1198,11 @@ struct npc_violet_hold_defense_system : public ScriptedAI { case EVENT_ARCANE_LIGHTNING: DoCastAOE(RAND(SPELL_ARCANE_LIGHTNING, SPELL_ARCANE_LIGHTNING_VISUAL)); - events.RepeatEvent(2000); + events.Repeat(2s); break; case EVENT_ARCANE_LIGHTNING_INSTAKILL: DoCastAOE(SPELL_ARCANE_LIGHTNING_INSTAKILL); - events.RepeatEvent(1000); + events.Repeat(1s); break; } } diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 8f352e8936..03d0df8393 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -609,7 +609,7 @@ struct npc_beryl_sorcererAI : public CreatureAI AttackStart(who); } - _events.ScheduleEvent(EVENT_FROSTBOLT, 3000, 4000); + _events.ScheduleEvent(EVENT_FROSTBOLT, 3s, 4s); } void SpellHit(Unit* unit, SpellInfo const* spell) override @@ -1431,7 +1431,7 @@ public: if (Player* player = ObjectAccessor::GetPlayer(*me, _playerGUID)) me->SetFacingToObject(player); - _events.ScheduleEvent(EVENT_TALK, 1000); + _events.ScheduleEvent(EVENT_TALK, 1s); } void UpdateAI(uint32 diff) override @@ -1557,7 +1557,7 @@ public: void Reset() override { me->SetImmuneToAll(true); - _events.ScheduleEvent(EVENT_THASSARIAN_CAST, 1000); + _events.ScheduleEvent(EVENT_THASSARIAN_CAST, 1s); } void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp index 52aac2193b..a7eab22154 100644 --- a/src/server/scripts/Northrend/zone_dragonblight.cpp +++ b/src/server/scripts/Northrend/zone_dragonblight.cpp @@ -1095,7 +1095,7 @@ public: void SetGUID(ObjectGuid guid, int32 /*id*/) override { - if (playerGUID || events.GetNextEventTime(998) || events.GetNextEventTime(2)) + if (playerGUID || events.HasTimeUntilEvent(998) || events.HasTimeUntilEvent(2)) return; me->setActive(true); @@ -2114,8 +2114,8 @@ public: void JustEngagedWith(Unit* who) override { - _events.ScheduleEvent(EVENT_HEMORRHAGE, urand(5000, 8000)); - _events.ScheduleEvent(EVENT_KIDNEY_SHOT, urand(12000, 15000)); + _events.ScheduleEvent(EVENT_HEMORRHAGE, 5s, 8s); + _events.ScheduleEvent(EVENT_KIDNEY_SHOT, 12s, 15s); if (Player* player = who->ToPlayer()) Talk (SAY_AGGRO, player); diff --git a/src/server/scripts/Northrend/zone_icecrown.cpp b/src/server/scripts/Northrend/zone_icecrown.cpp index 7db4f389ce..d9b5d1ab58 100644 --- a/src/server/scripts/Northrend/zone_icecrown.cpp +++ b/src/server/scripts/Northrend/zone_icecrown.cpp @@ -1257,8 +1257,8 @@ public: player->CastSpell(player, SPELL_WAITING_FOR_A_BOMBER, true); player->CastSpell(player, SPELL_FLIGHT_ORDERS, true); - events.ScheduleEvent(EVENT_START_FLIGHT, 0); - events.ScheduleEvent(EVENT_TAKE_PASSENGER, 3000); + events.ScheduleEvent(EVENT_START_FLIGHT, 0ms); + events.ScheduleEvent(EVENT_TAKE_PASSENGER, 3s); me->SetCanFly(true); me->AddUnitMovementFlag(MOVEMENTFLAG_FLYING); me->SetSpeed(MOVE_FLIGHT, 0.1f); diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp index 1717a518d0..76c3d86efd 100644 --- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp +++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp @@ -111,7 +111,7 @@ struct boss_grandmaster_vorpil : public BossAI case 8: return 7200ms; case 9: - return 6000ms; + return 6s; default: return 4800ms; } diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index da92628e0f..2941b05da4 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -923,7 +923,7 @@ struct npc_akama_illidan : public ScriptedAI me->m_Events.AddEventAtOffset([&] { Talk(SAY_AKAMA_COUNCIL_2); me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); - }, 8000ms); // 7800ms + }, 8s); // 7800ms } break; // Reached Door diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp index 8c22b8d04e..c318e38713 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp @@ -262,7 +262,7 @@ struct boss_illidari_council_memberAI : public ScriptedAI void KilledUnit(Unit*) override { - if (events.GetNextEventTime(EVENT_KILL_TALK) == 0) + if (!events.HasTimeUntilEvent(EVENT_KILL_TALK)) { Talk(SAY_COUNCIL_SLAY); events.ScheduleEvent(EVENT_KILL_TALK, 6s); @@ -582,7 +582,7 @@ struct boss_veras_darkshadow : public boss_illidari_council_memberAI break; } - if (events.GetNextEventTime(EVENT_SPELL_VANISH_OUT) == 0) + if (!events.HasTimeUntilEvent(EVENT_SPELL_VANISH_OUT)) DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp index 1cc778b25a..39e7723865 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp @@ -251,7 +251,7 @@ struct npc_akama_shade : public ScriptedAI { Talk(SAY_BROKEN_FREE_2); }, 3); - ScheduleUniqueTimedEvent(52000ms, [&] + ScheduleUniqueTimedEvent(52s, [&] { std::list brokens; me->GetCreatureListWithEntryInGrid(brokens, NPC_ASHTONGUE_BROKEN, 40.0f); diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp index 08bdae70af..7ac8263d36 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp @@ -129,7 +129,7 @@ struct boss_the_lurker_below : public BossAI { BossAI::JustEngagedWith(who); - SchedulerPhaseOne(38800ms, 91000ms); + SchedulerPhaseOne(38800ms, 91s); } void SummonedCreatureDies(Creature* /*summon*/, Unit* /*killer*/) override @@ -191,7 +191,7 @@ struct boss_the_lurker_below : public BossAI me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); scheduler.CancelAll(); - SchedulerPhaseOne(10000ms, 90750ms); + SchedulerPhaseOne(10s, 90750ms); }); } diff --git a/src/server/scripts/Outland/CoilfangReservoir/SlavePens/boss_ahune.cpp b/src/server/scripts/Outland/CoilfangReservoir/SlavePens/boss_ahune.cpp index 95bba3d499..c1d2c7d42d 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SlavePens/boss_ahune.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SlavePens/boss_ahune.cpp @@ -188,7 +188,7 @@ struct boss_ahune : public BossAI { BossAI::JustEngagedWith(who); events.ScheduleEvent(EVENT_INITIAL_EMERGE, 4ms); - events.ScheduleEvent(EVENT_SYNCH_HEALTH, 3000); + events.ScheduleEvent(EVENT_SYNCH_HEALTH, 3s); } void EnterEvadeMode(EvadeReason /*why*/) override @@ -318,7 +318,7 @@ struct npc_frozen_core : public ScriptedAI me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); me->SetImmuneToPC(false); me->RemoveAurasDueToSpell(SPELL_ICE_SPEAR_CONTROL_AURA); - _events.ScheduleEvent(EVENT_SYNCH_HEALTH, 3000, 0, PHASE_TWO); + _events.ScheduleEvent(EVENT_SYNCH_HEALTH, 3s, 0, PHASE_TWO); } else if (action == ACTION_AHUNE_RESURFACE) { @@ -342,7 +342,7 @@ struct npc_frozen_core : public ScriptedAI DoCast(ahune, SPELL_SYNCH_HEALTH, true); else DoCastSelf(SPELL_SUICIDE); - _events.Repeat(3000ms, 3000ms); + _events.Repeat(3s, 3s); break; default: break; @@ -394,11 +394,11 @@ struct npc_ahune_bunny : public ScriptedAI _submerged = false; _events.Reset(); _events.SetPhase(PHASE_ONE); - _events.ScheduleEvent(EVENT_SUMMON_AHUNE, 10000); - _events.ScheduleEvent(EVENT_START_LOOKING_FOR_OPENING, 14000, 0, PHASE_ONE); - _events.ScheduleEvent(EVENT_SUMMON_COLDWEAVE, 22000, 0, PHASE_ONE); - _events.ScheduleEvent(EVENT_SUMMON_HAILSTONE, 14000, 0, PHASE_ONE); - _events.ScheduleEvent(EVENT_AHUNE_PHASE_TWO, 108000, 0, PHASE_ONE); + _events.ScheduleEvent(EVENT_SUMMON_AHUNE, 10s); + _events.ScheduleEvent(EVENT_START_LOOKING_FOR_OPENING, 14s, 0, PHASE_ONE); + _events.ScheduleEvent(EVENT_SUMMON_COLDWEAVE, 22s, 0, PHASE_ONE); + _events.ScheduleEvent(EVENT_SUMMON_HAILSTONE, 14s, 0, PHASE_ONE); + _events.ScheduleEvent(EVENT_AHUNE_PHASE_TWO, 108s, 0, PHASE_ONE); } else if (action == ACTION_STOP_EVENT) { @@ -430,9 +430,9 @@ struct npc_ahune_bunny : public ScriptedAI case EVENT_SUMMON_COLDWEAVE: DoCast(SPELL_SUMMON_COLDWEAVE); DoCast(SPELL_SUMMON_COLDWEAVE); - _events.Repeat(8000ms); + _events.Repeat(8s); if (_submerged) - _events.ScheduleEvent(EVENT_SUMMON_FROSTWIND, 4000, 0, PHASE_ONE); + _events.ScheduleEvent(EVENT_SUMMON_FROSTWIND, 4s, 0, PHASE_ONE); break; case EVENT_SUMMON_FROSTWIND: DoCast(SPELL_SUMMON_FROSTWIND); @@ -458,17 +458,17 @@ struct npc_ahune_bunny : public ScriptedAI ahune->AI()->DoAction(ACTION_AHUNE_RETREAT); _events.Reset(); _events.SetPhase(PHASE_TWO); - _events.ScheduleEvent(EVENT_CLOSE_OPENING, 25000, 0, PHASE_TWO); - _events.ScheduleEvent(EVENT_AHUNE_PHASE_ONE, 35000, 0, PHASE_TWO); + _events.ScheduleEvent(EVENT_CLOSE_OPENING, 25s, 0, PHASE_TWO); + _events.ScheduleEvent(EVENT_AHUNE_PHASE_ONE, 35s, 0, PHASE_TWO); break; case EVENT_AHUNE_PHASE_ONE: _submerged = true; _events.Reset(); _events.SetPhase(PHASE_ONE); - _events.ScheduleEvent(EVENT_SUMMON_COLDWEAVE, 8000, 0, PHASE_ONE); - _events.ScheduleEvent(EVENT_SUMMON_HAILSTONE, 5000, 0, PHASE_ONE); - _events.ScheduleEvent(EVENT_START_LOOKING_FOR_OPENING, 5000, 0, PHASE_ONE); - _events.ScheduleEvent(EVENT_AHUNE_PHASE_TWO, 100000, 0, PHASE_ONE); + _events.ScheduleEvent(EVENT_SUMMON_COLDWEAVE, 8s, 0, PHASE_ONE); + _events.ScheduleEvent(EVENT_SUMMON_HAILSTONE, 5s, 0, PHASE_ONE); + _events.ScheduleEvent(EVENT_START_LOOKING_FOR_OPENING, 5s, 0, PHASE_ONE); + _events.ScheduleEvent(EVENT_AHUNE_PHASE_TWO, 100s, 0, PHASE_ONE); break; default: break; @@ -534,7 +534,7 @@ struct npc_earthen_ring_flamecaller : public ScriptedAI switch (spellInfo->Id) { case SPELL_SHAMANS_LOOK_FOR_OPENING: - _events.ScheduleEvent(EVENT_LOOKFOROPENING_0, 17000); + _events.ScheduleEvent(EVENT_LOOKFOROPENING_0, 17s); break; case SPELL_FOUND_OPENING: Talk(EMOTE_RETREAT); @@ -560,15 +560,15 @@ struct npc_earthen_ring_flamecaller : public ScriptedAI { case EVENT_LOOKFOROPENING_0: LookOpening(true, 0); - _events.ScheduleEvent(EVENT_LOOKFOROPENING_1, 26000); + _events.ScheduleEvent(EVENT_LOOKFOROPENING_1, 26s); break; case EVENT_LOOKFOROPENING_1: LookOpening(true, 1); - _events.ScheduleEvent(EVENT_LOOKFOROPENING_2, 25000); + _events.ScheduleEvent(EVENT_LOOKFOROPENING_2, 25s); break; case EVENT_LOOKFOROPENING_2: LookOpening(true, 2); - _events.ScheduleEvent(EVENT_STOP_LOOKING_FOR_OPENING, 27000); + _events.ScheduleEvent(EVENT_STOP_LOOKING_FOR_OPENING, 27s); break; case EVENT_STOP_LOOKING_FOR_OPENING: LookOpening(false, _mySpot); diff --git a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp index dfbdf0d915..355f2abad4 100644 --- a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp +++ b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp @@ -68,7 +68,7 @@ struct boss_gruul : public BossAI { _Reset(); _recentlySpoken = false; - _caveInTimer = 29000ms; + _caveInTimer = 29s; } void JustEngagedWith(Unit* /*who*/) override @@ -84,7 +84,7 @@ struct boss_gruul : public BossAI }).Schedule(_caveInTimer, [this](TaskContext context) { DoCastRandomTarget(SPELL_CAVE_IN); - if (_caveInTimer > 4000ms) + if (_caveInTimer > 4s) { _caveInTimer = _caveInTimer - 1500ms; } diff --git a/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp b/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp index c6624521f4..c7397da3e2 100644 --- a/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp +++ b/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp @@ -146,7 +146,7 @@ struct boss_high_king_maulgar : public BossAI { DoCastVictim(SPELL_MIGHTY_BLOW); context.Repeat(16200ms, 19s); - }).Schedule(67000ms, [this](TaskContext context) + }).Schedule(67s, [this](TaskContext context) { scheduler.DelayAll(15s); DoCastSelf(SPELL_WHIRLWIND); diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index 117712e48f..ba032cb9eb 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -269,7 +269,7 @@ struct boss_kaelthas : public BossAI void AttackStart(Unit* who) override { - if (_phase == PHASE_FINAL /* check is scheduled&& events.GetNextEventTime(EVENT_GRAVITY_LAPSE_END) == 0*/) + if (_phase == PHASE_FINAL /* check is scheduled&& !events.HasTimeUntilEvent(EVENT_GRAVITY_LAPSE_END)*/) BossAI::AttackStart(who); } @@ -364,11 +364,11 @@ struct boss_kaelthas : public BossAI { DoCastVictim(SPELL_FIREBALL); }, 2400ms, 7500ms); - ScheduleTimedEvent(10000ms, [&] + ScheduleTimedEvent(10s, [&] { DoCastRandomTarget(SPELL_FLAME_STRIKE, 0, 100.0f); }, 30250ms, 50650ms); - ScheduleTimedEvent(50000ms, [&] + ScheduleTimedEvent(50s, [&] { Talk(SAY_SUMMON_PHOENIX); DoCastSelf(SPELL_PHOENIX); @@ -429,7 +429,7 @@ struct boss_kaelthas : public BossAI DoCastSelf(SPELL_KAEL_EXPLODES1, true); DoCastSelf(SPELL_KAEL_GAINING_POWER); }, EVENT_SCENE_2); - ScheduleUniqueTimedEvent(4000ms, [&] + ScheduleUniqueTimedEvent(4s, [&] { me->SetTarget(); for (uint8 i = 0; i < 2; ++i) @@ -440,7 +440,7 @@ struct boss_kaelthas : public BossAI me->GetMotionMaster()->MoveTakeoff(POINT_AIR, me->GetPositionX(), me->GetPositionY(), 75.0f, 2.99, true); // AnimType Movement::ToFly does not exist for Kael DoCastSelf(SPELL_GROW, true); }, EVENT_SCENE_3); - ScheduleUniqueTimedEvent(7000ms, [&] + ScheduleUniqueTimedEvent(7s, [&] { me->SetTarget(); DoCastSelf(SPELL_GROW, true); @@ -450,7 +450,7 @@ struct boss_kaelthas : public BossAI if (Creature* trigger = me->SummonCreature(WORLD_TRIGGER, triggersPos[i + 2], TEMPSUMMON_TIMED_DESPAWN, 60000)) trigger->CastSpell(me, SPELL_NETHERBEAM1 + i, false); }, EVENT_SCENE_4); - ScheduleUniqueTimedEvent(10000ms, [&] + ScheduleUniqueTimedEvent(10s, [&] { me->SetTarget(); DoCastSelf(SPELL_GROW, true); @@ -460,7 +460,7 @@ struct boss_kaelthas : public BossAI if (Creature* trigger = me->SummonCreature(WORLD_TRIGGER, triggersPos[i + 4], TEMPSUMMON_TIMED_DESPAWN, 60000)) trigger->CastSpell(me, SPELL_NETHERBEAM1 + i, false); }, EVENT_SCENE_5); - ScheduleUniqueTimedEvent(14000ms, [&] + ScheduleUniqueTimedEvent(14s, [&] { DoCastSelf(SPELL_GROW, true); DoCastSelf(SPELL_KAEL_EXPLODES4, true); @@ -470,7 +470,7 @@ struct boss_kaelthas : public BossAI { SetRoomState(GO_STATE_ACTIVE); }, EVENT_SCENE_7); - ScheduleUniqueTimedEvent(19000ms, [&] + ScheduleUniqueTimedEvent(19s, [&] { summons.DespawnEntry(WORLD_TRIGGER); me->RemoveAurasDueToSpell(SPELL_NETHERBEAM_AURA1); @@ -478,7 +478,7 @@ struct boss_kaelthas : public BossAI me->RemoveAurasDueToSpell(SPELL_NETHERBEAM_AURA3); DoCastSelf(SPELL_KAEL_EXPLODES5, true); }, EVENT_SCENE_8); - ScheduleUniqueTimedEvent(22000ms, [&] + ScheduleUniqueTimedEvent(22s, [&] { DoCastSelf(SPELL_DARK_BANISH_STATE, true); DoCastSelf(SPELL_ARCANE_EXPLOSION_VISUAL, true); @@ -528,14 +528,14 @@ struct boss_kaelthas : public BossAI me->CastStop(); DoCastSelf(SPELL_KAEL_FULL_POWER); }, EVENT_SCENE_16); - ScheduleUniqueTimedEvent(32000ms, [&] + ScheduleUniqueTimedEvent(32s, [&] { DoCastSelf(SPELL_KAEL_PHASE_TWO, true); DoCastSelf(SPELL_PURE_NETHER_BEAM4, true); DoCastSelf(SPELL_PURE_NETHER_BEAM5, true); DoCastSelf(SPELL_PURE_NETHER_BEAM6, true); }, EVENT_SCENE_17); - ScheduleUniqueTimedEvent(36000ms, [&] + ScheduleUniqueTimedEvent(36s, [&] { summons.DespawnEntry(WORLD_TRIGGER); me->CastStop(); @@ -559,7 +559,7 @@ struct boss_kaelthas : public BossAI switch (kaelAction) { case ACTION_START_THALADRED: - attackStartTimer = 7000ms; + attackStartTimer = 7s; advisorNPCId = NPC_THALADRED; break; case ACTION_START_SANGUINAR: @@ -567,7 +567,7 @@ struct boss_kaelthas : public BossAI advisorNPCId = NPC_LORD_SANGUINAR; break; case ACTION_START_CAPERNIAN: - attackStartTimer = 9000ms; + attackStartTimer = 9s; advisorNPCId = NPC_CAPERNIAN; break; case ACTION_START_TELONICUS: @@ -658,15 +658,15 @@ struct boss_kaelthas : public BossAI me->GetMotionMaster()->MovePoint(POINT_MIDDLE, me->GetHomePosition(), true, true); } }); - ScheduleTimedEvent(1000ms, [&] + ScheduleTimedEvent(1s, [&] { DoCastVictim(SPELL_FIREBALL); }, 2400ms, 7500ms); - ScheduleTimedEvent(15000ms, [&] + ScheduleTimedEvent(15s, [&] { DoCastRandomTarget(SPELL_FLAME_STRIKE, 0, 100.0f); }, 30250ms, 50650ms); - ScheduleTimedEvent(50000ms, [&] + ScheduleTimedEvent(50s, [&] { Talk(SAY_SUMMON_PHOENIX); DoCastSelf(SPELL_PHOENIX); @@ -855,7 +855,7 @@ struct npc_capernian : public advisor_baseAI DoCastVictim(SPELL_CAPERNIAN_FIREBALL); } }, 2500ms); - ScheduleTimedEvent(7000ms, 10000ms, [&]{ + ScheduleTimedEvent(7s, 10s, [&]{ DoCastRandomTarget(SPELL_CONFLAGRATION, 0, 30.0f); }, 18500ms, 20500ms); ScheduleTimedEvent(3s, [&]{ @@ -893,16 +893,16 @@ struct npc_thaladred : public advisor_baseAI me->AddThreat(target, 10000000.0f); Talk(EMOTE_THALADRED_FIXATE, target); } - }, 10000ms); - ScheduleTimedEvent(4000ms, 19350ms, [&] + }, 10s); + ScheduleTimedEvent(4s, 19350ms, [&] { DoCastVictim(SPELL_PSYCHIC_BLOW); }, 15700ms, 48900ms); - ScheduleTimedEvent(3000ms, 6050ms, [&] + ScheduleTimedEvent(3s, 6050ms, [&] { DoCastVictim(SPELL_REND); }, 15700ms, 48900ms); - ScheduleTimedEvent(3000ms, 6050ms, [&] + ScheduleTimedEvent(3s, 6050ms, [&] { if (Unit* victim = me->GetVictim()) { diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp index 1aa95aa7d3..8c992b8808 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp @@ -97,8 +97,8 @@ public: me->SetReactState(REACT_PASSIVE); me->SetImmuneToAll(true); events2.Reset(); - events2.ScheduleEvent(EVENT_TELEPORT_VISUAL, 0); - events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO1, 3000); + events2.ScheduleEvent(EVENT_TELEPORT_VISUAL, 0ms); + events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO1, 3s); } void Reset() override @@ -125,9 +125,9 @@ public: void JustEngagedWith(Unit*) override { - events.ScheduleEvent(EVENT_MILL_CHECK_HEALTH, 1000); - events.ScheduleEvent(EVENT_MILL_PYROBLAST, 30000); - events.ScheduleEvent(EVENT_MILL_BASE_SPELL, 2000); + events.ScheduleEvent(EVENT_MILL_CHECK_HEALTH, 1s); + events.ScheduleEvent(EVENT_MILL_PYROBLAST, 30s); + events.ScheduleEvent(EVENT_MILL_BASE_SPELL, 2s); } void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*type*/, SpellSchoolMask /*school*/) override @@ -150,52 +150,52 @@ public: break; case EVENT_MILLHOUSE_INTRO1: Talk(SAY_INTRO_1); - events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO2, 18000); + events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO2, 18s); break; case EVENT_MILLHOUSE_INTRO2: Talk(SAY_INTRO_2); - events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO3, 8000); + events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO3, 8s); break; case EVENT_MILLHOUSE_INTRO3: Talk(SAY_INTRO_3); - events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO4, 6000); + events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO4, 6s); break; case EVENT_MILLHOUSE_INTRO4: Talk(SAY_INTRO_4); - events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO5, 8000); + events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO5, 8s); break; case EVENT_MILLHOUSE_INTRO5: Talk(SAY_WATER); me->CastSpell(me, SPELL_CONJURE_WATER, false); - events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO6, 7000); + events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO6, 7s); break; case EVENT_MILLHOUSE_INTRO6: Talk(SAY_BUFFS); me->CastSpell(me, SPELL_ICE_ARMOR, false); - events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO7, 7000); + events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO7, 7s); break; case EVENT_MILLHOUSE_INTRO7: Talk(SAY_DRINK); me->CastSpell(me, SPELL_ARCANE_INTELLECT, false); - events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO8, 7000); + events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO8, 7s); break; case EVENT_MILLHOUSE_INTRO8: Talk(SAY_READY); me->GetMotionMaster()->MovePoint(1, 445.82f, -158.38f, 43.067f); - events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO9, 5000); + events2.ScheduleEvent(EVENT_MILLHOUSE_INTRO9, 5s); break; case EVENT_MILLHOUSE_INTRO9: me->SetFacingTo(M_PI * 1.5f); me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), M_PI * 1.5f); me->SetImmuneToAll(false); me->SetReactState(REACT_AGGRESSIVE); - events2.ScheduleEvent(EVENT_SEARCH_FIGHT, 1000); + events2.ScheduleEvent(EVENT_SEARCH_FIGHT, 1s); break; case EVENT_SEARCH_FIGHT: if (!me->IsInCombat() && !me->IsInEvadeMode()) if (Unit* target = me->SelectNearbyTarget(nullptr, 30.0f)) AttackStart(target); - events2.ScheduleEvent(EVENT_SEARCH_FIGHT, 1000); + events2.ScheduleEvent(EVENT_SEARCH_FIGHT, 1s); break; } @@ -214,27 +214,27 @@ public: Talk(SAY_LOWHP); break; } - events.ScheduleEvent(EVENT_MILL_CHECK_HEALTH, 1000); + events.ScheduleEvent(EVENT_MILL_CHECK_HEALTH, 1s); break; case EVENT_MILL_PYROBLAST: Talk(SAY_PYRO); me->CastSpell(me->GetVictim(), SPELL_PYROBLAST, false); - events.ScheduleEvent(EVENT_MILL_PYROBLAST, 30000); + events.ScheduleEvent(EVENT_MILL_PYROBLAST, 30s); break; case EVENT_MILL_BASE_SPELL: switch (RAND(SPELL_FIREBALL, SPELL_ARCANE_MISSILES, SPELL_FROSTBOLT)) { case SPELL_FIREBALL: me->CastSpell(me->GetVictim(), SPELL_FIREBALL, false); - events.ScheduleEvent(EVENT_MILL_BASE_SPELL, 4000); + events.ScheduleEvent(EVENT_MILL_BASE_SPELL, 4s); break; case SPELL_ARCANE_MISSILES: me->CastSpell(me->GetVictim(), SPELL_ARCANE_MISSILES, false); - events.ScheduleEvent(EVENT_MILL_BASE_SPELL, 9000); + events.ScheduleEvent(EVENT_MILL_BASE_SPELL, 9s); break; case SPELL_FROSTBOLT: me->CastSpell(me->GetVictim(), SPELL_FROSTBOLT, false); - events.ScheduleEvent(EVENT_MILL_BASE_SPELL, 4000); + events.ScheduleEvent(EVENT_MILL_BASE_SPELL, 4s); break; default: break; @@ -390,8 +390,8 @@ public: me->setActive(true); me->InterruptNonMeleeSpells(false); me->SetImmuneToAll(true); - events.ScheduleEvent(EVENT_WARDEN_INTRO1, 1500); - events.ScheduleEvent(EVENT_WARDEN_CHECK_PLAYERS, 1000); + events.ScheduleEvent(EVENT_WARDEN_INTRO1, 1500ms); + events.ScheduleEvent(EVENT_WARDEN_CHECK_PLAYERS, 1s); instance->SetBossState(DATA_WARDEN_MELLICHAR, IN_PROGRESS); } damage = 0; @@ -410,13 +410,13 @@ public: switch (type) { case DATA_WARDEN_1: - events.ScheduleEvent(EVENT_WARDEN_INTRO8, 2000); + events.ScheduleEvent(EVENT_WARDEN_INTRO8, 2s); break; case DATA_WARDEN_3: - events.ScheduleEvent(EVENT_WARDEN_INTRO19, 2000); + events.ScheduleEvent(EVENT_WARDEN_INTRO19, 2s); break; case DATA_WARDEN_4: - events.ScheduleEvent(EVENT_WARDEN_INTRO24, 2000); + events.ScheduleEvent(EVENT_WARDEN_INTRO24, 2s); break; } } @@ -432,35 +432,35 @@ public: CreatureAI::EnterEvadeMode(); return; } - events.ScheduleEvent(EVENT_WARDEN_CHECK_PLAYERS, 1000); + events.ScheduleEvent(EVENT_WARDEN_CHECK_PLAYERS, 1s); break; case EVENT_WARDEN_INTRO1: Talk(YELL_INTRO1); me->SetFacingTo(M_PI / 2.0f); me->CastSpell(me, SPELL_BUBBLE_VISUAL, false); - events.ScheduleEvent(EVENT_WARDEN_INTRO2, 1400); + events.ScheduleEvent(EVENT_WARDEN_INTRO2, 1400ms); break; case EVENT_WARDEN_INTRO2: instance->HandleGameObject(instance->GetGuidData(DATA_WARDENS_SHIELD), false); - events.ScheduleEvent(EVENT_WARDEN_INTRO3, 20000); + events.ScheduleEvent(EVENT_WARDEN_INTRO3, 20s); break; case EVENT_WARDEN_INTRO3: Talk(YELL_INTRO2); - events.ScheduleEvent(EVENT_WARDEN_INTRO4, 5000); + events.ScheduleEvent(EVENT_WARDEN_INTRO4, 5s); break; case EVENT_WARDEN_INTRO4: me->SetFacingTo(0.5f); me->CastSpell((Unit*)nullptr, SPELL_TARGET_ALPHA, false); - events.ScheduleEvent(EVENT_WARDEN_INTRO5, 2000); + events.ScheduleEvent(EVENT_WARDEN_INTRO5, 2s); break; case EVENT_WARDEN_INTRO5: instance->SetData(DATA_WARDEN_1, IN_PROGRESS); - events.ScheduleEvent(EVENT_WARDEN_INTRO6, 3000); + events.ScheduleEvent(EVENT_WARDEN_INTRO6, 3s); break; case EVENT_WARDEN_INTRO6: me->SetFacingTo(M_PI * 1.5f); me->CastSpell((Unit*)nullptr, SPELL_TARGET_OMEGA, false); - events.ScheduleEvent(EVENT_WARDEN_INTRO7, 5000); + events.ScheduleEvent(EVENT_WARDEN_INTRO7, 5s); break; case EVENT_WARDEN_INTRO7: me->SummonCreature(RAND(NPC_TRICKSTER, NPC_PH_HUNTER), 478.326f, -148.505f, 42.56f, 3.19f, TEMPSUMMON_MANUAL_DESPAWN); @@ -470,44 +470,44 @@ public: Talk(YELL_RELEASE1); me->InterruptNonMeleeSpells(false); me->SetFacingTo(2.6f); - events.ScheduleEvent(EVENT_WARDEN_INTRO10, 4000); + events.ScheduleEvent(EVENT_WARDEN_INTRO10, 4s); break; case EVENT_WARDEN_INTRO10: me->CastSpell((Unit*)nullptr, SPELL_TARGET_BETA, false); - events.ScheduleEvent(EVENT_WARDEN_INTRO11, 2000); + events.ScheduleEvent(EVENT_WARDEN_INTRO11, 2s); break; case EVENT_WARDEN_INTRO11: Talk(YELL_RELEASE2A); instance->SetData(DATA_WARDEN_2, IN_PROGRESS); - events.ScheduleEvent(EVENT_WARDEN_INTRO12, 2000); + events.ScheduleEvent(EVENT_WARDEN_INTRO12, 2s); break; case EVENT_WARDEN_INTRO12: me->SetFacingTo(M_PI * 1.5f); me->CastSpell((Unit*)nullptr, SPELL_TARGET_OMEGA, false); - events.ScheduleEvent(EVENT_WARDEN_INTRO13, 6000); + events.ScheduleEvent(EVENT_WARDEN_INTRO13, 6s); break; case EVENT_WARDEN_INTRO13: me->SummonCreature(NPC_MILLHOUSE, 413.292f, -148.378f, 42.56f, 6.27f, TEMPSUMMON_MANUAL_DESPAWN); - events.ScheduleEvent(EVENT_WARDEN_INTRO14, 14000); + events.ScheduleEvent(EVENT_WARDEN_INTRO14, 14s); break; case EVENT_WARDEN_INTRO14: Talk(YELL_RELEASE2B); me->InterruptNonMeleeSpells(false); me->SetFacingTo(3.3f); - events.ScheduleEvent(EVENT_WARDEN_INTRO15, 5000); + events.ScheduleEvent(EVENT_WARDEN_INTRO15, 5s); break; case EVENT_WARDEN_INTRO15: me->CastSpell((Unit*)nullptr, SPELL_TARGET_DELTA, false); - events.ScheduleEvent(EVENT_WARDEN_INTRO16, 2000); + events.ScheduleEvent(EVENT_WARDEN_INTRO16, 2s); break; case EVENT_WARDEN_INTRO16: instance->SetData(DATA_WARDEN_3, IN_PROGRESS); - events.ScheduleEvent(EVENT_WARDEN_INTRO17, 2000); + events.ScheduleEvent(EVENT_WARDEN_INTRO17, 2s); break; case EVENT_WARDEN_INTRO17: me->SetFacingTo(M_PI * 1.5f); me->CastSpell((Unit*)nullptr, SPELL_TARGET_OMEGA, false); - events.ScheduleEvent(EVENT_WARDEN_INTRO18, 6000); + events.ScheduleEvent(EVENT_WARDEN_INTRO18, 6s); break; case EVENT_WARDEN_INTRO18: me->SummonCreature(RAND(NPC_AKKIRIS, NPC_SULFURON), 420.179f, -174.396f, 42.58f, 0.02f, TEMPSUMMON_MANUAL_DESPAWN); @@ -517,20 +517,20 @@ public: Talk(YELL_RELEASE3); me->InterruptNonMeleeSpells(false); me->SetFacingTo(6.05f); - events.ScheduleEvent(EVENT_WARDEN_INTRO20, 4000); + events.ScheduleEvent(EVENT_WARDEN_INTRO20, 4s); break; case EVENT_WARDEN_INTRO20: me->CastSpell((Unit*)nullptr, SPELL_TARGET_GAMMA, false); - events.ScheduleEvent(EVENT_WARDEN_INTRO21, 2000); + events.ScheduleEvent(EVENT_WARDEN_INTRO21, 2s); break; case EVENT_WARDEN_INTRO21: instance->SetData(DATA_WARDEN_4, IN_PROGRESS); - events.ScheduleEvent(EVENT_WARDEN_INTRO22, 2000); + events.ScheduleEvent(EVENT_WARDEN_INTRO22, 2s); break; case EVENT_WARDEN_INTRO22: me->SetFacingTo(M_PI * 1.5f); me->CastSpell((Unit*)nullptr, SPELL_TARGET_OMEGA, false); - events.ScheduleEvent(EVENT_WARDEN_INTRO23, 6000); + events.ScheduleEvent(EVENT_WARDEN_INTRO23, 6s); break; case EVENT_WARDEN_INTRO23: me->SummonCreature(RAND(NPC_TW_DRAK, NPC_BL_DRAK), 471.795f, -174.58f, 42.58f, 3.06f, TEMPSUMMON_MANUAL_DESPAWN); @@ -540,7 +540,7 @@ public: instance->SetData(DATA_WARDEN_5, IN_PROGRESS); Talk(YELL_RELEASE4); me->InterruptNonMeleeSpells(false); - events.ScheduleEvent(EVENT_WARDEN_INTRO25, 8000); + events.ScheduleEvent(EVENT_WARDEN_INTRO25, 8s); break; case EVENT_WARDEN_INTRO25: if (Creature* cr = me->SummonCreature(NPC_HARBINGER_SKYRISS, 445.763f, -191.639f, 44.64f, 1.60f, TEMPSUMMON_MANUAL_DESPAWN)) @@ -548,22 +548,22 @@ public: cr->SetImmuneToAll(true); cr->CastSpell(cr, SPELL_TELEPORT_VISUAL, true); } - events.ScheduleEvent(EVENT_WARDEN_INTRO26, 1000); + events.ScheduleEvent(EVENT_WARDEN_INTRO26, 1s); break; case EVENT_WARDEN_INTRO26: if (Creature* creature = summons.GetCreatureWithEntry(NPC_HARBINGER_SKYRISS)) creature->AI()->Talk(SAY_HARBINGER_INTRO); - events.ScheduleEvent(EVENT_WARDEN_INTRO27, 23000); + events.ScheduleEvent(EVENT_WARDEN_INTRO27, 23s); break; case EVENT_WARDEN_INTRO27: Talk(YELL_WELCOME); - events.ScheduleEvent(EVENT_WARDEN_INTRO28, 5000); + events.ScheduleEvent(EVENT_WARDEN_INTRO28, 5s); break; case EVENT_WARDEN_INTRO28: instance->HandleGameObject(instance->GetGuidData(DATA_WARDENS_SHIELD), true); if (Creature* creature = summons.GetCreatureWithEntry(NPC_HARBINGER_SKYRISS)) creature->CastSpell((Unit*)nullptr, SPELL_MIND_REND, false); - events.ScheduleEvent(EVENT_WARDEN_INTRO29, 4000); + events.ScheduleEvent(EVENT_WARDEN_INTRO29, 4s); break; case EVENT_WARDEN_INTRO29: diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp index 799272204e..4d5329ac0b 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp @@ -165,7 +165,7 @@ struct boss_wrath_scryer_soccothrates : public BossAI if (!preFight && who->IsPlayer() && me->IsWithinDistInMap(who, 70.0f)) { Talk(SAY_SOCCOTHRATES_CONVO_1); - events2.ScheduleEvent(EVENT_PREFIGHT_1, 2000); + events2.ScheduleEvent(EVENT_PREFIGHT_1, 2s); preFight = true; } } @@ -178,38 +178,38 @@ struct boss_wrath_scryer_soccothrates : public BossAI case EVENT_PREFIGHT_1: if (Creature* dalliah = instance->GetCreature(DATA_DALLIAH)) dalliah->AI()->Talk(SAY_DALLIAH_CONVO_1); - events2.ScheduleEvent(EVENT_PREFIGHT_2, 3000); + events2.ScheduleEvent(EVENT_PREFIGHT_2, 3s); break; case EVENT_PREFIGHT_2: Talk(SAY_SOCCOTHRATES_CONVO_2); - events2.ScheduleEvent(EVENT_PREFIGHT_3, 3000); + events2.ScheduleEvent(EVENT_PREFIGHT_3, 3s); break; case EVENT_PREFIGHT_3: if (Creature* dalliah = instance->GetCreature(DATA_DALLIAH)) dalliah->AI()->Talk(SAY_DALLIAH_CONVO_2); - events2.ScheduleEvent(EVENT_PREFIGHT_4, 6000); + events2.ScheduleEvent(EVENT_PREFIGHT_4, 6s); break; case EVENT_PREFIGHT_4: Talk(SAY_SOCCOTHRATES_CONVO_3); - events2.ScheduleEvent(EVENT_PREFIGHT_5, 2000); + events2.ScheduleEvent(EVENT_PREFIGHT_5, 2s); break; case EVENT_PREFIGHT_5: if (Creature* dalliah = instance->GetCreature(DATA_DALLIAH)) dalliah->AI()->Talk(SAY_DALLIAH_CONVO_3); - events2.ScheduleEvent(EVENT_PREFIGHT_6, 3000); + events2.ScheduleEvent(EVENT_PREFIGHT_6, 3s); break; case EVENT_PREFIGHT_6: Talk(SAY_SOCCOTHRATES_CONVO_4); - events2.ScheduleEvent(EVENT_PREFIGHT_7, 2000); + events2.ScheduleEvent(EVENT_PREFIGHT_7, 2s); break; case EVENT_PREFIGHT_7: if (Creature* dalliah = instance->GetCreature(DATA_DALLIAH)) dalliah->GetMotionMaster()->MovePoint(0, 118.6048f, 96.84852f, 22.44115f); - events2.ScheduleEvent(EVENT_PREFIGHT_8, 4000); + events2.ScheduleEvent(EVENT_PREFIGHT_8, 4s); break; case EVENT_PREFIGHT_8: me->GetMotionMaster()->MovePoint(0, 122.1035f, 192.7203f, 22.44115f); - events2.ScheduleEvent(EVENT_PREFIGHT_9, 4000); + events2.ScheduleEvent(EVENT_PREFIGHT_9, 4s); break; case EVENT_PREFIGHT_9: if (Creature* dalliah = instance->GetCreature(DATA_DALLIAH)) diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp index 16e37a698d..e024541c82 100644 --- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp @@ -98,7 +98,7 @@ public: CannonGUID = caster->GetGUID(); PartyTime = true; - events.ScheduleEvent(EVENT_PARTY_TIMER, 3000); + events.ScheduleEvent(EVENT_PARTY_TIMER, 3s); } if (count >= 3) @@ -160,7 +160,7 @@ public: me->SummonCreature(NPC_HOUND, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000); else me->SummonCreature(NPC_FEL_IMP, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000); - events.ScheduleEvent(EVENT_PARTY_TIMER, 3000); + events.ScheduleEvent(EVENT_PARTY_TIMER, 3s); break; } } @@ -577,18 +577,18 @@ public: if (!CheckPlayer()) ResetNode(); else - _events.ScheduleEvent(EVENT_SIMON_PERIODIC_PLAYER_CHECK, 2000); + _events.ScheduleEvent(EVENT_SIMON_PERIODIC_PLAYER_CHECK, 2s); break; case EVENT_SIMON_SETUP_PRE_GAME: SetUpPreGame(); _events.CancelEvent(EVENT_SIMON_GAME_TICK); - _events.ScheduleEvent(EVENT_SIMON_PLAY_SEQUENCE, 1000); + _events.ScheduleEvent(EVENT_SIMON_PLAY_SEQUENCE, 1s); break; case EVENT_SIMON_PLAY_SEQUENCE: if (!playableSequence.empty()) { PlayNextColor(); - _events.ScheduleEvent(EVENT_SIMON_PLAY_SEQUENCE, 1500); + _events.ScheduleEvent(EVENT_SIMON_PLAY_SEQUENCE, 1500ms); } else { @@ -597,16 +597,16 @@ public: playerSequence.clear(); PrepareClusters(); gameTicks = 0; - _events.ScheduleEvent(EVENT_SIMON_GAME_TICK, 3000); + _events.ScheduleEvent(EVENT_SIMON_GAME_TICK, 3s); } break; case EVENT_SIMON_GAME_TICK: DoCast(SPELL_AUDIBLE_GAME_TICK); if (gameTicks > gameLevel) - _events.ScheduleEvent(EVENT_SIMON_TOO_LONG_TIME, 500); + _events.ScheduleEvent(EVENT_SIMON_TOO_LONG_TIME, 500ms); else - _events.ScheduleEvent(EVENT_SIMON_GAME_TICK, 3000); + _events.ScheduleEvent(EVENT_SIMON_GAME_TICK, 3s); gameTicks++; break; case EVENT_SIMON_RESET_CLUSTERS: @@ -633,7 +633,7 @@ public: if (gameLevel == 10) ResetNode(); else - _events.ScheduleEvent(EVENT_SIMON_SETUP_PRE_GAME, 1000); + _events.ScheduleEvent(EVENT_SIMON_SETUP_PRE_GAME, 1s); break; case ACTION_SIMON_CORRECT_FULL_SEQUENCE: gameLevel++; @@ -665,7 +665,7 @@ public: PlayColor(pressedColor); playerSequence.push_back(pressedColor); - _events.ScheduleEvent(EVENT_SIMON_RESET_CLUSTERS, 500); + _events.ScheduleEvent(EVENT_SIMON_RESET_CLUSTERS, 500ms); CheckPlayerSequence(); } @@ -752,8 +752,8 @@ public: } _events.Reset(); - _events.ScheduleEvent(EVENT_SIMON_ROUND_FINISHED, 1000); - _events.ScheduleEvent(EVENT_SIMON_PERIODIC_PLAYER_CHECK, 2000); + _events.ScheduleEvent(EVENT_SIMON_ROUND_FINISHED, 1s); + _events.ScheduleEvent(EVENT_SIMON_PERIODIC_PLAYER_CHECK, 2s); if (GameObject* relic = me->FindNearestGameObject(large ? GO_APEXIS_MONUMENT : GO_APEXIS_RELIC, searchDistance)) relic->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); diff --git a/src/server/scripts/Outland/zone_netherstorm.cpp b/src/server/scripts/Outland/zone_netherstorm.cpp index ceb94b60e5..c014ab876a 100644 --- a/src/server/scripts/Outland/zone_netherstorm.cpp +++ b/src/server/scripts/Outland/zone_netherstorm.cpp @@ -126,7 +126,7 @@ public: me->SetFaction(FACTION_ESCORTEE_N_NEUTRAL_ACTIVE); Talk(SAY_SAEED_0); - events.ScheduleEvent(EVENT_START_WALK, 3000); + events.ScheduleEvent(EVENT_START_WALK, 3s); } else if (type == DATA_START_FIGHT) { @@ -178,7 +178,7 @@ public: SetEscortPaused(true); break; case 18: - events.ScheduleEvent(EVENT_START_FIGHT1, 0); + events.ScheduleEvent(EVENT_START_FIGHT1, 0ms); SetEscortPaused(true); break; case 19: @@ -227,7 +227,7 @@ public: break; case EVENT_START_FIGHT1: Talk(SAY_SAEED_3); - events.ScheduleEvent(EVENT_START_FIGHT2, 3000); + events.ScheduleEvent(EVENT_START_FIGHT2, 3s); break; case EVENT_START_FIGHT2: if (Creature* dimensius = me->FindNearestCreature(NPC_DIMENSIUS, 50.0f)) diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp index 3e78e17db5..41acc46123 100644 --- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp @@ -133,7 +133,7 @@ public: { ground = me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()); SummonInfernal(); - events.ScheduleEvent(EVENT_CAST_SUMMON_INFERNAL, urand(1000, 3000)); + events.ScheduleEvent(EVENT_CAST_SUMMON_INFERNAL, 1s, 3s); } void SetData(uint32 id, uint32 data) override @@ -161,7 +161,7 @@ public: if (Unit* infernal = ObjectAccessor::GetUnit(*me, infernalGUID)) if (infernal->GetDisplayId() == MODEL_INVISIBLE) me->CastSpell(infernal, SPELL_SUMMON_INFERNAL, true); - events.ScheduleEvent(EVENT_CAST_SUMMON_INFERNAL, 12000); + events.ScheduleEvent(EVENT_CAST_SUMMON_INFERNAL, 12s); break; } default: @@ -566,8 +566,8 @@ public: void JustEngagedWith(Unit* /*who*/) override { - events.ScheduleEvent(EVENT_KICK, urand(5000, 10000)); - events.ScheduleEvent(EVENT_SUNDER, urand(5000, 10000)); + events.ScheduleEvent(EVENT_KICK, 5s, 10s); + events.ScheduleEvent(EVENT_SUNDER, 5s, 10s); } void SpellHit(Unit* caster, SpellInfo const* spell) override @@ -582,7 +582,7 @@ public: Tapped = true; caster->GetClosePoint(x, y, z, me->GetObjectSize()); Talk(SAY_1); - events.ScheduleEvent(EVENT_WALK_TO_MUTTON, 0); + events.ScheduleEvent(EVENT_WALK_TO_MUTTON, 0ms); } } @@ -593,7 +593,7 @@ public: if (GameObject* food = me->FindNearestGameObject(DELICIOUS_MUTTON, 5.0f)) me->SetFacingToObject(food); me->HandleEmoteCommand(EMOTE_ONESHOT_EAT); - events.ScheduleEvent(EVENT_POISONED, 5000); + events.ScheduleEvent(EVENT_POISONED, 5s); } } @@ -628,7 +628,7 @@ public: Talk(SAY_POISONED_1); CreditPlayer(); me->CastSpell(me, SPELL_VOMIT); - events.ScheduleEvent(EVENT_KILL, 5000); + events.ScheduleEvent(EVENT_KILL, 5s); break; case EVENT_KILL: Unit::DealDamage(me, me, me->GetHealth(), nullptr, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, nullptr, false); @@ -642,11 +642,11 @@ public: case EVENT_KICK: if (me->GetVictim()->HasUnitState(SPELL_STATE_CASTING)) DoCastVictim(SPELL_KICK); - events.RepeatEvent(urand(5000, 10000)); + events.Repeat(5s, 10s); break; case EVENT_SUNDER: DoCastVictim(SPELL_SUNDER); - events.RepeatEvent(urand(5000, 10000)); + events.Repeat(5s, 10s); break; } diff --git a/src/server/scripts/Outland/zone_terokkar_forest.cpp b/src/server/scripts/Outland/zone_terokkar_forest.cpp index ffbed2ade5..d44d7f506e 100644 --- a/src/server/scripts/Outland/zone_terokkar_forest.cpp +++ b/src/server/scripts/Outland/zone_terokkar_forest.cpp @@ -433,9 +433,9 @@ public: void JustEngagedWith(Unit*) override { events.Reset(); - events.ScheduleEvent(EVENT_SPELL_WRATH, 0); - events.ScheduleEvent(EVENT_SPELL_MOONFIRE, 4000); - events.ScheduleEvent(EVENT_SPELL_ENTANGLING_ROOTS, 10000); + events.ScheduleEvent(EVENT_SPELL_WRATH, 0ms); + events.ScheduleEvent(EVENT_SPELL_MOONFIRE, 4s); + events.ScheduleEvent(EVENT_SPELL_ENTANGLING_ROOTS, 10s); } void UpdateEscortAI(uint32 diff) override @@ -451,15 +451,15 @@ public: { case EVENT_SPELL_WRATH: me->CastSpell(me->GetVictim(), SPELL_WRATH, false); - events.ScheduleEvent(EVENT_SPELL_WRATH, 3000); + events.ScheduleEvent(EVENT_SPELL_WRATH, 3s); break; case EVENT_SPELL_MOONFIRE: me->CastSpell(me->GetVictim(), SPELL_MOONFIRE, false); - events.ScheduleEvent(EVENT_SPELL_MOONFIRE, 12000); + events.ScheduleEvent(EVENT_SPELL_MOONFIRE, 12s); break; case EVENT_SPELL_ENTANGLING_ROOTS: me->CastSpell(me->GetVictim(), SPELL_ENTANGLING_ROOTS, false); - events.ScheduleEvent(EVENT_SPELL_ENTANGLING_ROOTS, 20000); + events.ScheduleEvent(EVENT_SPELL_ENTANGLING_ROOTS, 20s); break; } diff --git a/src/server/scripts/Pet/pet_generic.cpp b/src/server/scripts/Pet/pet_generic.cpp index 165ccb0f5b..805e500009 100644 --- a/src/server/scripts/Pet/pet_generic.cpp +++ b/src/server/scripts/Pet/pet_generic.cpp @@ -49,7 +49,7 @@ struct npc_pet_gen_soul_trader_beacon : public ScriptedAI npc_pet_gen_soul_trader_beacon(Creature* c) : ScriptedAI(c) { events.Reset(); - events.ScheduleEvent(EVENT_INITIAL_TALK, 0); + events.ScheduleEvent(EVENT_INITIAL_TALK, 0ms); if (me->ToTempSummon()) if (Unit* owner = me->ToTempSummon()->GetOwner()) { @@ -65,7 +65,7 @@ struct npc_pet_gen_soul_trader_beacon : public ScriptedAI if (spellInfo->Id == SPELL_STEAL_ESSENCE_VISUAL && target == me) { Talk(1); - events.ScheduleEvent(EVENT_ADD_TOKEN, 3000); + events.ScheduleEvent(EVENT_ADD_TOKEN, 3s); me->CastSpell(me, SPELL_EMOTE_STATE_SWIM_RUN, true); } } diff --git a/src/server/scripts/Pet/pet_mage.cpp b/src/server/scripts/Pet/pet_mage.cpp index 72ab586eca..56a6c0ac52 100644 --- a/src/server/scripts/Pet/pet_mage.cpp +++ b/src/server/scripts/Pet/pet_mage.cpp @@ -62,10 +62,18 @@ struct npc_pet_mage_mirror_image : CasterAI ObjectGuid _ebonGargoyleGUID; uint32 checktarget; uint32 dist = urand(1, 5); + bool _delayAttack; void InitializeAI() override { CasterAI::InitializeAI(); + + _delayAttack = true; + me->m_Events.AddEventAtOffset([this]() + { + _delayAttack = false; + }, 1200ms); + Unit* owner = me->GetOwner(); if (!owner) return; @@ -185,10 +193,11 @@ struct npc_pet_mage_mirror_image : CasterAI void UpdateAI(uint32 diff) override { - events.Update(diff); - if (events.GetTimer() < 1200) + if (_delayAttack) return; + events.Update(diff); + if (!me->IsInCombat() || !me->GetVictim()) { MySelectNextTarget(); @@ -212,7 +221,7 @@ struct npc_pet_mage_mirror_image : CasterAI if (uint32 spellId = events.ExecuteEvent()) { - events.RescheduleEvent(spellId, spellId == 59637 ? 6500 : 2500); + events.RescheduleEvent(spellId, spellId == 59637 ? 6500ms : 2500ms); me->CastSpell(me->GetVictim(), spellId, false); } } diff --git a/src/server/scripts/Pet/pet_shaman.cpp b/src/server/scripts/Pet/pet_shaman.cpp index d5266ea04e..286571a82c 100644 --- a/src/server/scripts/Pet/pet_shaman.cpp +++ b/src/server/scripts/Pet/pet_shaman.cpp @@ -49,7 +49,7 @@ struct npc_pet_shaman_earth_elemental : public ScriptedAI void JustEngagedWith(Unit*) override { _events.Reset(); - _events.ScheduleEvent(EVENT_SHAMAN_ANGEREDEARTH, 0); + _events.ScheduleEvent(EVENT_SHAMAN_ANGEREDEARTH, 0ms); } void InitializeAI() override { } @@ -74,7 +74,7 @@ struct npc_pet_shaman_earth_elemental : public ScriptedAI if (_events.ExecuteEvent() == EVENT_SHAMAN_ANGEREDEARTH) { DoCastVictim(SPELL_SHAMAN_ANGEREDEARTH); - _events.ScheduleEvent(EVENT_SHAMAN_ANGEREDEARTH, urand(5000, 20000)); + _events.ScheduleEvent(EVENT_SHAMAN_ANGEREDEARTH, 5s, 20s); } DoMeleeAttackIfReady(); @@ -94,9 +94,9 @@ struct npc_pet_shaman_fire_elemental : public ScriptedAI void JustEngagedWith(Unit*) override { _events.Reset(); - _events.ScheduleEvent(EVENT_SHAMAN_FIRENOVA, urand(5000, 20000)); - _events.ScheduleEvent(EVENT_SHAMAN_FIREBLAST, urand(5000, 20000)); - //_events.ScheduleEvent(EVENT_SHAMAN_FIRESHIELD, 0); + _events.ScheduleEvent(EVENT_SHAMAN_FIRENOVA, 5s, 20s); + _events.ScheduleEvent(EVENT_SHAMAN_FIREBLAST, 5s, 20s); + //_events.ScheduleEvent(EVENT_SHAMAN_FIRESHIELD, 0ms); me->RemoveAurasDueToSpell(SPELL_SHAMAN_FIRESHIELD); me->CastSpell(me, SPELL_SHAMAN_FIRESHIELD, true); @@ -124,11 +124,11 @@ struct npc_pet_shaman_fire_elemental : public ScriptedAI { case EVENT_SHAMAN_FIRENOVA: me->CastSpell(me, SPELL_SHAMAN_FIRENOVA, false); - _events.ScheduleEvent(EVENT_SHAMAN_FIRENOVA, urand(8000, 15000)); + _events.ScheduleEvent(EVENT_SHAMAN_FIRENOVA, 8s, 15s); break; case EVENT_SHAMAN_FIREBLAST: me->CastSpell(me->GetVictim(), SPELL_SHAMAN_FIREBLAST, false); - _events.ScheduleEvent(EVENT_SHAMAN_FIREBLAST, urand(4000, 8000)); + _events.ScheduleEvent(EVENT_SHAMAN_FIREBLAST, 4s, 8s); break; default: break; diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp index 814871ee1d..2bd68ffcdd 100644 --- a/src/server/scripts/World/boss_emerald_dragons.cpp +++ b/src/server/scripts/World/boss_emerald_dragons.cpp @@ -105,9 +105,9 @@ struct emerald_dragonAI : public WorldBossAI me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE); me->SetReactState(REACT_AGGRESSIVE); DoCast(me, SPELL_MARK_OF_NATURE_AURA, true); - events.ScheduleEvent(EVENT_TAIL_SWEEP, 4000); - events.ScheduleEvent(EVENT_NOXIOUS_BREATH, urand(7500, 15000)); - events.ScheduleEvent(EVENT_SEEPING_FOG, urand(12500, 20000)); + events.ScheduleEvent(EVENT_TAIL_SWEEP, 4s); + events.ScheduleEvent(EVENT_NOXIOUS_BREATH, 7500ms, 15s); + events.ScheduleEvent(EVENT_SEEPING_FOG, 12500ms, 20s); events.ScheduleEvent(EVENT_SUMMON_PLAYER, 1s); } @@ -128,17 +128,17 @@ struct emerald_dragonAI : public WorldBossAI // Despawntime is 2 minutes, so reschedule it for new cast after 2 minutes + a minor "random time" (30 seconds at max) DoCast(me, SPELL_SEEPING_FOG_LEFT, true); DoCast(me, SPELL_SEEPING_FOG_RIGHT, true); - events.ScheduleEvent(EVENT_SEEPING_FOG, urand(120000, 150000)); + events.ScheduleEvent(EVENT_SEEPING_FOG, 120s, 150s); break; case EVENT_NOXIOUS_BREATH: // Noxious Breath is cast on random intervals, no less than 7.5 seconds between DoCast(me, SPELL_NOXIOUS_BREATH); - events.ScheduleEvent(EVENT_NOXIOUS_BREATH, urand(7500, 15000)); + events.ScheduleEvent(EVENT_NOXIOUS_BREATH, 7500ms, 15s); break; case EVENT_TAIL_SWEEP: // Tail Sweep is cast every two seconds, no matter what goes on in front of the dragon DoCast(me, SPELL_TAIL_SWEEP); - events.ScheduleEvent(EVENT_TAIL_SWEEP, 2000); + events.ScheduleEvent(EVENT_TAIL_SWEEP, 2s); break; case EVENT_SUMMON_PLAYER: if (Unit* target = me->GetVictim()) @@ -304,7 +304,7 @@ public: { _stage = 1; emerald_dragonAI::Reset(); - events.ScheduleEvent(EVENT_LIGHTNING_WAVE, 12000); + events.ScheduleEvent(EVENT_LIGHTNING_WAVE, 12s); } void JustEngagedWith(Unit* who) override @@ -344,7 +344,7 @@ public: { case EVENT_LIGHTNING_WAVE: DoCastVictim(SPELL_LIGHTNING_WAVE); - events.ScheduleEvent(EVENT_LIGHTNING_WAVE, urand(10000, 20000)); + events.ScheduleEvent(EVENT_LIGHTNING_WAVE, 10s, 20s); break; default: emerald_dragonAI::ExecuteEvent(eventId); @@ -524,7 +524,7 @@ public: { _stage = 1; emerald_dragonAI::Reset(); - events.ScheduleEvent(EVENT_VOLATILE_INFECTION, 12000); + events.ScheduleEvent(EVENT_VOLATILE_INFECTION, 12s); } void KilledUnit(Unit* who) override @@ -559,7 +559,7 @@ public: { case EVENT_VOLATILE_INFECTION: DoCastVictim(SPELL_VOLATILE_INFECTION); - events.ScheduleEvent(EVENT_VOLATILE_INFECTION, 120000); + events.ScheduleEvent(EVENT_VOLATILE_INFECTION, 120s); break; default: emerald_dragonAI::ExecuteEvent(eventId); @@ -624,8 +624,8 @@ public: _banishedTimer = 0; emerald_dragonAI::Reset(); - events.ScheduleEvent(EVENT_ARCANE_BLAST, 12000); - events.ScheduleEvent(EVENT_BELLOWING_ROAR, 30000); + events.ScheduleEvent(EVENT_ARCANE_BLAST, 12s); + events.ScheduleEvent(EVENT_BELLOWING_ROAR, 30s); } void JustEngagedWith(Unit* who) override @@ -671,11 +671,11 @@ public: { case EVENT_ARCANE_BLAST: DoCast(SPELL_ARCANE_BLAST); - events.ScheduleEvent(EVENT_ARCANE_BLAST, urand(7000, 12000)); + events.ScheduleEvent(EVENT_ARCANE_BLAST, 7s, 12s); break; case EVENT_BELLOWING_ROAR: DoCast(SPELL_BELLOWING_ROAR); - events.ScheduleEvent(EVENT_BELLOWING_ROAR, urand(20000, 30000)); + events.ScheduleEvent(EVENT_BELLOWING_ROAR, 20s, 30s); break; default: emerald_dragonAI::ExecuteEvent(eventId); diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp index a190384b2d..8b92bed075 100644 --- a/src/server/scripts/World/go_scripts.cpp +++ b/src/server/scripts/World/go_scripts.cpp @@ -412,7 +412,7 @@ public: void Initialize() { - _events.ScheduleEvent(EVENT_CHECK, 1000); + _events.ScheduleEvent(EVENT_CHECK, 1s); } void UpdateAI(uint32 const diff) override @@ -432,7 +432,7 @@ public: } else { - _events.ScheduleEvent(EVENT_CHECK, 1000); + _events.ScheduleEvent(EVENT_CHECK, 1s); } break; } @@ -474,7 +474,7 @@ public: { go_l70_etc_musicAI(GameObject* go) : GameObjectAI(go) { - _events.ScheduleEvent(EVENT_ETC_START_MUSIC, 1600); + _events.ScheduleEvent(EVENT_ETC_START_MUSIC, 1600ms); } void UpdateAI(uint32 diff) override @@ -489,7 +489,7 @@ public: me->PlayDirectMusic(MUSIC_L70_ETC_MUSIC_LOUD); else me->PlayDirectMusic(MUSIC_L70_ETC_MUSIC); - _events.ScheduleEvent(EVENT_ETC_START_MUSIC, 1600); // Every 1.6 seconds SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value) + _events.ScheduleEvent(EVENT_ETC_START_MUSIC, 1600ms); // Every 1.6 seconds SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value) break; default: break; @@ -521,15 +521,12 @@ enum BrewfestMusic }; // These are in seconds -enum BrewfestMusicTime -{ - EVENT_BREWFESTDWARF01_TIME = 95000, - EVENT_BREWFESTDWARF02_TIME = 155000, - EVENT_BREWFESTDWARF03_TIME = 23000, - EVENT_BREWFESTGOBLIN01_TIME = 68000, - EVENT_BREWFESTGOBLIN02_TIME = 93000, - EVENT_BREWFESTGOBLIN03_TIME = 28000 -}; +constexpr Milliseconds EVENT_BREWFESTDWARF01_TIME = 95s; +constexpr Milliseconds EVENT_BREWFESTDWARF02_TIME = 155s; +constexpr Milliseconds EVENT_BREWFESTDWARF03_TIME = 23s; +constexpr Milliseconds EVENT_BREWFESTGOBLIN01_TIME = 68s; +constexpr Milliseconds EVENT_BREWFESTGOBLIN02_TIME = 93s; +constexpr Milliseconds EVENT_BREWFESTGOBLIN03_TIME = 28s; enum BrewfestMusicEvents { @@ -546,8 +543,8 @@ public: { go_brewfest_musicAI(GameObject* go) : GameObjectAI(go) { - _events.ScheduleEvent(EVENT_BM_SELECT_MUSIC, 1000); - _events.ScheduleEvent(EVENT_BM_START_MUSIC, 1500); + _events.ScheduleEvent(EVENT_BM_SELECT_MUSIC, 1s); + _events.ScheduleEvent(EVENT_BM_START_MUSIC, 1500ms); _currentMusicEvent = EVENT_BREWFESTGOBLIN01; } @@ -564,7 +561,7 @@ public: break; // Select random music sample uint32 rnd = urand(0, 2); - uint32 musicTime = 1000; + Milliseconds musicTime = 1s; //Restart the current selected music _currentMusicEvent = 0; //Check zone to play correct music @@ -652,7 +649,7 @@ public: { me->PlayDirectMusic(_currentMusicEvent); } - _events.ScheduleEvent(EVENT_BM_START_MUSIC, 5000); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client + _events.ScheduleEvent(EVENT_BM_START_MUSIC, 5s); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client break; default: break; @@ -695,7 +692,7 @@ public: go_pirate_day_musicAI(GameObject* go) : GameObjectAI(go) { - _events.ScheduleEvent(EVENT_PDM_START_MUSIC, 1000); + _events.ScheduleEvent(EVENT_PDM_START_MUSIC, 1s); } void UpdateAI(uint32 diff) override @@ -709,7 +706,7 @@ public: if (!IsHolidayActive(HOLIDAY_PIRATES_DAY)) break; me->PlayDirectMusic(MUSIC_PIRATE_DAY_MUSIC); - _events.ScheduleEvent(EVENT_PDM_START_MUSIC, 5000); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value) + _events.ScheduleEvent(EVENT_PDM_START_MUSIC, 5s); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value) break; default: break; @@ -750,7 +747,7 @@ public: go_darkmoon_faire_musicAI(GameObject* go) : GameObjectAI(go) { - _events.ScheduleEvent(EVENT_DFM_START_MUSIC, 1000); + _events.ScheduleEvent(EVENT_DFM_START_MUSIC, 1s); } void UpdateAI(uint32 diff) override @@ -764,7 +761,7 @@ public: if (!IsHolidayActive(HOLIDAY_DARKMOON_FAIRE_ELWYNN) || !IsHolidayActive(HOLIDAY_DARKMOON_FAIRE_THUNDER) || !IsHolidayActive(HOLIDAY_DARKMOON_FAIRE_SHATTRATH)) break; me->PlayDirectMusic(MUSIC_DARKMOON_FAIRE_MUSIC); - _events.ScheduleEvent(EVENT_DFM_START_MUSIC, 5000); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value) + _events.ScheduleEvent(EVENT_DFM_START_MUSIC, 5s); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value) break; default: break; @@ -805,7 +802,7 @@ public: { go_midsummer_musicAI(GameObject* go) : GameObjectAI(go) { - _events.ScheduleEvent(EVENT_MM_START_MUSIC, 1000); + _events.ScheduleEvent(EVENT_MM_START_MUSIC, 1s); } void UpdateAI(uint32 diff) override @@ -836,7 +833,7 @@ public: } } - _events.ScheduleEvent(EVENT_MM_START_MUSIC, 5000); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value) + _events.ScheduleEvent(EVENT_MM_START_MUSIC, 5s); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value) break; } default: @@ -895,7 +892,7 @@ public: _playerGUID = player->GetGUID(); me->SetGameObjectFlag((GameObjectFlags)1); me->RemoveByteFlag(GAMEOBJECT_BYTES_1, 0, 1); - _events.ScheduleEvent(EVENT_STILLBLADE_SPAWN, 1000); + _events.ScheduleEvent(EVENT_STILLBLADE_SPAWN, 1s); } } return true; @@ -914,7 +911,7 @@ public: if (Player* player = ObjectAccessor::GetPlayer(*me, _playerGUID)) { player->SummonCreature(NPC_STILLBLADE, 8032.587f, -7524.518f, 149.68073f, 6.161012172698974609f, TEMPSUMMON_DEAD_DESPAWN, 60000); - _events.ScheduleEvent(EVENT_RESET_BRAZIER, 4000); + _events.ScheduleEvent(EVENT_RESET_BRAZIER, 4s); } break; } @@ -1822,7 +1819,7 @@ public: { // Reset once = false; - _events.ScheduleEvent(EVENT_TIME, 1000); + _events.ScheduleEvent(EVENT_TIME, 1s); } while (uint32 eventId = _events.ExecuteEvent()) @@ -1845,7 +1842,7 @@ public: // Schedule ring event for (auto i = 0; i < _rings; ++i) { - _events.ScheduleEvent(EVENT_RING_BELL, (i * 4 + 1) * 1000); + _events.ScheduleEvent(EVENT_RING_BELL, Seconds(i * 4 + 1)); } break; } diff --git a/src/server/scripts/World/npc_stave_of_ancients.cpp b/src/server/scripts/World/npc_stave_of_ancients.cpp index 20c64c4921..2c318f2743 100644 --- a/src/server/scripts/World/npc_stave_of_ancients.cpp +++ b/src/server/scripts/World/npc_stave_of_ancients.cpp @@ -306,11 +306,11 @@ public: me->CastSpell(who, SPELL_FOOLS_PLIGHT, true); } - events.ScheduleEvent(EVENT_FOOLS_PLIGHT, urand(2000, 3000)); - events.ScheduleEvent(EVENT_RANGE_CHECK, 1000); - events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1000); - events.ScheduleEvent(ARTORIUS_EVENT_DEMONIC_DOOM, urand(3000, 5000)); - events.ScheduleEvent(ARTORIUS_EVENT_DEMONIC_ENRAGE, urand(6000, 8000)); + events.ScheduleEvent(EVENT_FOOLS_PLIGHT, 2s, 3s); + events.ScheduleEvent(EVENT_RANGE_CHECK, 1s); + events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1s); + events.ScheduleEvent(ARTORIUS_EVENT_DEMONIC_DOOM, 3s, 5s); + events.ScheduleEvent(ARTORIUS_EVENT_DEMONIC_ENRAGE, 6s, 8s); } void UpdateAI(uint32 diff) override @@ -325,7 +325,7 @@ public: me->Say(ARTORIUS_SAY); me->HandleEmoteCommand(EMOTE_ONESHOT_TALK); me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - events.ScheduleEvent(EVENT_REVEAL, 5000); + events.ScheduleEvent(EVENT_REVEAL, 5s); break; case EVENT_REVEAL: RevealForm(); @@ -355,7 +355,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_FOOLS_PLIGHT, true); } - events.RepeatEvent(urand(3000, 6000)); + events.Repeat(3s, 6s); break; case EVENT_RANGE_CHECK: if (!me->GetVictim() || !me->GetVictim()->IsWithinDist2d(me, 60.0f)) @@ -364,7 +364,7 @@ public: } else { - events.RepeatEvent(2000); + events.Repeat(2s); } break; case EVENT_UNFAIR_FIGHT: @@ -376,18 +376,18 @@ public: me->DespawnOrUnsummon(5000); break; } - events.RepeatEvent(2000); + events.Repeat(2s); break; case ARTORIUS_EVENT_DEMONIC_DOOM: if (!me->GetVictim()->HasAura(ARTORIUS_SPELL_DEMONIC_DOOM)) { me->CastSpell(me->GetVictim(), ARTORIUS_SPELL_DEMONIC_DOOM, false); } - events.RepeatEvent(urand(5000, 10000)); + events.Repeat(5s, 10s); break; case ARTORIUS_EVENT_DEMONIC_ENRAGE: me->CastSpell(me, SPELL_DEMONIC_ENRAGE, false); - events.RepeatEvent(urand(22000, 39000)); + events.Repeat(22s, 39s); break; } @@ -423,7 +423,7 @@ public: if (action == EVENT_ENCOUNTER_START) { PrepareForEncounter(); - events.ScheduleEvent(EVENT_ENCOUNTER_START, 5000); + events.ScheduleEvent(EVENT_ENCOUNTER_START, 5s); } } }; @@ -649,7 +649,7 @@ public: ResetState(SIMONE_SPELL_SILENCE); events.Reset(); - events.ScheduleEvent(SIMONE_EVENT_CHECK_PET_STATE, 2000); + events.ScheduleEvent(SIMONE_EVENT_CHECK_PET_STATE, 2s); } void JustEngagedWith(Unit* who) override @@ -664,13 +664,13 @@ public: me->CastSpell(who, SPELL_FOOLS_PLIGHT, true); } - events.ScheduleEvent(EVENT_RANGE_CHECK, 1000); - events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1000); - events.ScheduleEvent(SIMONE_EVENT_CHAIN_LIGHTNING, 3000); - events.ScheduleEvent(SIMONE_EVENT_TEMPTRESS_KISS, 1000); + events.ScheduleEvent(EVENT_RANGE_CHECK, 1s); + events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1s); + events.ScheduleEvent(SIMONE_EVENT_CHAIN_LIGHTNING, 3s); + events.ScheduleEvent(SIMONE_EVENT_TEMPTRESS_KISS, 1s); } - events.ScheduleEvent(EVENT_FOOLS_PLIGHT, urand(2000, 3000)); + events.ScheduleEvent(EVENT_FOOLS_PLIGHT, 2s, 3s); } void UpdateAI(uint32 diff) override @@ -685,7 +685,7 @@ public: me->TextEmote(SIMONE_EMOTE, GetGossipPlayer()); me->HandleEmoteCommand(EMOTE_ONESHOT_NONE); me->HandleEmoteCommand(EMOTE_ONESHOT_LAUGH); - events.ScheduleEvent(SIMONE_EVENT_TALK, 4000); + events.ScheduleEvent(SIMONE_EVENT_TALK, 4s); break; case SIMONE_EVENT_TALK: me->Say(SIMONE_SAY, GetGossipPlayer()); @@ -695,7 +695,7 @@ public: { Precious()->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } - events.ScheduleEvent(EVENT_REVEAL, 5000); + events.ScheduleEvent(EVENT_REVEAL, 5s); break; case EVENT_REVEAL: RevealForm(); @@ -713,7 +713,7 @@ public: HandlePetRespawn(); } - events.ScheduleEvent(SIMONE_EVENT_CHECK_PET_STATE, 1000); + events.ScheduleEvent(SIMONE_EVENT_CHECK_PET_STATE, 1s); } break; } @@ -730,7 +730,7 @@ public: if (me->HasUnitState(UNIT_STATE_CASTING) && eventId != EVENT_RANGE_CHECK && eventId != EVENT_UNFAIR_FIGHT) { - events.RepeatEvent(1000); + events.Repeat(1s); return; } @@ -742,7 +742,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_FOOLS_PLIGHT, true); } - events.RepeatEvent(urand(3000, 6000)); + events.Repeat(3s, 6s); break; case EVENT_RANGE_CHECK: if (!me->GetVictim()->IsWithinDist2d(me, 60.0f)) @@ -751,7 +751,7 @@ public: } else { - events.RepeatEvent(2000); + events.Repeat(2s); } break; case EVENT_UNFAIR_FIGHT: @@ -770,15 +770,15 @@ public: me->DespawnOrUnsummon(5000); break; } - events.RepeatEvent(2000); + events.Repeat(2s); break; case SIMONE_EVENT_CHAIN_LIGHTNING: me->CastSpell(me->GetVictim(), SIMONE_SPELL_CHAIN_LIGHTNING, false); - events.RepeatEvent(7000); + events.Repeat(7s); break; case SIMONE_EVENT_TEMPTRESS_KISS: me->CastSpell(me->GetVictim(), SIMONE_SPELL_TEMPTRESS_KISS, false); - events.RepeatEvent(45000); + events.Repeat(45s); break; } @@ -805,7 +805,7 @@ public: PreciousAI()->PrepareForEncounter(); } gossipPlayerGUID = playerGUID; - events.ScheduleEvent(EVENT_ENCOUNTER_START, 1000); + events.ScheduleEvent(EVENT_ENCOUNTER_START, 1s); } }; @@ -906,11 +906,11 @@ public: me->CastSpell(who, SPELL_FOOLS_PLIGHT, true); } - events.ScheduleEvent(EVENT_FOOLS_PLIGHT, urand(2000, 3000)); - events.ScheduleEvent(EVENT_RANGE_CHECK, 1000); - events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1000); - events.ScheduleEvent(NELSON_EVENT_DREADFUL_FRIGHT, 10000); - events.ScheduleEvent(NELSON_EVENT_CREEPING_DOOM, 5000); + events.ScheduleEvent(EVENT_FOOLS_PLIGHT, 2s, 3s); + events.ScheduleEvent(EVENT_RANGE_CHECK, 1s); + events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1s); + events.ScheduleEvent(NELSON_EVENT_DREADFUL_FRIGHT, 10s); + events.ScheduleEvent(NELSON_EVENT_CREEPING_DOOM, 5s); } void UpdateAI(uint32 diff) override @@ -925,7 +925,7 @@ public: me->Say(NELSON_SAY); me->HandleEmoteCommand(EMOTE_ONESHOT_TALK); me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - events.ScheduleEvent(EVENT_REVEAL, 5000); + events.ScheduleEvent(EVENT_REVEAL, 5s); break; case EVENT_REVEAL: RevealForm(); @@ -944,7 +944,7 @@ public: if (me->HasUnitState(UNIT_STATE_CASTING)) { - events.RepeatEvent(1000); + events.Repeat(1s); return; } @@ -956,7 +956,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_FOOLS_PLIGHT, true); } - events.RepeatEvent(urand(3000, 6000)); + events.Repeat(3s, 6s); break; case EVENT_RANGE_CHECK: if (!me->GetVictim()->IsWithinDist2d(me, 60.0f)) @@ -965,7 +965,7 @@ public: } else { - events.RepeatEvent(2000); + events.Repeat(2s); } break; case EVENT_UNFAIR_FIGHT: @@ -981,15 +981,15 @@ public: me->DespawnOrUnsummon(5000); break; } - events.RepeatEvent(2000); + events.Repeat(2s); break; case NELSON_EVENT_DREADFUL_FRIGHT: me->CastSpell(me->GetVictim(), NELSON_SPELL_DREADFUL_FRIGHT, false); - events.RepeatEvent(urand(12000, 19000)); + events.Repeat(12s, 19s); break; case NELSON_EVENT_CREEPING_DOOM: me->CastSpell(me->GetVictim(), NELSON_SPELL_CREEPING_DOOM, false); - events.RepeatEvent(urand(10000, 12000)); + events.Repeat(10s, 12s); break; } @@ -1016,7 +1016,7 @@ public: if (action == EVENT_ENCOUNTER_START) { PrepareForEncounter(); - events.ScheduleEvent(EVENT_ENCOUNTER_START, 5000); + events.ScheduleEvent(EVENT_ENCOUNTER_START, 5s); } } }; @@ -1077,12 +1077,12 @@ public: me->CastSpell(who, SPELL_FOOLS_PLIGHT, true); } - events.ScheduleEvent(FRANKLIN_EVENT_DEMONIC_ENRAGE, urand(9000, 13000)); - events.ScheduleEvent(EVENT_RANGE_CHECK, 1000); - events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1000); + events.ScheduleEvent(FRANKLIN_EVENT_DEMONIC_ENRAGE, 9s, 13s); + events.ScheduleEvent(EVENT_RANGE_CHECK, 1s); + events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1s); } - events.ScheduleEvent(EVENT_FOOLS_PLIGHT, urand(2000, 3000)); + events.ScheduleEvent(EVENT_FOOLS_PLIGHT, 2s, 3s); } void UpdateAI(uint32 diff) override @@ -1097,7 +1097,7 @@ public: me->Say(FRANKLIN_SAY, GetGossipPlayer()); me->HandleEmoteCommand(EMOTE_ONESHOT_TALK); me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - events.ScheduleEvent(EVENT_REVEAL, 5000); + events.ScheduleEvent(EVENT_REVEAL, 5s); break; case EVENT_REVEAL: RevealForm(); @@ -1116,7 +1116,7 @@ public: if (me->HasUnitState(UNIT_STATE_CASTING)) { - events.RepeatEvent(1000); + events.Repeat(1s); return; } @@ -1128,7 +1128,7 @@ public: { me->CastSpell(me->GetVictim(), SPELL_FOOLS_PLIGHT, true); } - events.RepeatEvent(urand(3000, 6000)); + events.Repeat(3s, 6s); break; case EVENT_RANGE_CHECK: if (!me->GetVictim()->IsWithinDist2d(me, 60.0f)) @@ -1137,7 +1137,7 @@ public: } else { - events.RepeatEvent(2000); + events.Repeat(2s); } break; case EVENT_UNFAIR_FIGHT: @@ -1152,12 +1152,12 @@ public: me->DespawnOrUnsummon(5000); break; } - events.RepeatEvent(2000); + events.Repeat(2s); break; case FRANKLIN_EVENT_DEMONIC_ENRAGE: me->CastSpell(me, SPELL_DEMONIC_ENRAGE, false); me->TextEmote(FRANKLIN_ENRAGE_EMOTE); - events.RepeatEvent(urand(9000, 22000)); + events.Repeat(9s, 22s); break; } @@ -1189,7 +1189,7 @@ public: { PrepareForEncounter(); gossipPlayerGUID = playerGUID; - events.ScheduleEvent(EVENT_ENCOUNTER_START, 5000); + events.ScheduleEvent(EVENT_ENCOUNTER_START, 5s); } }; diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 6612f6dc09..6e7e5a578c 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -68,7 +68,7 @@ public: npc_elder_clearwaterAI(Creature* c) : ScriptedAI(c) { events.Reset(); - events.ScheduleEvent(EVENT_CLEARWATER_ANNOUNCE, 1000, 1, 0); + events.ScheduleEvent(EVENT_CLEARWATER_ANNOUNCE, 1s, 1, 0); finished = false; preWarning = false; startWarning = false; @@ -126,7 +126,7 @@ public: } } - events.RepeatEvent(1000); + events.Repeat(1s); break; } } From 8e2e30328f2b48349fb4fc76d9922c4fe3fa8dfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A9=E9=B9=AD?= <18535853+PkllonG@users.noreply.github.com> Date: Mon, 13 Oct 2025 10:13:12 +0800 Subject: [PATCH 5/6] refactor(Core): Make ObjectGuid const (#23170) * cherry-pick commit (https://github.com/TrinityCore/TrinityCore/commit/a7883380ce4c827db103b0c43faca6632c3d1f66) Co-Authored-By: Lucas Nascimento --- src/server/game/AI/CoreAI/GameObjectAI.h | 2 +- src/server/game/AI/CoreAI/UnitAI.h | 2 +- .../game/AI/ScriptedAI/ScriptedGossip.cpp | 2 +- .../game/AI/ScriptedAI/ScriptedGossip.h | 2 +- src/server/game/AI/SmartScripts/SmartAI.cpp | 2 +- src/server/game/AI/SmartScripts/SmartAI.h | 2 +- src/server/game/Battlefield/Battlefield.cpp | 4 +-- src/server/game/Battlefield/Battlefield.h | 4 +-- src/server/game/Entities/Corpse/Corpse.cpp | 2 +- src/server/game/Entities/Corpse/Corpse.h | 2 +- .../game/Entities/GameObject/GameObject.cpp | 4 +-- .../game/Entities/GameObject/GameObject.h | 4 +-- src/server/game/Entities/Object/ObjectGuid.h | 2 +- src/server/game/Entities/Player/Player.cpp | 6 ++--- src/server/game/Entities/Player/Player.h | 6 ++--- src/server/game/Entities/Player/SocialMgr.cpp | 20 +++++++------- src/server/game/Entities/Player/SocialMgr.h | 26 +++++++++---------- src/server/game/Globals/ObjectAccessor.cpp | 24 ++++++++--------- src/server/game/Globals/ObjectAccessor.h | 24 ++++++++--------- src/server/game/Maps/Map.cpp | 14 +++++----- src/server/game/Maps/Map.h | 14 +++++----- src/server/game/World/WorldState.cpp | 2 +- .../BlackwingLair/boss_chromaggus.cpp | 2 +- .../BlackwingLair/boss_razorgore.cpp | 2 +- .../MoltenCore/boss_ragnaros.cpp | 2 +- .../Gnomeregan/instance_gnomeregan.cpp | 2 +- .../Karazhan/boss_shade_of_aran.cpp | 2 +- .../ScarletEnclave/chapter1.cpp | 6 ++--- .../ZulGurub/boss_mandokir.cpp | 6 ++--- .../zone_eastern_plaguelands.cpp | 2 +- .../EasternKingdoms/zone_undercity.cpp | 2 +- src/server/scripts/Events/brewfest.cpp | 2 +- .../BattleForMountHyjal/boss_archimonde.cpp | 2 +- .../RuinsOfAhnQiraj/boss_ossirian.cpp | 4 +-- .../scripts/Kalimdor/zone_darkshore.cpp | 2 +- src/server/scripts/Kalimdor/zone_desolace.cpp | 2 +- .../boss_blood_prince_council.cpp | 2 +- .../boss_blood_queen_lana_thel.cpp | 2 +- .../boss_icecrown_gunship_battle.cpp | 2 +- .../boss_professor_putricide.cpp | 2 +- .../IcecrownCitadel/boss_sindragosa.cpp | 2 +- .../IcecrownCitadel/boss_the_lich_king.cpp | 2 +- .../IcecrownCitadel/icecrown_citadel.cpp | 2 +- .../scripts/Northrend/zone_borean_tundra.cpp | 2 +- .../scripts/Northrend/zone_dragonblight.cpp | 2 +- .../AuchenaiCrypts/boss_exarch_maladaar.cpp | 2 +- .../ShadowLabyrinth/boss_murmur.cpp | 2 +- .../Outland/zone_blades_edge_mountains.cpp | 2 +- src/server/scripts/Outland/zone_nagrand.cpp | 2 +- .../scripts/Outland/zone_netherstorm.cpp | 2 +- .../scripts/World/boss_emerald_dragons.cpp | 2 +- 51 files changed, 119 insertions(+), 119 deletions(-) diff --git a/src/server/game/AI/CoreAI/GameObjectAI.h b/src/server/game/AI/CoreAI/GameObjectAI.h index b366d3c2bd..80e034cf46 100644 --- a/src/server/game/AI/CoreAI/GameObjectAI.h +++ b/src/server/game/AI/CoreAI/GameObjectAI.h @@ -46,7 +46,7 @@ public: // Pass parameters between AI virtual void DoAction(int32 /*param = 0 */) {} - virtual void SetGUID(ObjectGuid /*guid*/, int32 /*id = 0 */) {} + virtual void SetGUID(ObjectGuid const& /*guid*/, int32 /*id = 0 */) {} virtual ObjectGuid GetGUID(int32 /*id = 0 */) const { return ObjectGuid::Empty; } static int32 Permissible(GameObject const* go); diff --git a/src/server/game/AI/CoreAI/UnitAI.h b/src/server/game/AI/CoreAI/UnitAI.h index 17533d4e4c..71cfe8d5b0 100644 --- a/src/server/game/AI/CoreAI/UnitAI.h +++ b/src/server/game/AI/CoreAI/UnitAI.h @@ -217,7 +217,7 @@ public: virtual void DoAction(int32 /*param*/) {} virtual uint32 GetData(uint32 /*id = 0*/) const { return 0; } virtual void SetData(uint32 /*id*/, uint32 /*value*/) {} - virtual void SetGUID(ObjectGuid /*guid*/, int32 /*id*/ = 0) {} + virtual void SetGUID(ObjectGuid const& /*guid*/, int32 /*id*/ = 0) {} virtual ObjectGuid GetGUID(int32 /*id*/ = 0) const { return ObjectGuid::Empty; } // Select the best target (in order) from the threat list that fulfill the following: diff --git a/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp b/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp index 120a75582d..12d5a63685 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp @@ -42,7 +42,7 @@ void AddGossipItemFor(Player* player, uint32 gossipMenuID, uint32 gossipMenuItem player->PlayerTalkClass->GetGossipMenu().AddMenuItem(gossipMenuID, gossipMenuItemID, sender, action, boxMoney); } -void SendGossipMenuFor(Player* player, uint32 npcTextID, ObjectGuid const guid) +void SendGossipMenuFor(Player* player, uint32 npcTextID, ObjectGuid const& guid) { player->PlayerTalkClass->SendGossipMenu(npcTextID, guid); } diff --git a/src/server/game/AI/ScriptedAI/ScriptedGossip.h b/src/server/game/AI/ScriptedAI/ScriptedGossip.h index eee8411480..b88aea5c4c 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedGossip.h +++ b/src/server/game/AI/ScriptedAI/ScriptedGossip.h @@ -94,7 +94,7 @@ void AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint void AddGossipItemFor(Player* player, uint32 gossipMenuID, uint32 gossipMenuItemID, uint32 sender, uint32 action, uint32 boxMoney = 0); // Send menu text -void SendGossipMenuFor(Player* player, uint32 npcTextID, ObjectGuid const guid); +void SendGossipMenuFor(Player* player, uint32 npcTextID, ObjectGuid const& guid); void SendGossipMenuFor(Player* player, uint32 npcTextID, Creature const* creature); // Close menu diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index cb4067e0c8..c1dead6663 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -993,7 +993,7 @@ void SmartAI::SetData(uint32 id, uint32 value, WorldObject* invoker) GetScript()->ProcessEventsFor(SMART_EVENT_DATA_SET, unit, id, value, false, nullptr, gob); } -void SmartAI::SetGUID(ObjectGuid /*guid*/, int32 /*id*/) +void SmartAI::SetGUID(ObjectGuid const& /*guid*/, int32 /*id*/) { } diff --git a/src/server/game/AI/SmartScripts/SmartAI.h b/src/server/game/AI/SmartScripts/SmartAI.h index 5bd9fcd8b3..48d0eda37d 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.h +++ b/src/server/game/AI/SmartScripts/SmartAI.h @@ -164,7 +164,7 @@ public: void SetData(uint32 id, uint32 value, WorldObject* invoker); // Used in scripts to share variables - void SetGUID(ObjectGuid guid, int32 id = 0) override; + void SetGUID(ObjectGuid const& guid, int32 id = 0) override; // Used in scripts to share variables ObjectGuid GetGUID(int32 id = 0) const override; diff --git a/src/server/game/Battlefield/Battlefield.cpp b/src/server/game/Battlefield/Battlefield.cpp index f74aebff2f..2adb610478 100644 --- a/src/server/game/Battlefield/Battlefield.cpp +++ b/src/server/game/Battlefield/Battlefield.cpp @@ -855,7 +855,7 @@ GameObject* Battlefield::SpawnGameObject(uint32 entry, float x, float y, float z return go; } -Creature* Battlefield::GetCreature(ObjectGuid const guid) +Creature* Battlefield::GetCreature(ObjectGuid const& guid) { if (!m_Map) return nullptr; @@ -863,7 +863,7 @@ Creature* Battlefield::GetCreature(ObjectGuid const guid) return m_Map->GetCreature(guid); } -GameObject* Battlefield::GetGameObject(ObjectGuid const guid) +GameObject* Battlefield::GetGameObject(ObjectGuid const& guid) { if (!m_Map) return nullptr; diff --git a/src/server/game/Battlefield/Battlefield.h b/src/server/game/Battlefield/Battlefield.h index 6b2abdfc53..c4f94f0714 100644 --- a/src/server/game/Battlefield/Battlefield.h +++ b/src/server/game/Battlefield/Battlefield.h @@ -303,8 +303,8 @@ public: Creature* SpawnCreature(uint32 entry, Position pos, TeamId teamId); GameObject* SpawnGameObject(uint32 entry, float x, float y, float z, float o); - Creature* GetCreature(ObjectGuid const guid); - GameObject* GetGameObject(ObjectGuid const guid); + Creature* GetCreature(ObjectGuid const& guid); + GameObject* GetGameObject(ObjectGuid const& guid); // Script-methods diff --git a/src/server/game/Entities/Corpse/Corpse.cpp b/src/server/game/Entities/Corpse/Corpse.cpp index 249ac7adb9..1971a3dc7a 100644 --- a/src/server/game/Entities/Corpse/Corpse.cpp +++ b/src/server/game/Entities/Corpse/Corpse.cpp @@ -121,7 +121,7 @@ void Corpse::DeleteFromDB(CharacterDatabaseTransaction trans) DeleteFromDB(GetOwnerGUID(), trans); } -void Corpse::DeleteFromDB(ObjectGuid const ownerGuid, CharacterDatabaseTransaction trans) +void Corpse::DeleteFromDB(ObjectGuid const& ownerGuid, CharacterDatabaseTransaction trans) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CORPSE); stmt->SetData(0, ownerGuid.GetCounter()); diff --git a/src/server/game/Entities/Corpse/Corpse.h b/src/server/game/Entities/Corpse/Corpse.h index e74f2c9439..9027a608a8 100644 --- a/src/server/game/Entities/Corpse/Corpse.h +++ b/src/server/game/Entities/Corpse/Corpse.h @@ -63,7 +63,7 @@ public: bool LoadCorpseFromDB(ObjectGuid::LowType guid, Field* fields); void DeleteFromDB(CharacterDatabaseTransaction trans); - static void DeleteFromDB(ObjectGuid const ownerGuid, CharacterDatabaseTransaction trans); + static void DeleteFromDB(ObjectGuid const& ownerGuid, CharacterDatabaseTransaction trans); [[nodiscard]] ObjectGuid GetOwnerGUID() const { return GetGuidValue(CORPSE_FIELD_OWNER); } diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index d8897ab120..4bad8703e3 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -3051,13 +3051,13 @@ SpellInfo const* GameObject::GetSpellForLock(Player const* player) const return nullptr; } -void GameObject::AddToSkillupList(ObjectGuid playerGuid) +void GameObject::AddToSkillupList(ObjectGuid const& playerGuid) { int32 timer = GetMap()->IsDungeon() ? -1 : 10 * MINUTE * IN_MILLISECONDS; m_SkillupList[playerGuid] = timer; } -bool GameObject::IsInSkillupList(ObjectGuid playerGuid) const +bool GameObject::IsInSkillupList(ObjectGuid const& playerGuid) const { for (auto const& itr : m_SkillupList) { diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index 1b8ccd0477..5ca9ad61ee 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -231,8 +231,8 @@ public: void RemoveLootMode(uint16 lootMode) { m_LootMode &= ~lootMode; } void ResetLootMode() { m_LootMode = LOOT_MODE_DEFAULT; } - void AddToSkillupList(ObjectGuid playerGuid); - [[nodiscard]] bool IsInSkillupList(ObjectGuid playerGuid) const; + void AddToSkillupList(ObjectGuid const& playerGuid); + [[nodiscard]] bool IsInSkillupList(ObjectGuid const& playerGuid) const; void AddUniqueUse(Player* player); void AddUse() { ++m_usetimes; } diff --git a/src/server/game/Entities/Object/ObjectGuid.h b/src/server/game/Entities/Object/ObjectGuid.h index a8d99fe80e..5a3deff9e2 100644 --- a/src/server/game/Entities/Object/ObjectGuid.h +++ b/src/server/game/Entities/Object/ObjectGuid.h @@ -269,7 +269,7 @@ class PackedGuid explicit PackedGuid(ObjectGuid guid) : _packedGuid(PACKED_GUID_MIN_BUFFER_SIZE) { _packedGuid.appendPackGUID(guid.GetRawValue()); } void Set(uint64 guid) { _packedGuid.wpos(0); _packedGuid.appendPackGUID(guid); } - void Set(ObjectGuid guid) { _packedGuid.wpos(0); _packedGuid.appendPackGUID(guid.GetRawValue()); } + void Set(ObjectGuid const& guid) { _packedGuid.wpos(0); _packedGuid.appendPackGUID(guid.GetRawValue()); } [[nodiscard]] std::size_t size() const { return _packedGuid.size(); } diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a82d55eb8e..a8cb733de5 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2088,7 +2088,7 @@ bool Player::CanInteractWithQuestGiver(Object* questGiver) return false; } -Creature* Player::GetNPCIfCanInteractWith(ObjectGuid guid, uint32 npcflagmask) +Creature* Player::GetNPCIfCanInteractWith(ObjectGuid const& guid, uint32 npcflagmask) { // unit checks if (!guid) @@ -2145,7 +2145,7 @@ Creature* Player::GetNPCIfCanInteractWith(ObjectGuid guid, uint32 npcflagmask) return creature; } -GameObject* Player::GetGameObjectIfCanInteractWith(ObjectGuid guid, GameobjectTypes type) const +GameObject* Player::GetGameObjectIfCanInteractWith(ObjectGuid const& guid, GameobjectTypes type) const { if (GameObject* go = GetMap()->GetGameObject(guid)) { @@ -4616,7 +4616,7 @@ void Player::KillPlayer() //UpdateObjectVisibility(); // pussywizard: not needed } -void Player::OfflineResurrect(ObjectGuid const guid, CharacterDatabaseTransaction trans) +void Player::OfflineResurrect(ObjectGuid const& guid, CharacterDatabaseTransaction trans) { Corpse::DeleteFromDB(guid, trans); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ADD_AT_LOGIN_FLAG); diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index ea2cd277a5..1e57a56494 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1128,8 +1128,8 @@ public: void SendInstanceResetWarning(uint32 mapid, Difficulty difficulty, uint32 time, bool onEnterMap); bool CanInteractWithQuestGiver(Object* questGiver); - Creature* GetNPCIfCanInteractWith(ObjectGuid guid, uint32 npcflagmask); - [[nodiscard]] GameObject* GetGameObjectIfCanInteractWith(ObjectGuid guid, GameobjectTypes type) const; + Creature* GetNPCIfCanInteractWith(ObjectGuid const& guid, uint32 npcflagmask); + [[nodiscard]] GameObject* GetGameObjectIfCanInteractWith(ObjectGuid const& guid, GameobjectTypes type) const; void ToggleAFK(); void ToggleDND(); @@ -2033,7 +2033,7 @@ public: Corpse* CreateCorpse(); void RemoveCorpse(); void KillPlayer(); - static void OfflineResurrect(ObjectGuid const guid, CharacterDatabaseTransaction trans); + static void OfflineResurrect(ObjectGuid const& guid, CharacterDatabaseTransaction trans); [[nodiscard]] bool HasCorpse() const { return _corpseLocation.GetMapId() != MAPID_INVALID; } [[nodiscard]] WorldLocation GetCorpseLocation() const { return _corpseLocation; } uint32 GetResurrectionSpellId(); diff --git a/src/server/game/Entities/Player/SocialMgr.cpp b/src/server/game/Entities/Player/SocialMgr.cpp index d5b5fdf59a..8ace058736 100644 --- a/src/server/game/Entities/Player/SocialMgr.cpp +++ b/src/server/game/Entities/Player/SocialMgr.cpp @@ -37,7 +37,7 @@ uint32 PlayerSocial::GetNumberOfSocialsWithFlag(SocialFlag flag) const return counter; } -bool PlayerSocial::AddToSocialList(ObjectGuid friendGuid, SocialFlag flag) +bool PlayerSocial::AddToSocialList(ObjectGuid const& friendGuid, SocialFlag flag) { // check client limits if (GetNumberOfSocialsWithFlag(flag) >= (((flag & SOCIAL_FLAG_FRIEND) != 0) ? SOCIALMGR_FRIEND_LIMIT : SOCIALMGR_IGNORE_LIMIT)) @@ -71,7 +71,7 @@ bool PlayerSocial::AddToSocialList(ObjectGuid friendGuid, SocialFlag flag) return true; } -void PlayerSocial::RemoveFromSocialList(ObjectGuid friendGuid, SocialFlag flag) +void PlayerSocial::RemoveFromSocialList(ObjectGuid const& friendGuid, SocialFlag flag) { auto itr = m_playerSocialMap.find(friendGuid); if (itr == m_playerSocialMap.end()) // not exist @@ -102,7 +102,7 @@ void PlayerSocial::RemoveFromSocialList(ObjectGuid friendGuid, SocialFlag flag) } } -void PlayerSocial::SetFriendNote(ObjectGuid friendGuid, std::string note) +void PlayerSocial::SetFriendNote(ObjectGuid const& friendGuid, std::string note) { auto itr = m_playerSocialMap.find(friendGuid); if (itr == m_playerSocialMap.end()) // not exist @@ -176,7 +176,7 @@ void PlayerSocial::SendSocialList(Player* player, uint32 flags) LOG_DEBUG("network", "WORLD: Sent SMSG_CONTACT_LIST"); } -bool PlayerSocial::_checkContact(ObjectGuid guid, SocialFlag flags) const +bool PlayerSocial::_checkContact(ObjectGuid const& guid, SocialFlag flags) const { auto const& itr = m_playerSocialMap.find(guid); if (itr != m_playerSocialMap.end()) @@ -185,12 +185,12 @@ bool PlayerSocial::_checkContact(ObjectGuid guid, SocialFlag flags) const return false; } -bool PlayerSocial::HasFriend(ObjectGuid friend_guid) const +bool PlayerSocial::HasFriend(ObjectGuid const& friend_guid) const { return _checkContact(friend_guid, SOCIAL_FLAG_FRIEND); } -bool PlayerSocial::HasIgnore(ObjectGuid ignore_guid) const +bool PlayerSocial::HasIgnore(ObjectGuid const& ignore_guid) const { return _checkContact(ignore_guid, SOCIAL_FLAG_IGNORED); } @@ -209,7 +209,7 @@ SocialMgr* SocialMgr::instance() return &instance; } -void SocialMgr::GetFriendInfo(Player* player, ObjectGuid friendGUID, FriendInfo& friendInfo) +void SocialMgr::GetFriendInfo(Player* player, ObjectGuid const& friendGUID, FriendInfo& friendInfo) { if (!player) return; @@ -247,14 +247,14 @@ void SocialMgr::GetFriendInfo(Player* player, ObjectGuid friendGUID, FriendInfo& } } -void SocialMgr::MakeFriendStatusPacket(FriendsResult result, ObjectGuid guid, WorldPacket* data) +void SocialMgr::MakeFriendStatusPacket(FriendsResult result, ObjectGuid const& guid, WorldPacket* data) { data->Initialize(SMSG_FRIEND_STATUS, 9); *data << uint8(result); *data << guid; } -void SocialMgr::SendFriendStatus(Player* player, FriendsResult result, ObjectGuid friendGuid, bool broadcast) +void SocialMgr::SendFriendStatus(Player* player, FriendsResult result, ObjectGuid const& friendGuid, bool broadcast) { FriendInfo fi; GetFriendInfo(player, friendGuid, fi); @@ -316,7 +316,7 @@ void SocialMgr::BroadcastToFriendListers(Player* player, WorldPacket* packet) } } -PlayerSocial* SocialMgr::LoadFromDB(PreparedQueryResult result, ObjectGuid guid) +PlayerSocial* SocialMgr::LoadFromDB(PreparedQueryResult result, ObjectGuid const& guid) { PlayerSocial* social = &m_socialMap[guid]; social->SetPlayerGUID(guid); diff --git a/src/server/game/Entities/Player/SocialMgr.h b/src/server/game/Entities/Player/SocialMgr.h index a35187b6fb..5995f05e9f 100644 --- a/src/server/game/Entities/Player/SocialMgr.h +++ b/src/server/game/Entities/Player/SocialMgr.h @@ -104,19 +104,19 @@ class PlayerSocial public: PlayerSocial(); // adding/removing - bool AddToSocialList(ObjectGuid friend_guid, SocialFlag flag); - void RemoveFromSocialList(ObjectGuid friend_guid, SocialFlag flag); - void SetFriendNote(ObjectGuid friendGuid, std::string note); + bool AddToSocialList(ObjectGuid const& friend_guid, SocialFlag flag); + void RemoveFromSocialList(ObjectGuid const& friend_guid, SocialFlag flag); + void SetFriendNote(ObjectGuid const& friendGuid, std::string note); // Packet send's void SendSocialList(Player* player, uint32 flags); // Misc - bool HasFriend(ObjectGuid friend_guid) const; - bool HasIgnore(ObjectGuid ignore_guid) const; - ObjectGuid GetPlayerGUID() const { return m_playerGUID; } - void SetPlayerGUID(ObjectGuid guid) { m_playerGUID = guid; } + bool HasFriend(ObjectGuid const& friend_guid) const; + bool HasIgnore(ObjectGuid const& ignore_guid) const; + ObjectGuid const& GetPlayerGUID() const { return m_playerGUID; } + void SetPlayerGUID(ObjectGuid const& guid) { m_playerGUID = guid; } uint32 GetNumberOfSocialsWithFlag(SocialFlag flag) const; private: - bool _checkContact(ObjectGuid guid, SocialFlag flags) const; + bool _checkContact(ObjectGuid const& guid, SocialFlag flags) const; typedef std::map PlayerSocialMap; PlayerSocialMap m_playerSocialMap; ObjectGuid m_playerGUID; @@ -131,14 +131,14 @@ class SocialMgr public: static SocialMgr* instance(); // Misc - void RemovePlayerSocial(ObjectGuid guid) { m_socialMap.erase(guid); } - static void GetFriendInfo(Player* player, ObjectGuid friendGUID, FriendInfo& friendInfo); + void RemovePlayerSocial(ObjectGuid const& guid) { m_socialMap.erase(guid); } + static void GetFriendInfo(Player* player, ObjectGuid const& friendGUID, FriendInfo& friendInfo); // Packet management - void MakeFriendStatusPacket(FriendsResult result, ObjectGuid friend_guid, WorldPacket* data); - void SendFriendStatus(Player* player, FriendsResult result, ObjectGuid friend_guid, bool broadcast); + void MakeFriendStatusPacket(FriendsResult result, ObjectGuid const& friend_guid, WorldPacket* data); + void SendFriendStatus(Player* player, FriendsResult result, ObjectGuid const& friend_guid, bool broadcast); void BroadcastToFriendListers(Player* player, WorldPacket* packet); // Loading - PlayerSocial* LoadFromDB(PreparedQueryResult result, ObjectGuid guid); + PlayerSocial* LoadFromDB(PreparedQueryResult result, ObjectGuid const& guid); private: typedef std::map SocialMap; SocialMap m_socialMap; diff --git a/src/server/game/Globals/ObjectAccessor.cpp b/src/server/game/Globals/ObjectAccessor.cpp index f9a4cb01e3..22a9d39b15 100644 --- a/src/server/game/Globals/ObjectAccessor.cpp +++ b/src/server/game/Globals/ObjectAccessor.cpp @@ -112,7 +112,7 @@ namespace PlayerNameMapHolder } // namespace PlayerNameMapHolder -WorldObject* ObjectAccessor::GetWorldObject(WorldObject const& p, ObjectGuid const guid) +WorldObject* ObjectAccessor::GetWorldObject(WorldObject const& p, ObjectGuid const& guid) { switch (guid.GetHigh()) { @@ -138,7 +138,7 @@ WorldObject* ObjectAccessor::GetWorldObject(WorldObject const& p, ObjectGuid con return nullptr; } -Object* ObjectAccessor::GetObjectByTypeMask(WorldObject const& p, ObjectGuid const guid, uint32 typemask) +Object* ObjectAccessor::GetObjectByTypeMask(WorldObject const& p, ObjectGuid const& guid, uint32 typemask) { switch (guid.GetHigh()) { @@ -176,27 +176,27 @@ Object* ObjectAccessor::GetObjectByTypeMask(WorldObject const& p, ObjectGuid con return nullptr; } -Corpse* ObjectAccessor::GetCorpse(WorldObject const& u, ObjectGuid const guid) +Corpse* ObjectAccessor::GetCorpse(WorldObject const& u, ObjectGuid const& guid) { return u.GetMap()->GetCorpse(guid); } -GameObject* ObjectAccessor::GetGameObject(WorldObject const& u, ObjectGuid const guid) +GameObject* ObjectAccessor::GetGameObject(WorldObject const& u, ObjectGuid const& guid) { return u.GetMap()->GetGameObject(guid); } -Transport* ObjectAccessor::GetTransport(WorldObject const& u, ObjectGuid const guid) +Transport* ObjectAccessor::GetTransport(WorldObject const& u, ObjectGuid const& guid) { return u.GetMap()->GetTransport(guid); } -DynamicObject* ObjectAccessor::GetDynamicObject(WorldObject const& u, ObjectGuid const guid) +DynamicObject* ObjectAccessor::GetDynamicObject(WorldObject const& u, ObjectGuid const& guid) { return u.GetMap()->GetDynamicObject(guid); } -Unit* ObjectAccessor::GetUnit(WorldObject const& u, ObjectGuid const guid) +Unit* ObjectAccessor::GetUnit(WorldObject const& u, ObjectGuid const& guid) { if (guid.IsPlayer()) return GetPlayer(u, guid); @@ -207,17 +207,17 @@ Unit* ObjectAccessor::GetUnit(WorldObject const& u, ObjectGuid const guid) return GetCreature(u, guid); } -Creature* ObjectAccessor::GetCreature(WorldObject const& u, ObjectGuid const guid) +Creature* ObjectAccessor::GetCreature(WorldObject const& u, ObjectGuid const& guid) { return u.GetMap()->GetCreature(guid); } -Pet* ObjectAccessor::GetPet(WorldObject const& u, ObjectGuid const guid) +Pet* ObjectAccessor::GetPet(WorldObject const& u, ObjectGuid const& guid) { return u.GetMap()->GetPet(guid); } -Player* ObjectAccessor::GetPlayer(Map const* m, ObjectGuid const guid) +Player* ObjectAccessor::GetPlayer(Map const* m, ObjectGuid const& guid) { if (Player * player = HashMapHolder::Find(guid)) if (player->IsInWorld() && player->GetMap() == m) @@ -226,12 +226,12 @@ Player* ObjectAccessor::GetPlayer(Map const* m, ObjectGuid const guid) return nullptr; } -Player* ObjectAccessor::GetPlayer(WorldObject const& u, ObjectGuid const guid) +Player* ObjectAccessor::GetPlayer(WorldObject const& u, ObjectGuid const& guid) { return GetPlayer(u.GetMap(), guid); } -Creature* ObjectAccessor::GetCreatureOrPetOrVehicle(WorldObject const& u, ObjectGuid const guid) +Creature* ObjectAccessor::GetCreatureOrPetOrVehicle(WorldObject const& u, ObjectGuid const& guid) { if (guid.IsPet()) return GetPet(u, guid); diff --git a/src/server/game/Globals/ObjectAccessor.h b/src/server/game/Globals/ObjectAccessor.h index 2fbe70bf5b..2a78eee0d1 100644 --- a/src/server/game/Globals/ObjectAccessor.h +++ b/src/server/game/Globals/ObjectAccessor.h @@ -60,18 +60,18 @@ public: namespace ObjectAccessor { // these functions return objects only if in map of specified object - WorldObject* GetWorldObject(WorldObject const&, ObjectGuid const guid); - Object* GetObjectByTypeMask(WorldObject const&, ObjectGuid const guid, uint32 typemask); - Corpse* GetCorpse(WorldObject const& u, ObjectGuid const guid); - GameObject* GetGameObject(WorldObject const& u, ObjectGuid const guid); - Transport* GetTransport(WorldObject const& u, ObjectGuid const guid); - DynamicObject* GetDynamicObject(WorldObject const& u, ObjectGuid const guid); - Unit* GetUnit(WorldObject const&, ObjectGuid const guid); - Creature* GetCreature(WorldObject const& u, ObjectGuid const guid); - Pet* GetPet(WorldObject const&, ObjectGuid const guid); - Player* GetPlayer(Map const*, ObjectGuid const guid); - Player* GetPlayer(WorldObject const&, ObjectGuid const guid); - Creature* GetCreatureOrPetOrVehicle(WorldObject const&, ObjectGuid const); + WorldObject* GetWorldObject(WorldObject const&, ObjectGuid const& guid); + Object* GetObjectByTypeMask(WorldObject const&, ObjectGuid const& guid, uint32 typemask); + Corpse* GetCorpse(WorldObject const& u, ObjectGuid const& guid); + GameObject* GetGameObject(WorldObject const& u, ObjectGuid const& guid); + Transport* GetTransport(WorldObject const& u, ObjectGuid const& guid); + DynamicObject* GetDynamicObject(WorldObject const& u, ObjectGuid const& guid); + Unit* GetUnit(WorldObject const&, ObjectGuid const& guid); + Creature* GetCreature(WorldObject const& u, ObjectGuid const& guid); + Pet* GetPet(WorldObject const&, ObjectGuid const& guid); + Player* GetPlayer(Map const*, ObjectGuid const& guid); + Player* GetPlayer(WorldObject const&, ObjectGuid const& guid); + Creature* GetCreatureOrPetOrVehicle(WorldObject const&, ObjectGuid const&); // these functions return objects if found in whole world // ACCESS LIKE THAT IS NOT THREAD SAFE diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index de0e4a9bd6..85f8275e81 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -2358,27 +2358,27 @@ void BattlegroundMap::RemoveAllPlayers() player->TeleportTo(player->GetEntryPoint()); } -Corpse* Map::GetCorpse(ObjectGuid const guid) +Corpse* Map::GetCorpse(ObjectGuid const& guid) { return _objectsStore.Find(guid); } -Creature* Map::GetCreature(ObjectGuid const guid) +Creature* Map::GetCreature(ObjectGuid const& guid) { return _objectsStore.Find(guid); } -GameObject* Map::GetGameObject(ObjectGuid const guid) +GameObject* Map::GetGameObject(ObjectGuid const& guid) { return _objectsStore.Find(guid); } -Pet* Map::GetPet(ObjectGuid const guid) +Pet* Map::GetPet(ObjectGuid const& guid) { return dynamic_cast(_objectsStore.Find(guid)); } -Transport* Map::GetTransport(ObjectGuid guid) +Transport* Map::GetTransport(ObjectGuid const& guid) { if (guid.GetHigh() != HighGuid::Mo_Transport && guid.GetHigh() != HighGuid::Transport) return nullptr; @@ -2387,7 +2387,7 @@ Transport* Map::GetTransport(ObjectGuid guid) return go ? go->ToTransport() : nullptr; } -DynamicObject* Map::GetDynamicObject(ObjectGuid guid) +DynamicObject* Map::GetDynamicObject(ObjectGuid const& guid) { return _objectsStore.Find(guid); } @@ -2679,7 +2679,7 @@ void Map::RemoveCorpse(Corpse* corpse) _corpseBones.erase(corpse); } -Corpse* Map::ConvertCorpseToBones(ObjectGuid const ownerGuid, bool insignia /*= false*/) +Corpse* Map::ConvertCorpseToBones(ObjectGuid const& ownerGuid, bool insignia /*= false*/) { Corpse* corpse = GetCorpseByPlayer(ownerGuid); if (!corpse) diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index 20551da8a0..06451fb1de 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -338,12 +338,12 @@ public: GameObject* SummonGameObject(uint32 entry, Position const& pos, float rotation0 = 0.0f, float rotation1 = 0.0f, float rotation2 = 0.0f, float rotation3 = 0.0f, uint32 respawnTime = 100, bool checkTransport = true); void SummonCreatureGroup(uint8 group, std::list* list = nullptr); - Corpse* GetCorpse(ObjectGuid const guid); - Creature* GetCreature(ObjectGuid const guid); - GameObject* GetGameObject(ObjectGuid const guid); - Transport* GetTransport(ObjectGuid const guid); - DynamicObject* GetDynamicObject(ObjectGuid const guid); - Pet* GetPet(ObjectGuid const guid); + Corpse* GetCorpse(ObjectGuid const& guid); + Creature* GetCreature(ObjectGuid const& guid); + GameObject* GetGameObject(ObjectGuid const& guid); + Transport* GetTransport(ObjectGuid const& guid); + DynamicObject* GetDynamicObject(ObjectGuid const& guid); + Pet* GetPet(ObjectGuid const& guid); MapStoredObjectTypesContainer& GetObjectsStore() { return _objectsStore; } @@ -438,7 +438,7 @@ public: void DeleteCorpseData(); void AddCorpse(Corpse* corpse); void RemoveCorpse(Corpse* corpse); - Corpse* ConvertCorpseToBones(ObjectGuid const ownerGuid, bool insignia = false); + Corpse* ConvertCorpseToBones(ObjectGuid const& ownerGuid, bool insignia = false); void RemoveOldCorpses(); static void DeleteRespawnTimesInDB(uint16 mapId, uint32 instanceId); diff --git a/src/server/game/World/WorldState.cpp b/src/server/game/World/WorldState.cpp index ebb11b8bfe..b22c0de6ab 100644 --- a/src/server/game/World/WorldState.cpp +++ b/src/server/game/World/WorldState.cpp @@ -852,7 +852,7 @@ void WorldState::HandleSunsReachSubPhaseTransition(int32 subPhaseMask, bool init if (!initial) { std::lock_guard guard(m_sunsReachData.m_sunsReachReclamationMutex); - for (ObjectGuid& guid : m_sunsReachData.m_sunsReachReclamationPlayers) + for (ObjectGuid const& guid : m_sunsReachData.m_sunsReachReclamationPlayers) if (Player* player = ObjectAccessor::FindPlayer(guid)) { if (start) diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp index cf39b53a1f..873cfdc746 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp @@ -118,7 +118,7 @@ public: return !victim->HasAura(SPELL_TIMELAPSE); } - void SetGUID(ObjectGuid guid, int32 id) override + void SetGUID(ObjectGuid const& guid, int32 id) override { if (id == GUID_LEVER_USER) { diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp index 4b82654fb6..de984f635e 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp @@ -152,7 +152,7 @@ public: } } - void SetGUID(ObjectGuid const guid, int32 /*id*/) override + void SetGUID(ObjectGuid const& guid, int32 /*id*/) override { _charmerGUID = guid; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp index 1280914f48..6cde45bdd4 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp @@ -183,7 +183,7 @@ public: } } - void SetGUID(ObjectGuid guid, int32 index) override + void SetGUID(ObjectGuid const& guid, int32 index) override { if (index == GO_LAVA_BURST) { diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp index e4125d70d0..b1afd209a6 100644 --- a/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp +++ b/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp @@ -131,7 +131,7 @@ public: uint32 checkTimer; ObjectGuid playerGUID; - void SetGUID(ObjectGuid guid, int32) override + void SetGUID(ObjectGuid const& guid, int32) override { playerGUID = guid; } diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp index f804a28785..15e175dde7 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp @@ -151,7 +151,7 @@ struct boss_shade_of_aran : public BossAI return me->GetDistance2d(roomCenter.GetPositionX(), roomCenter.GetPositionY()) < 45.0f; } - void SetGUID(ObjectGuid guid, int32 id) override + void SetGUID(ObjectGuid const& guid, int32 id) override { if (id == ACTION_ATIESH_REACT && !_atieshReaction) { diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index b70c90063f..c8244d4938 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -396,7 +396,7 @@ public: AttackStart(attacker); } - void SetGUID(ObjectGuid guid, int32) override + void SetGUID(ObjectGuid const& guid, int32) override { gothikGUID = guid; events.ScheduleEvent(EVENT_GHOUL_MOVE_TO_PIT, 3s); @@ -806,7 +806,7 @@ public: ObjectGuid prisonerGUID; - void SetGUID(ObjectGuid guid, int32 /*id*/) override + void SetGUID(ObjectGuid const& guid, int32 /*id*/) override { if (!prisonerGUID) prisonerGUID = guid; @@ -866,7 +866,7 @@ public: ObjectGuid minerGUID; - void SetGUID(ObjectGuid guid, int32 /*id*/) override + void SetGUID(ObjectGuid const& guid, int32 /*id*/) override { minerGUID = guid; } diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp index b455b71e8a..ad623291ff 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp @@ -250,7 +250,7 @@ public: } } - void SetGUID(ObjectGuid const guid, int32 type) override + void SetGUID(ObjectGuid const& guid, int32 type) override { if (type == ACTION_CHARGE) { @@ -564,7 +564,7 @@ public: RevivePlayer(victim, reviveGUID); } - void SetGUID(ObjectGuid const guid, int32 /*type = 0 */) override + void SetGUID(ObjectGuid const& guid, int32 /*type = 0 */) override { reviveGUID = guid; } @@ -612,7 +612,7 @@ public: revivePlayerGUID.Clear(); } - void SetGUID(ObjectGuid const guid, int32 /*id*/) override + void SetGUID(ObjectGuid const& guid, int32 /*id*/) override { revivePlayerGUID = guid; } diff --git a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp index 6b5ff59370..6f9246e3fa 100644 --- a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp @@ -93,7 +93,7 @@ public: _faction = faction; } - void SetGUID(ObjectGuid guid, int32) override + void SetGUID(ObjectGuid const& guid, int32) override { _playerGUID = guid; me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp index dcfd61342c..efd608da07 100644 --- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp +++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp @@ -118,7 +118,7 @@ public: _events.ScheduleEvent(EVENT_MULTI_SHOT, 10s); } - void SetGUID(ObjectGuid guid, int32 type) override + void SetGUID(ObjectGuid const& guid, int32 type) override { if (type == GUID_EVENT_INVOKER) { diff --git a/src/server/scripts/Events/brewfest.cpp b/src/server/scripts/Events/brewfest.cpp index 31d72e61a1..84138e5d38 100644 --- a/src/server/scripts/Events/brewfest.cpp +++ b/src/server/scripts/Events/brewfest.cpp @@ -1743,7 +1743,7 @@ struct npc_coren_direbrew_sisters : public ScriptedAI { npc_coren_direbrew_sisters(Creature* creature) : ScriptedAI(creature) { } - void SetGUID(ObjectGuid guid, int32 id) override + void SetGUID(ObjectGuid const& guid, int32 id) override { if (id == DATA_TARGET_GUID) { diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp index 6caa1ff950..7b1ccf257b 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp @@ -335,7 +335,7 @@ struct boss_archimonde : public BossAI Talk(SAY_SLAY); } - void SetGUID(ObjectGuid guid, int32 type) override + void SetGUID(ObjectGuid const& guid, int32 type) override { if (type == GUID_GAIN_SOUL_CHARGE_PLAYER) { diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp index 7b56c464d1..10141d57ca 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp @@ -154,7 +154,7 @@ struct boss_ossirian : public BossAI } } - void SetGUID(ObjectGuid guid, int32 action) override + void SetGUID(ObjectGuid const& guid, int32 action) override { if (action == ACTION_TRIGGER_WEAKNESS && guid != _firstCrystalGUID) { @@ -317,7 +317,7 @@ public: { go_ossirian_crystalAI(GameObject* go) : GameObjectAI(go), _instance(go->GetInstanceScript()) { } - void SetGUID(ObjectGuid guid, int32 type) override + void SetGUID(ObjectGuid const& guid, int32 type) override { if (type == GUID_TRIGGER_PAIR) { diff --git a/src/server/scripts/Kalimdor/zone_darkshore.cpp b/src/server/scripts/Kalimdor/zone_darkshore.cpp index c3a76fc638..0efe73836f 100644 --- a/src/server/scripts/Kalimdor/zone_darkshore.cpp +++ b/src/server/scripts/Kalimdor/zone_darkshore.cpp @@ -552,7 +552,7 @@ public: } } - void SetGUID(ObjectGuid /*guid*/, int32 type) override + void SetGUID(ObjectGuid const& /*guid*/, int32 type) override { if (type == GUID_SCRIPT_INVOKER && _scriptRunning == false) { diff --git a/src/server/scripts/Kalimdor/zone_desolace.cpp b/src/server/scripts/Kalimdor/zone_desolace.cpp index 276c37bd85..94fb1505f0 100644 --- a/src/server/scripts/Kalimdor/zone_desolace.cpp +++ b/src/server/scripts/Kalimdor/zone_desolace.cpp @@ -129,7 +129,7 @@ public: ImmuneFlagSet(false, _faction); } - void SetGUID(ObjectGuid playerGUID, int32 faction) override + void SetGUID(ObjectGuid const& playerGUID, int32 faction) override { _playerGUID = playerGUID; _faction = faction; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp index 7f18b8474c..afc11c5ccf 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp @@ -1293,7 +1293,7 @@ public: } } - void SetGUID(ObjectGuid guid, int32 /*type*/) override + void SetGUID(ObjectGuid const& guid, int32 /*type*/) override { _chaseGUID = guid; } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp index 5deccbc0b1..5994776980 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp @@ -533,7 +533,7 @@ public: return _bloodboltedPlayers.count(guid) != 0; } - void SetGUID(ObjectGuid guid, int32 type = 0) override + void SetGUID(ObjectGuid const& guid, int32 type = 0) override { switch (type) { diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp index f4bd5ff7b0..c9cfe56d45 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp @@ -703,7 +703,7 @@ public: } } - void SetGUID(ObjectGuid guid, int32 id/* = 0*/) override + void SetGUID(ObjectGuid const& guid, int32 id/* = 0*/) override { if (id != ACTION_SHIP_VISITS_ENEMY && id != ACTION_SHIP_VISITS_SELF) return; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index 165e8e77e3..a7f0794fad 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -745,7 +745,7 @@ public: ObjectGuid targetGUID; - void SetGUID(ObjectGuid guid, int32 type) override + void SetGUID(ObjectGuid const& guid, int32 type) override { if (type == -1) targetGUID = guid; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index f647883816..2dc55ae95e 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -698,7 +698,7 @@ public: uint32 _existenceCheckTimer; uint16 _asphyxiationTimer; - void SetGUID(ObjectGuid guid, int32 type) override + void SetGUID(ObjectGuid const& guid, int32 type) override { if (type == DATA_TRAPPED_PLAYER) _trappedPlayerGUID = guid; 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 ecaf282191..b33567ca0b 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -2536,7 +2536,7 @@ public: } } - void SetGUID(ObjectGuid guid, int32 /* = 0*/) override + void SetGUID(ObjectGuid const& guid, int32 /* = 0*/) override { _grabbedPlayer = guid; } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp index 64d616b5dc..74221610a7 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp @@ -772,7 +772,7 @@ public: } } - void SetGUID(ObjectGuid guid, int32 type/* = 0*/) override + void SetGUID(ObjectGuid const& guid, int32 type/* = 0*/) override { if (type == ACTION_VRYKUL_DEATH) { diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 03d0df8393..2ff4dc6d2b 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -1421,7 +1421,7 @@ public: _playerGUID.Clear(); } - void SetGUID(ObjectGuid guid, int32 /*action*/) override + void SetGUID(ObjectGuid const& guid, int32 /*action*/) override { if (_playerGUID) return; diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp index a7eab22154..b8e6576027 100644 --- a/src/server/scripts/Northrend/zone_dragonblight.cpp +++ b/src/server/scripts/Northrend/zone_dragonblight.cpp @@ -1093,7 +1093,7 @@ public: me->GetMotionMaster()->Clear(); } - void SetGUID(ObjectGuid guid, int32 /*id*/) override + void SetGUID(ObjectGuid const& guid, int32 /*id*/) override { if (playerGUID || events.HasTimeUntilEvent(998) || events.HasTimeUntilEvent(2)) return; diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp index 3b7a60e266..df5dd8c7d3 100644 --- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp +++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp @@ -241,7 +241,7 @@ struct npc_stolen_soul : public ScriptedAI }); } - void SetGUID(ObjectGuid guid, int32 /*id*/) override + void SetGUID(ObjectGuid const& guid, int32 /*id*/) override { _targetGuid = guid; } diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp index fcf8f38c5c..a4c40812fa 100644 --- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp +++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp @@ -114,7 +114,7 @@ struct boss_murmur : public BossAI return true; } - void SetGUID(ObjectGuid guid, int32 index) override + void SetGUID(ObjectGuid const& guid, int32 index) override { if (index == GUID_MURMUR_NPCS) { diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp index e024541c82..81e4b4b5a2 100644 --- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp @@ -670,7 +670,7 @@ public: } // Used for getting involved player guid. Parameter id is used for defining if is a large(Monument) or small(Relic) node - void SetGUID(ObjectGuid guid, int32 id) override + void SetGUID(ObjectGuid const& guid, int32 id) override { me->SetCanFly(true); diff --git a/src/server/scripts/Outland/zone_nagrand.cpp b/src/server/scripts/Outland/zone_nagrand.cpp index d0c6df3803..7f462f79e5 100644 --- a/src/server/scripts/Outland/zone_nagrand.cpp +++ b/src/server/scripts/Outland/zone_nagrand.cpp @@ -303,7 +303,7 @@ public: uint32 HealTimer; uint32 FrostShockTimer; - void SetGUID(ObjectGuid guid, int32 /*questId*/) override + void SetGUID(ObjectGuid const& guid, int32 /*questId*/) override { me->SetStandState(UNIT_STAND_STATE_STAND); Start(true, false, guid); diff --git a/src/server/scripts/Outland/zone_netherstorm.cpp b/src/server/scripts/Outland/zone_netherstorm.cpp index c014ab876a..71cb5064b5 100644 --- a/src/server/scripts/Outland/zone_netherstorm.cpp +++ b/src/server/scripts/Outland/zone_netherstorm.cpp @@ -99,7 +99,7 @@ public: npc_escortAI::MoveInLineOfSight(who); } - void SetGUID(ObjectGuid playerGUID, int32 type) override + void SetGUID(ObjectGuid const& playerGUID, int32 type) override { if (type == DATA_START_ENCOUNTER) { diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp index 2bd68ffcdd..458984900f 100644 --- a/src/server/scripts/World/boss_emerald_dragons.cpp +++ b/src/server/scripts/World/boss_emerald_dragons.cpp @@ -219,7 +219,7 @@ public: }); } - void SetGUID(ObjectGuid guid, int32 type) override + void SetGUID(ObjectGuid const& guid, int32 type) override { if (type == GUID_DRAGON) { From 53238a68d312edbc8977ad760474129d75a07d6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A9=E9=B9=AD?= <18535853+PkllonG@users.noreply.github.com> Date: Mon, 13 Oct 2025 14:36:23 +0800 Subject: [PATCH 6/6] refactor(Core): DespawnOrUnsummon (#23141) --- src/server/game/AI/CreatureAI.cpp | 4 +-- src/server/game/AI/CreatureAI.h | 2 +- .../game/AI/ScriptedAI/ScriptedCreature.cpp | 8 ++--- .../game/AI/ScriptedAI/ScriptedCreature.h | 10 +++--- src/server/game/AI/SmartScripts/SmartAI.cpp | 2 +- .../game/Battlefield/Zones/BattlefieldWG.cpp | 2 +- .../game/Entities/Creature/Creature.cpp | 8 ++--- src/server/game/Entities/Creature/Creature.h | 3 +- .../game/Entities/GameObject/GameObject.cpp | 2 +- src/server/game/Entities/Pet/Pet.cpp | 6 ++-- src/server/game/Entities/Pet/Pet.h | 2 +- src/server/game/Entities/Player/Player.cpp | 6 ++-- src/server/game/Entities/Player/Player.h | 2 +- src/server/game/Entities/Unit/Unit.cpp | 2 +- src/server/game/Entities/Vehicle/Vehicle.h | 4 +-- src/server/game/Scripting/MapScripts.cpp | 2 +- src/server/game/Spells/SpellEffects.cpp | 2 +- src/server/game/Time/UpdateTime.cpp | 2 +- .../instance_blackrock_spire.cpp | 2 +- .../BlackwingLair/boss_nefarian.cpp | 2 +- .../MoltenCore/molten_core.cpp | 2 +- .../Gnomeregan/instance_gnomeregan.cpp | 2 +- .../Karazhan/boss_terestian_illhoof.cpp | 2 +- .../EasternKingdoms/Karazhan/karazhan.cpp | 4 +-- .../MagistersTerrace/boss_vexallus.cpp | 2 +- .../ScarletEnclave/chapter1.cpp | 4 +-- .../ScarletEnclave/chapter5.cpp | 10 +++--- .../Scholomance/boss_kirtonos_the_herald.cpp | 2 +- .../SunwellPlateau/boss_brutallus.cpp | 2 +- .../SunwellPlateau/boss_felmyst.cpp | 2 +- .../SunwellPlateau/boss_kiljaeden.cpp | 8 ++--- .../SunwellPlateau/boss_muru.cpp | 2 +- .../EasternKingdoms/ZulAman/boss_zuljin.cpp | 5 +-- .../EasternKingdoms/ZulAman/zulaman.cpp | 2 +- .../EasternKingdoms/ZulGurub/boss_arlokk.cpp | 2 +- .../ZulGurub/boss_mandokir.cpp | 2 +- .../scripts/EasternKingdoms/zone_duskwood.cpp | 2 +- .../zone_eastern_plaguelands.cpp | 2 +- .../zone_isle_of_queldanas.cpp | 2 +- .../EasternKingdoms/zone_undercity.cpp | 12 +++---- src/server/scripts/Events/brewfest.cpp | 2 +- src/server/scripts/Events/hallows_end.cpp | 6 ++-- src/server/scripts/Events/love_in_air.cpp | 2 +- src/server/scripts/Events/winter_veil.cpp | 2 +- .../CullingOfStratholme/boss_infinite.cpp | 8 ++--- .../CullingOfStratholme/boss_mal_ganis.cpp | 2 +- .../culling_of_stratholme.cpp | 8 ++--- .../instance_culling_of_stratholme.cpp | 2 +- .../EscapeFromDurnholdeKeep/old_hillsbrad.cpp | 2 +- .../instance_the_black_morass.cpp | 2 +- .../TheBlackMorass/the_black_morass.cpp | 16 ++++----- .../Kalimdor/DireMaul/instance_dire_maul.cpp | 2 +- .../Kalimdor/RazorfenDowns/razorfen_downs.cpp | 2 +- .../Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp | 2 +- .../TempleOfAhnQiraj/boss_bug_trio.cpp | 2 +- .../Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp | 6 ++-- .../TempleOfAhnQiraj/boss_twinemperors.cpp | 2 +- .../TempleOfAhnQiraj/temple_of_ahnqiraj.cpp | 2 +- .../scripts/Kalimdor/ZulFarrak/zulfarrak.cpp | 12 +++---- .../scripts/Kalimdor/zone_darkshore.cpp | 2 +- src/server/scripts/Kalimdor/zone_desolace.cpp | 2 +- .../scripts/Kalimdor/zone_the_barrens.cpp | 4 +-- .../scripts/Kalimdor/zone_winterspring.cpp | 8 ++--- .../ObsidianSanctum/boss_sartharion.cpp | 2 +- .../boss_baltharus_the_warborn.cpp | 2 +- .../RubySanctum/boss_halion.cpp | 2 +- .../boss_argent_challenge.cpp | 4 +-- .../TrialOfTheChampion/boss_black_knight.cpp | 2 +- .../boss_grand_champions.cpp | 2 +- .../instance_trial_of_the_champion.cpp | 2 +- .../boss_anubarak_trial.cpp | 2 +- .../TrialOfTheCrusader/boss_lord_jaraxxus.cpp | 4 +-- .../TrialOfTheCrusader/boss_twin_valkyr.cpp | 4 +-- .../instance_trial_of_the_crusader.cpp | 8 ++--- .../DraktharonKeep/boss_trollgore.cpp | 2 +- .../instance_drak_tharon_keep.cpp | 2 +- .../ForgeOfSouls/boss_bronjahm.cpp | 2 +- .../HallsOfReflection/halls_of_reflection.cpp | 2 +- .../PitOfSaron/boss_krickandick.cpp | 2 +- .../FrozenHalls/PitOfSaron/pit_of_saron.cpp | 6 ++-- .../Gundrak/boss_drakkari_colossus.cpp | 4 +-- .../Northrend/Gundrak/boss_gal_darah.cpp | 2 +- .../boss_blood_prince_council.cpp | 8 ++--- .../boss_deathbringer_saurfang.cpp | 2 +- .../boss_icecrown_gunship_battle.cpp | 6 ++-- .../boss_lady_deathwhisper.cpp | 6 ++-- .../IcecrownCitadel/boss_lord_marrowgar.cpp | 6 ++-- .../boss_professor_putricide.cpp | 8 ++--- .../IcecrownCitadel/boss_rotface.cpp | 6 ++-- .../IcecrownCitadel/boss_sindragosa.cpp | 2 +- .../IcecrownCitadel/boss_the_lich_king.cpp | 32 ++++++++--------- .../boss_valithria_dreamwalker.cpp | 22 ++++++------ .../IcecrownCitadel/icecrown_citadel.cpp | 8 ++--- .../instance_icecrown_citadel.cpp | 4 +-- .../Northrend/Naxxramas/boss_kelthuzad.cpp | 2 +- .../Nexus/EyeOfEternity/boss_malygos.cpp | 10 +++--- .../instance_eye_of_eternity.cpp | 2 +- .../Nexus/Nexus/boss_magus_telestra.cpp | 2 +- .../scripts/Northrend/Nexus/Oculus/oculus.cpp | 6 ++-- .../Ulduar/HallsOfLightning/boss_ionar.cpp | 2 +- .../Ulduar/HallsOfLightning/boss_volkhan.cpp | 2 +- .../Ulduar/HallsOfStone/brann_bronzebeard.cpp | 2 +- .../Ulduar/boss_algalon_the_observer.cpp | 14 ++++---- .../Ulduar/Ulduar/boss_assembly_of_iron.cpp | 6 ++-- .../Northrend/Ulduar/Ulduar/boss_auriaya.cpp | 2 +- .../Ulduar/Ulduar/boss_flame_leviathan.cpp | 8 ++--- .../Northrend/Ulduar/Ulduar/boss_freya.cpp | 8 ++--- .../Ulduar/Ulduar/boss_general_vezax.cpp | 2 +- .../Northrend/Ulduar/Ulduar/boss_hodir.cpp | 6 ++-- .../Northrend/Ulduar/Ulduar/boss_kologarn.cpp | 4 +-- .../Northrend/Ulduar/Ulduar/boss_mimiron.cpp | 18 +++++----- .../Northrend/Ulduar/Ulduar/boss_thorim.cpp | 4 +-- .../Northrend/Ulduar/Ulduar/boss_xt002.cpp | 4 +-- .../Ulduar/Ulduar/boss_yoggsaron.cpp | 2 +- .../UtgardeKeep/UtgardeKeep/boss_keleseth.cpp | 2 +- .../Northrend/VioletHold/boss_ichoron.cpp | 2 +- .../Northrend/VioletHold/boss_xevozz.cpp | 2 +- .../Northrend/VioletHold/boss_zuramat.cpp | 2 +- .../Northrend/VioletHold/violet_hold.cpp | 4 +-- .../scripts/Northrend/zone_borean_tundra.cpp | 2 +- .../Northrend/zone_crystalsong_forest.cpp | 4 +-- .../scripts/Northrend/zone_dragonblight.cpp | 28 +++++++-------- .../scripts/Northrend/zone_grizzly_hills.cpp | 34 +++++++++---------- .../scripts/Northrend/zone_howling_fjord.cpp | 4 +-- .../scripts/Northrend/zone_icecrown.cpp | 20 +++++------ .../scripts/Northrend/zone_storm_peaks.cpp | 6 ++-- src/server/scripts/Northrend/zone_zuldrak.cpp | 6 ++-- .../Outland/BlackTemple/boss_illidan.cpp | 4 +-- .../BlackTemple/boss_reliquary_of_souls.cpp | 2 +- .../BlackTemple/boss_shade_of_akama.cpp | 2 +- .../boss_fathomlord_karathress.cpp | 6 ++-- .../SerpentShrine/boss_lurker_below.cpp | 2 +- .../SerpentShrine/instance_serpent_shrine.cpp | 2 +- .../SlavePens/boss_ahune.cpp | 2 +- .../underbog/boss_hungarfen.cpp | 2 +- .../boss_vazruden_the_herald.cpp | 4 +-- .../MagtheridonsLair/boss_magtheridon.cpp | 2 +- .../Outland/TempestKeep/Eye/boss_kaelthas.cpp | 2 +- .../Outland/zone_blades_edge_mountains.cpp | 8 ++--- src/server/scripts/Outland/zone_nagrand.cpp | 2 +- src/server/scripts/Pet/pet_generic.cpp | 6 ++-- src/server/scripts/Spells/spell_generic.cpp | 2 +- src/server/scripts/Spells/spell_hunter.cpp | 2 +- src/server/scripts/Spells/spell_item.cpp | 6 ++-- src/server/scripts/Spells/spell_quest.cpp | 21 ++++++------ .../scripts/World/boss_emerald_dragons.cpp | 2 +- src/server/scripts/World/go_scripts.cpp | 4 +-- .../scripts/World/npc_stave_of_ancients.cpp | 16 ++++----- 148 files changed, 363 insertions(+), 366 deletions(-) diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp index 12698c35dc..f338e77895 100644 --- a/src/server/game/AI/CreatureAI.cpp +++ b/src/server/game/AI/CreatureAI.cpp @@ -50,9 +50,9 @@ AISpellInfoType* GetAISpellInfo(uint32 i) { return &CreatureAI::AISpellInfo[i]; * @param WorldObject target The target of the speech, in case it has elements such as $n, where the target's name will be referrenced. * @param Milliseconds delay Delay until the creature says the text line. Creatures will talk immediately by default. */ -void CreatureAI::Talk(uint8 id, WorldObject const* target /*= nullptr*/, Milliseconds delay /*= 0s*/) +void CreatureAI::Talk(uint8 id, WorldObject const* target /*= nullptr*/, Milliseconds delay /*= 0ms*/) { - if (delay > Seconds::zero()) + if (delay > 0ms) { ObjectGuid targetGuid; diff --git a/src/server/game/AI/CreatureAI.h b/src/server/game/AI/CreatureAI.h index cadd3b9f4c..72686bf6ab 100644 --- a/src/server/game/AI/CreatureAI.h +++ b/src/server/game/AI/CreatureAI.h @@ -94,7 +94,7 @@ public: EVADE_REASON_OTHER }; - void Talk(uint8 id, WorldObject const* whisperTarget = nullptr, Milliseconds delay = 0s); + void Talk(uint8 id, WorldObject const* whisperTarget = nullptr, Milliseconds delay = 0ms); void Talk(uint8 id, Milliseconds delay) { Talk(id, nullptr, delay); } WorldObject* GetSummoner() const; diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp index 30373f2f65..7a009d0aed 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp @@ -68,7 +68,7 @@ void SummonList::DespawnEntry(uint32 entry) } } -void SummonList::DespawnAll(uint32 delay /*= 0*/) +void SummonList::DespawnAll(Milliseconds delay /*= 0ms*/) { while (!storage_.empty()) { @@ -325,13 +325,13 @@ void ScriptedAI::ScheduleTimedEvent(Milliseconds timerMin, Milliseconds timerMax return; } - scheduler.Schedule(timerMin == 0s ? timerMax : timerMin, timerMax, [exec, repeatMin, repeatMax, uniqueId](TaskContext context) + scheduler.Schedule(timerMin == 0ms ? timerMax : timerMin, timerMax, [exec, repeatMin, repeatMax, uniqueId](TaskContext context) { exec(); if (!uniqueId) { - repeatMax > 0s ? context.Repeat(repeatMin, repeatMax) : context.Repeat(repeatMin); + repeatMax > 0ms ? context.Repeat(repeatMin, repeatMax) : context.Repeat(repeatMin); } }); @@ -654,7 +654,7 @@ void BossAI::_JustEngagedWith() ScheduleTasks(); if (callForHelpRange) { - ScheduleTimedEvent(0s, [&] + ScheduleTimedEvent(0ms, [&] { me->CallForHelp(callForHelpRange); }, 2s); diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h index f3d9e11a51..c5c71af9ff 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h @@ -88,7 +88,7 @@ public: void Summon(Creature const* summon) { storage_.push_back(summon->GetGUID()); } void Despawn(Creature const* summon) { storage_.remove(summon->GetGUID()); } void DespawnEntry(uint32 entry); - void DespawnAll(uint32 delay = 0); + void DespawnAll(Milliseconds delay = 0ms); bool IsAnyCreatureAlive() const; bool IsAnyCreatureWithEntryAlive(uint32 entry) const; bool IsAnyCreatureInCombat() const; @@ -355,11 +355,11 @@ struct ScriptedAI : public CreatureAI void ClearUniqueTimedEventsDone() { _uniqueTimedEvents.clear(); } // Schedules a timed event using task scheduler. - void ScheduleTimedEvent(Milliseconds timerMin, Milliseconds timerMax, std::function exec, Milliseconds repeatMin, Milliseconds repeatMax = 0s, uint32 uniqueId = 0); - void ScheduleTimedEvent(Milliseconds timerMax, std::function exec, Milliseconds repeatMin, Milliseconds repeatMax = 0s, uint32 uniqueId = 0) { ScheduleTimedEvent(0s, timerMax, exec, repeatMin, repeatMax, uniqueId); }; + void ScheduleTimedEvent(Milliseconds timerMin, Milliseconds timerMax, std::function exec, Milliseconds repeatMin, Milliseconds repeatMax = 0ms, uint32 uniqueId = 0); + void ScheduleTimedEvent(Milliseconds timerMax, std::function exec, Milliseconds repeatMin, Milliseconds repeatMax = 0ms, uint32 uniqueId = 0) { ScheduleTimedEvent(0ms, timerMax, exec, repeatMin, repeatMax, uniqueId); }; // Schedules a timed event using task scheduler that never repeats. Requires an unique non-zero ID. - void ScheduleUniqueTimedEvent(Milliseconds timer, std::function exec, uint32 uniqueId) { ScheduleTimedEvent(0s, timer, exec, 0s, 0s, uniqueId); }; + void ScheduleUniqueTimedEvent(Milliseconds timer, std::function exec, uint32 uniqueId) { ScheduleTimedEvent(0ms, timer, exec, 0ms, 0ms, uniqueId); }; bool HealthBelowPct(uint32 pct) const { return me->HealthBelowPct(pct); } bool HealthAbovePct(uint32 pct) const { return me->HealthAbovePct(pct); } @@ -463,7 +463,7 @@ enum HealthCheckStatus struct HealthCheckEventData { - HealthCheckEventData(uint8 healthPct, std::function exec, uint8 status = HEALTH_CHECK_SCHEDULED, bool allowedWhileCasting = true, Milliseconds Delay = 0s) : _healthPct(healthPct), _exec(exec), _status(status), _allowedWhileCasting(allowedWhileCasting), _delay(Delay) { }; + HealthCheckEventData(uint8 healthPct, std::function exec, uint8 status = HEALTH_CHECK_SCHEDULED, bool allowedWhileCasting = true, Milliseconds Delay = 0ms) : _healthPct(healthPct), _exec(exec), _status(status), _allowedWhileCasting(allowedWhileCasting), _delay(Delay) { }; uint8 _healthPct; std::function _exec; diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index c1dead6663..fc130cca49 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -410,7 +410,7 @@ void SmartAI::UpdatePath(const uint32 diff) // Xinef: allow to properly hook out of range despawn action, which in most cases should perform the same operation as dying GetScript()->ProcessEventsFor(SMART_EVENT_DEATH, me); - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); return; } mEscortInvokerCheckTimer = 1000; diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp index c0a4f55362..89eef49ae5 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp @@ -415,7 +415,7 @@ void BattlefieldWG::OnBattleEnd(bool endByTimer) { for (GuidUnorderedSet::const_iterator itr = m_vehicles[team].begin(); itr != m_vehicles[team].end(); ++itr) if (Creature* creature = GetCreature(*itr)) - creature->DespawnOrUnsummon(1); + creature->DespawnOrUnsummon(1ms); m_vehicles[team].clear(); } diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index fe39491c0b..451975e1bb 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -251,7 +251,7 @@ CreatureBaseStats const* CreatureBaseStats::GetBaseStats(uint8 level, uint8 unit bool ForcedDespawnDelayEvent::Execute(uint64 /*e_time*/, uint32 /*p_time*/) { - m_owner.DespawnOrUnsummon(0s, m_respawnTimer); // since we are here, we are not TempSummon as object type cannot change during runtime + m_owner.DespawnOrUnsummon(0ms, m_respawnTimer); // since we are here, we are not TempSummon as object type cannot change during runtime return true; } @@ -2174,12 +2174,12 @@ void Creature::ForcedDespawn(uint32 timeMSToDespawn, Seconds forceRespawnTimer) // Xinef: Set new respawn time, ignore corpse decay time... RemoveCorpse(true); - if (forceRespawnTimer > Seconds::zero()) + if (forceRespawnTimer > 0s) if (GetMap()) GetMap()->ScheduleCreatureRespawn(GetGUID(), forceRespawnTimer); } -void Creature::DespawnOrUnsummon(Milliseconds msTimeToDespawn /*= 0*/, Seconds forcedRespawnTimer) +void Creature::DespawnOrUnsummon(Milliseconds msTimeToDespawn /*= 0ms*/, Seconds forcedRespawnTimer /*= 0s*/) { if (TempSummon* summon = this->ToTempSummon()) summon->UnSummon(msTimeToDespawn.count()); @@ -2204,7 +2204,7 @@ void Creature::DespawnOnEvade(Seconds respawnDelay) return; } - DespawnOrUnsummon(Milliseconds(0), respawnDelay); + DespawnOrUnsummon(0ms, respawnDelay); } void Creature::InitializeReactState() diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index 950bc5367c..93baba17a1 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -283,8 +283,7 @@ public: void RemoveCorpse(bool setSpawnTime = true, bool skipVisibility = false); - void DespawnOrUnsummon(Milliseconds msTimeToDespawn, Seconds forcedRespawnTimer); - void DespawnOrUnsummon(uint32 msTimeToDespawn = 0) { DespawnOrUnsummon(Milliseconds(msTimeToDespawn), 0s); }; + void DespawnOrUnsummon(Milliseconds msTimeToDespawn = 0ms, Seconds forcedRespawnTimer = 0s); void DespawnOnEvade(Seconds respawnDelay = 20s); [[nodiscard]] time_t const& GetRespawnTime() const { return m_respawnTime; } diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 4bad8703e3..08d2abdc53 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -929,7 +929,7 @@ void GameObject::AddUniqueUse(Player* player) m_unique_users.insert(player->GetGUID()); } -void GameObject::DespawnOrUnsummon(Milliseconds delay, Seconds forceRespawnTime) +void GameObject::DespawnOrUnsummon(Milliseconds delay /*= 0ms*/, Seconds forceRespawnTime /*= 0s*/) { if (delay > 0ms) { diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index dc33162260..f730f99e28 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -692,7 +692,7 @@ void Pet::Update(uint32 diff) } } - if (m_duration > 0s) + if (m_duration > 0ms) { if (m_duration > _diff) m_duration -= _diff; @@ -708,7 +708,7 @@ void Pet::Update(uint32 diff) if (getPowerType() == POWER_FOCUS) { m_petRegenTimer -= _diff; - if (m_petRegenTimer <= 0s) + if (m_petRegenTimer <= 0ms) { m_petRegenTimer += PET_FOCUS_REGEN_INTERVAL; Regenerate(POWER_FOCUS); @@ -1026,7 +1026,7 @@ bool Guardian::InitStatsForLevel(uint8 petlevel) Unit* owner = GetOwner(); if (!owner) // just to be sure, asynchronous now { - DespawnOrUnsummon(1000); + DespawnOrUnsummon(1s); return false; } diff --git a/src/server/game/Entities/Pet/Pet.h b/src/server/game/Entities/Pet/Pet.h index e737bab11f..9190202d4f 100644 --- a/src/server/game/Entities/Pet/Pet.h +++ b/src/server/game/Entities/Pet/Pet.h @@ -52,7 +52,7 @@ public: PetType getPetType() const { return m_petType; } void setPetType(PetType type) { m_petType = type; } bool isControlled() const { return getPetType() == SUMMON_PET || getPetType() == HUNTER_PET; } - bool isTemporarySummoned() const { return m_duration > 0s; } + bool isTemporarySummoned() const { return m_duration > 0ms; } bool IsPermanentPetFor(Player* owner) const; // pet have tab in character windows and set UNIT_FIELD_PETNUMBER diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a8cb733de5..6823182dda 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -9014,7 +9014,7 @@ Pet* Player::GetPet() const return nullptr; } -Pet* Player::SummonPet(uint32 entry, float x, float y, float z, float ang, PetType petType, Milliseconds duration /*= 0s*/, uint32 healthPct /*= 0*/) +Pet* Player::SummonPet(uint32 entry, float x, float y, float z, float ang, PetType petType, Milliseconds duration /*= 0ms*/, uint32 healthPct /*= 0*/) { PetStable& petStable = GetOrInitPetStable(); @@ -9035,7 +9035,7 @@ Pet* Player::SummonPet(uint32 entry, float x, float y, float z, float ang, PetTy ++itr; } - if (duration > 0s) + if (duration > 0ms) pet->SetDuration(duration); // Generate a new name for the newly summoned ghoul @@ -9129,7 +9129,7 @@ Pet* Player::SummonPet(uint32 entry, float x, float y, float z, float ang, PetTy } } - if (duration > 0s) + if (duration > 0ms) pet->SetDuration(duration); if (NeedSendSpectatorData() && pet->GetCreatureTemplate()->family) diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 1e57a56494..ef7ca602d9 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1210,7 +1210,7 @@ public: [[nodiscard]] PetStable const* GetPetStable() const { return m_petStable.get(); } [[nodiscard]] Pet* GetPet() const; - Pet* SummonPet(uint32 entry, float x, float y, float z, float ang, PetType petType, Milliseconds duration = 0s, uint32 healthPct = 0); + Pet* SummonPet(uint32 entry, float x, float y, float z, float ang, PetType petType, Milliseconds duration = 0ms, uint32 healthPct = 0); void RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent = false); bool CanPetResurrect(); bool IsExistPet(); diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 1fbbf0d9c7..0495dd9e82 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -19681,7 +19681,7 @@ void Unit::_ExitVehicle(Position const* exitPosition) else if (vehicleBase->IsCreature()) { vehicle->Uninstall(); - vehicleBase->m_Events.AddEvent(new VehicleDespawnEvent(*vehicleBase, 2000), vehicleBase->m_Events.CalculateTime(2000)); + vehicleBase->m_Events.AddEventAtOffset(new VehicleDespawnEvent(*vehicleBase, 2s), 2s); } // xinef: ugly hack, no appripriate hook later to cast spell diff --git a/src/server/game/Entities/Vehicle/Vehicle.h b/src/server/game/Entities/Vehicle/Vehicle.h index 3d5115e7f0..efc2d7aac3 100644 --- a/src/server/game/Entities/Vehicle/Vehicle.h +++ b/src/server/game/Entities/Vehicle/Vehicle.h @@ -100,12 +100,12 @@ private: class VehicleDespawnEvent : public BasicEvent { public: - VehicleDespawnEvent(Unit& self, uint32 duration) : _self(self), _duration(duration) { } + VehicleDespawnEvent(Unit& self, Milliseconds duration) : _self(self), _duration(duration) { } bool Execute(uint64 e_time, uint32 p_time) override; protected: Unit& _self; - uint32 _duration; + Milliseconds _duration; }; #endif diff --git a/src/server/game/Scripting/MapScripts.cpp b/src/server/game/Scripting/MapScripts.cpp index e7389b4d1f..f09223b753 100644 --- a/src/server/game/Scripting/MapScripts.cpp +++ b/src/server/game/Scripting/MapScripts.cpp @@ -757,7 +757,7 @@ void Map::ScriptsProcess() case SCRIPT_COMMAND_DESPAWN_SELF: // Target or source must be Creature. if (Creature* cSource = _GetScriptCreatureSourceOrTarget(source, target, step.script, true)) - cSource->DespawnOrUnsummon(step.script->DespawnSelf.DespawnDelay); + cSource->DespawnOrUnsummon(Milliseconds(step.script->DespawnSelf.DespawnDelay)); break; case SCRIPT_COMMAND_LOAD_PATH: diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index a95f99367d..7c0cd6c45e 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -5213,7 +5213,7 @@ void Spell::EffectResurrectPet(SpellEffIndex /*effIndex*/) { // Position passed to SummonPet is irrelevant with current implementation, // pet will be relocated without using these coords in Pet::LoadPetFromDB - player->SummonPet(0, 0.0f, 0.0f, 0.0f, 0.0f, SUMMON_PET, 0s, damage); + player->SummonPet(0, 0.0f, 0.0f, 0.0f, 0.0f, SUMMON_PET, 0ms, damage); return; } diff --git a/src/server/game/Time/UpdateTime.cpp b/src/server/game/Time/UpdateTime.cpp index 3b584a6155..cebb105df0 100644 --- a/src/server/game/Time/UpdateTime.cpp +++ b/src/server/game/Time/UpdateTime.cpp @@ -162,7 +162,7 @@ void WorldUpdateTime::SetRecordUpdateTimeInterval(Milliseconds t) void WorldUpdateTime::RecordUpdateTime(Milliseconds gameTimeMs, uint32 diff, uint32 sessionCount) { - if (_recordUpdateTimeInverval > 0s && diff > _recordUpdateTimeMin.count()) + if (_recordUpdateTimeInverval > 0ms && diff > _recordUpdateTimeMin.count()) { if (GetMSTimeDiff(_lastRecordTime, gameTimeMs) > _recordUpdateTimeInverval) { diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp index 54809c6e5e..8c5af306e5 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp @@ -1046,7 +1046,7 @@ public: break; case EVENT_VAEL_3_DESPAWN: DoCast(me, SPELL_VAELASTRASZ_SPAWN); - me->DespawnOrUnsummon(1500); + me->DespawnOrUnsummon(1500ms); break; default: break; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp index 614976c5ae..712f9c5a2b 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp @@ -435,7 +435,7 @@ public: break; case EVENT_SUCCESS_2: DoCast(me, SPELL_VAELASTRASZZ_SPAWN); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); break; case EVENT_PATH_3: me->GetMotionMaster()->MovePath(NEFARIUS_PATH_3, false); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.cpp index 9d1d0033e2..73afa5f049 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.cpp @@ -199,7 +199,7 @@ class spell_mc_play_dead_aura : public AuraScript else { Unit::Kill(creatureTarget, creatureTarget); - creatureTarget->DespawnOrUnsummon(14000); + creatureTarget->DespawnOrUnsummon(14s); } } diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp index b1afd209a6..bfc418d000 100644 --- a/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp +++ b/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp @@ -146,7 +146,7 @@ public: { if (Player* player = ObjectAccessor::GetPlayer(*me, playerGUID)) player->GroupEventHappens(QUEST_A_FINE_MESS, me); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } } } diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp index 3b5092fab2..fa32df8185 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp @@ -88,7 +88,7 @@ struct npc_kilrek : public ScriptedAI DoCast(Terestian, SPELL_BROKEN_PACT, true); } } - me->DespawnOrUnsummon(15000); + me->DespawnOrUnsummon(15s); } void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp index cf45992a8e..955b26e4c7 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp @@ -523,9 +523,9 @@ public: } } - me->DespawnOrUnsummon(100); + me->DespawnOrUnsummon(100ms); if (Creature* arca = ObjectAccessor::GetCreature((*me), ArcanagosGUID)) - arca->DespawnOrUnsummon(100); + arca->DespawnOrUnsummon(100ms); return 5000; default: diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp index 403782eed0..0e04c702c8 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp @@ -141,7 +141,7 @@ struct boss_vexallus : public BossAI void SummonedCreatureDies(Creature* summon, Unit* killer) override { summons.Despawn(summon); - summon->DespawnOrUnsummon(1); + summon->DespawnOrUnsummon(1ms); if (killer) killer->CastSpell(killer, SPELL_ENERGY_FEEDBACK, true, 0, 0, summon->GetGUID()); } diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index c8244d4938..13ebb56647 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -230,7 +230,7 @@ public: me->RemoveAllAuras(); me->CastSpell(attacker, SPELL_DUEL_VICTORY, true); me->RestoreFaction(); - me->DespawnOrUnsummon(10000); + me->DespawnOrUnsummon(10s); } } } @@ -407,7 +407,7 @@ public: { if (type == POINT_MOTION_TYPE && point == 1) { - me->DespawnOrUnsummon(1500); + me->DespawnOrUnsummon(1500ms); me->CastSpell(me, SPELL_GHOUL_SUBMERGE, true); } } diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp index d77e5756e9..54a367f8fc 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp @@ -692,7 +692,7 @@ public: orbaz->SetReactState(REACT_PASSIVE); orbaz->AI()->Talk(EMOTE_LIGHT_OF_DAWN04); orbaz->GetMotionMaster()->MovePoint(2, LightOfDawnPos[2], true, true); - orbaz->DespawnOrUnsummon(7000); + orbaz->DespawnOrUnsummon(7s); } for (SummonList::const_iterator itr = summons.begin(); itr != summons.end(); ++itr) @@ -839,7 +839,7 @@ public: alex->AI()->Talk(SAY_LIGHT_OF_DAWN41); if (Creature* darion = GetEntryFromSummons(NPC_DARION_MOGRAINE)) - darion->DespawnOrUnsummon(3000); + darion->DespawnOrUnsummon(3s); break; case EVENT_OUTRO_SCENE_19: if (Creature* alex = GetEntryFromSummons(NPC_HIGHLORD_ALEXANDROS_MOGRAINE)) @@ -886,7 +886,7 @@ public: case EVENT_OUTRO_SCENE_23: if (Creature* alex = GetEntryFromSummons(NPC_HIGHLORD_ALEXANDROS_MOGRAINE)) { - alex->DespawnOrUnsummon(5000); + alex->DespawnOrUnsummon(5s); alex->SetVisible(false); } break; @@ -1055,7 +1055,7 @@ public: if (Creature* lk = GetEntryFromSummons(NPC_THE_LICH_KING)) { lk->CastSpell(lk, SPELL_EXIT_TELEPORT_VISUAL, true); - lk->DespawnOrUnsummon(1500); + lk->DespawnOrUnsummon(1500ms); } if (Creature* tirion = GetEntryFromSummons(NPC_HIGHLORD_TIRION_FORDRING)) @@ -1145,7 +1145,7 @@ public: } case EVENT_OUTRO_SCENE_61: summons.DespawnAll(); - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); events.Reset(); return; } diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp index b58ad2de39..4634ead0ef 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp @@ -103,7 +103,7 @@ public: void EnterEvadeMode(EvadeReason /*why*/) override { instance->SetData(DATA_KIRTONOS_THE_HERALD, FAIL); - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } void MovementInform(uint32 type, uint32 id) override diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp index b41f445482..bcfc6b6b8e 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp @@ -360,7 +360,7 @@ struct npc_madrigosa : public NullCreatureAI break; case EVENT_SPAWN_FELMYST: DoCastAOE(SPELL_SUMMON_FELBLAZE, true); - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); break; } } diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp index c9b0ad3f12..241ec277ab 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp @@ -425,7 +425,7 @@ struct npc_demonic_vapor_trail : public NullCreatureAI void Reset() override { me->CastSpell(me, SPELL_DEMONIC_VAPOR_TRAIL_PERIODIC, true); - me->DespawnOrUnsummon(20000); + me->DespawnOrUnsummon(20s); } void SpellHitTarget(Unit* /*unit*/, SpellInfo const* spellInfo) override diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp index 40352f3012..d331a96584 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp @@ -387,7 +387,7 @@ struct boss_kiljaeden : public BossAI { anveena->RemoveAllAuras(); anveena->CastSpell(anveena, SPELL_SACRIFICE_OF_ANVEENA, true); - anveena->DespawnOrUnsummon(1500); + anveena->DespawnOrUnsummon(1500ms); DoCastSelf(SPELL_CUSTOM_08_STATE, true); me->SetUnitFlag(UNIT_FLAG_PACIFIED); scheduler.CancelAll(); @@ -555,7 +555,7 @@ struct boss_kiljaeden : public BossAI summon->CastSpell(summon, SPELL_ARMAGEDDON_VISUAL, true); summon->SetPosition(summon->GetPositionX(), summon->GetPositionY(), summon->GetPositionZ() + 20.0f, 0.0f); summon->m_Events.AddEvent(new CastArmageddon(summon), summon->m_Events.CalculateTime(6000)); - summon->DespawnOrUnsummon(urand(8000, 10000)); + summon->DespawnOrUnsummon(randtime(8s, 10s)); } } @@ -919,7 +919,7 @@ struct npc_kalecgos_kj : public NullCreatureAI if (Creature* velen = summons.GetCreatureWithEntry(NPC_PROPHET_VELEN)) { velen->GetMotionMaster()->MovePoint(0, 1739.38f, 643.79f, 28.06f); - velen->DespawnOrUnsummon(5000); + velen->DespawnOrUnsummon(5s); } events.ScheduleEvent(eventId + 1, 3s); break; @@ -929,7 +929,7 @@ struct npc_kalecgos_kj : public NullCreatureAI if (summon->GetEntry() == NPC_SHATTERED_SUN_SOLDIER) { summon->GetMotionMaster()->MovePoint(0, 1739.38f, 643.79f, 28.06f); - summon->DespawnOrUnsummon(summon->GetExactDist2d(1734.96f, 642.43f) * 100); + summon->DespawnOrUnsummon(Milliseconds(uint32(summon->GetExactDist2d(1734.96f, 642.43f) * 100))); } events.ScheduleEvent(eventId + 1, 7s); break; diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp index 863954f0ff..d2cc53486d 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp @@ -274,7 +274,7 @@ struct npc_singularity : public NullCreatureAI void Reset() override { - me->DespawnOrUnsummon(18000); + me->DespawnOrUnsummon(18s); me->m_Events.AddEventAtOffset([&] { DoCastSelf(SPELL_BLACK_HOLE_SUMMON_VISUAL, true); diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp index b33a057db3..7add91965c 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp @@ -285,10 +285,7 @@ struct boss_zuljin : public BossAI instance->SetBossState(DATA_ZULJIN, DONE); Talk(SAY_DEATH); summons.DespawnEntry(CREATURE_COLUMN_OF_FIRE); - - me->m_Events.AddEventAtOffset( [this] { - summons.DespawnAll(); - }, 3s); + summons.DespawnAll(3s); } void SpawnAdds() diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp index 39fca29ffa..4b28c85feb 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp @@ -78,7 +78,7 @@ struct npc_forest_frog : public ScriptedAI void MovementInform(uint32 type, uint32 data) override { if (type == POINT_MOTION_TYPE && data == POINT_DESPAWN) - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp index 7046c02a22..4b90e0ea21 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp @@ -355,7 +355,7 @@ public: if (arlokk->IsAlive()) arlokk->GetAI()->SetData(_sideData, 0); } - me->DespawnOrUnsummon(4000); + me->DespawnOrUnsummon(4s); } void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp index ad623291ff..7ba24407fe 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp @@ -641,7 +641,7 @@ public: { DoCast(target, SPELL_REVIVE); } - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } } diff --git a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp index d7d06ac3f4..14a1aa6b78 100644 --- a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp +++ b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp @@ -64,7 +64,7 @@ struct boss_twilight_corrupter : public ScriptedAI { if (creature->IsAlive() && me->GetGUID() != creature->GetGUID()) { - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); break; } } diff --git a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp index 6f9246e3fa..5357b8e14f 100644 --- a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp @@ -262,7 +262,7 @@ public: if (Unit* creature = summon->GetSummonerUnit()) creature->GetAI()->DoAction(1); - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } void JustDied(Unit*) override diff --git a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp index 246a1246f7..c3d7edd075 100644 --- a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp +++ b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp @@ -586,7 +586,7 @@ public: case 13: me->setActive(false); if (Creature* c = me->FindNearestCreature(NPC_SUNWELL_VISUAL_BUNNY, 60.0f, true)) - c->DespawnOrUnsummon(1); + c->DespawnOrUnsummon(1ms); if (GameObject* go = me->FindNearestGameObject(GO_QUEL_DELAR, 60.0f)) go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); me->SetWalk(true); diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp index efd608da07..6931fa59c2 100644 --- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp +++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp @@ -3054,10 +3054,10 @@ public: if (Creature* valimathras = ObjectAccessor::GetCreature(*me, ValimathrasGUID)) { valimathras->GetMotionMaster()->MovePoint(0, 1804.559f, 235.504f, 62.753f); - valimathras->DespawnOrUnsummon(3 * IN_MILLISECONDS); + valimathras->DespawnOrUnsummon(3s); } if (Creature* valimathrasportal = ObjectAccessor::GetCreature(*me, ValimathrasPortalGUID)) - valimathrasportal->DespawnOrUnsummon(6 * IN_MILLISECONDS); + valimathrasportal->DespawnOrUnsummon(6s); JumpToNextStep(1 * IN_MILLISECONDS); break; case 26: @@ -3332,10 +3332,10 @@ public: if (Creature* valimathras = ObjectAccessor::GetCreature(*me, ValimathrasGUID)) { valimathras->GetMotionMaster()->MovePoint(0, 1596.642f, 429.811f, -46.3429f); - valimathras->DespawnOrUnsummon(3 * IN_MILLISECONDS); + valimathras->DespawnOrUnsummon(3s); } if (Creature* valimathrasportal = ObjectAccessor::GetCreature(*me, ValimathrasPortalGUID)) - valimathrasportal->DespawnOrUnsummon(3 * IN_MILLISECONDS); + valimathrasportal->DespawnOrUnsummon(3s); JumpToNextStep(2 * IN_MILLISECONDS); break; // KHANOK - Trashspawn @@ -3865,8 +3865,8 @@ public: me->GetCreatureListWithEntryInGrid(HelperList, NPC_OVERLORD_SAURFANG, 100.0f); if (!HelperList.empty()) for (std::list::iterator itr = HelperList.begin(); itr != HelperList.end(); itr++) - (*itr)->DespawnOrUnsummon(120 * IN_MILLISECONDS); - me->DespawnOrUnsummon(120 * IN_MILLISECONDS); + (*itr)->DespawnOrUnsummon(120s); + me->DespawnOrUnsummon(120s); bStepping = false; JumpToNextStep(0 * IN_MILLISECONDS); break; diff --git a/src/server/scripts/Events/brewfest.cpp b/src/server/scripts/Events/brewfest.cpp index 84138e5d38..c743ed2456 100644 --- a/src/server/scripts/Events/brewfest.cpp +++ b/src/server/scripts/Events/brewfest.cpp @@ -603,7 +603,7 @@ struct npc_dark_iron_attack_mole_machine : public ScriptedAI { me->SummonCreature(NPC_DARK_IRON_GUZZLER, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 6000); summonTimer = 0; - me->DespawnOrUnsummon(3000); + me->DespawnOrUnsummon(3s); } } } diff --git a/src/server/scripts/Events/hallows_end.cpp b/src/server/scripts/Events/hallows_end.cpp index a7a2d2b642..5bda46f138 100644 --- a/src/server/scripts/Events/hallows_end.cpp +++ b/src/server/scripts/Events/hallows_end.cpp @@ -697,7 +697,7 @@ struct npc_hallows_end_soh : public ScriptedAI void EnterEvadeMode(EvadeReason /* why */) override { - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } uint32 GetData(uint32 /*type*/) const override @@ -848,7 +848,7 @@ struct npc_hallows_end_soh : public ScriptedAI if (Unit* c = ObjectAccessor::GetUnit(*me, guid)) c->RemoveAllAuras(); - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } else { @@ -1029,7 +1029,7 @@ struct boss_headless_horseman : public ScriptedAI std::list unitList; me->GetCreaturesWithEntryInRange(unitList, 100.0f, NPC_PUMPKIN_FIEND); for (std::list::iterator itr = unitList.begin(); itr != unitList.end(); ++itr) - (*itr)->ToCreature()->DespawnOrUnsummon(500); + (*itr)->ToCreature()->DespawnOrUnsummon(500ms); Map::PlayerList const& players = me->GetMap()->GetPlayers(); if (!players.IsEmpty() && players.begin()->GetSource() && players.begin()->GetSource()->GetGroup()) diff --git a/src/server/scripts/Events/love_in_air.cpp b/src/server/scripts/Events/love_in_air.cpp index 6c5a2aedb0..6a22e8e839 100644 --- a/src/server/scripts/Events/love_in_air.cpp +++ b/src/server/scripts/Events/love_in_air.cpp @@ -247,7 +247,7 @@ struct npc_love_in_air_snivel_real : public ScriptedAI if (Unit* owner = me->ToTempSummon()->GetSummonerUnit()) me->CastSpell(owner, SPELL_SNIVEL_GUN, true); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } } } diff --git a/src/server/scripts/Events/winter_veil.cpp b/src/server/scripts/Events/winter_veil.cpp index 6a66ed29e6..a1a53a0422 100644 --- a/src/server/scripts/Events/winter_veil.cpp +++ b/src/server/scripts/Events/winter_veil.cpp @@ -192,7 +192,7 @@ class spell_winter_veil_racer_slam_hit : public SpellScript return; target->CastSpell(target->GetPositionX() + irand(-10, 10), target->GetPositionY() + irand(-10, 10), target->GetPositionZ(), SPELL_RACER_DEATH_VISUAL, true); - target->DespawnOrUnsummon(3000); + target->DespawnOrUnsummon(3s); target->CastSpell(target, SPELL_RACER_FLAMES, true); caster->CastSpell(caster, SPELL_RACER_KILL_COUNTER, true); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp index d5983c7eab..854b43b389 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp @@ -67,7 +67,7 @@ public: summons.DespawnAll(); if (InstanceScript* pInstance = me->GetInstanceScript()) if (pInstance->GetData(DATA_GUARDIANTIME_EVENT) == 0) - me->DespawnOrUnsummon(500); + me->DespawnOrUnsummon(500ms); me->SummonCreature(NPC_TIME_RIFT, 2337.6f, 1270.0f, 132.95f, 2.79f); me->SummonCreature(NPC_GUARDIAN_OF_TIME, 2319.3f, 1267.7f, 132.8f, 1.0f); @@ -93,11 +93,11 @@ public: { if (cr->GetEntry() == NPC_TIME_RIFT) { - cr->DespawnOrUnsummon(1000); + cr->DespawnOrUnsummon(1s); } else { - cr->DespawnOrUnsummon(5000); + cr->DespawnOrUnsummon(5s); cr->RemoveAllAuras(); cr->AI()->Talk(SAY_THANKS); } @@ -120,7 +120,7 @@ public: { Talk(SAY_FAIL); summons.DespawnAll(); - me->DespawnOrUnsummon(500); + me->DespawnOrUnsummon(500ms); } } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp index bf7f18c2ac..bc066fd1f2 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp @@ -80,7 +80,7 @@ public: if (finished) { Talk(SAY_OUTRO); - me->DespawnOrUnsummon(20000); + me->DespawnOrUnsummon(20s); } } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp index b26ec632ab..f3a825a37c 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp @@ -547,7 +547,7 @@ public: if (Creature* stalker = me->SummonCreature(NPC_INVIS_TARGET, 2026.469f, 1287.088f, 143.596f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 14000)) { me->SetFacingToObject(stalker); - stalker->DespawnOrUnsummon(500); + stalker->DespawnOrUnsummon(500ms); } break; // Reached first cityman @@ -861,7 +861,7 @@ public: if (Creature* stalker = me->SummonCreature(NPC_INVIS_TARGET, 2081.447f, 1287.770f, 141.3241f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 10000)) { me->SetFacingToObject(stalker); - stalker->DespawnOrUnsummon(500); + stalker->DespawnOrUnsummon(500ms); } Talk(SAY_PHASE205); ScheduleNextEvent(currentEvent, 4s); @@ -1343,7 +1343,7 @@ void npc_arthas::npc_arthasAI::SpawnTimeRift() if (Creature* cr = me->SummonCreature(/*entry*/(uint32)RiftAndSpawnsLocations[timeRiftId][i][0], RiftAndSpawnsLocations[timeRiftId][0][1], RiftAndSpawnsLocations[timeRiftId][0][2], RiftAndSpawnsLocations[timeRiftId][0][3], RiftAndSpawnsLocations[timeRiftId][0][4])) { if (cr->GetEntry() == NPC_TIME_RIFT) - cr->DespawnOrUnsummon(10000); + cr->DespawnOrUnsummon(10s); else // x, y, z (0 is entry) { // first infinite @@ -1538,7 +1538,7 @@ public: if (me->GetDistance(2400, 1200, 135) > 20.0f && data >= COS_PROGRESS_FINISHED_CITY_INTRO) { if (data >= COS_PROGRESS_KILLED_SALRAMM) - me->DespawnOrUnsummon(500); + me->DespawnOrUnsummon(500ms); else InfectMe(3000); } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp index 961ec2c7b9..dbb18cf283 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp @@ -307,7 +307,7 @@ public: if (Creature* cr = instance->SummonCreature(NPC_CHROMIE_MIDDLE, pos)) { cr->SetVisible(false); - cr->DespawnOrUnsummon(1000); + cr->DespawnOrUnsummon(1s); sCreatureTextMgr->SendChat(cr, textId, player, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_MAP); } } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp index 271cb6c229..9cca30b587 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp @@ -382,7 +382,7 @@ public: if (Creature* horse = me->FindNearestCreature(NPC_SKARLOC_MOUNT, 10.0f)) { horse->GetMotionMaster()->MovePoint(0, 2501.15f, 572.14f, 54.13f); - horse->DespawnOrUnsummon(30 * IN_MILLISECONDS); + horse->DespawnOrUnsummon(30s); } Talk(SAY_EMOTE_HORSE); SetEscortPaused(true); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp index 21f51ca788..bde93d5144 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp @@ -143,7 +143,7 @@ public: case NPC_INFINITE_EXECUTIONER_2: case NPC_INFINITE_VANQUISHER: case NPC_INFINITE_VANQUISHER_2: - creature->DespawnOrUnsummon(1); + creature->DespawnOrUnsummon(1ms); break; default: break; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp index 0f08fb9bee..72895bb9f6 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp @@ -109,7 +109,7 @@ struct npc_medivh_bm : public ScriptedAI { if (summon->GetEntry() == NPC_DP_CRYSTAL_STALKER) { - summon->DespawnOrUnsummon(25000); + summon->DespawnOrUnsummon(25s); summon->CastSpell(summon, RAND(SPELL_BANISH_PURPLE, SPELL_BANISH_GREEN), true); summon->GetMotionMaster()->MoveSplinePath(&_airArray); } @@ -199,19 +199,19 @@ struct npc_medivh_bm : public ScriptedAI events.ScheduleEvent(EVENT_OUTRO_3, 2s); break; case EVENT_OUTRO_3: - SummonOrcs(-2046.158f, -3.0f, 37000, 30000, true); + SummonOrcs(-2046.158f, -3.0f, 37s, 30000, true); events.ScheduleEvent(EVENT_OUTRO_4, 2s); break; case EVENT_OUTRO_4: - SummonOrcs(-2055.97f, -2.0f, 33000, 28000, false); + SummonOrcs(-2055.97f, -2.0f, 33s, 28000, false); events.ScheduleEvent(EVENT_OUTRO_5, 2s); break; case EVENT_OUTRO_5: - SummonOrcs(-2064.0f, -1.5f, 29000, 26000, false); + SummonOrcs(-2064.0f, -1.5f, 29s, 26000, false); events.ScheduleEvent(EVENT_OUTRO_6, 2s); break; case EVENT_OUTRO_6: - SummonOrcs(-2074.35f, -0.1f, 26000, 24000, false); + SummonOrcs(-2074.35f, -0.1f, 26s, 24000, false); events.ScheduleEvent(EVENT_OUTRO_7, 7s); break; case EVENT_OUTRO_7: @@ -228,7 +228,7 @@ struct npc_medivh_bm : public ScriptedAI } } - void SummonOrcs(float x, float y, uint32 duration, uint32 homeTime, bool first) + void SummonOrcs(float x, float y, Milliseconds duration, uint32 homeTime, bool first) { for (uint8 i = 0; i < 6; ++i) { @@ -236,7 +236,7 @@ struct npc_medivh_bm : public ScriptedAI { cr->GetMotionMaster()->MovePoint(0, (first && i == 3) ? x + 2.0f : x, cr->GetPositionY() + y, cr->GetMapHeight(x, cr->GetPositionY() + y, cr->GetPositionZ(), true)); cr->m_Events.AddEvent(new NpcRunToHome(*cr), cr->m_Events.CalculateTime(homeTime + urand(0, 2000))); - cr->DespawnOrUnsummon(duration + urand(0, 2000)); + cr->DespawnOrUnsummon(duration + randtime(0ms, 2s)); } } } @@ -355,7 +355,7 @@ struct npc_time_rift : public NullCreatureAI { if (creature->GetGUID() == _riftKeeperGUID) { - me->DespawnOrUnsummon(0); + me->DespawnOrUnsummon(0ms); } } diff --git a/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp b/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp index 398bc8764d..bd741c2486 100644 --- a/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp +++ b/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp @@ -58,7 +58,7 @@ public: case NPC_HIGHBORNE_SUMMONER: if (_pylonsState == ALL_PYLONS_OFF) { - creature->DespawnOrUnsummon(5000); + creature->DespawnOrUnsummon(5s); } else { diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp index 2dfebf46b5..0bd0febc7f 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp @@ -115,7 +115,7 @@ public: void JustDied(Unit* /*killer*/) override { - me->DespawnOrUnsummon(5000); + me->DespawnOrUnsummon(5s); } void sQuestAccept(Player* /*player*/, Quest const* quest) override diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp index fa7c560488..9c5669d50e 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp @@ -231,7 +231,7 @@ struct npc_buru_egg : public ScriptedAI } } - me->DespawnOrUnsummon(5000); + me->DespawnOrUnsummon(5s); } void UpdateAI(uint32 /*diff*/) override { } diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp index f7ec9c8380..2d97ba3daf 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp @@ -310,7 +310,7 @@ public: me->RemoveDynamicFlag(UNIT_DYNFLAG_LOOTABLE); DoFinalSpell(); Talk(EMOTE_DEVOURED); - me->DespawnOrUnsummon(3000); + me->DespawnOrUnsummon(3s); return; } diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp index 43d7411743..40019ccc03 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp @@ -170,7 +170,7 @@ struct boss_ouro : public BossAI } } - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } void CastGroundRupture() @@ -273,7 +273,7 @@ struct boss_ouro : public BossAI if (me->GetThreatMgr().GetThreatList().empty()) { DoCastSelf(SPELL_OURO_SUBMERGE_VISUAL); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); instance->SetBossState(DATA_OURO, FAIL); if (GameObject* base = me->FindNearestGameObject(GO_SANDWORM_BASE, 200.f)) base->DespawnOrUnsummon(); @@ -334,7 +334,7 @@ struct npc_dirt_mound : ScriptedAI scheduler.Schedule(30s, [this](TaskContext /*context*/) { DoCastSelf(SPELL_SUMMON_SCARABS, true); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); }) .Schedule(100ms, [this](TaskContext context) { diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp index eab24db58e..cdad23d67c 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp @@ -418,7 +418,7 @@ public: if (Creature* mastersEye = instance->GetCreature(DATA_MASTERS_EYE)) { mastersEye->AI()->Talk(EMOTE_MASTERS_EYE_AT, player); - mastersEye->DespawnOrUnsummon(11000); + mastersEye->DespawnOrUnsummon(11s); mastersEye->m_Events.AddEventAtOffset([mastersEye, player]() { mastersEye->SetFacingToObject(player); diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.cpp index 2d7cfb40b6..ca26d56cc8 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.cpp @@ -474,7 +474,7 @@ struct npc_ahnqiraji_critter : public ScriptedAI { if (me->GetEntry() == NPC_QIRAJI_SCORPION) { - me->DespawnOrUnsummon(5 * IN_MILLISECONDS); + me->DespawnOrUnsummon(5s); } } diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp index bd6543ffbe..f24a4592bd 100644 --- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp +++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp @@ -176,25 +176,25 @@ public: if (Creature* weegli = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_WEEGLI))) { weegli->CastSpell(weegli, SPELL_BLYS_BAND_ESCAPE); - weegli->DespawnOrUnsummon(10000); + weegli->DespawnOrUnsummon(10s); } if (Creature* raven = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_RAVEN))) { raven->CastSpell(raven, SPELL_BLYS_BAND_ESCAPE); - raven->DespawnOrUnsummon(10000); + raven->DespawnOrUnsummon(10s); } if (Creature* oro = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ORO))) { oro->CastSpell(oro, SPELL_BLYS_BAND_ESCAPE); - oro->DespawnOrUnsummon(10000); + oro->DespawnOrUnsummon(10s); } if (Creature* murta = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_MURTA))) { murta->CastSpell(murta, SPELL_BLYS_BAND_ESCAPE); - murta->DespawnOrUnsummon(10000); + murta->DespawnOrUnsummon(10s); } DoCastSelf(SPELL_BLYS_BAND_ESCAPE); - me->DespawnOrUnsummon(10000); + me->DespawnOrUnsummon(10s); Porthome_Timer = 156000; //set timer back so that the event doesn't keep triggering } else @@ -436,7 +436,7 @@ public: case 1: me->GetMotionMaster()->MovePoint(2, 1871.18f, 1100.f, 8.88f); Talk(SAY_WEEGLI_OUT_OF_HERE); - me->DespawnOrUnsummon(8000); + me->DespawnOrUnsummon(8s); instance->SetData(DATA_PYRAMID, PYRAMID_GATES_DESTROYED); destroyingDoor = false; break; diff --git a/src/server/scripts/Kalimdor/zone_darkshore.cpp b/src/server/scripts/Kalimdor/zone_darkshore.cpp index 0efe73836f..f0b5791e7c 100644 --- a/src/server/scripts/Kalimdor/zone_darkshore.cpp +++ b/src/server/scripts/Kalimdor/zone_darkshore.cpp @@ -463,7 +463,7 @@ public: _events.Reset(); _events.ScheduleEvent(EVENT_CHECK_FOLLOWING, 1s); player->KilledMonsterCredit(NPC_CAPTURED_RABID_THISTLE_BEAR); - me->DespawnOrUnsummon(240000); + me->DespawnOrUnsummon(240s); } } } diff --git a/src/server/scripts/Kalimdor/zone_desolace.cpp b/src/server/scripts/Kalimdor/zone_desolace.cpp index 94fb1505f0..782e250345 100644 --- a/src/server/scripts/Kalimdor/zone_desolace.cpp +++ b/src/server/scripts/Kalimdor/zone_desolace.cpp @@ -474,7 +474,7 @@ public: else if (spell->Id == SPELL_KODO_KOMBO_GOSSIP) { me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); - me->DespawnOrUnsummon(60000); + me->DespawnOrUnsummon(60s); } } }; diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp index 2624709fc6..7cd22ac078 100644 --- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp +++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp @@ -300,11 +300,11 @@ public: for (uint8 i = 0; i < 6; ++i) // unsummon challengers if (AffrayChallenger[i]) if (Creature* creature = ObjectAccessor::GetCreature((*me), AffrayChallenger[i])) - creature->DespawnOrUnsummon(1); + creature->DespawnOrUnsummon(1ms); if (BigWill) // unsummon bigWill if (Creature* creature = ObjectAccessor::GetCreature((*me), BigWill)) - creature->DespawnOrUnsummon(1); + creature->DespawnOrUnsummon(1ms); } void MoveInLineOfSight(Unit* who) override diff --git a/src/server/scripts/Kalimdor/zone_winterspring.cpp b/src/server/scripts/Kalimdor/zone_winterspring.cpp index d1e516fe08..e3a14d2031 100644 --- a/src/server/scripts/Kalimdor/zone_winterspring.cpp +++ b/src/server/scripts/Kalimdor/zone_winterspring.cpp @@ -486,7 +486,7 @@ public: if (Creature* guard = me->GetMap()->GetCreature(_guardEluneGUID)) { guard->GetMotionMaster()->MovePoint(0, wingThicketLocations[2].m_positionX, wingThicketLocations[2].m_positionY, wingThicketLocations[2].m_positionZ); - guard->DespawnOrUnsummon(4000); + guard->DespawnOrUnsummon(4s); } break; case SAY_PRIESTESS_ALTAR_20: @@ -494,7 +494,7 @@ public: if (Creature* priestess = me->GetMap()->GetCreature(_firstPriestessGUID)) { priestess->GetMotionMaster()->MovePoint(0, wingThicketLocations[0].m_positionX, wingThicketLocations[0].m_positionY, wingThicketLocations[0].m_positionZ); - priestess->DespawnOrUnsummon(4000); + priestess->DespawnOrUnsummon(4s); } break; case SAY_PRIESTESS_ALTAR_21: @@ -502,7 +502,7 @@ public: if (Creature* priestess = me->GetMap()->GetCreature(_secondPriestessGUID)) { priestess->GetMotionMaster()->MovePoint(0, wingThicketLocations[1].m_positionX, wingThicketLocations[1].m_positionY, wingThicketLocations[1].m_positionZ); - priestess->DespawnOrUnsummon(4000); + priestess->DespawnOrUnsummon(4s); } break; case DATA_EVENT_END: @@ -526,7 +526,7 @@ public: player->GroupEventHappens(QUEST_GUARDIANS_ALTAR, me); Talk(SAY_RANSHALLA_END_2, player); } - me->DespawnOrUnsummon(4000); + me->DespawnOrUnsummon(4s); break; } } diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp index 3b0c79d634..51f872bb72 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp @@ -1480,7 +1480,7 @@ public: { if (param == ACTION_SWITCH_PHASE) { - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } } diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp index ae4769284d..56f0cc6722 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp @@ -379,7 +379,7 @@ public: // Xinef: after soft reset npc is no longer present if (me->GetInstanceScript()->GetBossState(DATA_BALTHARUS_THE_WARBORN) == DONE) - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } void DoAction(int32 action) override diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp index b5456dff7b..d3107d148d 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp @@ -1322,7 +1322,7 @@ public: void JustDied(Unit* /*killer*/) override { - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } }; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp index cd4cf6eb86..2386bdd347 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp @@ -409,7 +409,7 @@ public: void JustDied(Unit* /*killer*/) override { - me->DespawnOrUnsummon(20000); + me->DespawnOrUnsummon(20s); if (pInstance) if (Creature* paletress = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(DATA_PALETRESS))) paletress->AI()->DoAction(1); @@ -722,7 +722,7 @@ public: void JustDied(Unit* /*pKiller*/) override { - me->DespawnOrUnsummon(10000); + me->DespawnOrUnsummon(10s); if (pInstance) pInstance->SetData(DATA_ARGENT_SOLDIER_DEFEATED, 0); } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp index 95e7111226..aa99e4da43 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp @@ -131,7 +131,7 @@ public: void EnterEvadeMode(EvadeReason why) override { - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); ScriptedAI::EnterEvadeMode(why); } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp index 68e8cb6491..6f1a3620fa 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp @@ -347,7 +347,7 @@ public: void JustDied(Unit* /*pKiller*/) override { me->SetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID, 0); - me->DespawnOrUnsummon(10000); + me->DespawnOrUnsummon(10s); if (pInstance) pInstance->SetData(DATA_MOUNT_DIED, 0); } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp index 3342edfb0b..1f3cc4eaf4 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp @@ -1128,7 +1128,7 @@ public: if (Creature* boss = instance->GetCreature(NPC_ArgentChampionGUID)) { boss->GetMotionMaster()->MovePoint(0, SpawnPosition); - boss->DespawnOrUnsummon(3000); + boss->DespawnOrUnsummon(3s); } } break; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp index 55410eea26..54b33f2b61 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp @@ -574,7 +574,7 @@ public: if (spell->Id == SPELL_SPIKE_FAIL) { me->RemoveAllAuras(); - me->DespawnOrUnsummon(1500); + me->DespawnOrUnsummon(1500ms); } } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp index 67cd96d419..8e82e9cb49 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp @@ -353,7 +353,7 @@ public: void JustDied(Unit* /*killer*/) override { - me->DespawnOrUnsummon(10000); + me->DespawnOrUnsummon(10s); } void EnterEvadeMode(EvadeReason /*why*/) override @@ -434,7 +434,7 @@ public: void JustDied(Unit* /*killer*/) override { - me->DespawnOrUnsummon(10000); + me->DespawnOrUnsummon(10s); } void EnterEvadeMode(EvadeReason /*why*/) override diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp index 2eb540e02e..aa2028a222 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp @@ -710,7 +710,7 @@ public: return; if (urand(0, 2)) - me->DespawnOrUnsummon(0); + me->DespawnOrUnsummon(0ms); } void MoveToNextPoint() @@ -884,7 +884,7 @@ class spell_valkyr_ball_periodic_dummy_aura : public AuraScript creature->GetMotionMaster()->MoveIdle(); creature->CastSpell((Unit*)nullptr, creature->GetEntry() == NPC_CONCENTRATED_LIGHT ? SPELL_UNLEASHED_LIGHT : SPELL_UNLEASHED_DARK, false); creature->SetDisplayId(11686); - creature->DespawnOrUnsummon(1500); + creature->DespawnOrUnsummon(1500ms); } } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp index 71dcb5e857..ad3c4cdb44 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp @@ -348,9 +348,9 @@ public: } if (Creature* c = instance->GetCreature(NPC_AcidmawGUID)) - c->DespawnOrUnsummon(10000); + c->DespawnOrUnsummon(10s); if (Creature* c = instance->GetCreature(NPC_DreadscaleGUID)) - c->DespawnOrUnsummon(10000); + c->DespawnOrUnsummon(10s); if (AchievementTimer + 10 >= GameTime::GetGameTime().count()) DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, SPELL_JORMUNGAR_ACHIEV); AchievementTimer = 0; @@ -420,7 +420,7 @@ public: for (ObjectGuid const& guid : NPC_ChampionGUIDs) if (Creature* c = instance->GetCreature(guid)) - c->DespawnOrUnsummon(15000); + c->DespawnOrUnsummon(15s); NPC_ChampionGUIDs.clear(); if (Creature* c = instance->GetCreature(NPC_TirionGUID)) @@ -1314,7 +1314,7 @@ public: { c->SetVisible(true); c->AI()->Talk(SAY_STAGE_4_05); - c->DespawnOrUnsummon(0); + c->DespawnOrUnsummon(0ms); } break; diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp index 8098969771..78defb7061 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp @@ -214,7 +214,7 @@ class spell_trollgore_corpse_explode_aura : public AuraScript void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { if (Creature* target = GetTarget()->ToCreature()) - target->DespawnOrUnsummon(1); + target->DespawnOrUnsummon(1ms); } void Register() override diff --git a/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp b/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp index a8f22adf87..e5190c5ed0 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp @@ -89,7 +89,7 @@ class spell_dtk_raise_dead_aura : public AuraScript void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { - GetUnitOwner()->ToCreature()->DespawnOrUnsummon(1); + GetUnitOwner()->ToCreature()->DespawnOrUnsummon(1ms); GetUnitOwner()->SummonCreature(NPC_RISEN_DRAKKARI_WARRIOR, *GetUnitOwner()); } diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp index 7feed77dad..80d04808df 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp @@ -242,7 +242,7 @@ public: { me->GetMotionMaster()->MoveIdle(); me->CastSpell(b, SPELL_CONSUME_SOUL, true); - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); return; } diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp index 66e3444e7c..f3ba31fc2f 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp @@ -1153,7 +1153,7 @@ public: ScriptedAI::EnterEvadeMode(why); if (me->IsSummon()) - me->ToTempSummon()->DespawnOrUnsummon(1); + me->ToTempSummon()->DespawnOrUnsummon(1ms); } }; }; diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp index 21e50018bc..f18fecfa2f 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp @@ -506,7 +506,7 @@ class spell_exploding_orb_auto_grow_aura : public AuraScript target->RemoveAurasDueToSpell(SPELL_AUTO_GROW); target->RemoveAurasDueToSpell(SPELL_EXPLODING_ORB_VISUAL); if (target->IsCreature()) - target->ToCreature()->DespawnOrUnsummon(2000); + target->ToCreature()->DespawnOrUnsummon(2s); } } diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp index a432db0e2c..bebf2da810 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp @@ -341,7 +341,7 @@ public: Unit::Kill(c, c, false); } - c->DespawnOrUnsummon(10000); + c->DespawnOrUnsummon(10s); } pInstance->SetData(DATA_INSTANCE_PROGRESS, INSTANCE_PROGRESS_FINISHED_INTRO); } @@ -1381,7 +1381,7 @@ class spell_pos_slave_trigger_closest : public SpellScript target->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0); if (Creature* c = target->ToCreature()) { - c->DespawnOrUnsummon(7000); + c->DespawnOrUnsummon(7s); c->AI()->Talk(0, p); c->m_Events.AddEvent(new SlaveRunEvent(*c), c->m_Events.CalculateTime(3000)); } @@ -1406,7 +1406,7 @@ class spell_pos_rimefang_frost_nova : public SpellScript { Unit::Kill(caster, target); if (target->IsCreature()) - target->ToCreature()->DespawnOrUnsummon(30000); + target->ToCreature()->DespawnOrUnsummon(30s); } } diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp index 7b11623c5c..c9caba5eb5 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp @@ -308,7 +308,7 @@ public: me->CastSpell(me, SPELL_FACE_ME, true); me->CastSpell(me, SPELL_SURGE_VISUAL, true); me->CastSpell(me, SPELL_MERGE, false); - me->DespawnOrUnsummon(2000); + me->DespawnOrUnsummon(2s); events.Reset(); break; } @@ -382,7 +382,7 @@ public: { me->SetReactState(REACT_PASSIVE); me->GetMotionMaster()->MoveCharge(1672.96f, 743.488f, 143.338f, 7.0f, POINT_MERGE); - me->DespawnOrUnsummon(1200); + me->DespawnOrUnsummon(1200ms); } } diff --git a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp index 3df618cd4e..492ceb0081 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp @@ -133,7 +133,7 @@ public: despawnTime = (summon->GetDistance(target) / 40.0f * 1000) + 500; } - summon->DespawnOrUnsummon(despawnTime); + summon->DespawnOrUnsummon(Milliseconds(despawnTime)); } uint32 GetData(uint32 /*type*/) const override diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp index afc11c5ccf..78baeb7eb2 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp @@ -1213,7 +1213,7 @@ public: void JustDied(Unit* /*killer*/) override { - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } void UpdateAI(uint32 diff) override @@ -1287,7 +1287,7 @@ public: me->SetControlled(true, UNIT_STATE_ROOT); me->StopMoving(); me->CastSpell(me, SPELL_FLAMES, true); - me->DespawnOrUnsummon(999); + me->DespawnOrUnsummon(999ms); me->CastSpell(me, SPELL_FLAME_SPHERE_DEATH_EFFECT, true); _exploded = true; } @@ -1331,7 +1331,7 @@ public: me->SetInCombatWithZone(); return; } - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/, SpellSchoolMask /*damageSchoolMask*/) override @@ -1424,7 +1424,7 @@ public: case EVENT_BOMB_DESPAWN: me->RemoveAllAuras(); me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE); - me->DespawnOrUnsummon(exploded ? 5000 : 0); + me->DespawnOrUnsummon(exploded ? 5s : 0ms); break; case EVENT_CONTINUE_FALLING: me->GetMotionMaster()->MovementExpired(false); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp index 8610c2e34b..b6915138c0 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp @@ -1030,7 +1030,7 @@ public: me->GetMotionMaster()->MoveCharge(chargePos[_index].GetPositionX(), chargePos[_index].GetPositionY(), chargePos[_index].GetPositionZ(), 13.0f, POINT_CHARGE); } else if (action == ACTION_DESPAWN) - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } private: diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp index c9cfe56d45..fd4f2208d4 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp @@ -668,7 +668,7 @@ public: continue; Creature* c = (*itr)->ToCreature(); if (c->GetEntry() == NPC_SKYBREAKER_MARINE || c->GetEntry() == NPC_SKYBREAKER_SERGEANT || c->GetEntry() == NPC_KOR_KRON_REAVER || c->GetEntry() == NPC_KOR_KRON_SERGEANT) - c->DespawnOrUnsummon(1); + c->DespawnOrUnsummon(1ms); } } } @@ -880,7 +880,7 @@ public: init.DisableTransportPathTransformations(); init.MovebyPath(path, 0); init.Launch(); - me->DespawnOrUnsummon(18000); + me->DespawnOrUnsummon(18s); } } @@ -1216,7 +1216,7 @@ public: init.DisableTransportPathTransformations(); init.MovebyPath(path, 0); init.Launch(); - me->DespawnOrUnsummon(18000); + me->DespawnOrUnsummon(18s); } } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp index 54b279510d..45dc33219a 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp @@ -482,7 +482,7 @@ public: minrange = summon->GetExactDist(p); } - summon->ToTempSummon()->DespawnOrUnsummon(30000); + summon->ToTempSummon()->DespawnOrUnsummon(30s); } else { @@ -949,7 +949,7 @@ public: me->GetMotionMaster()->MovementExpired(); me->StopMoving(); me->SetControlled(true, UNIT_STATE_STUNNED); - me->DespawnOrUnsummon(500); + me->DespawnOrUnsummon(500ms); break; default: break; @@ -977,7 +977,7 @@ public: if (!me->GetVictim() || me->GetVictim()->GetGUID() != targetGUID) { - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); return; } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp index 509ff92fb7..53a73a8fe0 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp @@ -397,7 +397,7 @@ public: trapped->NearTeleportTo(exitPos.GetPositionX(), exitPos.GetPositionY(), exitPos.GetPositionZ(), exitPos.GetOrientation(), false); } - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } void JustDied(Unit* /*killer*/) override @@ -451,13 +451,13 @@ public: } else { - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); return; } } else { - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); return; } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index a7f0794fad..cdcc909606 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -352,7 +352,7 @@ public: { if (summon->GetEntry() != 38308 && summon->GetEntry() != 38309 && (!me->IsInCombat() || me->IsInEvadeMode())) { - summon->DespawnOrUnsummon(1); + summon->DespawnOrUnsummon(1ms); return; } @@ -757,7 +757,7 @@ public: if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE))) { if (!professor->IsInCombat()) - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); else professor->AI()->JustSummoned(me); } @@ -1056,7 +1056,7 @@ class spell_putricide_ooze_channel : public SpellScript if (targets.empty()) { FinishCast(SPELL_FAILED_NO_VALID_TARGETS); - GetCaster()->ToCreature()->DespawnOrUnsummon(1); // despawn next update + GetCaster()->ToCreature()->DespawnOrUnsummon(1ms); // despawn next update return; } @@ -1491,7 +1491,7 @@ class spell_putricide_eat_ooze : public SpellScript { target->RemoveAurasDueToSpell(SPELL_GROW_STACKER); target->RemoveAura(grow); - target->DespawnOrUnsummon(1); + target->DespawnOrUnsummon(1ms); } else grow->ModStackAmount(-4); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp index cd3a73fdf5..ef366c7072 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp @@ -211,7 +211,7 @@ public: if (me->IsAlive() && me->IsInCombat() && !me->IsInEvadeMode()) summons.Summon(summon); else - summon->DespawnOrUnsummon(1); + summon->DespawnOrUnsummon(1ms); } void KilledUnit(Unit* victim) override @@ -373,7 +373,7 @@ public: { if (Creature* rotface = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ROTFACE))) rotface->AI()->SummonedCreatureDespawn(me); - me->DespawnOrUnsummon(0); + me->DespawnOrUnsummon(0ms); } void UpdateAI(uint32 diff) override @@ -798,7 +798,7 @@ class spell_rotface_unstable_ooze_explosion_suicide_aura : public AuraScript target->SetVisible(false); target->RemoveAllAuras(); //target->ToCreature()->DespawnOrUnsummon(); - target->ToCreature()->DespawnOrUnsummon(60000); + target->ToCreature()->DespawnOrUnsummon(60s); } void Register() override diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index 2dc55ae95e..82ae8c8d3c 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -720,7 +720,7 @@ public: player->RemoveAurasDueToSpell(SPELL_ICE_TOMB_DAMAGE); player->RemoveAurasDueToSpell(SPELL_ASPHYXIATION); player->RemoveAurasDueToSpell(SPELL_ICE_TOMB_UNTARGETABLE); - me->DespawnOrUnsummon(5000); + me->DespawnOrUnsummon(5s); } } 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 b33567ca0b..5a88d28a4b 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -826,9 +826,9 @@ public: me->SetDisableGravity(false); me->GetMotionMaster()->MoveFall(); if (Creature* frostmourne = me->FindNearestCreature(NPC_FROSTMOURNE_TRIGGER, 50.0f)) - frostmourne->DespawnOrUnsummon(1); + frostmourne->DespawnOrUnsummon(1ms); if (Creature* terenas = me->FindNearestCreature(NPC_TERENAS_MENETHIL_OUTRO, 50.0f)) - terenas->DespawnOrUnsummon(1); + terenas->DespawnOrUnsummon(1ms); me->m_Events.AddEvent(new LichKingDeathEvent(*me), me->m_Events.CalculateTime(2500)); // die after spinning anim is over, so death anim is visible me->m_Events.AddEvent(new LichKingMovieEvent(*me), me->m_Events.CalculateTime(11500)); @@ -886,7 +886,7 @@ public: break; case NPC_VALKYR_SHADOWGUARD: if (_phase == PHASE_THREE || events.HasTimeUntilEvent(EVENT_QUAKE_2)) - summon->DespawnOrUnsummon(1); + summon->DespawnOrUnsummon(1ms); break; default: break; @@ -2078,7 +2078,7 @@ class spell_the_lich_king_shadow_trap_periodic : public SpellScript if (Aura* a = GetCaster()->GetAura(SPELL_SHADOW_TRAP_AURA)) a->SetDuration(0); if (GetCaster()->IsCreature()) - GetCaster()->ToCreature()->DespawnOrUnsummon(3000); + GetCaster()->ToCreature()->DespawnOrUnsummon(3s); } void Register() override @@ -2134,7 +2134,7 @@ public: { me->RemoveAllAuras(); me->CastSpell(me, SPELL_ICE_BURST, true); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); targetGUID.Clear(); timer = 9999; me->InterruptNonMeleeSpells(true); @@ -2238,7 +2238,7 @@ public: if (Player* plr = ScriptedAI::SelectTargetFromPlayerList(100.0f, 0, true)) plr->CastSpell(me, SPELL_RAGING_SPIRIT_VISUAL_CLONE, true); else - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } } @@ -2449,7 +2449,7 @@ public: if (IsHeroic()) GoSiphon(); else - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override @@ -2519,7 +2519,7 @@ public: if (IsHeroic()) GoSiphon(); else - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } break; case POINT_START_SIPHON: @@ -2883,7 +2883,7 @@ class spell_the_lich_king_vile_spirit_damage_target_search : public SpellScript c->GetMotionMaster()->Clear(true); c->StopMoving(); c->CastSpell((Unit*)nullptr, SPELL_SPIRIT_BURST, true); - c->DespawnOrUnsummon(3000); + c->DespawnOrUnsummon(3s); c->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE); } } @@ -2999,7 +2999,7 @@ public: _events.Reset(); me->RemoveAllAuras(); - me->DespawnOrUnsummon(500); + me->DespawnOrUnsummon(500ms); if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING))) lichKing->AI()->SummonedCreatureDespawn(me); @@ -3050,7 +3050,7 @@ public: case EVENT_DESPAWN_SELF: if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING))) lichKing->AI()->SummonedCreatureDespawn(me); - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); break; default: break; @@ -3098,7 +3098,7 @@ public: { _events.Reset(); me->CastSpell((Unit*)nullptr, SPELL_RESTORE_SOUL, false); - me->DespawnOrUnsummon(3000); + me->DespawnOrUnsummon(3s); } break; } @@ -3118,14 +3118,14 @@ public: if (Creature* warden = me->FindNearestCreature(NPC_SPIRIT_WARDEN, 20.0f)) { warden->CastSpell((Unit*)nullptr, SPELL_DESTROY_SOUL, false); - warden->DespawnOrUnsummon(2000); + warden->DespawnOrUnsummon(2s); } me->CastSpell(me, SPELL_TERENAS_LOSES_INSIDE, false); me->SetDisplayId(16946); me->SetReactState(REACT_PASSIVE); me->AttackStop(); me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE); - me->DespawnOrUnsummon(2000); + me->DespawnOrUnsummon(2s); } } } @@ -3414,7 +3414,7 @@ public: npc_lk_spirit_bombAI(Creature* creature) : NullCreatureAI(creature) { me->SetReactState(REACT_PASSIVE); - me->DespawnOrUnsummon(45000); // for safety + me->DespawnOrUnsummon(45s); // for safety timer = 0; } @@ -3447,7 +3447,7 @@ public: timer = 0; me->RemoveAllAuras(); me->CastSpell((Unit*)nullptr, SPELL_EXPLOSION, false); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } else timer -= diff; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp index 75bdea092b..4fa36acac6 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp @@ -177,14 +177,14 @@ private: class DelayedCastEvent : public BasicEvent { public: - DelayedCastEvent(Creature* trigger, uint32 spellId, ObjectGuid originalCaster, uint32 despawnTime) : _trigger(trigger), _originalCaster(originalCaster), _spellId(spellId), _despawnTime(despawnTime) + DelayedCastEvent(Creature* trigger, uint32 spellId, ObjectGuid originalCaster, Milliseconds despawnTime) : _trigger(trigger), _originalCaster(originalCaster), _spellId(spellId), _despawnTime(despawnTime) { } bool Execute(uint64 /*time*/, uint32 /*diff*/) override { _trigger->CastSpell(_trigger, _spellId, false, nullptr, nullptr, _originalCaster); - if (_despawnTime) + if (_despawnTime > 0ms) _trigger->DespawnOrUnsummon(_despawnTime); return true; } @@ -193,7 +193,7 @@ private: Creature* _trigger; ObjectGuid _originalCaster; uint32 _spellId; - uint32 _despawnTime; + Milliseconds _despawnTime; }; class AuraRemoveEvent : public BasicEvent @@ -406,7 +406,7 @@ public: // this display id was found in sniff instead of the one on aura me->SetDisplayId(11686); me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE); - me->DespawnOrUnsummon(4000); + me->DespawnOrUnsummon(4s); if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VALITHRIA_LICH_KING))) lichKing->CastSpell(lichKing, SPELL_SPAWN_CHEST, false); _instance->SetData(DATA_WEEKLY_QUEST_ID, 0); // show hidden npc if necessary @@ -417,12 +417,12 @@ public: { if (summon->GetEntry() == NPC_DREAM_PORTAL_PRE_EFFECT) { - summon->m_Events.AddEvent(new DelayedCastEvent(summon, SPELL_SUMMON_DREAM_PORTAL, me->GetGUID(), 6000), summon->m_Events.CalculateTime(15000)); + summon->m_Events.AddEvent(new DelayedCastEvent(summon, SPELL_SUMMON_DREAM_PORTAL, me->GetGUID(), 6s), summon->m_Events.CalculateTime(15000)); summon->m_Events.AddEvent(new AuraRemoveEvent(summon, SPELL_DREAM_PORTAL_VISUAL_PRE), summon->m_Events.CalculateTime(15000)); } else if (summon->GetEntry() == NPC_NIGHTMARE_PORTAL_PRE_EFFECT) { - summon->m_Events.AddEvent(new DelayedCastEvent(summon, SPELL_SUMMON_NIGHTMARE_PORTAL, me->GetGUID(), 6000), summon->m_Events.CalculateTime(15000)); + summon->m_Events.AddEvent(new DelayedCastEvent(summon, SPELL_SUMMON_NIGHTMARE_PORTAL, me->GetGUID(), 6s), summon->m_Events.CalculateTime(15000)); summon->m_Events.AddEvent(new AuraRemoveEvent(summon, SPELL_NIGHTMARE_PORTAL_VISUAL_PRE), summon->m_Events.CalculateTime(15000)); } } @@ -750,9 +750,9 @@ public: void JustSummoned(Creature* summon) override { if (summon->GetEntry() == NPC_COLUMN_OF_FROST) - summon->m_Events.AddEvent(new DelayedCastEvent(summon, SPELL_COLUMN_OF_FROST_DAMAGE, ObjectGuid::Empty, 8000), summon->m_Events.CalculateTime(2000)); + summon->m_Events.AddEvent(new DelayedCastEvent(summon, SPELL_COLUMN_OF_FROST_DAMAGE, ObjectGuid::Empty, 8s), summon->m_Events.CalculateTime(2000)); else if (summon->GetEntry() == NPC_MANA_VOID) - summon->DespawnOrUnsummon(36000); + summon->DespawnOrUnsummon(36s); } void UpdateAI(uint32 diff) override @@ -886,7 +886,7 @@ public: me->GetMotionMaster()->MoveIdle(); // must use originalCaster the same for all clouds to allow stacking me->CastSpell(me, EMERALD_VIGOR, false, nullptr, nullptr, _instance->GetGuidData(DATA_VALITHRIA_DREAMWALKER)); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); break; default: break; @@ -1054,7 +1054,7 @@ public: timer = 0; me->SetDisplayId(11686); me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE); - me->DespawnOrUnsummon(2000); + me->DespawnOrUnsummon(2s); } else timer -= diff; @@ -1096,7 +1096,7 @@ public: void JustSummoned(Creature* summon) override { if (me->GetInstanceScript() && me->GetInstanceScript()->GetBossState(DATA_VALITHRIA_DREAMWALKER) == DONE) - summon->DespawnOrUnsummon(1); + summon->DespawnOrUnsummon(1ms); else if (Unit* target = SelectTargetFromPlayerList(200.0f)) summon->AI()->AttackStart(target); } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp index 74221610a7..cac4c599fe 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp @@ -534,12 +534,12 @@ public: if (Creature* factionNPC = ObjectAccessor::GetCreature(*me, _factionNPC)) { factionNPC->GetMotionMaster()->MovePath(factionNPC->GetSpawnId() * 10, false); - factionNPC->DespawnOrUnsummon(46500); + factionNPC->DespawnOrUnsummon(46500ms); std::list followers; factionNPC->GetCreaturesWithEntryInRange(followers, 30, _instance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE ? NPC_KOR_KRON_GENERAL : NPC_ALLIANCE_COMMANDER); for (Creature* follower : followers) { - follower->DespawnOrUnsummon(46500); + follower->DespawnOrUnsummon(46500ms); } } me->setActive(false); @@ -1810,7 +1810,7 @@ public: { _vehicleCheckTimer = 500; if (!me->GetVehicle()) - me->DespawnOrUnsummon(100); + me->DespawnOrUnsummon(100ms); } else _vehicleCheckTimer -= diff; @@ -2151,7 +2151,7 @@ class spell_svalna_remove_spear : public SpellScript { if (Unit* vehicle = target->GetVehicleBase()) vehicle->RemoveAurasDueToSpell(SPELL_IMPALING_SPEAR); - target->DespawnOrUnsummon(1); + target->DespawnOrUnsummon(1ms); } } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp index 667a922182..dbc3974ee8 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp @@ -499,7 +499,7 @@ public: break; case NPC_INFILTRATOR_MINCHAR_BQ: if (BloodQuickeningState == DONE) - creature->DespawnOrUnsummon(1); + creature->DespawnOrUnsummon(1ms); break; case NPC_MINCHAR_BEAM_STALKER: if (BloodQuickeningState != DONE) @@ -661,7 +661,7 @@ public: { c->CastSpell(c, VOID_ZONE_VISUAL, true); unit->SummonCreature(NPC_RISEN_DEATHSPEAKER_SERVANT, *unit, TEMPSUMMON_MANUAL_DESPAWN); - unit->ToCreature()->DespawnOrUnsummon(3000); + unit->ToCreature()->DespawnOrUnsummon(3s); } break; default: diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp index 7cf70c4b4a..384ffda0f1 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp @@ -507,7 +507,7 @@ public: { if (!me->IsInCombat()) { - me->DespawnOrUnsummon(500); + me->DespawnOrUnsummon(500ms); } } if (param == ACTION_GUARDIANS_OFF) diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index 39c3faf621..3ac5974b5c 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -803,10 +803,10 @@ public: { case NPC_ARCANE_OVERLOAD: summon->CastSpell(summon, SPELL_ARCANE_OVERLOAD_DMG, true); - summon->DespawnOrUnsummon(45000); + summon->DespawnOrUnsummon(45s); break; case NPC_STATIC_FIELD: - summon->DespawnOrUnsummon(20000); + summon->DespawnOrUnsummon(20s); break; } } @@ -1018,7 +1018,7 @@ public: me->ReplaceAllUnitFlags(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE); me->RemoveAura(SPELL_POWER_SPARK_VISUAL); me->CastSpell(me, SPELL_POWER_SPARK_GROUND_BUFF, true); - me->DespawnOrUnsummon(60000); + me->DespawnOrUnsummon(60s); } } } @@ -1459,14 +1459,14 @@ public: else if (pass && pass->IsPlayer() && me->IsAlive()) { me->SetDisplayId(11686); // prevents nasty falling animation at despawn - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } } void JustDied(Unit* /*killer*/) override { me->SetDisplayId(11686); // prevents nasty falling animation at despawn - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } }; }; diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp index 4f4b09b758..17de5127fe 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp @@ -29,7 +29,7 @@ bool EoEDrakeEnterVehicleEvent::Execute(uint64 /*eventTime*/, uint32 /*updateTim p->CastCustomSpell(60683, SPELLVALUE_BASE_POINT0, 1, &_owner, true); return true; } - _owner.DespawnOrUnsummon(1); + _owner.DespawnOrUnsummon(1ms); return true; } diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp index 5926c11b65..e41c190aeb 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp @@ -150,7 +150,7 @@ struct boss_magus_telestra : public BossAI if (spellInfo->Id >= SPELL_FIRE_MAGUS_DEATH && spellInfo->Id <= SPELL_ARCANE_MAGUS_DEATH && caster->ToCreature()) { events.ScheduleEvent(EVENT_MAGUS_FAIL_ACHIEVEMENT, 5s); - caster->ToCreature()->DespawnOrUnsummon(1000); + caster->ToCreature()->DespawnOrUnsummon(1s); if (++copiesDied >= 3) { diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp index 01cdb73fb3..87d4b4b806 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp @@ -387,7 +387,7 @@ public: } else { - me->DespawnOrUnsummon(2050); + me->DespawnOrUnsummon(2050ms); me->SetOrientation(2.5f); me->SetSpeedRate(MOVE_FLIGHT, 1.0f); Position pos = me->GetPosition(); @@ -444,7 +444,7 @@ public: } else { - me->DespawnOrUnsummon(2050); + me->DespawnOrUnsummon(2050ms); me->SetOrientation(2.5f); me->SetSpeedRate(MOVE_FLIGHT, 1.0f); Position pos = me->GetPosition(); @@ -461,7 +461,7 @@ public: { if (despawnTimer >= 5000) { - me->DespawnOrUnsummon(2050); + me->DespawnOrUnsummon(2050ms); me->SetOrientation(2.5f); Position pos = me->GetPosition(); Position offset = { 10.0f, 10.0f, 12.0f, 0.0f }; diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp index 752ef36a30..e199974260 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp @@ -269,7 +269,7 @@ public: me->RemoveAllAuras(); me->CastSpell(me, SPELL_SPARK_DESPAWN, true); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } } }; diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp index c64594b114..8d7c3dfdd7 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp @@ -378,7 +378,7 @@ public: volkhan->AI()->DoAction(ACTION_DESTROYED); me->CastSpell(me, me->GetMap()->IsHeroic() ? SPELL_SHATTER_H : SPELL_SHATTER_N, true); - me->DespawnOrUnsummon(500); + me->DespawnOrUnsummon(500ms); } } diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp index b0dd3d79f9..51cd73619c 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp @@ -594,7 +594,7 @@ public: if (Creature* darkMatterTarget = ObjectAccessor::GetCreature(*me, darkMatterTargetGUID)) { darkMatterTarget->CastSpell(darkMatterTarget, darkMatterTarget->GetMap()->IsHeroic() ? SPELL_DARK_MATTER_H : SPELL_DARK_MATTER, true); - darkMatterTarget->DespawnOrUnsummon(500); + darkMatterTarget->DespawnOrUnsummon(500ms); } break; } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp index a11c0e2916..8a7db94e6f 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp @@ -443,7 +443,7 @@ public: if (me->IsInCombat()) events.ScheduleEvent(EVENT_DESPAWN_ALGALON_4, 26s); events.ScheduleEvent(EVENT_DESPAWN_ALGALON_5, 32s); - me->DespawnOrUnsummon(39000); + me->DespawnOrUnsummon(39s); me->SetReactState(REACT_PASSIVE); me->AttackStop(); @@ -795,7 +795,7 @@ public: case EVENT_OUTRO_11: me->SetStandState(UNIT_STAND_STATE_STAND); me->CastSpell(me, SPELL_TELEPORT, false); - me->DespawnOrUnsummon(3000); + me->DespawnOrUnsummon(3s); break; case EVENT_DESPAWN_ALGALON_1: Talk(SAY_ALGALON_DESPAWN_1); @@ -812,7 +812,7 @@ public: case EVENT_DESPAWN_ALGALON_5: me->SetStandState(UNIT_STAND_STATE_STAND); me->CastSpell(me, SPELL_TELEPORT, false); - me->DespawnOrUnsummon(3000); + me->DespawnOrUnsummon(3s); break; case EVENT_CHECK_HERALD_ITEMS: if (!DoCheckHeraldOfTheTitans()) @@ -886,7 +886,7 @@ public: events.ScheduleEvent(EVENT_SUMMON_ALGALON, 7500ms); return; case 10: - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); return; case POINT_BRANN_OUTRO: case POINT_BRANN_OUTRO_END: @@ -1025,10 +1025,10 @@ public: instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, EVENT_ID_SUPERMASSIVE_START); caster->CastSpell((Unit*)nullptr, SPELL_BLACK_HOLE_CREDIT, TRIGGERED_FULL_MASK); - caster->ToCreature()->DespawnOrUnsummon(1); - me->DespawnOrUnsummon(1); + caster->ToCreature()->DespawnOrUnsummon(1ms); + me->DespawnOrUnsummon(1ms); if (Creature* voidZone = caster->FindNearestCreature(NPC_ALGALON_VOID_ZONE_VISUAL_STALKER, 10.0f)) - voidZone->DespawnOrUnsummon(1); + voidZone->DespawnOrUnsummon(1ms); } void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp index 9df9798ec2..29eb6cb582 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp @@ -579,7 +579,7 @@ public: if (Player* target = SelectTargetFromPlayerList(150)) me->GetMotionMaster()->MoveFollow(target, 0.0f, 0.0f); else - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } void MovementInform(uint32 type, uint32 /*id*/) override @@ -588,7 +588,7 @@ public: { _boomed = true; me->CastSpell(me, SPELL_LIGHTNING_BLAST, true); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } } }; @@ -902,7 +902,7 @@ class spell_assembly_rune_of_summoning_aura : public AuraScript void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { if (TempSummon* summ = GetTarget()->ToTempSummon()) - summ->DespawnOrUnsummon(1); + summ->DespawnOrUnsummon(1ms); } void Register() override diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp index 3a30bbc845..a4b1ef6754 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp @@ -393,7 +393,7 @@ public: else { summons.DespawnAll(); - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } if (_feralEssenceStack) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp index 77d1053fce..a0a17863e3 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -748,7 +748,7 @@ public: _despawnTimer = 0; if (Vehicle* veh = me->GetVehicle()) if (veh->GetPassenger(0) == me || veh->GetPassenger(1) == me) - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } } @@ -1157,7 +1157,7 @@ public: _beamTimer = 0; _removeTimer = 1; - me->DespawnOrUnsummon(5 * IN_MILLISECONDS); + me->DespawnOrUnsummon(5s); } } if (_removeTimer) @@ -1364,7 +1364,7 @@ public: liquid->CastSpell(liquid, SPELL_DUST_CLOUD_IMPACT, true); } - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } } @@ -1750,7 +1750,7 @@ class spell_vehicle_grab_pyrite : public SpellScript target->CastSpell(seat, GetEffectValue()); if (target->IsCreature()) - target->ToCreature()->DespawnOrUnsummon(1300); + target->ToCreature()->DespawnOrUnsummon(1300ms); } } } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp index df194ce325..9bb1d122ae 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp @@ -1024,7 +1024,7 @@ public: { me->RemoveAurasDueToSpell(SPELL_AUTO_GROW); me->CastSpell(me, me->GetMap()->Is25ManRaid() ? SPELL_LIFEBINDER_HEAL_25 : SPELL_LIFEBINDER_HEAL_10, true); - me->DespawnOrUnsummon(2000); + me->DespawnOrUnsummon(2s); _healTimer = 0; } } @@ -1063,7 +1063,7 @@ public: if (_despawnTimer >= 22000) { me->RemoveAurasDueToSpell(SPELL_AUTO_GROW); - me->DespawnOrUnsummon(2200); + me->DespawnOrUnsummon(2200ms); _despawnTimer = 0; } } @@ -1203,7 +1203,7 @@ public: if (Unit* target = SelectTargetFromPlayerList(80)) AttackStart(target); else - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); events.Repeat(10s); break; } @@ -1250,7 +1250,7 @@ public: if (_explodeTimer >= 11000) { me->CastSpell(me, me->GetMap()->Is25ManRaid() ? SPELL_NATURE_BOMB_DAMAGE_25 : SPELL_NATURE_BOMB_DAMAGE_10, false); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); _explodeTimer = 0; } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp index 664565e88c..cb7d6c5004 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp @@ -450,7 +450,7 @@ public: void JustDied(Unit* /*killer*/) override { - me->DespawnOrUnsummon(3000); + me->DespawnOrUnsummon(3s); if (pInstance) if (Creature* vezax = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(TYPE_VEZAX))) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp index b318a09207..013418f223 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp @@ -704,18 +704,18 @@ public: if (Unit* s = me->ToTempSummon()->GetSummonerUnit()) { if ((s->IsPlayer() && !s->HasAura(SPELL_FLASH_FREEZE_TRAPPED_PLAYER)) || (s->IsCreature() && !s->HasAura(SPELL_FLASH_FREEZE_TRAPPED_NPC))) - me->DespawnOrUnsummon(2000); + me->DespawnOrUnsummon(2s); else if (s->IsPlayer()) if (InstanceScript* instanceScript = me->GetInstanceScript()) if (instanceScript->GetData(TYPE_HODIR) == NOT_STARTED) { s->CastSpell(s, SPELL_FLASH_FREEZE_INSTAKILL, true); - me->DespawnOrUnsummon(2000); + me->DespawnOrUnsummon(2s); } } else { - me->DespawnOrUnsummon(2000); + me->DespawnOrUnsummon(2s); } } } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp index 34f5cf1555..b9a12638ba 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp @@ -339,9 +339,9 @@ public: go->SetLootRecipient(me); } if (Creature* arm = ObjectAccessor::GetCreature(*me, _left)) - arm->DespawnOrUnsummon(3000); // visual + arm->DespawnOrUnsummon(3s); // visual if (Creature* arm = ObjectAccessor::GetCreature(*me, _right)) - arm->DespawnOrUnsummon(3000); // visual + arm->DespawnOrUnsummon(3s); // visual me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE); me->SetDisableGravity(true); } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index f9497a46b9..7a157ba5ad 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -740,17 +740,17 @@ public: LMK2->InterruptNonMeleeSpells(false); LMK2->AttackStop(); LMK2->AI()->SetData(1, 0); - LMK2->DespawnOrUnsummon(7000); + LMK2->DespawnOrUnsummon(7s); LMK2->SetReactState(REACT_PASSIVE); VX001->InterruptNonMeleeSpells(false); VX001->AttackStop(); VX001->AI()->SetData(1, 0); - VX001->DespawnOrUnsummon(7000); + VX001->DespawnOrUnsummon(7s); VX001->SetReactState(REACT_PASSIVE); ACU->InterruptNonMeleeSpells(false); ACU->AttackStop(); ACU->AI()->SetData(1, 0); - ACU->DespawnOrUnsummon(7000); + ACU->DespawnOrUnsummon(7s); ACU->SetReactState(REACT_PASSIVE); Position exitPos = me->GetPosition(); @@ -1221,7 +1221,7 @@ public: if (p->GetEntry() == NPC_LEVIATHAN_MKII_CANNON && !apply) { Unit::Kill(p, p); - p->ToCreature()->DespawnOrUnsummon(6000); + p->ToCreature()->DespawnOrUnsummon(6s); } } @@ -1343,7 +1343,7 @@ public: for (uint8 i = 0; i < 2; ++i) if (Unit* r = vk->GetPassenger(5 + i)) if (r->IsCreature()) - r->ToCreature()->DespawnOrUnsummon(1); + r->ToCreature()->DespawnOrUnsummon(1ms); } void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override @@ -1555,7 +1555,7 @@ public: void PassengerBoarded(Unit* p, int8 /*seat*/, bool apply) override { if (p->GetEntry() == NPC_ROCKET_VISUAL && !apply) - p->ToCreature()->DespawnOrUnsummon(8000); + p->ToCreature()->DespawnOrUnsummon(8s); } void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override @@ -2015,7 +2015,7 @@ public: if (despawnTimer <= diff) { despawnTimer = 60000; - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } else despawnTimer -= diff; @@ -2081,7 +2081,7 @@ public: bot->CastSpell(bot, SPELL_EMERGENCY_MODE, true); } - me->DespawnOrUnsummon(500); + me->DespawnOrUnsummon(500ms); timer = 99999; } else @@ -2346,7 +2346,7 @@ public: CAST_AI(npc_ulduar_flames_initial::npc_ulduar_flames_initialAI, c->AI())->RemoveFlame(me->GetGUID()); me->RemoveAllAuras(); - me->DespawnOrUnsummon(2500); + me->DespawnOrUnsummon(2500ms); } break; case SPELL_VX001_FROST_BOMB: diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp index d2b1aee4c4..88fa0c12e8 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp @@ -859,7 +859,7 @@ public: else if (param == ACTION_SIF_TRANSFORM) { me->CastSpell(me, SPELL_SIF_TRANSFORM, true); - me->DespawnOrUnsummon(5000); + me->DespawnOrUnsummon(5s); events.Reset(); _allowCast = false; } @@ -875,7 +875,7 @@ public: { case EVENT_SIF_FINISH_DOMINION: Talk(SAY_SIF_HM_MISSED); - me->DespawnOrUnsummon(5000); + me->DespawnOrUnsummon(5s); break; case EVENT_SIF_START_TALK: Talk(SAY_SIF_AGGRO); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp index 750df991f1..1286139c30 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp @@ -611,7 +611,7 @@ public: if (!urand(0, 2)) pXT002->AI()->Talk(EMOTE_SCRAPBOT); - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } } @@ -657,7 +657,7 @@ public: if (Unit* target = SelectTargetFromPlayerList(200)) AttackStart(target); else - me->DespawnOrUnsummon(500); + me->DespawnOrUnsummon(500ms); } void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp index 00e44dfe90..a944101a1c 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp @@ -1807,7 +1807,7 @@ public: } me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } private: diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp index a3d0626fa1..41a35a583d 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp @@ -80,7 +80,7 @@ struct npc_frost_tomb : public NullCreatureAI if (PrisonerGUID) if (Unit* p = ObjectAccessor::GetUnit(*me, PrisonerGUID)) p->RemoveAurasDueToSpell(SPELL_FROST_TOMB_AURA); - me->DespawnOrUnsummon(5000); + me->DespawnOrUnsummon(5s); } void UpdateAI(uint32 /*diff*/) override diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp index 6ac9bdbf37..326ac6e7a0 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp @@ -344,7 +344,7 @@ public: if (Creature* pIchoron = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_ICHORON_GUID))) if (pIchoron->AI()) pIchoron->AI()->DoAction(ACTION_WATER_ELEMENT_KILLED); - me->DespawnOrUnsummon(2500); + me->DespawnOrUnsummon(2500ms); } void AttackStart(Unit* /*who*/) override {} diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp index f372215ffa..7cfab3ed2e 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp @@ -135,7 +135,7 @@ public: if (me->GetDistance(c) < 3.0f) { c->CastSpell(me, SPELL_ARCANE_POWER, false); - c->DespawnOrUnsummon(8000); + c->DespawnOrUnsummon(8s); found = true; } if (found) diff --git a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp index f7ec86e1b8..65263e655c 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp @@ -222,7 +222,7 @@ public: if (Creature* c = pInstance->instance->GetCreature(SummonedGUID)) c->DespawnOrUnsummon(); } - me->DespawnOrUnsummon(5000); + me->DespawnOrUnsummon(5s); } void SummonedCreatureDespawn(Creature* pSummoned) override diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp index 812bbe05cf..12165fbac6 100644 --- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp @@ -205,7 +205,7 @@ public: break; case EVENT_SUMMON_SABOTEOUR: DoSummon(NPC_SABOTEOUR, me, 2.0f, 0, TEMPSUMMON_CORPSE_DESPAWN); - me->DespawnOrUnsummon(3000); + me->DespawnOrUnsummon(3s); break; } @@ -1136,7 +1136,7 @@ public: me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE); me->SetDisplayId(11686); me->CastSpell(me, SPELL_TELEPORT_VISUAL, true); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } ++count; } diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 2ff4dc6d2b..eefd5f448c 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -63,7 +63,7 @@ class spell_q11919_q11940_drake_hunt_aura : public AuraScript GetCaster()->CastSpell(GetCaster(), SPELL_DRAKE_HATCHLING_SUBDUED, true); owner->SetFaction(FACTION_FRIENDLY); owner->SetImmuneToAll(true); - owner->DespawnOrUnsummon(3 * MINUTE * IN_MILLISECONDS); + owner->DespawnOrUnsummon(180s); } void Register() override diff --git a/src/server/scripts/Northrend/zone_crystalsong_forest.cpp b/src/server/scripts/Northrend/zone_crystalsong_forest.cpp index a211b22028..1fb9ff67b7 100644 --- a/src/server/scripts/Northrend/zone_crystalsong_forest.cpp +++ b/src/server/scripts/Northrend/zone_crystalsong_forest.cpp @@ -44,7 +44,7 @@ struct npc_preparations_for_war_vehicle : public NullCreatureAI WPPath* path = sSmartWaypointMgr->GetPath(me->GetEntry()); if (!path || path->empty()) { - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); return; } @@ -108,7 +108,7 @@ struct npc_preparations_for_war_vehicle : public NullCreatureAI if (me->GetDistance2d(x, y) < 10.0f) { - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); if (Vehicle* vehicle = me->GetVehicleKit()) if (Unit* passenger = vehicle->GetPassenger(0)) { diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp index b8e6576027..b406df1716 100644 --- a/src/server/scripts/Northrend/zone_dragonblight.cpp +++ b/src/server/scripts/Northrend/zone_dragonblight.cpp @@ -491,9 +491,9 @@ public: HideNozdormu(); if (Creature* cr = GetCopy()) cr->AI()->Talk(SAY_HOURGLASS_END_2, GetPlayer()); - me->DespawnOrUnsummon(500); + me->DespawnOrUnsummon(500ms); if (GetCopy()) - GetCopy()->DespawnOrUnsummon(500); + GetCopy()->DespawnOrUnsummon(500ms); break; } } @@ -626,7 +626,7 @@ public: { Talk(0); me->RemoveAllAuras(); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); if (TempSummon* summon = me->ToTempSummon()) if (Unit* owner = summon->GetSummonerUnit()) if (Player* player = owner->ToPlayer()) @@ -726,7 +726,7 @@ public: } case EVENT_TAKE_OFF: { - me->DespawnOrUnsummon(4050); + me->DespawnOrUnsummon(4050ms); me->SetOrientation(2.5f); me->SetSpeedRate(MOVE_FLIGHT, 1.0f); Position pos = me->GetPosition(); @@ -1055,12 +1055,12 @@ public: if (fromReset) { if (Creature* c = me->FindNearestCreature(NPC_SAC_LIGHTS_VENGEANCE, 150.0f, true)) - c->DespawnOrUnsummon(1); + c->DespawnOrUnsummon(1ms); if (Creature* c = me->FindNearestCreature(NPC_SAC_LIGHTS_VENGEANCE_VEH_1, 150.0f, true)) c->RemoveAllAuras(); } if (Creature* c = me->FindNearestCreature(NPC_SAC_LIGHTS_VENGEANCE_VEH_2, 150.0f, true)) - c->DespawnOrUnsummon(1); + c->DespawnOrUnsummon(1ms); if (GameObject* go = me->FindNearestGameObject(GO_SAC_LIGHTS_VENGEANCE_1, 150.0f)) go->Delete(); if (GameObject* go = me->FindNearestGameObject(GO_SAC_LIGHTS_VENGEANCE_2, 150.0f)) @@ -1289,18 +1289,18 @@ public: { c->CastSpell(v, SPELL_SAC_KILL_VEGARD, true); v->SetDisplayId(11686); - v->DespawnOrUnsummon(1000); + v->DespawnOrUnsummon(1s); b->CastSpell(b, SPELL_SAC_HOLY_BOMB_EXPLOSION, true); b->CastSpell(b, SPELL_SAC_SUMMON_GO_2, true); if (Unit* vb = c->GetVehicleBase()) { if (Unit* pass = vb->GetVehicleKit()->GetPassenger(0)) if (pass->IsCreature()) - pass->ToCreature()->DespawnOrUnsummon(1); + pass->ToCreature()->DespawnOrUnsummon(1ms); vb->RemoveAllAuras(); - vb->ToCreature()->DespawnOrUnsummon(1); + vb->ToCreature()->DespawnOrUnsummon(1ms); } - c->ToCreature()->DespawnOrUnsummon(1); + c->ToCreature()->DespawnOrUnsummon(1ms); } } break; @@ -1325,7 +1325,7 @@ public: if (spell->Id == SPELL_SAC_REPEL_HAMMER && target->IsCreature()) { target->CastSpell((Unit*)nullptr, SPELL_SAC_THROW_HAMMER, true); - target->ToCreature()->DespawnOrUnsummon(1); + target->ToCreature()->DespawnOrUnsummon(1ms); if (Unit* c = target->GetVehicleBase()) c->RemoveAurasDueToSpell(SPELL_SAC_HOLY_ZONE_AURA); } @@ -1559,7 +1559,7 @@ public: void JustDied(Unit* /*killer*/) override { Talk(1); - me->DespawnOrUnsummon(10000); + me->DespawnOrUnsummon(10s); if (Creature* c = me->FindNearestCreature(NPC_SAC_LICH_KING, 200.0f, true)) c->AI()->SetData(3, 3); } @@ -2062,7 +2062,7 @@ class spell_q12096_q12092_dummy : public SpellScript { tree->CastSpell(player, SPELL_CREATE_ITEM_BARK); tree->AI()->Talk(SAY_WALKER_FRIENDLY, player); - tree->DespawnOrUnsummon(1000); + tree->DespawnOrUnsummon(1s); } else if (roll == 0) // enemy version { @@ -2321,7 +2321,7 @@ class spell_dragonblight_devour_ghoul_periodic : public AuraScript if (GetUnitOwner() && GetUnitOwner()->ToCreature()) { GetUnitOwner()->ExitVehicle(); - GetUnitOwner()->ToCreature()->DespawnOrUnsummon(2000); + GetUnitOwner()->ToCreature()->DespawnOrUnsummon(2s); } } diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp index 1084acac01..c6354f6d39 100644 --- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp +++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp @@ -590,77 +590,77 @@ public: if (me->GetPositionY() == -2835.11f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_1, false); - me->DespawnOrUnsummon(20000); + me->DespawnOrUnsummon(20s); } if (me->GetPositionY() == -2981.89f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_3, false); - me->DespawnOrUnsummon(18000); + me->DespawnOrUnsummon(18s); } if (me->GetPositionY() == -2934.44f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_3, false); - me->DespawnOrUnsummon(9000); + me->DespawnOrUnsummon(9s); } if (me->GetPositionY() == -3020.99f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_1, false); - me->DespawnOrUnsummon(22000); + me->DespawnOrUnsummon(22s); } if (me->GetPositionY() == -2964.73f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_2, false); - me->DespawnOrUnsummon(15000); + me->DespawnOrUnsummon(15s); } if (me->GetPositionY() == -2940.50f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_1, false); - me->DespawnOrUnsummon(20000); + me->DespawnOrUnsummon(20s); } if (me->GetPositionY() == -2847.93f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_1, false); - me->DespawnOrUnsummon(30000); + me->DespawnOrUnsummon(30s); } if (me->GetPositionY() == -2835.31f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_1, false); - me->DespawnOrUnsummon(27000); + me->DespawnOrUnsummon(27s); } if (me->GetPositionY() == -2822.20f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_1, false); - me->DespawnOrUnsummon(25000); + me->DespawnOrUnsummon(25s); } if (me->GetPositionY() == -2846.31f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_1, false); - me->DespawnOrUnsummon(21000); + me->DespawnOrUnsummon(21s); } if (me->GetPositionY() == -2897.23f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_3, false); - me->DespawnOrUnsummon(15000); + me->DespawnOrUnsummon(15s); } if (me->GetPositionY() == -2886.01f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_3, false); - me->DespawnOrUnsummon(25000); + me->DespawnOrUnsummon(25s); } if (me->GetPositionY() == -2906.89f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_3, false); - me->DespawnOrUnsummon(25000); + me->DespawnOrUnsummon(25s); } if (me->GetPositionY() == -3048.94f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_2, false); - me->DespawnOrUnsummon(30000); + me->DespawnOrUnsummon(30s); } if (me->GetPositionY() == -2961.08f) { me->GetMotionMaster()->MovePath(WOUNDED_MOVE_2, false); - me->DespawnOrUnsummon(25000); + me->DespawnOrUnsummon(25s); } break; case EVENT_CLEAVE: @@ -871,7 +871,7 @@ public: { if (_following) if (!me->HasAura(SPELL_FROG_LOVE)) - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); _events.Update(diff); @@ -898,7 +898,7 @@ public: break; case EVENT_LAKEFROG_5: Talk(SAY_MAIDEN_1); - me->DespawnOrUnsummon(4000); + me->DespawnOrUnsummon(4s); break; default: break; diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp index 6022af4bca..ddcd03de7d 100644 --- a/src/server/scripts/Northrend/zone_howling_fjord.cpp +++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp @@ -44,9 +44,9 @@ public: if (Creature* cow = me->FindNearestCreature(24797, 5.0f, true)) { me->CastSpell(me, 44460, true); - me->DespawnOrUnsummon(10000); + me->DespawnOrUnsummon(10s); cow->CastSpell(cow, 44460, true); - cow->DespawnOrUnsummon(10000); + cow->DespawnOrUnsummon(10s); if (me->IsSummon()) if (Unit* owner = me->ToTempSummon()->GetSummonerUnit()) owner->CastSpell(owner, 44463, true); diff --git a/src/server/scripts/Northrend/zone_icecrown.cpp b/src/server/scripts/Northrend/zone_icecrown.cpp index d9b5d1ab58..fce6523eea 100644 --- a/src/server/scripts/Northrend/zone_icecrown.cpp +++ b/src/server/scripts/Northrend/zone_icecrown.cpp @@ -501,7 +501,7 @@ public: events.RescheduleEvent(EVENT_SOUL_COAX, 5s); } else - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); break; case EVENT_SOUL_COAX: Talk(SAY_ARETE_1); @@ -580,14 +580,14 @@ public: if (Creature* soul = ObjectAccessor::GetCreature(*me, _landgrenSoulGUID)) { soul->AI()->Talk(SAY_SOUL_4); - soul->DespawnOrUnsummon(2000); + soul->DespawnOrUnsummon(2s); } events.ScheduleEvent(EVENT_SCENE_10, 3s); break; case EVENT_SCENE_10: me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_QUESTGIVER); Talk(SAY_ARETE_6); - me->DespawnOrUnsummon(60000); + me->DespawnOrUnsummon(60s); break; } } @@ -796,7 +796,7 @@ public: summon->SetUInt32Value(UNIT_NPC_EMOTESTATE, param); break; case ACTION_SUMMON_DESPAWN: - summon->DespawnOrUnsummon(param); + summon->DespawnOrUnsummon(Milliseconds(param)); break; case ACTION_SUMMON_ORIENTATION: summon->SetFacingTo(param / 100.0f); @@ -1022,9 +1022,9 @@ public: { if (summon->GetEntry() == NPC_TIRION_LICH_KING) summon->CastSpell(summon, SPELL_LICH_KINGS_FURY, false); - summon->DespawnOrUnsummon(summon->GetEntry() == NPC_TIRION_LICH_KING ? 10000 : 4000); + summon->DespawnOrUnsummon(summon->GetEntry() == NPC_TIRION_LICH_KING ? 10s : 4s); } - me->DespawnOrUnsummon(10000); + me->DespawnOrUnsummon(10s); break; } } @@ -1310,14 +1310,14 @@ public: turret->HandleSpellClick(owner, 0); return; } - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); break; case EVENT_START_FLIGHT: { WPPath* path = sSmartWaypointMgr->GetPath(me->GetEntry()); if (!path || path->empty()) { - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); return; } @@ -1342,7 +1342,7 @@ public: // Check if path is finished if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() != ESCORT_MOTION_TYPE) { - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); return; } @@ -1381,7 +1381,7 @@ public: station->RemoveAurasDueToSpell(SPELL_INFRA_GREEN_SHIELD); } if (!playerPresent) - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } events.ScheduleEvent(EVENT_SYNCHRONIZE_SHIELDS, 1s); break; diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp index d43a29a5e9..16bfe5925b 100644 --- a/src/server/scripts/Northrend/zone_storm_peaks.cpp +++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp @@ -159,7 +159,7 @@ public: me->RemoveAllAurasExceptType(SPELL_AURA_MECHANIC_IMMUNITY); Talk(1); caster->ToPlayer()->KilledMonsterCredit(me->GetEntry()); - me->DespawnOrUnsummon(8000); + me->DespawnOrUnsummon(8s); me->GetMotionMaster()->MoveJump(8721.94f, -1955, 963, 70.0f, 30.0f); } } @@ -1149,13 +1149,13 @@ public: } else { - me->DespawnOrUnsummon(100); + me->DespawnOrUnsummon(100ms); } break; case 24: if (me->GetEntry() == NPC_PROPELLED_DEVICE_1) { - me->DespawnOrUnsummon(100); + me->DespawnOrUnsummon(100ms); } break; default: diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp index 8b36a31062..3a91af290b 100644 --- a/src/server/scripts/Northrend/zone_zuldrak.cpp +++ b/src/server/scripts/Northrend/zone_zuldrak.cpp @@ -591,7 +591,7 @@ public: // pointer check not needed DoCast(rageclaw, SPELL_FREE_RAGECLAW, true); _rageclawGUID.Clear(); - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } void SpellHit(Unit* caster, SpellInfo const* spell) override @@ -660,7 +660,7 @@ public: DoCast(me, SPELL_UNSHACKLED, true); Talk(SAY_RAGECLAW); me->GetMotionMaster()->MoveRandom(10); - me->DespawnOrUnsummon(10000); + me->DespawnOrUnsummon(10s); } } }; @@ -755,7 +755,7 @@ public: case EVENT_RECRUIT_2: me->SetWalk(true); me->GetMotionMaster()->MovePoint(0, me->GetPositionX() + (cos(_heading) * 10), me->GetPositionY() + (std::sin(_heading) * 10), me->GetPositionZ()); - me->DespawnOrUnsummon(5000); + me->DespawnOrUnsummon(5s); break; default: break; diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index 2941b05da4..93ae314506 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -1436,7 +1436,7 @@ class spell_illidan_parasitic_shadowfiend_trigger : public SpellScript { PreventHitDefaultEffect(effIndex); if (Creature* target = GetHitCreature()) - target->DespawnOrUnsummon(1); + target->DespawnOrUnsummon(1ms); } void Register() override @@ -1692,7 +1692,7 @@ class spell_illidan_cage_trap : public SpellScript if (GetCaster()->GetExactDist2d(target) < 4.0f) { target->AI()->DoAction(ACTION_ILLIDAN_CAGED); - GetCaster()->ToCreature()->DespawnOrUnsummon(1); + GetCaster()->ToCreature()->DespawnOrUnsummon(1ms); if (GameObject* gobject = GetCaster()->FindNearestGameObject(GO_CAGE_TRAP, 10.0f)) gobject->SetLootState(GO_JUST_DEACTIVATED); } diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp index 79d68ebfa0..70e52726ac 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp @@ -107,7 +107,7 @@ public: { summoner->GetAI()->DoAction(_action); _owner.SetStandState(UNIT_STAND_STATE_SUBMERGED); - _owner.DespawnOrUnsummon(200); + _owner.DespawnOrUnsummon(200ms); } return true; } diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp index 39e7723865..a8c18e4aa8 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp @@ -391,7 +391,7 @@ struct npc_creature_generator_akama : public ScriptedAI void SummonedCreatureDies(Creature* summon, Unit*) override { spawnCounter--; - summon->DespawnOrUnsummon(10000); + summon->DespawnOrUnsummon(10s); summons.Despawn(summon); } diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp index 8ec98b72fb..a9cd28a600 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp @@ -269,7 +269,7 @@ struct boss_fathomguard_sharkkis : public ScriptedAI { me->CastSpell(karathress, SPELL_POWER_OF_SHARKKIS, true); karathress->AI()->Talk(SAY_GAIN_ABILITY2); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } } @@ -452,7 +452,7 @@ struct boss_fathomguard_tidalvess : public ScriptedAI { me->CastSpell(karathress, SPELL_POWER_OF_TIDALVESS, true); karathress->AI()->Talk(SAY_GAIN_ABILITY1); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } } @@ -546,7 +546,7 @@ struct boss_fathomguard_caribdis : public ScriptedAI { me->CastSpell(karathress, SPELL_POWER_OF_CARIBDIS, true); karathress->AI()->Talk(SAY_GAIN_ABILITY3); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } } diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp index 7ac8263d36..9d25ba77d1 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp @@ -88,7 +88,7 @@ struct boss_the_lurker_below : public BossAI pool->SetRespawnTime(10); pool->SaveRespawnTime(10); } - me->DespawnOrUnsummon(2000); + me->DespawnOrUnsummon(2s); } void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*type*/, SpellSchoolMask /*school*/) override diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp index 1551d7c818..15b91e685e 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp @@ -234,7 +234,7 @@ class spell_serpentshrine_cavern_serpentshrine_parasite_trigger : public SpellSc { PreventHitDefaultEffect(effIndex); if (Creature* target = GetHitCreature()) - target->DespawnOrUnsummon(1); + target->DespawnOrUnsummon(1ms); } void Register() override diff --git a/src/server/scripts/Outland/CoilfangReservoir/SlavePens/boss_ahune.cpp b/src/server/scripts/Outland/CoilfangReservoir/SlavePens/boss_ahune.cpp index c1d2c7d42d..9f837911cd 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SlavePens/boss_ahune.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SlavePens/boss_ahune.cpp @@ -619,7 +619,7 @@ struct npc_ahune_ice_spear_bunny : public ScriptedAI _scheduler.Schedule(2500ms, [this](TaskContext /*task*/) { DoCastSelf(SPELL_ICE_SPEAR_DELAY); - me->DespawnOrUnsummon(3500); + me->DespawnOrUnsummon(3500ms); }); } diff --git a/src/server/scripts/Outland/CoilfangReservoir/underbog/boss_hungarfen.cpp b/src/server/scripts/Outland/CoilfangReservoir/underbog/boss_hungarfen.cpp index 73beb4eb0b..a8b98b64c0 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/underbog/boss_hungarfen.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/underbog/boss_hungarfen.cpp @@ -123,7 +123,7 @@ struct npc_underbog_mushroom : public ScriptedAI context.Schedule(4s, [this](TaskContext /*context*/) { me->RemoveAurasDueToSpell(SPELL_GROW); - me->DespawnOrUnsummon(2000); + me->DespawnOrUnsummon(2s); }); } else diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp index 26a0c780b7..b95e01b3e3 100644 --- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp @@ -155,7 +155,7 @@ struct boss_nazan : public ScriptedAI void EnterEvadeMode(EvadeReason /*why*/) override { - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } void JustEngagedWith(Unit*) override @@ -262,7 +262,7 @@ struct boss_vazruden : public ScriptedAI void EnterEvadeMode(EvadeReason /*why*/) override { Talk(SAY_WIPE); - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); } void JustEngagedWith(Unit*) override diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp index e37234663f..df645e4ecd 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp @@ -284,7 +284,7 @@ struct npc_target_trigger : public ScriptedAI _scheduler.Schedule(5s, [this](TaskContext /*context*/) { DoCastSelf(SPELL_DEBRIS_DAMAGE); - me->DespawnOrUnsummon(6000); + me->DespawnOrUnsummon(6s); }); } } diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index ba032cb9eb..c12b5af840 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -1013,7 +1013,7 @@ class spell_kaelthas_flame_strike : public AuraScript { GetUnitOwner()->RemoveAllAuras(); GetUnitOwner()->CastSpell(GetUnitOwner(), SPELL_FLAME_STRIKE_DAMAGE, true); - GetUnitOwner()->ToCreature()->DespawnOrUnsummon(2000); + GetUnitOwner()->ToCreature()->DespawnOrUnsummon(2s); } void Register() override diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp index 81e4b4b5a2..f9f862fd3a 100644 --- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp @@ -116,7 +116,7 @@ public: if (Creature* bunny = GetClosestCreatureWithEntry(me, NPC_EXPLOSION_BUNNY, 200.0f)) bunny->CastSpell(nullptr, SPELL_EXPLOSION, TRIGGERED_NONE); if (Creature* cannon = ObjectAccessor::GetCreature(*me, CannonGUID)) - cannon->DespawnOrUnsummon(5000); + cannon->DespawnOrUnsummon(5s); } me->SummonGameObject(GO_BIG_FIRE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 60); @@ -460,7 +460,7 @@ public: Talk(SAY_SPELL_INFLUENCE, who); /// @todo Move the below to updateAI and run if this statement == true DoCast(who, SPELL_DISPELLING_ANALYSIS, true); - bird->DespawnOrUnsummon(2000); + bird->DespawnOrUnsummon(2s); } } } @@ -775,7 +775,7 @@ public: if (GameObject* relic = me->FindNearestGameObject(large ? GO_APEXIS_MONUMENT : GO_APEXIS_RELIC, searchDistance)) relic->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } /* @@ -1086,7 +1086,7 @@ public: // Spell 37392 does not exist in dbc, manually spawning me->SummonCreature(NPC_OSCILLATING_FREQUENCY_SCANNER_TOP_BUNNY, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 50000); me->SummonGameObject(GO_OSCILLATING_FREQUENCY_SCANNER, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), 0, 0, 0, 0, 50); - me->DespawnOrUnsummon(50000); + me->DespawnOrUnsummon(50s); } timer = 500; diff --git a/src/server/scripts/Outland/zone_nagrand.cpp b/src/server/scripts/Outland/zone_nagrand.cpp index 7f462f79e5..863ed3eb25 100644 --- a/src/server/scripts/Outland/zone_nagrand.cpp +++ b/src/server/scripts/Outland/zone_nagrand.cpp @@ -464,7 +464,7 @@ public: player->KilledMonsterCredit(NPC_MAGHAR_PRISONER); prisoner->AI()->Talk(SAY_FREE, player); - prisoner->DespawnOrUnsummon(6000); + prisoner->DespawnOrUnsummon(6s); } return true; diff --git a/src/server/scripts/Pet/pet_generic.cpp b/src/server/scripts/Pet/pet_generic.cpp index 805e500009..40c92b6730 100644 --- a/src/server/scripts/Pet/pet_generic.cpp +++ b/src/server/scripts/Pet/pet_generic.cpp @@ -327,7 +327,7 @@ struct npc_pet_gen_argent_pony_bridle : public ScriptedAI creature->CastSpell(creature, spellId, true); player->AddSpellCooldown(spellId, 0, 3 * MINUTE * IN_MILLISECONDS); player->AddSpellCooldown(player->GetTeamId(true) ? SPELL_AURA_TIRED_G : SPELL_AURA_TIRED_S, 0, 3 * MINUTE * IN_MILLISECONDS + 4 * HOUR * IN_MILLISECONDS); - creature->DespawnOrUnsummon(3 * MINUTE * IN_MILLISECONDS); + creature->DespawnOrUnsummon(180s); } return true; } @@ -388,7 +388,7 @@ struct npc_pet_gen_target_following_bomb : public NullCreatureAI if (me->GetDistance(target) < 3.0f) { me->CastSpell(me, bombSpellId, false); - me->DespawnOrUnsummon(500); + me->DespawnOrUnsummon(500ms); } } else if (!me->HasUnitState(UNIT_STATE_FOLLOW)) @@ -557,7 +557,7 @@ struct npc_pet_gen_imp_in_a_bottle : public NullCreatureAI if (_talkTimer >= 5000) { _talkTimer = 0; - me->DespawnOrUnsummon(1); + me->DespawnOrUnsummon(1ms); if (!_hasParty) Talk(0, ObjectAccessor::GetPlayer(*me, _ownerGUID)); else if (Player* player = ObjectAccessor::GetPlayer(*me, _ownerGUID)) diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index fcd58e2f79..a3a62ae7e8 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -3706,7 +3706,7 @@ class spell_gen_despawn_self : public SpellScript void HandleDummy(SpellEffIndex effIndex) { if (GetSpellInfo()->Effects[effIndex].Effect == SPELL_EFFECT_DUMMY || GetSpellInfo()->Effects[effIndex].Effect == SPELL_EFFECT_SCRIPT_EFFECT) - GetCaster()->ToCreature()->DespawnOrUnsummon(1); + GetCaster()->ToCreature()->DespawnOrUnsummon(1ms); } void Register() override diff --git a/src/server/scripts/Spells/spell_hunter.cpp b/src/server/scripts/Spells/spell_hunter.cpp index d3325403ad..8ec480ca06 100644 --- a/src/server/scripts/Spells/spell_hunter.cpp +++ b/src/server/scripts/Spells/spell_hunter.cpp @@ -302,7 +302,7 @@ class spell_hun_taming_the_beast : public AuraScript { if (Unit* target = GetTarget()) if (Creature* creature = target->ToCreature()) - creature->DespawnOrUnsummon(1); + creature->DespawnOrUnsummon(1ms); } void Register() override diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp index 5b458f44c7..e99d56478f 100644 --- a/src/server/scripts/Spells/spell_item.cpp +++ b/src/server/scripts/Spells/spell_item.cpp @@ -347,7 +347,7 @@ class spell_item_rocket_chicken : public AuraScript { if (roll_chance_i(5)) { - GetTarget()->ToCreature()->DespawnOrUnsummon(8000); + GetTarget()->ToCreature()->DespawnOrUnsummon(8s); GetTarget()->Kill(GetTarget(), GetTarget()); } else if (roll_chance_i(50)) @@ -468,7 +468,7 @@ class spell_item_toxic_wasteling : public SpellScript GetCaster()->GetMotionMaster()->MoveIdle(); GetCaster()->ToCreature()->SetHomePosition(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f); GetCaster()->GetMotionMaster()->MoveJump(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 12.0f, 3.0f, 1); - target->DespawnOrUnsummon(1500); + target->DespawnOrUnsummon(1500ms); } } @@ -505,7 +505,7 @@ class spell_item_lil_xt : public SpellScript return; if (GetCaster()->IsCreature() && GetCaster()->ToCreature()->AI()) GetCaster()->ToCreature()->AI()->Talk(2); - target->DespawnOrUnsummon(500); + target->DespawnOrUnsummon(500ms); } void Register() override diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp index 704a354248..9020cb9918 100644 --- a/src/server/scripts/Spells/spell_quest.cpp +++ b/src/server/scripts/Spells/spell_quest.cpp @@ -68,7 +68,7 @@ class spell_q11065_wrangle_some_aether_rays_aura : public AuraScript { cr->CastSpell(player, 40926, true); cr->GetMotionMaster()->MoveFollow(player, 5.0f, 2 * M_PI * rand_norm()); - ar->ToCreature()->DespawnOrUnsummon(500); + ar->ToCreature()->DespawnOrUnsummon(500ms); } } } @@ -756,10 +756,10 @@ private: uint32 _originalEntry; uint32 _newEntry; bool _shouldAttack; - uint32 _despawnTime; + Milliseconds _despawnTime; public: - spell_generic_quest_update_entry_SpellScript(uint16 spellEffect, uint8 effIndex, uint32 originalEntry, uint32 newEntry, bool shouldAttack, uint32 despawnTime = 0) : + spell_generic_quest_update_entry_SpellScript(uint16 spellEffect, uint8 effIndex, uint32 originalEntry, uint32 newEntry, bool shouldAttack, Milliseconds despawnTime = 0ms) : SpellScript(), _spellEffect(spellEffect), _effIndex(effIndex), _originalEntry(originalEntry), _newEntry(newEntry), _shouldAttack(shouldAttack), _despawnTime(despawnTime) { } @@ -772,7 +772,7 @@ public: if (_shouldAttack && creatureTarget->IsAIEnabled) creatureTarget->AI()->AttackStart(GetCaster()); - if (_despawnTime) + if (_despawnTime > 0ms) creatureTarget->DespawnOrUnsummon(_despawnTime); } } @@ -900,10 +900,11 @@ enum Quests6124_6129Data NPC_SICKLY_GAZELLE = 12296, NPC_CURED_GAZELLE = 12297, NPC_SICKLY_DEER = 12298, - NPC_CURED_DEER = 12299, - DESPAWN_TIME = 30000 + NPC_CURED_DEER = 12299 }; +constexpr Milliseconds DESPAWN_TIME = 30s; + class spell_q6124_6129_apply_salve : public SpellScript { PrepareSpellScript(spell_q6124_6129_apply_salve); @@ -1372,7 +1373,7 @@ class spell_q12937_relief_for_the_fallen : public AuraScript if (target && target->ToCreature()) { caster->KilledMonsterCredit(NPC_FALLEN_EARTHEN_DEFENDER); - target->ToCreature()->DespawnOrUnsummon(5000); + target->ToCreature()->DespawnOrUnsummon(5s); target->SetStandState(UNIT_STAND_STATE_STAND); target->ToCreature()->AI()->Talk(TALK_FALLEN_EARTHEN_HEALED); @@ -1513,7 +1514,7 @@ class spell_q9874_liquid_fire : public SpellScript { caster->KilledMonsterCredit(NPC_VILLAGER_KILL_CREDIT); target->CastSpell(target, SPELL_FLAMES, true); - target->DespawnOrUnsummon(20000); + target->DespawnOrUnsummon(20s); } } @@ -1560,7 +1561,7 @@ class spell_q12805_lifeblood_dummy : public SpellScript caster->KilledMonsterCredit(NPC_SHARD_KILL_CREDIT); target->CastSpell(target, uint32(GetEffectValue()), true); - target->DespawnOrUnsummon(2000); + target->DespawnOrUnsummon(2s); } void Register() override @@ -2144,7 +2145,7 @@ class spell_q12690_burst_at_the_seams : public SpellScript void HandleScript(SpellEffIndex /*effIndex*/) { - GetCaster()->ToCreature()->DespawnOrUnsummon(2 * IN_MILLISECONDS); + GetCaster()->ToCreature()->DespawnOrUnsummon(2s); } void Register() override diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp index 458984900f..6caf5982d2 100644 --- a/src/server/scripts/World/boss_emerald_dragons.cpp +++ b/src/server/scripts/World/boss_emerald_dragons.cpp @@ -476,7 +476,7 @@ public: if (moveType == FOLLOW_MOTION_TYPE && data == _summonerGuid.GetCounter()) { me->CastSpell((Unit*)nullptr, SPELL_DARK_OFFERING, false); - me->DespawnOrUnsummon(1000); + me->DespawnOrUnsummon(1s); } } diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp index 8b92bed075..b28ffaade3 100644 --- a/src/server/scripts/World/go_scripts.cpp +++ b/src/server/scripts/World/go_scripts.cpp @@ -283,7 +283,7 @@ public: for (std::list::const_iterator itr = cList.begin(); itr != cList.end(); ++itr) { player->KilledMonsterCredit(NPC_WINTERFIN_TADPOLE); - (*itr)->DespawnOrUnsummon(urand(45000, 60000)); + (*itr)->DespawnOrUnsummon(randtime(45s, 60s)); (*itr)->GetMotionMaster()->MoveFollow(player, 1.0f, frand(0.0f, 2 * M_PI), MOTION_SLOT_CONTROLLED); } } @@ -1694,7 +1694,7 @@ public: for (std::list::const_iterator itr = childrenList.begin(); itr != childrenList.end(); ++itr) { player->KilledMonsterCredit(NPC_CAPTIVE_CHILD, (*itr)->GetGUID()); - (*itr)->DespawnOrUnsummon(5000); + (*itr)->DespawnOrUnsummon(5s); (*itr)->GetMotionMaster()->MovePoint(1, go->GetPositionX() + 5, go->GetPositionY(), go->GetPositionZ()); (*itr)->AI()->Talk(SAY_FREE_0); (*itr)->GetMotionMaster()->Clear(); diff --git a/src/server/scripts/World/npc_stave_of_ancients.cpp b/src/server/scripts/World/npc_stave_of_ancients.cpp index 2c318f2743..159ff1e72c 100644 --- a/src/server/scripts/World/npc_stave_of_ancients.cpp +++ b/src/server/scripts/World/npc_stave_of_ancients.cpp @@ -42,7 +42,7 @@ void NPCStaveQuestAI::RevealForm() { me->UpdateEntry(GetFormEntry("evil")); me->SetFullHealth(); - me->DespawnOrUnsummon(900000); + me->DespawnOrUnsummon(900s); } } @@ -373,7 +373,7 @@ public: SetHomePosition(); me->SetUnitFlag(UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_ATTACKABLE_1); me->SetImmuneToAll(true); - me->DespawnOrUnsummon(5000); + me->DespawnOrUnsummon(5s); break; } events.Repeat(2s); @@ -476,7 +476,7 @@ public: { if (flaggedForDespawn) { - me->DespawnOrUnsummon(0); + me->DespawnOrUnsummon(0ms); flaggedForDespawn = false; } } @@ -640,7 +640,7 @@ public: } else { - Precious()->DespawnOrUnsummon(0); + Precious()->DespawnOrUnsummon(0ms); } } @@ -765,9 +765,9 @@ public: me->SetUnitFlag(UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_ATTACKABLE_1); me->SetImmuneToAll(true); - Precious()->DespawnOrUnsummon(5000); + Precious()->DespawnOrUnsummon(5s); - me->DespawnOrUnsummon(5000); + me->DespawnOrUnsummon(5s); break; } events.Repeat(2s); @@ -978,7 +978,7 @@ public: me->CombatStop(true); me->Say(NELSON_DESPAWN_SAY); me->HandleEmoteCommand(EMOTE_ONESHOT_TALK); - me->DespawnOrUnsummon(5000); + me->DespawnOrUnsummon(5s); break; } events.Repeat(2s); @@ -1149,7 +1149,7 @@ public: me->CombatStop(true); me->Say(FRANKLIN_DESPAWN_SAY); me->HandleEmoteCommand(EMOTE_ONESHOT_TALK); - me->DespawnOrUnsummon(5000); + me->DespawnOrUnsummon(5s); break; } events.Repeat(2s);