From 9a5930df2030032163b21b22f778235eaf8d6b19 Mon Sep 17 00:00:00 2001 From: Revision Date: Mon, 10 Jan 2022 00:28:30 +0100 Subject: [PATCH] Fix Attempt to fix any possible issue that might creep up when setting the multipliers to their default values. --- src/WeekendBonus.cpp | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/WeekendBonus.cpp b/src/WeekendBonus.cpp index 0922012..d1294cb 100644 --- a/src/WeekendBonus.cpp +++ b/src/WeekendBonus.cpp @@ -35,18 +35,21 @@ class WeekendBonusWorld : WorldScript void OnAfterConfigLoad(bool reload) override { - rateExperienceKill = sWorld->getRate(RATE_XP_KILL); - rateExperienceBgKill = sWorld->getRate(RATE_XP_BG_KILL); - rateExperienceQuest = sWorld->getRate(RATE_XP_QUEST); - rateExperienceQuestDf = sWorld->getRate(RATE_XP_QUEST_DF); - rateExperienceExplore = sWorld->getRate(RATE_XP_EXPLORE); - rateExperiencePet = sWorld->getRate(RATE_XP_PET); - rateMoney = sWorld->getRate(RATE_DROP_MONEY); - rateProfessionsCrafting = sWorld->getIntConfig(CONFIG_SKILL_GAIN_CRAFTING); - rateProfessionsGathering = sWorld->getIntConfig(CONFIG_SKILL_GAIN_GATHERING); - rateReputation = sWorld->getRate(RATE_REPUTATION_GAIN); - rateProficienciesDefense = sWorld->getIntConfig(CONFIG_SKILL_GAIN_DEFENSE); - rateProficienciesWeapons = sWorld->getIntConfig(CONFIG_SKILL_GAIN_WEAPON); + if (!reload) + { + rateExperienceKill = sWorld->getRate(RATE_XP_KILL); + rateExperienceBgKill = sWorld->getRate(RATE_XP_BG_KILL); + rateExperienceQuest = sWorld->getRate(RATE_XP_QUEST); + rateExperienceQuestDf = sWorld->getRate(RATE_XP_QUEST_DF); + rateExperienceExplore = sWorld->getRate(RATE_XP_EXPLORE); + rateExperiencePet = sWorld->getRate(RATE_XP_PET); + rateMoney = sWorld->getRate(RATE_DROP_MONEY); + rateProfessionsCrafting = sWorld->getIntConfig(CONFIG_SKILL_GAIN_CRAFTING); + rateProfessionsGathering = sWorld->getIntConfig(CONFIG_SKILL_GAIN_GATHERING); + rateReputation = sWorld->getRate(RATE_REPUTATION_GAIN); + rateProficienciesDefense = sWorld->getIntConfig(CONFIG_SKILL_GAIN_DEFENSE); + rateProficienciesWeapons = sWorld->getIntConfig(CONFIG_SKILL_GAIN_WEAPON); + } multiplierExperience = sConfigMgr->GetOption("WeekendBonus.Multiplier.Experience", 2.0f); multiplierMoney = sConfigMgr->GetOption("WeekendBonus.Multiplier.Money", 2.0f);