Many things in Kingdom of Loathing function differently based on whether you have a certain type of item equipped. Utensil Twist requires you to have a utensil equipped, Lunging Thrust-Smack always hits if you have a club equipped (and are a Seal Clubber), etcetera.
However, the Modifier Maximizer is currently not very good at optimizing for this. If you include a flag like “+club”, it outright ignores everything that doesn’t satisfy the requirement, even though you only need to satisfy it once.
I think it would be much more effective to treat these scenarios like a boolean modifier, similar to “Adventure Underwater": equipping a club causes the modifier to be true. That would substantially increase the readability of the existing code, and more accurately reflect the expectations of the user.
To get a sense of how this would actually work, try using “Song Duration, 1 max” instead of “+accordion”. That isn’t ideal, of course, since it causes Song Duration to no longer be considered at all, but you can probably see what I’m thinking of. The first keyword might lead to dual-wielding a ranged weapon along with an accordion, whereas the second never will.
However, the Modifier Maximizer is currently not very good at optimizing for this. If you include a flag like “+club”, it outright ignores everything that doesn’t satisfy the requirement, even though you only need to satisfy it once.
I think it would be much more effective to treat these scenarios like a boolean modifier, similar to “Adventure Underwater": equipping a club causes the modifier to be true. That would substantially increase the readability of the existing code, and more accurately reflect the expectations of the user.
To get a sense of how this would actually work, try using “Song Duration, 1 max” instead of “+accordion”. That isn’t ideal, of course, since it causes Song Duration to no longer be considered at all, but you can probably see what I’m thinking of. The first keyword might lead to dual-wielding a ranged weapon along with an accordion, whereas the second never will.
Last edited: