Bug - Fixed Duplicate effect name disambiguation issues

heeheehee

Developer
Staff member
I saw this other thread, but it made more sense to file a new report rather than bump a tangentially-related report that was (for the most part) fixed already.

There are currently a few bugs related to effects like Slicked-Back Do (from hair oil). For instance: I am currently a Pastamancer with 10 turns of the hair oil effect.

First: Mafia thinks I have the AoSP intrinsic active, not the effect from hair oil.
Code:
> ash foreach e in my_effects() print(e.to_int())

1553

Second: Mafia thinks hair oil provides the AoSP intrinsic, despite modifiers.txt being labeled appropriately with effect ID.
Code:
> ash effect_modifier($item[hair oil], "effect").to_int()

Returned: 1553

Similar issues show up with White Chocolate Golem Seeds / chocolate bath ball:
Code:
> ash foreach it in $items[chocolate bath ball, white chocolate golem seeds] print(it + ": " + effect_modifier(it, "effect").to_int())

chocolate bath ball: 1060
White Chocolate Golem Seeds: 1060
Returned: void
 

heeheehee

Developer
Staff member
The first issue is related to using DataTypes.parseEffectValue(name). A similar issue seems to exist for have_effect(effect): EffectDatabase.getEffectId( arg.toString() ) probably should use some internal information for the effect, such as the id. Still looking into this.
 

heeheehee

Developer
Staff member
r16237 changes RuntimeLibrary.getModifierName to return the numeric ID for effects as well, so that should fix any lingering issues with numeric_modifier and whatnot. CHIT has a bug, I guess, wherein it uses strings to identify effects, even though they're not unique.

There aren't any other lingering bugs, as far as I'm aware.
 
Top