diff --git a/conf/mod_ahbot.conf.dist b/conf/mod_ahbot.conf.dist index 9113590..8d653a0 100644 --- a/conf/mod_ahbot.conf.dist +++ b/conf/mod_ahbot.conf.dist @@ -562,6 +562,7 @@ AuctionHouseBot.AdvancedPricing.TradeGood.Elemental.Enabled = true AuctionHouseBot.AdvancedPricing.TradeGood.Meat.Enabled = true AuctionHouseBot.AdvancedPricing.Misc.Junk.Enabled = true AuctionHouseBot.AdvancedPricing.Misc.Mount.Enabled = true +AuctionHouseBot.AdvancedPricing.Misc.Pet.Enabled = true ############################################################################### # AuctionHouseBot.PriceMultiplier.Category.* @@ -797,6 +798,16 @@ AuctionHouseBot.PriceMultiplier.CategoryMount.QualityLegendary = 1.0 AuctionHouseBot.PriceMultiplier.CategoryMount.QualityArtifact = 1.0 AuctionHouseBot.PriceMultiplier.CategoryMount.QualityHeirloom = 1.0 +# Pet +AuctionHouseBot.PriceMultiplier.CategoryPet.QualityPoor = 1.0 +AuctionHouseBot.PriceMultiplier.CategoryPet.QualityNormal = 1.0 +AuctionHouseBot.PriceMultiplier.CategoryPet.QualityUncommon = 1.0 +AuctionHouseBot.PriceMultiplier.CategoryPet.QualityRare = 1.0 +AuctionHouseBot.PriceMultiplier.CategoryPet.QualityEpic = 1.0 +AuctionHouseBot.PriceMultiplier.CategoryPet.QualityLegendary = 1.0 +AuctionHouseBot.PriceMultiplier.CategoryPet.QualityArtifact = 1.0 +AuctionHouseBot.PriceMultiplier.CategoryPet.QualityHeirloom = 1.0 + # Money AuctionHouseBot.PriceMultiplier.CategoryMoney.QualityPoor = 1.0 AuctionHouseBot.PriceMultiplier.CategoryMoney.QualityNormal = 1.0 diff --git a/src/AuctionHouseBot.cpp b/src/AuctionHouseBot.cpp index a8f4a45..ef8cdba 100644 --- a/src/AuctionHouseBot.cpp +++ b/src/AuctionHouseBot.cpp @@ -570,6 +570,24 @@ float AuctionHouseBot::GetAdvancedPricingMultiplier(ItemTemplate const* itemProt } break; } + case ITEM_SUBCLASS_JUNK_PET: + { + if (!AdvancedPricingMiscPetEnabled) + break; + switch (itemProto->Quality) + { + case ITEM_QUALITY_POOR: advancedPricingMultiplier = PriceMultiplierCategoryPetQualityPoor; break; + case ITEM_QUALITY_NORMAL: advancedPricingMultiplier = PriceMultiplierCategoryPetQualityNormal; break; + case ITEM_QUALITY_UNCOMMON: advancedPricingMultiplier = PriceMultiplierCategoryPetQualityUncommon; break; + case ITEM_QUALITY_RARE: advancedPricingMultiplier = PriceMultiplierCategoryPetQualityRare; break; + case ITEM_QUALITY_EPIC: advancedPricingMultiplier = PriceMultiplierCategoryPetQualityEpic; break; + case ITEM_QUALITY_LEGENDARY: advancedPricingMultiplier = PriceMultiplierCategoryPetQualityLegendary; break; + case ITEM_QUALITY_ARTIFACT: advancedPricingMultiplier = PriceMultiplierCategoryPetQualityArtifact; break; + case ITEM_QUALITY_HEIRLOOM: advancedPricingMultiplier = PriceMultiplierCategoryPetQualityHeirloom; break; + default: break; + } + break; + } default: break; } } @@ -2042,6 +2060,15 @@ void AuctionHouseBot::InitializeConfiguration() PriceMultiplierCategoryMountQualityArtifact = sConfigMgr->GetOption("AuctionHouseBot.PriceMultiplier.CategoryMount.QualityArtifact", 1.0); PriceMultiplierCategoryMountQualityHeirloom = sConfigMgr->GetOption("AuctionHouseBot.PriceMultiplier.CategoryMount.QualityHeirloom", 1.0); + PriceMultiplierCategoryPetQualityPoor = sConfigMgr->GetOption("AuctionHouseBot.PriceMultiplier.CategoryPet.QualityPoor", 1.0); + PriceMultiplierCategoryPetQualityNormal = sConfigMgr->GetOption("AuctionHouseBot.PriceMultiplier.CategoryPet.QualityNormal", 1.0); + PriceMultiplierCategoryPetQualityUncommon = sConfigMgr->GetOption("AuctionHouseBot.PriceMultiplier.CategoryPet.QualityUncommon", 1.0); + PriceMultiplierCategoryPetQualityRare = sConfigMgr->GetOption("AuctionHouseBot.PriceMultiplier.CategoryPet.QualityRare", 1.0); + PriceMultiplierCategoryPetQualityEpic = sConfigMgr->GetOption("AuctionHouseBot.PriceMultiplier.CategoryPet.QualityEpic", 1.0); + PriceMultiplierCategoryPetQualityLegendary = sConfigMgr->GetOption("AuctionHouseBot.PriceMultiplier.CategoryPet.QualityLegendary", 1.0); + PriceMultiplierCategoryPetQualityArtifact = sConfigMgr->GetOption("AuctionHouseBot.PriceMultiplier.CategoryPet.QualityArtifact", 1.0); + PriceMultiplierCategoryPetQualityHeirloom = sConfigMgr->GetOption("AuctionHouseBot.PriceMultiplier.CategoryPet.QualityHeirloom", 1.0); + // Advanced Pricing AdvancedPricingConsumablePotionEnabled = sConfigMgr->GetOption("AuctionHouseBot.AdvancedPricing.Consumable.Potion.Enabled", true); AdvancedPricingConsumableElixirEnabled = sConfigMgr->GetOption("AuctionHouseBot.AdvancedPricing.Consumable.Elixir.Enabled", true); @@ -2056,6 +2083,7 @@ void AuctionHouseBot::InitializeConfiguration() AdvancedPricingTradeGoodMeatEnabled = sConfigMgr->GetOption("AuctionHouseBot.AdvancedPricing.TradeGood.Meat.Enabled", true); AdvancedPricingMiscJunkEnabled = sConfigMgr->GetOption("AuctionHouseBot.AdvancedPricing.Misc.Junk.Enabled", true); AdvancedPricingMiscMountEnabled = sConfigMgr->GetOption("AuctionHouseBot.AdvancedPricing.Misc.Mount.Enabled", true); + AdvancedPricingMiscPetEnabled = sConfigMgr->GetOption("AuctionHouseBot.AdvancedPricing.Misc.Pet.Enabled", true); // Price minimums UseItemSellPriceIfHigherThanPriceMinimumCenterBase = sConfigMgr->GetOption("AuctionHouseBot.PriceMinimumCenterBase.UseItemSellPriceIfHigher", true); diff --git a/src/AuctionHouseBot.h b/src/AuctionHouseBot.h index 91729b2..4a259d4 100644 --- a/src/AuctionHouseBot.h +++ b/src/AuctionHouseBot.h @@ -251,6 +251,14 @@ private: float PriceMultiplierCategoryMountQualityLegendary; float PriceMultiplierCategoryMountQualityArtifact; float PriceMultiplierCategoryMountQualityHeirloom; + float PriceMultiplierCategoryPetQualityPoor; + float PriceMultiplierCategoryPetQualityNormal; + float PriceMultiplierCategoryPetQualityUncommon; + float PriceMultiplierCategoryPetQualityRare; + float PriceMultiplierCategoryPetQualityEpic; + float PriceMultiplierCategoryPetQualityLegendary; + float PriceMultiplierCategoryPetQualityArtifact; + float PriceMultiplierCategoryPetQualityHeirloom; bool AdvancedPricingConsumablePotionEnabled; bool AdvancedPricingConsumableElixirEnabled; bool AdvancedPricingConsumableFlaskEnabled; @@ -264,6 +272,7 @@ private: bool AdvancedPricingTradeGoodMeatEnabled; bool AdvancedPricingMiscJunkEnabled; bool AdvancedPricingMiscMountEnabled; + bool AdvancedPricingMiscPetEnabled; bool UseItemSellPriceIfHigherThanPriceMinimumCenterBase; uint32 PriceMinimumCenterBaseConsumable; uint32 PriceMinimumCenterBaseContainer;