Bug Shadow Rift location appearance rates are not updated unless selecting Shadow rift for nextAdventure

This is after running my script for a bit and having done shadow forest in Mount McLargeHuge, and shadow waters from 8bit. (So current ingress should be 8bit) however:

> ash appearance_rates($location[Shadow Rift])

Returned: aggregate float [monster]
none => 0.0
shadow bat => 8.333333333333334
shadow cow => 8.333333333333334
shadow devil => 8.333333333333334
shadow guy => 8.333333333333334
shadow hexagon => 8.333333333333334
shadow orb => 8.333333333333334
shadow prism => 8.333333333333334
shadow slab => 8.333333333333334
shadow snake => 8.333333333333334
shadow spider => 8.333333333333334
shadow stalk => 8.333333333333334
shadow tree => 8.333333333333334
Preference nextAdventure changed from None to 8-Bit Realm
Preference nextAdventure changed from 8-Bit Realm to Trash Island
Preference nextAdventure changed from Trash Island to Chinatown Tenement
Preference nextAdventure changed from Chinatown Tenement to Shadow Rift (The Right Side of the Tracks)
Preference nextAdventure changed from Shadow Rift (The Right Side of the Tracks) to Shadow Rift


The nextAdventure changes are me looking through the location details in the GUI


And then immediately afterward (didn't touch anything else)

> ash appearance_rates($location[Shadow Rift])

Returned: aggregate float [monster]
none => 0.0
shadow bat => -4.0
shadow cow => -4.0
shadow devil => -4.0
shadow guy => -4.0
shadow hexagon => 33.333333333333336
shadow orb => 33.333333333333336
shadow prism => 33.333333333333336
shadow slab => -4.0
shadow snake => -4.0
shadow spider => -4.0
shadow stalk => -4.0
shadow tree => -4.0

So from what I can tell, either examining the locations in the GUI, or setting nextAdventure to "Shadow Rift" is what causes the update
 
Last edited:
Some more specific testing, it only updates the appearance rates after setting location, not nextAdventure.

Is it possible to have this update when calling appearance rates? It's not an issue if you know about this quirk because you can work around it by setting location before you try to work with what your ingressed shadow rift is, but if you don't know about the quirk it can get you into a little trouble.


Anyway, CLI dump from immediately after logging in today testing:

Code:
> ash get_property("shadowRiftIngress")

Returned:    cemetery

> ash appearance_rates($location[Shadow Rift])

Returned:    aggregate float [monster]
none => 0.0
shadow bat =>    8.333333333333334
shadow cow => 8.333333333333334
shadow devil =>    8.333333333333334
shadow guy => 8.333333333333334
shadow hexagon    => 8.333333333333334
shadow orb => 8.333333333333334
shadow    prism => 8.333333333333334
shadow slab => 8.333333333333334
shadow    snake => 8.333333333333334
shadow spider => 8.333333333333334
shadow    stalk => 8.333333333333334
shadow tree => 8.333333333333334

> ash set_property("nextAdventure", "Shadow Rift]");

nextAdventure    => Shadow Rift]
Preference nextAdventure changed from The Oasis to    Shadow Rift]
Returned: void

> ash    appearance_rates($location[Shadow Rift])

Returned: aggregate    float [monster]
none => 0.0
shadow bat => 8.333333333333334
shadow    cow => 8.333333333333334
shadow devil => 8.333333333333334
shadow    guy => 8.333333333333334
shadow hexagon => 8.333333333333334
shadow    orb => 8.333333333333334
shadow prism => 8.333333333333334
shadow    slab => 8.333333333333334
shadow snake => 8.333333333333334
shadow    spider => 8.333333333333334
shadow stalk => 8.333333333333334
shadow    tree => 8.333333333333334

> ash set_location($location[Shadow Rift]);

Preference    nextAdventure changed from Shadow Rift] to Shadow Rift
Returned: void

>    ash appearance_rates($location[Shadow Rift])

Returned:    aggregate float [monster]
none => 0.0
shadow bat => -4.0
shadow    cow => -4.0
shadow devil => -4.0
shadow guy =>    33.333333333333336
shadow hexagon => -4.0
shadow orb => -4.0
shadow    prism => -4.0
shadow slab => 33.333333333333336
shadow snake    => -4.0
shadow spider => -4.0
shadow stalk => -4.0
shadow    tree => 33.333333333333336
 
It appears this also might be a little more problematic than I expected, It seems to only update on a "set_location", so if you only adventure once in a different shadow rift, mafia will not realize that the ingress has been updated for appearance_rates

Eg: Adventure once in cemetary shadow rift, then once in Mclargehuge shadow rift. Using appearance_rates on the generic Shadow Rift at this point will see the monsters as being the Cemetary rift (but should be mclargehuge).

Using set_location($location[Shadow Rift]) at this point will properly update the appearance rates.
 
I'll just give this a bump since we ran into this issue again trying to debug a garbo issue. I've taken a look at why this might be happening in the mafia code, but I think it's still a little beyond me right now
 
Top