New Content Grey You Challenge Path

MCroft

Developer
Staff member
Line 142 is splitting on "\\s+,\\s+", which is to say "1 or more whitespace characters, followed by a comma, followed by 1 or more whitespace characters."
Your debug log shows java.lang.NumberFormatException: For input string: "86,1436"

So it's not a match and therefore it's not parsing as a number.

I can't test a fix, so I'm reluctant to do it myself, but we could split on "\\s*,\\s*" (0 or more of the element) and also .strip() to remove spaces.

// Load the monsters that we've already reprocessed
Set<Integer> reprocessed =
Arrays.stream(Preferences.getString("gooseReprocessed").split("\\s+,\\s+"))
.filter(StringUtilities::isNumeric)
.map(Integer::valueOf)
.collect(Collectors.toSet());[/ICODE]
 

Kasekopf

New member
Another thing about this path is that HP is computed in a weird way. In particular, +muscle and +%HP equipment/effects do not increase your HP in a Grey You run. On the other hand, flat +HP equipment/effects do increase your HP.

For example:
With no equipment: 176 HP
Equip reinforced beaded headband (+40 HP): 216 HP
Equip extra-wide head candle (+100% HP): 176 HP
Equip viking helmet (+1 muscle): 176 HP

The same is true for MP:
With no equipment: 126MP
Beer helmet (+40 MP): 166 MP
Equip Cargo Cultist Shorts (+66% MP): 126 MP
Equip fuzzy earmuffs (+11 myst): 126 MP

The maximizer doesn't account for this, and so maximizing for HP often equips some useless +%HP equipment.
 
Last edited:

Veracity

Developer
Staff member
Interesting. You, Robot has a similar feature for HP (but not MP) and I inserted code to handle it in Modifiers.predict().

Is your base HP still controlled by your base Muscle? If so, this should be just like being a Vampyre, although there is no similar character class which restricts MP like that. I'm done with Grey You, but I can take a stab at fixing this. I can write a test that thinks I am in various paths and see what the maximizer will predict...
 

Kasekopf

New member
No, your base HP is completely disconnected from your base Muscle (and MP is disconnected from Myst). Your HP/MP start at 5/5 at the beginning of the run (+up to 33 each from path progression), and then increase by killing specific monsters or by absorbing food/drink/spleen items.
 

Kasekopf

New member
Thanks for the changes! It looks like the maximizer is correctly not using +HP% effects and +muscle effects now for HP, and so "maximize HP" appears to equip the optimal things.

However, I noticed the "Current score" when maximizing HP is a bit odd. It seems to double count the bonuses from the currently equipped equipment. Not sure if this is important.
> unequip; ash print(my_MaxHP());

Updating inventory...
136
Returned: void

> maximize HP +hat

Maximizer: HP +hat
Maximizing...
1 combinations checked, best score 176.00
Putting on reinforced beaded headband...
Equipment changed.

> maximize HP +hat

Maximizer: HP +hat
Maximizing...
1 combinations checked, best score 216.00

> ash print(my_MaxHP())

176
Returned: void
Note that the best score reported the second time is +40 higher than the obtained score, which is consistent with double counting the +40HP headband.
 

Veracity

Developer
Staff member
Now you are talking about the internals of the maximizer - which is a complete mystery to me. I have literally never used the "maximize" command, although I have frequently used the GUI.

I notice that your "maximize" command listed a "best score" which is higher than your current score - and didn't try to equip anything.

I think I'll leave this to people who better understand how the maximizer works. Life is too short for me to become an expert in that. :)
 
Top