Feature - Implemented Improvements to appearance_rates()

From working through the Crimbo proselytizing (real word?) I also think the following:

Lord Spookyraven will not appear again in the Summoning Chamber after being defeated once?
Dense Liana will not appear in overgrown shrines after defeating 3 at each shrine?
 
It's cool that these are being found and fixed. I noticed today that the meat blobs are reversed.
Code:
combats.txt:The Haunted Pantry  80      possessed can of tomatoes       fiendish can of asparagus       flame-broiled meat blob: 1o     overdone flame-broiled meat blob: 1e    undead elbow macaroni
I believe you are incorrect.

My multi has ascended 30 times and is therefore on ascension #31.
Her "Crimbo 15 Progress" has this:

flame-broiled meat blob X X

Which is correct. She does not encounter "overdone flame-broiled meat blobs".
 
Hm. It looks like you're correct (I'm in aftercore of ascension #230 and only encounter the overdone ones), so I'll go ahead and revert my earlier change.
 
Clingy Pirates, Goblin King, Lord Spookyraven and Lianas should be dealt with in r16565.

Lianas is a little hacky, but I don't plan special tracking for edge cases just to make it perfect.
 
Slime Tube reports all slime forms at equal rates (at least before adventuring there), whereas it should only show one appearing based on current +ML.
 
I'm often mistaken, but it was certainly wrong for me this run. I used a lot of turns before I realized the mistake. Maybe there's something more complex about meat blobs? No idea. I'll double check tomorrow.

Another place for improvement is the cyrpt bosses. Just to be extra safe, I checked:
Code:
> get cyrptNicheEvilness

23

> ash appearance_rates($location[The Defiled Niche])

Returned: aggregate float [monster]
none => 15.0
senile lihc => 14.166666666666666
slick lihc => 14.166666666666666
gargantulihc => 0.0
dirty old lihc => 56.666666666666664
 
Additional testing on two characters shows that KoLmafia is just fine about the meat blobs. Additional testing to see if I'm losing my mind still underway.
 
Curiously, it appears that my number of turns spent in the AdventureSpentDatabase for the overgrown shrines is 0, despite having completed the quests. This seems odd, as I cannot see anything that accounts for whether a fight is free or not (and if it did, that'd make this pointless for accounting for delay, which is pretty much all we use it for internally). I wonder if those fights somehow end without hitting line 2845 in FightRequest.
 
Curiously, it appears that my number of turns spent in the AdventureSpentDatabase for the overgrown shrines is 0, despite having completed the quests. This seems odd, as I cannot see anything that accounts for whether a fight is free or not (and if it did, that'd make this pointless for accounting for delay, which is pretty much all we use it for internally). I wonder if those fights somehow end without hitting line 2845 in FightRequest.

Are you using an antique machete, which ends combat without spending a turn?
 
Last edited:
Curiously, it appears that my number of turns spent in the AdventureSpentDatabase for the overgrown shrines is 0, despite having completed the quests. This seems odd, as I cannot see anything that accounts for whether a fight is free or not (and if it did, that'd make this pointless for accounting for delay, which is pretty much all we use it for internally). I wonder if those fights somehow end without hitting line 2845 in FightRequest.

So, I think I figured out why turns_spent was resetting for me every session (or so it seemed). Turns out that Mafia only serializes the queues / turns_spent / whatever on clean exit, and I usually end up sending a SIGINT to exit Mafia (since rollover's already hit). I see two approaches: 1) periodically save, or 2) add a shutdownHook, which seems bad and could cause catastrophic losses of information. Maybe this should be split out into a different thread for some separate discussion.
 
Are you using an antique machete, which ends combat without spending a turn?

Of course, however :

Turns spent is an interesting measure here, as of course it isn't really turns spent, it's Encounters encountered or some such. AdventureSpentDatabase seems to me from looking at the code, for combats, to always count a combat as one turn spent. There may be some correction of which I am not aware. If there is correction (for things like antique machete), then that means turnsSpent() is irrelevant for looking at delay, whereas various warnings and comparisons currently do look at turnsSpent() for this.
 
Turns spent is perhaps a misnomer, as it really tracks visits that aren't noncombat skips, for the primary purpose of tracking delay.
 
Combats should be counted as soon as they end. They aren't counted when they start to avoid counting rollover runaways. I'm surprised that dense liana aren't counted.
 
Back
Top