Merge pull request #7 from Tierisch/master

Adding ilevel value multiplier.
This commit is contained in:
Nathan Handley
2025-07-01 20:38:09 -05:00
committed by GitHub
3 changed files with 18 additions and 1 deletions

View File

@@ -165,11 +165,17 @@ AuctionHouseBot.PriceMinimumCenterBase.Glyph = 1000
AuctionHouseBot.PriceMinimumCenterBase.OverrideItems =
###############################################################################
# AuctionHouseBot.PriceMultiplier.*
# AuctionHouseBot.PriceMultiplier.Category.*
# AuctionHouseBot.PriceMultiplier.Quality.*
# Category/Quality-level modifier values for the prices of items, which can be
# represented as decimal numbers, and must be > 0. Keep in mind that
# the pricing algorithm has many steps to it and this is just a tuning
# modifier.
#
# AuctionHouseBot.PriceMultiplier.ItemLevel.*
# Multiplier applied to item level when determining auction price
# Final multiplier = itemLevel * this value. Set to 0 (or less) to disable.
# Default: 0 (Disabled)
###############################################################################
AuctionHouseBot.PriceMultiplier.Category.Consumable = 1
@@ -197,6 +203,8 @@ AuctionHouseBot.PriceMultiplier.Quality.Legendary = 3
AuctionHouseBot.PriceMultiplier.Quality.Artifact = 3
AuctionHouseBot.PriceMultiplier.Quality.Heirloom = 3
AuctionHouseBot.PriceMultiplier.ItemLevel = 0
###############################################################################
# AuctionHouseBot.RandomStackRatio.*
# Used to determine how often a stack of the class will be single or randomly-size stacked when posted

View File

@@ -164,6 +164,12 @@ void AuctionHouseBot::calculateItemValue(ItemTemplate const* itemProto, uint64&
outBuyoutPrice *= qualityPriceMultplier;
outBuyoutPrice *= classPriceMultiplier;
// Apply item level multiplier
if (ItemLevelPriceMultiplier > 0.0f && itemProto->ItemLevel > 0)
{
outBuyoutPrice *= itemProto->ItemLevel * ItemLevelPriceMultiplier;
}
// If a vendor sells this item, make the price at least that high
if (itemProto->SellPrice > outBuyoutPrice)
outBuyoutPrice = itemProto->SellPrice;
@@ -874,6 +880,7 @@ void AuctionHouseBot::InitializeConfiguration()
PriceMultiplierQualityLegendary = sConfigMgr->GetOption<float>("AuctionHouseBot.PriceMultiplier.Quality.Legendary", 3);
PriceMultiplierQualityArtifact = sConfigMgr->GetOption<float>("AuctionHouseBot.PriceMultiplier.Quality.Artifact", 3);
PriceMultiplierQualityHeirloom = sConfigMgr->GetOption<float>("AuctionHouseBot.PriceMultiplier.Quality.Heirloom", 3);
ItemLevelPriceMultiplier = sConfigMgr->GetOption<float>("AuctionHouseBot.PriceMultiplier.ItemLevel", 0);
// Price minimums
PriceMinimumCenterBaseConsumable = sConfigMgr->GetOption<uint32>("AuctionHouseBot.PriceMinimumCenterBase.Consumable",1000);

View File

@@ -223,6 +223,8 @@ private:
uint32 PriceMinimumCenterBaseMisc;
uint32 PriceMinimumCenterBaseGlyph;
std::unordered_map<uint32, uint64> PriceMinimumCenterBaseOverridesByItemID;
float ItemLevelPriceMultiplier;
AHBConfig AllianceConfig;
AHBConfig HordeConfig;