Bug get_monsters / appearance_rates in The Hidden City

digitrev

Member
First off, I'd like to point out that I'm not even sure if this is a bug or not. I'm just putting that in the field since it's not really a feature request (yet)

So I've been delving into farm.ash to make some improvements (namely handle things like banished monsters and available banishes), and in the process I discovered that the Hidden City relocation options aren't fully handled in the get_monsters and appearance_rate functions.

Code:
> ash appearance_rates($location[The Hidden Park])

Returned: aggregate float [monster]
boaraffe => 25.0
none => -1.0
pygmy assault squad => 25.0
pygmy blowgunner => 25.0
pygmy witch lawyer => 25.0

Now, I can probably work around this by adding new entries to the map and zeroing out others where appropriate (by using the relocatePygmy* preferences), but I was wondering if this should be handled internally.
 
Last edited:

digitrev

Member
Okay, I think I've nailed it down. These are what mafia reports as the appearance rates for the various zones

Code:
The Hidden Park
boaraffe 25.0
pygmy assault squad 25.0
pygmy blowgunner 25.0
pygmy witch lawyer 25.0

The Hidden Bowling Alley
drunk pygmy 25.0
pygmy bowler 25.0
pygmy janitor 25.0
pygmy orderlies 25.0

The Hidden Office Building
pygmy headhunter 25.0
pygmy janitor 25.0
pygmy witch accountant 25.0
pygmy witch lawyer 25.0

The Hidden Apartment Building
pygmy janitor 25.0
pygmy shaman 25.0
pygmy witch accountant 25.0
pygmy witch lawyer 25.0

The Hidden Hospital
pygmy janitor 25.0
pygmy orderlies 25.0
pygmy witch nurse 25.0
pygmy witch surgeon 25.0

It is my opinion that (at the beginning of an ascension) it should look more like this:

Code:
The Hidden Park
boaraffe 33.3
pygmy assault squad 33.3
pygmy blowgunner 33.3
pygmy witch lawyer 0.0
pygmy janitor 0.0

The Hidden Bowling Alley
drunk pygmy 25.0
pygmy bowler 25.0
pygmy janitor 25.0
pygmy orderlies 25.0

The Hidden Office Building
pygmy headhunter 25.0
pygmy janitor 25.0
pygmy witch accountant 25.0
pygmy witch lawyer 25.0

The Hidden Apartment Building
pygmy janitor 25.0
pygmy shaman 25.0
pygmy witch accountant 25.0
pygmy witch lawyer 25.0

The Hidden Hospital
pygmy janitor 25.0
pygmy orderlies 25.0
pygmy witch nurse 25.0
pygmy witch surgeon 25.0

If and when the janitor & lawyer are reloacted, they should be set to 0 in the non-park zones, and set to 25.0 or 20.0 in the park (for one or two relocations as appropriate).
 

Veracity

Developer
Staff member
Didn't Darzil write a Feature Request to add the new code to KoLmafia to handle exactly this "bug"?
 

Darzil

Developer
Something like it, and I started looking at it before discovering it turning into a bit of a monster.

My gut feeling is we should rewrite lots of the code/files relating to combat rates to cover the now common occur X adventure non-combats, rather than just handling % chance non-combats, but that is both a lot of work and raises questions like should we show average combat rate over infinite turns, or chance of combat/non-combat next adventure. It'd be nice to also handle olfaction/make friends/nosy nose interaction.

The two things putting me off are the amount of work, and the fact that I won't ever use the information.
 

digitrev

Member
Something like it, and I started looking at it before discovering it turning into a bit of a monster.

My gut feeling is we should rewrite lots of the code/files relating to combat rates to cover the now common occur X adventure non-combats, rather than just handling % chance non-combats, but that is both a lot of work and raises questions like should we show average combat rate over infinite turns, or chance of combat/non-combat next adventure. It'd be nice to also handle olfaction/make friends/nosy nose interaction.

The two things putting me off are the amount of work, and the fact that I won't ever use the information.

For what it's worth - don't worry about it. I've written some code to handle it, so it shouldn't be a problem.
 
Top