diff options
author | Shauren <shauren.trinity@gmail.com> | 2021-01-17 14:32:06 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-10-04 00:19:38 +0200 |
commit | cedf09f93c44be2abf1c2b40e0e4c51f95f2975c (patch) | |
tree | 1ced904f172acd663982fa13ba1c8b86add7e914 /src/server | |
parent | 0be72f68c33617d78a4139f3e667b03d0a22a435 (diff) |
Core/Instances: Add new config options to control the time when both daily and weekly resets occur (will not be restricted to instances only)
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/game/Instances/InstanceLockMgr.cpp | 6 | ||||
-rw-r--r-- | src/server/game/World/World.cpp | 3 | ||||
-rw-r--r-- | src/server/game/World/World.h | 3 | ||||
-rw-r--r-- | src/server/worldserver/worldserver.conf.dist | 24 |
4 files changed, 22 insertions, 14 deletions
diff --git a/src/server/game/Instances/InstanceLockMgr.cpp b/src/server/game/Instances/InstanceLockMgr.cpp index 1e2eb22cbe6..3b66f39eadc 100644 --- a/src/server/game/Instances/InstanceLockMgr.cpp +++ b/src/server/game/Instances/InstanceLockMgr.cpp @@ -455,14 +455,12 @@ std::pair<InstanceResetTimePoint, InstanceResetTimePoint> InstanceLockMgr::Updat return { InstanceResetTimePoint::min(), InstanceResetTimePoint::min() }; } -#include "Config.h" - InstanceResetTimePoint InstanceLockMgr::GetNextResetTime(MapDb2Entries const& entries) { tm dateTime = *GameTime::GetDateAndTime(); dateTime.tm_sec = 0; dateTime.tm_min = 0; - int32 resetHour = sConfigMgr->GetIntDefault("ResetSchedule.DailyHour", 9); + int32 resetHour = sWorld->getIntConfig(CONFIG_RESET_SCHEDULE_HOUR); switch (entries.MapDifficulty->ResetInterval) { case MAP_DIFFICULTY_RESET_DAILY: @@ -475,7 +473,7 @@ InstanceResetTimePoint InstanceLockMgr::GetNextResetTime(MapDb2Entries const& en } case MAP_DIFFICULTY_RESET_WEEKLY: { - int32 resetDay = sConfigMgr->GetIntDefault("ResetSchedule.WeeklyDay", 2); + int32 resetDay = sWorld->getIntConfig(CONFIG_RESET_SCHEDULE_WEEK_DAY); int32 daysAdjust = resetDay - dateTime.tm_wday; if (dateTime.tm_wday > resetDay || (dateTime.tm_wday == resetDay && dateTime.tm_hour >= resetHour)) daysAdjust += 7; // passed it for current week, grab time from next week diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 21960dc7b0a..097590d2300 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1111,7 +1111,8 @@ void World::LoadConfigSettings(bool reload) m_bool_configs[CONFIG_INSTANCE_IGNORE_RAID] = sConfigMgr->GetBoolDefault("Instance.IgnoreRaid", false); m_bool_configs[CONFIG_CAST_UNSTUCK] = sConfigMgr->GetBoolDefault("CastUnstuck", true); - m_int_configs[CONFIG_INSTANCE_RESET_TIME_HOUR] = sConfigMgr->GetIntDefault("Instance.ResetTimeHour", 4); + m_int_configs[CONFIG_RESET_SCHEDULE_WEEK_DAY] = sConfigMgr->GetIntDefault("ResetSchedule.WeekDay", 2); + m_int_configs[CONFIG_RESET_SCHEDULE_HOUR] = sConfigMgr->GetIntDefault("ResetSchedule.Hour", 8); m_int_configs[CONFIG_INSTANCE_UNLOAD_DELAY] = sConfigMgr->GetIntDefault("Instance.UnloadDelay", 30 * MINUTE * IN_MILLISECONDS); m_int_configs[CONFIG_DAILY_QUEST_RESET_TIME_HOUR] = sConfigMgr->GetIntDefault("Quests.DailyResetTime", 3); diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index 044990acecd..1d390fc2c08 100644 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -267,7 +267,8 @@ enum WorldIntConfigs CONFIG_CURRENCY_RESET_INTERVAL, CONFIG_MAX_RECRUIT_A_FRIEND_BONUS_PLAYER_LEVEL, CONFIG_MAX_RECRUIT_A_FRIEND_BONUS_PLAYER_LEVEL_DIFFERENCE, - CONFIG_INSTANCE_RESET_TIME_HOUR, + CONFIG_RESET_SCHEDULE_WEEK_DAY, + CONFIG_RESET_SCHEDULE_HOUR, CONFIG_INSTANCE_UNLOAD_DELAY, CONFIG_DAILY_QUEST_RESET_TIME_HOUR, CONFIG_WEEKLY_QUEST_RESET_TIME_WDAY, diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index 05bec77ed07..701d3155a3b 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -999,14 +999,6 @@ Instance.IgnoreLevel = 0 Instance.IgnoreRaid = 0 # -# Instance.ResetTimeHour -# Description: Hour of the day when the global instance reset occurs. -# Range: 0-23 -# Default: 4 - (04:00 AM) - -Instance.ResetTimeHour = 4 - -# # Instance.UnloadDelay # Description: Time (in milliseconds) before instance maps are unloaded from memory if no # characters are inside. @@ -1025,6 +1017,22 @@ Instance.UnloadDelay = 1800000 InstancesResetAnnounce = false # +# ResetSchedule.WeekDay +# Description: Day of the week when the global weekly reset occurs. +# Range: 0-6 +# Default: 2 - (Tuesday) + +ResetSchedule.WeekDay = 2 + +# +# ResetSchedule.Hour +# Description: Hour of the day when the global daily reset occurs. +# Range: 0-23 +# Default: 8 - (08:00 AM) + +ResetSchedule.Hour = 8 + +# # Quests.EnableQuestTracker # Description: Store data in the database about quest completion and abandonment to help finding bugged quests. # Default: 0 - (Disabled) |