If you mean "ignore Underwater Familiar (on any slot) if your familiar has that ability", ok.
Presumably also don't consider the item-carrying familiars in that case, since a hatrack with das boot is not interesting - and is already rejected for that reason.
Teaching the maximizer to "apply numeric modifiers" granted by familiars is brand new functionality.
In fact, the whole premise of this thread is new functionality. If you specify that you want to equip an item with the Underwater Familiar modifier, it is emphatically not a Bug that KoLmafia follows your instruction and finds such an item for your familiar. Changing this to a Feature.
I’m not sure I follow your logic. When I give the Modifier Maximizer parameters, I am expecting it to satisfy them. I am not expecting it to specifically equip items to do so.
Underwater Familiar is a Boolean modifier. It represents whether I can adventure in underwater environments with my current familiar. When the Maximizer is finished, I want it to be true. If I cared how that was achieved, I would tell it so. I am not asking for any changes to that.
The “das boot” item has the “Underwater Familiar” modifier, so equipping it means that “Underwater Familiar” is true. I’m saying that all familiars intrinsically capable of adventuring underwater should
also have the “Underwater Familiar” modifier, since equipping them has the same effect. This is independent of whatever the familiar is carrying, which also has modifiers.
For example, assuming nothing else is giving this modifier:
- Baby Gravy Fairy (no modifier) = false
- Baby Gravy Fairy (no modifier) + das boot (modifier) = true
- Grouper Groupie (modifier) = true
- Grouper Groupie (modifier) + das boot (modifier) = true
That is the current behavior. This is because the “familiars” section of modifiers.txt gives the Grouper Groupie the right modifier. The bug is that a few familiars are missing from that section, causing inconsistent behavior. The one that made me notice this is the God Lobster.
You could just add the God Lobster, but that leaves me wondering what the purpose of the “underwater” attribute is at all. Most of the attributes in familiars.txt get converted to modifiers by KoLmafia, and those modifiers don’t have to be repeated in modifiers.txt. Long-term, I think the best way to fix this bug is to do the same with the “underwater” attribute.