mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-23 21:56:22 +00:00
feat(Core/Config): Configurable buy/sell rates (#2763)
This commit is contained in:
@@ -2314,8 +2314,8 @@ void ObjectMgr::LoadItemTemplates()
|
||||
itemTemplate.Flags = fields[7].GetUInt32();
|
||||
itemTemplate.Flags2 = fields[8].GetUInt32();
|
||||
itemTemplate.BuyCount = uint32(fields[9].GetUInt8());
|
||||
itemTemplate.BuyPrice = int32(fields[10].GetInt64());
|
||||
itemTemplate.SellPrice = fields[11].GetUInt32();
|
||||
itemTemplate.BuyPrice = int32(fields[10].GetInt64() * sWorld->getRate((Rates)(RATE_BUYVALUE_ITEM_POOR + itemTemplate.Quality)));
|
||||
itemTemplate.SellPrice = uint32(fields[11].GetUInt32() * sWorld->getRate((Rates)(RATE_SELLVALUE_ITEM_POOR + itemTemplate.Quality)));
|
||||
itemTemplate.InventoryType = uint32(fields[12].GetUInt8());
|
||||
itemTemplate.AllowableClass = fields[13].GetInt32();
|
||||
itemTemplate.AllowableRace = fields[14].GetInt32();
|
||||
|
||||
@@ -546,6 +546,25 @@ void World::LoadConfigSettings(bool reload)
|
||||
rate_values[RATE_XP_QUEST] = sConfigMgr->GetFloatDefault("Rate.XP.Quest", 1.0f);
|
||||
rate_values[RATE_XP_EXPLORE] = sConfigMgr->GetFloatDefault("Rate.XP.Explore", 1.0f);
|
||||
rate_values[RATE_REPAIRCOST] = sConfigMgr->GetFloatDefault("Rate.RepairCost", 1.0f);
|
||||
|
||||
rate_values[RATE_SELLVALUE_ITEM_POOR] = sConfigMgr->GetFloatDefault("Rate.SellValue.Item.Poor", 1.0f);
|
||||
rate_values[RATE_SELLVALUE_ITEM_NORMAL] = sConfigMgr->GetFloatDefault("Rate.SellValue.Item.Normal", 1.0f);
|
||||
rate_values[RATE_SELLVALUE_ITEM_UNCOMMON] = sConfigMgr->GetFloatDefault("Rate.SellValue.Item.Uncommon", 1.0f);
|
||||
rate_values[RATE_SELLVALUE_ITEM_RARE] = sConfigMgr->GetFloatDefault("Rate.SellValue.Item.Rare", 1.0f);
|
||||
rate_values[RATE_SELLVALUE_ITEM_EPIC] = sConfigMgr->GetFloatDefault("Rate.SellValue.Item.Epic", 1.0f);
|
||||
rate_values[RATE_SELLVALUE_ITEM_LEGENDARY] = sConfigMgr->GetFloatDefault("Rate.SellValue.Item.Legendary", 1.0f);
|
||||
rate_values[RATE_SELLVALUE_ITEM_ARTIFACT] = sConfigMgr->GetFloatDefault("Rate.SellValue.Item.Artifact", 1.0f);
|
||||
rate_values[RATE_SELLVALUE_ITEM_HEIRLOOM] = sConfigMgr->GetFloatDefault("Rate.SellValue.Item.Heirloom", 1.0f);
|
||||
|
||||
rate_values[ RATE_BUYVALUE_ITEM_POOR] = sConfigMgr->GetFloatDefault("Rate.BuyValue.Item.Poor", 1.0f);
|
||||
rate_values[ RATE_BUYVALUE_ITEM_NORMAL] = sConfigMgr->GetFloatDefault("Rate.BuyValue.Item.Normal", 1.0f);
|
||||
rate_values[ RATE_BUYVALUE_ITEM_UNCOMMON] = sConfigMgr->GetFloatDefault("Rate.BuyValue.Item.Uncommon", 1.0f);
|
||||
rate_values[ RATE_BUYVALUE_ITEM_RARE] = sConfigMgr->GetFloatDefault("Rate.BuyValue.Item.Rare", 1.0f);
|
||||
rate_values[ RATE_BUYVALUE_ITEM_EPIC] = sConfigMgr->GetFloatDefault("Rate.BuyValue.Item.Epic", 1.0f);
|
||||
rate_values[ RATE_BUYVALUE_ITEM_LEGENDARY] = sConfigMgr->GetFloatDefault("Rate.BuyValue.Item.Legendary", 1.0f);
|
||||
rate_values[RATE_BUYVALUE_ITEM_ARTIFACT] = sConfigMgr->GetFloatDefault("Rate.BuyValue.Item.Artifact", 1.0f);
|
||||
rate_values[RATE_BUYVALUE_ITEM_HEIRLOOM] = sConfigMgr->GetFloatDefault("Rate.BuyValue.Item.Heirloom", 1.0f);
|
||||
|
||||
if (rate_values[RATE_REPAIRCOST] < 0.0f)
|
||||
{
|
||||
sLog->outError("Rate.RepairCost (%f) must be >=0. Using 0.0 instead.", rate_values[RATE_REPAIRCOST]);
|
||||
|
||||
@@ -377,6 +377,22 @@ enum Rates
|
||||
RATE_DROP_ITEM_ARTIFACT,
|
||||
RATE_DROP_ITEM_REFERENCED,
|
||||
RATE_DROP_ITEM_REFERENCED_AMOUNT,
|
||||
RATE_SELLVALUE_ITEM_POOR,
|
||||
RATE_SELLVALUE_ITEM_NORMAL,
|
||||
RATE_SELLVALUE_ITEM_UNCOMMON,
|
||||
RATE_SELLVALUE_ITEM_RARE,
|
||||
RATE_SELLVALUE_ITEM_EPIC,
|
||||
RATE_SELLVALUE_ITEM_LEGENDARY,
|
||||
RATE_SELLVALUE_ITEM_ARTIFACT,
|
||||
RATE_SELLVALUE_ITEM_HEIRLOOM,
|
||||
RATE_BUYVALUE_ITEM_POOR,
|
||||
RATE_BUYVALUE_ITEM_NORMAL,
|
||||
RATE_BUYVALUE_ITEM_UNCOMMON,
|
||||
RATE_BUYVALUE_ITEM_RARE,
|
||||
RATE_BUYVALUE_ITEM_EPIC,
|
||||
RATE_BUYVALUE_ITEM_LEGENDARY,
|
||||
RATE_BUYVALUE_ITEM_ARTIFACT,
|
||||
RATE_BUYVALUE_ITEM_HEIRLOOM,
|
||||
RATE_DROP_MONEY,
|
||||
RATE_XP_KILL,
|
||||
RATE_XP_BG_KILL,
|
||||
|
||||
Reference in New Issue
Block a user