Pineapple of Despair
New member
I have just observed, in the code from Subversion trunk, a problem with the way Modifier Maximizer handles the closet.
Settings:
- Equipment - the problem appears for all three settings
- Max price - don't check
- Include effects with no direct source, ... - irrelevant
Expected effect:
KoLmafia evaluates the properties of objects both on hand and in the closet, pulls everything that is in the closet and is better than what is at hand, and equips the best combination.
Observed effect:
KoLmafia only evaluates the properties of objects on hand. However, if a piece of equipment deemed to be useful by the maximizer is present both on hand and in the closet, the latter is pulled before the item in question is equipped.
Reproducible: always
Example test cases:
1. incorrect parsing of closet items
- requirements: Torso Awaregness, at least two different shirts modifying meat drops (e.g. Ye Olde Navy Fleece and duct tape shirt)
- put all the duct tape shirts in the closet, keeping all the Fleeces on hand
- maximize meat
- KoLmafia will then equip the Fleece instead of pulling and equipping a duct tape shirt
2. pulling duplicates
- requirements: Torso Awaregness, two identical shirts modifying meat drops (e.g. Ye Olde Navy Fleece), no other shirts with such a modifier (if you want to perfectly isolate the problem - in practice, in light of the above putting them all into the closet would work just as well)
- put one of the Fleeces in the closet, keeping the other on hand
- maximize meat
- KoLmafia will then pull another Fleece from the closet despite having one on hand
Settings:
- Equipment - the problem appears for all three settings
- Max price - don't check
- Include effects with no direct source, ... - irrelevant
Expected effect:
KoLmafia evaluates the properties of objects both on hand and in the closet, pulls everything that is in the closet and is better than what is at hand, and equips the best combination.
Observed effect:
KoLmafia only evaluates the properties of objects on hand. However, if a piece of equipment deemed to be useful by the maximizer is present both on hand and in the closet, the latter is pulled before the item in question is equipped.
Reproducible: always
Example test cases:
1. incorrect parsing of closet items
- requirements: Torso Awaregness, at least two different shirts modifying meat drops (e.g. Ye Olde Navy Fleece and duct tape shirt)
- put all the duct tape shirts in the closet, keeping all the Fleeces on hand
- maximize meat
- KoLmafia will then equip the Fleece instead of pulling and equipping a duct tape shirt
2. pulling duplicates
- requirements: Torso Awaregness, two identical shirts modifying meat drops (e.g. Ye Olde Navy Fleece), no other shirts with such a modifier (if you want to perfectly isolate the problem - in practice, in light of the above putting them all into the closet would work just as well)
- put one of the Fleeces in the closet, keeping the other on hand
- maximize meat
- KoLmafia will then pull another Fleece from the closet despite having one on hand