feat(Core/Conf): Rate.RewMoneyMaxLevel (#4546)

This commit is contained in:
Francesco Borzì
2021-02-12 16:20:31 +01:00
committed by GitHub
parent 576f3588be
commit a63e41e5b3
5 changed files with 14 additions and 4 deletions

View File

@@ -16073,7 +16073,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
int32 moneyRew = 0;
if (getLevel() >= sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL) || sScriptMgr->ShouldBeRewardedWithMoneyInsteadOfExp(this))
{
moneyRew = int32(quest->GetRewMoneyMaxLevel() * sWorld->getRate(RATE_DROP_MONEY));
moneyRew = quest->GetRewMoneyMaxLevel();
}
else
{
@@ -17587,7 +17587,7 @@ void Player::SendQuestReward(Quest const* quest, uint32 XP)
else
{
data << uint32(0);
data << uint32(quest->GetRewOrReqMoney() + int32(quest->GetRewMoneyMaxLevel() * sWorld->getRate(RATE_DROP_MONEY)));
data << uint32(quest->GetRewOrReqMoney() + quest->GetRewMoneyMaxLevel());
}
data << uint32(10 * quest->CalculateHonorGain(GetQuestLevel(quest)));

View File

@@ -208,7 +208,7 @@ int32 Quest::GetRewOrReqMoney() const
if (RewardMoney <= 0)
return RewardMoney;
return int32(RewardMoney * sWorld->getRate(RATE_DROP_MONEY));
return static_cast<int32>(RewardMoney * sWorld->getRate(RATE_DROP_MONEY));
}
uint32 Quest::GetRewMoneyMaxLevel() const
@@ -216,7 +216,7 @@ uint32 Quest::GetRewMoneyMaxLevel() const
if (HasFlag(QUEST_FLAGS_NO_MONEY_FROM_XP))
return 0;
return RewardBonusMoney;
return static_cast<int32>(RewardBonusMoney * sWorld->getRate(RATE_REWARD_BONUS_MONEY) * sWorld->getRate(RATE_DROP_MONEY));
}
bool Quest::IsAutoAccept() const

View File

@@ -416,6 +416,7 @@ enum Rates
RATE_BUYVALUE_ITEM_ARTIFACT,
RATE_BUYVALUE_ITEM_HEIRLOOM,
RATE_DROP_MONEY,
RATE_REWARD_BONUS_MONEY,
RATE_XP_KILL,
RATE_XP_BG_KILL,
RATE_XP_QUEST,

View File

@@ -500,6 +500,7 @@ void World::LoadConfigSettings(bool reload)
rate_values[RATE_DROP_ITEM_REFERENCED] = sConfigMgr->GetFloatDefault("Rate.Drop.Item.Referenced", 1.0f);
rate_values[RATE_DROP_ITEM_REFERENCED_AMOUNT] = sConfigMgr->GetFloatDefault("Rate.Drop.Item.ReferencedAmount", 1.0f);
rate_values[RATE_DROP_MONEY] = sConfigMgr->GetFloatDefault("Rate.Drop.Money", 1.0f);
rate_values[RATE_REWARD_BONUS_MONEY] = sConfigMgr->GetFloatDefault("Rate.RewardBonusMoney", 1.0f);
rate_values[RATE_XP_KILL] = sConfigMgr->GetFloatDefault("Rate.XP.Kill", 1.0f);
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);

View File

@@ -2363,6 +2363,14 @@ Rate.Drop.Item.Artifact = 1
Rate.Drop.Item.Referenced = 1
Rate.Drop.Money = 1
# RewardBonusMoney
# Description: Allows to further tweak the amount of extra money rewarded by quests when the player
# is at MaxPlayerLevel (this amount is specified in quest_template.RewardBonusMoney).
# NOTE: the final amount will also affected by Rate.Drop.Money
# Default: 1
Rate.RewardBonusMoney = 1
#
# Rate.SellValue.Item.Poor
# Rate.SellValue.Item.Normal