From 9e1b2d96a5d1afe367d8b6dd785725637b705893 Mon Sep 17 00:00:00 2001 From: Michael Richards Date: Sat, 1 Nov 2025 11:03:08 -0500 Subject: [PATCH] Pull config values as floats for finer control --- src/dynamicxp.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/dynamicxp.cpp b/src/dynamicxp.cpp index 4fd38d8..b79af1c 100644 --- a/src/dynamicxp.cpp +++ b/src/dynamicxp.cpp @@ -29,21 +29,21 @@ class spp_dynamic_xp_rate : public PlayerScript if (sConfigMgr->GetOption("Dynamic.XP.Rate", true)) { if (player->GetLevel() <= 9) - amount *= sConfigMgr->GetOption("Dynamic.XP.Rate.1-9", 1); + amount = static_cast(round(amount * sConfigMgr->GetOption("Dynamic.XP.Rate.1-9", 1))); else if (player->GetLevel() <= 19) - amount *= sConfigMgr->GetOption("Dynamic.XP.Rate.10-19", 2); + amount = static_cast(round(amount * sConfigMgr->GetOption("Dynamic.XP.Rate.10-19", 2))); else if (player->GetLevel() <= 29) - amount *= sConfigMgr->GetOption("Dynamic.XP.Rate.20-29", 3); + amount = static_cast(round(amount * sConfigMgr->GetOption("Dynamic.XP.Rate.20-29", 3))); else if (player->GetLevel() <= 39) - amount *= sConfigMgr->GetOption("Dynamic.XP.Rate.30-39", 4); + amount = static_cast(round(amount * sConfigMgr->GetOption("Dynamic.XP.Rate.30-39", 4))); else if (player->GetLevel() <= 49) - amount *= sConfigMgr->GetOption("Dynamic.XP.Rate.40-49", 5); + amount = static_cast(round(amount * sConfigMgr->GetOption("Dynamic.XP.Rate.40-49", 5))); else if (player->GetLevel() <= 59) - amount *= sConfigMgr->GetOption("Dynamic.XP.Rate.50-59", 6); + amount = static_cast(round(amount * sConfigMgr->GetOption("Dynamic.XP.Rate.50-59", 6))); else if (player->GetLevel() <= 69) - amount *= sConfigMgr->GetOption("Dynamic.XP.Rate.60-69", 7); + amount = static_cast(round(amount * sConfigMgr->GetOption("Dynamic.XP.Rate.60-69", 7))); else if (player->GetLevel() <= 79) - amount *= sConfigMgr->GetOption("Dynamic.XP.Rate.70-79", 8); + amount = static_cast(round(amount * sConfigMgr->GetOption("Dynamic.XP.Rate.70-79", 8))); } } };