aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorAokromes <Aokromes@users.noreply.github.com>2018-11-28 16:44:28 +0100
committerShauren <shauren.trinity@gmail.com>2021-11-16 00:50:23 +0100
commitc44650502cf7e7285e3e504d238638ac0ccc7ec6 (patch)
tree27e79d81d16793b4851da65f6768ec844ca276b1 /src/server/game
parenta0de41af6934b630dd29bc2c7a23deb1e46f71a4 (diff)
Core/GameEvent: weekend xp rate (#17782)
* Core/GameEvent: weekend xp rate by kline * Update to recent code * compile fix try things of copy and paste 4 years old code xd * more code update * forgot to change this * Update worldserver.conf.dist * Added function to calculate weekend event xp rates By greenbagels * Cleaning using scripts * Implement daymask and rename variables etc. * Rename script file weekend -> boosted * Update src/server/game/World/World.cpp Co-Authored-By: Aokromes <Aokromes@users.noreply.github.com> * Fix xp multiplier not applying to quest rewards * Disable xp boost script when no boosted days selected (cherry picked from commit 538c5b86873a4c57e1eb37f0c81c2a7b4552ebc1)
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/World/World.cpp4
-rw-r--r--src/server/game/World/World.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index da32b6edab3..22e1d89be4f 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -602,6 +602,10 @@ void World::LoadConfigSettings(bool reload)
rate_values[RATE_XP_BG_KILL] = sConfigMgr->GetFloatDefault("Rate.XP.BattlegroundKill", 1.0f);
rate_values[RATE_XP_QUEST] = sConfigMgr->GetFloatDefault("Rate.XP.Quest", 1.0f);
rate_values[RATE_XP_EXPLORE] = sConfigMgr->GetFloatDefault("Rate.XP.Explore", 1.0f);
+
+ m_int_configs[CONFIG_XP_BOOST_DAYMASK] = sConfigMgr->GetIntDefault("XP.Boost.Daymask", 0);
+ rate_values[RATE_XP_BOOST] = sConfigMgr->GetFloatDefault("XP.Boost.Rate", 2.0f);
+
rate_values[RATE_REPAIRCOST] = sConfigMgr->GetFloatDefault("Rate.RepairCost", 1.0f);
if (rate_values[RATE_REPAIRCOST] < 0.0f)
{
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index 2bc273d7885..aad6025a6b4 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -362,6 +362,7 @@ enum WorldIntConfigs
CONFIG_PERSISTENT_CHARACTER_CLEAN_FLAGS,
CONFIG_LFG_OPTIONSMASK,
CONFIG_MAX_INSTANCES_PER_HOUR,
+ CONFIG_XP_BOOST_DAYMASK,
CONFIG_WARDEN_CLIENT_RESPONSE_DELAY,
CONFIG_WARDEN_CLIENT_CHECK_HOLDOFF,
CONFIG_WARDEN_CLIENT_FAIL_ACTION,
@@ -501,6 +502,7 @@ enum Rates
RATE_DURABILITY_LOSS_ABSORB,
RATE_DURABILITY_LOSS_BLOCK,
RATE_MOVESPEED,
+ RATE_XP_BOOST,
RATE_MONEY_QUEST,
RATE_MONEY_MAX_LEVEL_QUEST,
MAX_RATES