feat(Core/Config): Add configurable XP rate for battleground objectives (#24672)

This commit is contained in:
sogladev
2026-02-14 08:31:58 +01:00
committed by GitHub
parent 9e8a25c5d4
commit bdb0cfac6f
4 changed files with 10 additions and 1 deletions

View File

@@ -6217,7 +6217,7 @@ bool Player::RewardHonor(Unit* uVictim, uint32 groupsize, int32 honor, bool awar
// Xinef: Only for BG activities
if (!uVictim)
{
uint32 xp = uint32(honor * (3 + GetLevel() * 0.30f));
uint32 xp = static_cast<uint32>(honor * (3 + GetLevel() * 0.30f) * sWorld->getRate(RATE_XP_BATTLEGROUND_BONUS));
sScriptMgr->OnPlayerGiveXP(this, xp, nullptr, PlayerXPSource::XPSOURCE_BATTLEGROUND);
GiveXP(xp, nullptr);
}

View File

@@ -64,6 +64,7 @@ void WorldConfig::BuildConfigCache()
SetConfigValue<float>(RATE_XP_EXPLORE, "Rate.XP.Explore", 1.0f);
SetConfigValue<float>(RATE_XP_PET, "Rate.XP.Pet", 1.0f);
SetConfigValue<float>(RATE_XP_PET_NEXT_LEVEL, "Rate.Pet.LevelXP", 0.05f);
SetConfigValue<float>(RATE_XP_BATTLEGROUND_BONUS, "Rate.XP.BattlegroundBonus", 1.0f);
SetConfigValue<float>(RATE_REPAIRCOST, "Rate.RepairCost", 1.0f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(RATE_SELLVALUE_ITEM_POOR, "Rate.SellValue.Item.Poor", 1.0f);

View File

@@ -437,6 +437,7 @@ enum ServerConfigs
RATE_XP_EXPLORE,
RATE_XP_PET,
RATE_XP_PET_NEXT_LEVEL,
RATE_XP_BATTLEGROUND_BONUS,
RATE_REPAIRCOST,
RATE_REPUTATION_GAIN,
RATE_REPUTATION_GAIN_AB,