aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSnapperRy <snapperryen@gmail.com>2016-09-30 15:27:31 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2017-03-04 19:01:44 +0100
commit1006091f16c93f1850302a11c3aeeaaeec9a2305 (patch)
tree3f31d816e03456d977c9c05255a827056259be91
parenta21110a4e1f2002ef6d40a17316dff36d67b3e52 (diff)
Core/Config: allow to specify daily quest reset hour in config.
Also default it to 3:00AM, as that's when daily quests used to reset during WotLK. (cherry picked from commit e9870fb1fc4d372ed99a1db36d7285e6ae2c5fa8)
-rw-r--r--src/server/game/World/World.cpp4
-rw-r--r--src/server/game/World/World.h1
-rw-r--r--src/server/worldserver/worldserver.conf.dist9
3 files changed, 12 insertions, 2 deletions
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index ca78d179498..1511bd9cdf0 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -973,6 +973,7 @@ void World::LoadConfigSettings(bool reload)
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_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);
m_int_configs[CONFIG_MAX_PRIMARY_TRADE_SKILL] = sConfigMgr->GetIntDefault("MaxPrimaryTradeSkill", 2);
m_int_configs[CONFIG_MIN_PETITION_SIGNS] = sConfigMgr->GetIntDefault("MinPetitionSigns", 4);
@@ -3102,12 +3103,11 @@ void World::InitDailyQuestResetTime(bool loading)
}
}
- // client built-in time for reset is 6:00 AM
// FIX ME: client not show day start time
time_t curTime = time(NULL);
tm localTm;
localtime_r(&curTime, &localTm);
- localTm.tm_hour = 6;
+ localTm.tm_hour = getIntConfig(CONFIG_DAILY_QUEST_RESET_TIME_HOUR);
localTm.tm_min = 0;
localTm.tm_sec = 0;
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index e96092bd170..a32c63c50b9 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -265,6 +265,7 @@ enum WorldIntConfigs
CONFIG_MAX_RECRUIT_A_FRIEND_BONUS_PLAYER_LEVEL_DIFFERENCE,
CONFIG_INSTANCE_RESET_TIME_HOUR,
CONFIG_INSTANCE_UNLOAD_DELAY,
+ CONFIG_DAILY_QUEST_RESET_TIME_HOUR,
CONFIG_MAX_PRIMARY_TRADE_SKILL,
CONFIG_MIN_PETITION_SIGNS,
CONFIG_GM_LOGIN_STATE,
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index 3e383085d49..a9b67340214 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -1047,6 +1047,15 @@ Quests.IgnoreAutoAccept = 0
Quests.IgnoreAutoComplete = 0
#
+# Quests.DailyResetTime
+# Description: Hour of the day when daily quest reset occurs.
+# Range: 0-23
+# Default: 3 - (3:00 AM, Blizzlike)
+#
+
+Quests.DailyResetTime = 3
+
+#
# Guild.EventLogRecordsCount
# Description: Number of log entries for guild events that are stored per guild. Old entries
# will be overwritten if the number of log entries exceed the configured value.