feat(Core/Loot): Add Rate.Drop.Item.GroupAmount to increase loot generated from loot groups (#16220)

* Adds the `Rate.Drop.Item.GroupAmount` setting to the world config. Causes top-level loot groups to drop multiple items. Does not affect references.

* Don't multiply a group if a quest item gets selected. Avoids strange situations like Arcanist Doan having three hearts.

* Resolve syntax error.

* Fix whitespace

* Fix code style issue
This commit is contained in:
Keller (KJack)
2023-05-14 06:26:12 -04:00
committed by GitHub
parent 89acad2145
commit 7fcb57e5ab
5 changed files with 56 additions and 19 deletions

View File

@@ -436,8 +436,8 @@ enum Rates
RATE_DROP_ITEM_LEGENDARY,
RATE_DROP_ITEM_ARTIFACT,
RATE_DROP_ITEM_REFERENCED,
RATE_DROP_ITEM_REFERENCED_AMOUNT,
RATE_DROP_ITEM_GROUP_AMOUNT,
RATE_SELLVALUE_ITEM_POOR,
RATE_SELLVALUE_ITEM_NORMAL,
RATE_SELLVALUE_ITEM_UNCOMMON,

View File

@@ -492,7 +492,9 @@ void World::LoadConfigSettings(bool reload)
_rate_values[RATE_DROP_ITEM_ARTIFACT] = sConfigMgr->GetOption<float>("Rate.Drop.Item.Artifact", 1.0f);
_rate_values[RATE_DROP_ITEM_REFERENCED] = sConfigMgr->GetOption<float>("Rate.Drop.Item.Referenced", 1.0f);
_rate_values[RATE_DROP_ITEM_REFERENCED_AMOUNT] = sConfigMgr->GetOption<float>("Rate.Drop.Item.ReferencedAmount", 1.0f);
_rate_values[RATE_DROP_ITEM_GROUP_AMOUNT] = sConfigMgr->GetOption<float>("Rate.Drop.Item.GroupAmount", 1.0f);
_rate_values[RATE_DROP_MONEY] = sConfigMgr->GetOption<float>("Rate.Drop.Money", 1.0f);
_rate_values[RATE_REWARD_BONUS_MONEY] = sConfigMgr->GetOption<float>("Rate.RewardBonusMoney", 1.0f);
_rate_values[RATE_XP_KILL] = sConfigMgr->GetOption<float>("Rate.XP.Kill", 1.0f);
_rate_values[RATE_XP_BG_KILL_AV] = sConfigMgr->GetOption<float>("Rate.XP.BattlegroundKillAV", 1.0f);