Bug maximizer & pants & eldritch equipage

AlbinoRhino

Active member
using r19944

I've recently noticed this behavior with the maximize command (possibly related to r19933?).

If you try to maximize +item while requiring specific pants, and have the eldritch equipage outfit available, the maximizer will insist on equipping the outfit and then fail the maximization (I presume b/c it did not equip the pants you requested). The maximization will succeed if you specifically forbid the eldritch outfit.

The equipage also includes a hat but maximizer seems able to handle that case?

Kind of confused as to what's going on here.

Code:
[COLOR=olive]> maximize +item +equip pantsgiving[/COLOR]

Maximizing...
3387     combinations checked, best score 1,236.51 (FAIL)
10000 combinations     checked, best score 1,236.51 (FAIL)
Putting on eldritch hat...
Equipment     changed.
Wielding broken champagne bottle...
Equipment changed.
Putting     on eldritch pants...
Equipment changed.
Putting on gold detective     badge...
Equipment changed.
[COLOR=red]Unable to meet all     requirements via equipment changes.[/COLOR]
See the Modifier Maximizer     for further suggestions.

[COLOR=olive]> maximize +item     +equip pantsgiving -outfit eldritch equipage[/COLOR]

Maximizing...
4060     combinations checked, best score 1,176.51
10000 combinations checked,     best score 1,176.51
Putting on Hairpiece On Fire...
Equipment     changed.
Putting on Pantsgiving...
Equipment changed.

[COLOR=olive]>     maximize +item +equip pantsgiving[/COLOR]

Maximizing...
3723     combinations checked, best score 1,236.51 (FAIL)
10000 combinations     checked, best score 1,236.51 (FAIL)
Putting on eldritch hat...
Equipment     changed.
Putting on eldritch pants...
Equipment changed.
[COLOR=red]Unable     to meet all requirements via equipment changes.[/COLOR]
See the Modifier     Maximizer for further suggestions.

[COLOR=olive]> maximize     +item +equip no hat[/COLOR]

Maximizing...
4076 combinations     checked, best score 1,146.51
10000 combinations checked, best score     1,146.51
Putting on no hat...
Equipment changed.
Pulling items     from storage...
Putting on Vicar's Tutu...
Equipment changed.

[COLOR=olive]>     maximize +item +equip pantsgiving[/COLOR]

Maximizing...
4177     combinations checked, best score 1,236.51 (FAIL)
10000 combinations     checked, best score 1,236.51 (FAIL)
Putting on eldritch hat...
Equipment     changed.
Putting on eldritch pants...
Equipment changed.
[COLOR=red]Unable     to meet all requirements via equipment changes.[/COLOR]
See the Modifier     Maximizer for further suggestions.
 

Veracity

Developer
Staff member
That is almost certainly due to r19933. "item" is an abbreviations for "item drop" and it is looking for boolean modifiers before abbreviations now.
Not seeing any boolean modifiers in your command, so, puzzling.
Will look into it.
 

Veracity

Developer
Staff member
This is going to have to wait until I get into aftercore. I have Pantsgiving in storage (and the eldritch outfit).
I commented out the requirement that pull/buy require you not to be in hardcore, put in logging for boolean modifiers being considered before abbreviations, and issued "+item +equip pantsgiving".

To my (not) surprise, no boolean modifiers were encountered when parsing either "+item" or "+equip".
So, the boolean modifier commit you mentioned did not come into effect.

On the other hand, it did recomment plexiglass pants, rather than Pantsgiving, so the +equip directive was ignored.
Perhaps I can debug that sooner.
 

Veracity

Developer
Staff member
Can you reproduce this? I am no longer able to reproduce my experiment where it recommended plexiglass pants even though I have +equip pantsgiving.

I did make a change, a while back. A Maximizer has an Evaluator to handle your maximizer expression, which has a "tiebreaker" Evaluator of its own, which contains equipment that will be used for slots that aren't filled to meet the needs of the original expression. That was set uo to share a bunch of data structures with the original Evaluator, for no reason that I could discern; it seemed like it should be independent, since its expression was independent.

Among the shared structure was the set of equipment that you specified with +equip. Could that have been overwritten? Not seeing how, but the Maximizer is fiendishly complicated and I am far from understanding its intricacies. But, ever since I made that change, I've not been able to reproduce my test.
 

AlbinoRhino

Active member
Well...I did and I didn't. I had maximizerCombinationLimit set for 10000 since I preferred speed over further refinement. I was still able to reproduce it (r19998). Something made me suspect that limit (not sure what), so I increased it to 25000 --- and am no longer able to reproduce it. Apparently, 10000 is too few combinations for some maximizations? I guess this is user-caused instead of a bug? Thanks for looking at it though.
 
Top