Bug maximizer considers items that don't exist in the mall to be available for purchase

taltamir

Member
Maximizing "mox" with mall buying enabled and leaving "price check by default" on the default value of "don't check"
maximizer wants me acquire and equip items that are not actually available for purchase because nobody is selling them. For example
https://kol.coldfront.net/thekolwiki/index.php/Idol_of_Ak'gyxoth

telling it to equip it results in an error as it tries and fail to buy 1 in the mall, because there are 0 there.
 

Attachments

  • DEBUG_20200421.zip
    6.5 KB · Views: 12
Last edited:

fronobulax

Developer
Staff member
What is your value for the GUI set preference "Check Mall prices every session (not using historical prices)'?

I have a script that is smart enough to try and buy something and fail gracefully if it doesn't, but it pretty consistently tries to buy things that it cannot. I attribute this to the fact that the script uses historical prices and there are items with a historical price that are no longer available.

I have not done the research to prove/disprove this but my hypothesis is that an historical price is rarely removed, if at all, when the item is no longer available. That is the expected behaviour since the prices are historical and the whole point of them is not making server hits.

There are possibly two things here. One is that code, and users, that use historical prices should be prepared for items not found. Since java is not aborting or throwing an exception, I can argue that the Maximizer is doing something that is reasonable and the operator needs to make adjustments :)

The second is a FR that would have a way for mall prices that are updated and shared, to delete an item if someone reports a search where it was not found.

I can also see a FR that deletes an item from the local historical prices if it is not found which should allow something to be rerun with different results.
 

taltamir

Member
What if historical pricing chart also added a field for availability?

Anyways, the setting to check every session was off. However, IIRC it did actually refresh pricing on it. I tried turning it on right now and it sewarched for a bunch of other stuff including
Searching for "Emblem of Ak'gyxoth"...

but not for the idol. I think "refresh historical prices every session" actually means every day rather than session of mafia. because i have shut down mafia in between those uses.
actually wait, easily proven. Restart mafia and... yea, it searches for nothing after restart despite being told not to rely on historical data. This confirms that session actually means day.

Since I am positive it did search for the idol, and I agree with you about the usefulness of historical data. I think what is actually needed is adding data rather than removing it. Specifically inventory quantity data should be added to historical data. Don't gotta count it all either, you can stop once you reach 100 I would say.
 
Top