Minor fixes to the initialization stage to correct the moment where certain operation are performed
Introduced a mechanism which allows the seller bot to adapt the price of the item to the one of the market. Auctions are monitored and a statistic about the price per unit is stored inside the AH configuration. When a new stock is sold, the bot will use this price instead of the item hardcoded one. The bot can be configured to adapt quickly or slowly to the market oscillations. This new feature is backward compatible, as it is disabled by default. If disabled, the default selling strategy is used.
Bot in game commands extended to enable/disable this new mechanism on the fly
Extended the README
Issues Addressed:
No open issues are fixed by this pull; just providing new functionalities
SOURCE:
No sources
Tests Performed:
Compile without errors with the last version of the core (2024-09-07)
I've performed preliminary tests by having the bots compete against themselves on the market. While this is not a real test in an environment with real persons, this allowed to test the core mechanism for the statistics collection and the selling part. It would be good to have some feedback on real auction markets with hundreds of players.
How to Test the Changes:
Enable the bot and configure it for a standard behavior
Configure the bot to adapt to market prices with AuctionHouseBot.UseMarketPriceForSeller = 1
Enable the debugging of the configuration AuctionHouseBot.DEBUG_CONFIG = 1
Enter in the game before buying hover the auction with the mouse to see the price per item of that auction. Write down the price somewhere and buyout it.
On the server console you will see a log like Updating market price item=2450, price=49
If you buy again the same item with a different price per unit, you will see the item price change, fluctuating up and down depending on the market mood for that item
Changing AuctionHouseBot.MarketResetThreshold allows you to setup a slower or faster adaptation threshold
Changes Proposed:
Issues Addressed:
SOURCE:
Tests Performed:
How to Test the Changes:
AuctionHouseBot.UseMarketPriceForSeller = 1
AuctionHouseBot.DEBUG_CONFIG = 1
Updating market price item=2450, price=49
AuctionHouseBot.MarketResetThreshold
allows you to setup a slower or faster adaptation threshold