Core/Loot: Add new config option "Rate.Drop.Item.ReferencedAmount" which allows multiplication of referenced loot count
Closes issue #814. --HG-- branch : trunk
This commit is contained in:
@@ -1231,7 +1231,8 @@ void LootTemplate::Process(Loot& loot, LootStore const& store, bool rate, uint16
|
||||
if (!Referenced)
|
||||
continue; // Error message already printed at loading stage
|
||||
|
||||
for (uint32 loop = 0; loop < i->maxcount; ++loop) // Ref multiplicator
|
||||
uint32 maxcount = uint32(float(i->maxcount) * sWorld.getRate(RATE_DROP_ITEM_REFERENCED_AMOUNT));
|
||||
for (uint32 loop = 0; loop < maxcount; ++loop) // Ref multiplicator
|
||||
Referenced->Process(loot, store, rate, lootMode, i->group);
|
||||
}
|
||||
else // Plain entries (not a reference, not grouped)
|
||||
|
||||
@@ -466,6 +466,7 @@ void World::LoadConfigSettings(bool reload)
|
||||
rate_values[RATE_DROP_ITEM_LEGENDARY] = sConfig.GetFloatDefault("Rate.Drop.Item.Legendary", 1.0f);
|
||||
rate_values[RATE_DROP_ITEM_ARTIFACT] = sConfig.GetFloatDefault("Rate.Drop.Item.Artifact", 1.0f);
|
||||
rate_values[RATE_DROP_ITEM_REFERENCED] = sConfig.GetFloatDefault("Rate.Drop.Item.Referenced", 1.0f);
|
||||
rate_values[RATE_DROP_ITEM_REFERENCED_AMOUNT] = sConfig.GetFloatDefault("Rate.Drop.Item.ReferencedAmount", 1.0f);
|
||||
rate_values[RATE_DROP_MONEY] = sConfig.GetFloatDefault("Rate.Drop.Money", 1.0f);
|
||||
rate_values[RATE_XP_KILL] = sConfig.GetFloatDefault("Rate.XP.Kill", 1.0f);
|
||||
rate_values[RATE_XP_QUEST] = sConfig.GetFloatDefault("Rate.XP.Quest", 1.0f);
|
||||
|
||||
@@ -329,6 +329,7 @@ enum Rates
|
||||
RATE_DROP_ITEM_LEGENDARY,
|
||||
RATE_DROP_ITEM_ARTIFACT,
|
||||
RATE_DROP_ITEM_REFERENCED,
|
||||
RATE_DROP_ITEM_REFERENCED_AMOUNT,
|
||||
RATE_DROP_MONEY,
|
||||
RATE_XP_KILL,
|
||||
RATE_XP_QUEST,
|
||||
|
||||
@@ -1665,6 +1665,7 @@ Rate.Drop.Item.Epic = 1
|
||||
Rate.Drop.Item.Legendary = 1
|
||||
Rate.Drop.Item.Artifact = 1
|
||||
Rate.Drop.Item.Referenced = 1
|
||||
Rate.Drop.Item.ReferencedAmount = 1
|
||||
Rate.Drop.Money = 1
|
||||
Rate.XP.Kill = 1
|
||||
Rate.XP.Quest = 1
|
||||
|
||||
Reference in New Issue
Block a user