Bug Maximizer is prioritizing completing costumes for enchantments over fulfilling maximizer predicates

When I try to maximize "club, monster level", I get the following output:

Code:
equip hat mutant crown (+15)
equip weapon mutant arm (+5)
equip off-hand carnivorous potted plant (+25)
equip back kelp-holly drape (+15)
equip shirt LOV Eardigan (+25)
equip pants mutant legs (+10)
backupcamera ml (+45)
equip acc2 C.A.R.N.I.V.O.R.E. button (+15)
equip acc3 C.A.R.N.I.V.O.R.E. button (+15)

When I try "club, meat drop", I get the following:

Code:
equip hat wad of used tape (+30)
equip weapon sea-worn candlestick (+25)
equip off-hand latte lovers member's mug (+40)
bjornify Happy Medium (+25)
equip shirt duct tape shirt (+20)
equip pants stainless steel slacks (+20)
equip acc1 incredibly dense meat gem (+60)
equip acc2 backup camera (+48)
equip acc3 Mr. Screege's spectacles (+20)

when I try "club, monster level, -equip mutant crown", I get:

Code:
equip hat hemlock helm (+30)
equip weapon lawn dart (+0)
equip off-hand carnivorous potted plant (+25)
equip back kelp-holly drape (+15)
equip shirt LOV Eardigan (+25)
fold & equip pants tinsel tights (+25)
backupcamera ml (+45)
equip acc2 C.A.R.N.I.V.O.R.E. button (+15)
equip acc3 C.A.R.N.I.V.O.R.E. button (+15)

and when I do "club, monster level, meat drop", I get
Code:
equip hat mutant crown (+15)
equip weapon mutant arm (+5)
equip off-hand latte lovers member's mug (+40)
bjornify Happy Medium (+25)
equip shirt LOV Eardigan (+25)
equip pants mutant legs (+10)
equip acc1 incredibly dense meat gem (+60)
equip acc2 backup camera (+48)
equip acc3 Mr. Screege's spectacles (+20)

All in all, it seems like what's happening is that when monster level is part of my maximizer string, it's prioritizing completing the mutant outfit over equipping a club. But if it's unable to complete that outfit (by forcing it not to equip the mutant crown, for example), it's equipping a club as appropriate. I can achieve a similar result by weighting meat drop over club; "club, 50 meat drop, monster level" gets me:
Code:
equip hat wad of used tape (+1500)
equip weapon sea-worn candlestick (+1250)
equip off-hand latte lovers member's mug (+2000)
bjornify Happy Medium (+1250)
equip shirt duct tape shirt (+1000)
equip pants stainless steel slacks (+1000)
equip acc1 incredibly dense meat gem (+3000)
equip acc2 backup camera (+2400)
equip acc3 Mr. Screege's spectacles (+1000)

Finally, as a last check, club _is_ being treated as a boolean and not a numeric thing; "100000 club, monster level" gets me:

Code:
equip hat mutant crown (+15)
equip weapon mutant arm (+5)
equip off-hand carnivorous potted plant (+25)
equip back kelp-holly drape (+15)
equip shirt LOV Eardigan (+25)
equip pants mutant legs (+10)
backupcamera ml (+45)
equip acc2 C.A.R.N.I.V.O.R.E. button (+15)
equip acc3 C.A.R.N.I.V.O.R.E. button (+15)
equip familiar carnivorous potted plant (+25)
 

heeheehee

Developer
Staff member
Oddly, Evaluator.java doesn't use requireClub and friends for determining whether a potential maximization outcome is successful. It checks outfits (both required and disallowed), required equipment, and B's for Bees Hate You. (There are other things that are checked in getScore(), but notably weapon types are not checked anywhere.)

This seems incorrect.

(Treating this speculation as failed should be sufficient, as a speculation that fails some requirement is considered worse than one that passes all the requirements.

I will point out that adding all this logic will likely cause a non-negligible amount of Maximizer slowdown.)
 
Top