Bug - Fixed Mafia keeps setting can_interact to true during HC Boriscore

illarion

Member
Modifier Maximizer attempts to use Hagnks/Mall items in Hardcore (AoB)

HC, AoB run. I noticed at L13, when I reached the shadow, that the modifier maximizer was suddenly attempting to use items in Hagnks, and to purchase from the mall.
> mx init

Maximizing...
296 combinations checked, best score 160.0
Pulling items from storage...
Searching for "worn tophat"...
Search complete.
Purchasing worn tophat (1 @ 260)...
Purchasing worn tophat (1 @ 260)...
Purchasing worn tophat (1 @ 260)...

The maximizer is set to the default values for which items to consider - "on hand" and "don't check".

The main window still correctly shows "Hardcore", but "ashq print(can_interact())" shows "true", which I feel it should not.

EDIT: I thought to try a refresh session after posting, and that fixed it - can_interact() now shows false. Just some oddity about how the tower goes in AoB maybe?

EDIT2: Sheesh, idiot today. This is with r10678. Also, I noticed someone in the bumcheekcity ascension script thread describing a similar problem, though in that case a refresh did not fix it. (Note that I was *not* using bumcheek's script for this run though).
http://kolmafia.us/showthread.php?4...scension-script!&p=68990&viewfull=1#post68990
 
Last edited:

Theraze

Active member
Level 13 (now 14) Boriscore run, and mafia keeps setting can_interact to true.
> can_interact

Returned: true

> refresh all

Refreshing session data...
Synchronizing moon data...
Loading character status...
Retrieving character data...
Refreshing closet...
Examining consumables in closet...
Examining equipment in closet...
Examining miscellaneous items in closet...
Updating inventory...

> CURRENT: refresh all
> QUEUED 1: can_interact

Retrieving quest data...
Retrieving familiar data...
Familiar data retrieved.
Retrieving campground data...
Refreshing storage...
Examining meat in storage...
Examining consumables in storage...
Examining equipment in storage...
Examining miscellaneous items in storage...
Session data refreshed.

> can_interact

Returned: false
Was true on initial login and it kept trying to buy knob superseltzers, which doesn't work too well in a Boriscore run. Running refresh all fixed it... for a bit. Then it got marked as true again, which was again fixed (as the quote shows) by running another refresh all. Refresh status didn't solve it, not sure if there's something I can do that does less that the 11 hits or whatever that refresh all does, but... Bah.

Anyways, this is happening with 10716. I have 4 adventures left and I'm up to the NS, so I'll probably hang out for an hour or so waiting to see if there's any proposed fix. :)
 

Veracity

Developer
Staff member
Hit the refresh button on the green sidepane and it will make one hit to api.php.

I need to know what you did that caused the transition from can't interact to can interact. Until then, I have no clue and no proposed fix...
 

Veracity

Developer
Staff member
Actually, never mind. I have a guess about it: we set can_interact when we read api.php as well as when we read the char sheet. If you are "out of Ronin", we set can_interact from api.php - even if you were in hardcore.

Revision 10718 should fix that.

I'm going to think more about it. Perhaps there is a better solution. But, you tell me if this works for you.
 

Theraze

Active member
Let's see... closed the window, so I can't pull the gCLI info, but reading through the session logs...
Day started at Level 13, still needed to kill the Man, but needed healing items, so farmed the digital key and 16 red pixel potions. Then I beat the Man, using 9 of those potions. I then farmed Richard's star key and the star hat from the Hole in the Sky. Up to that point, all worked fine.
Next thing I did was run the Daily Dungeon Diver script (dailydungeon.ash) and that appears to be where it got confused, per this log:
cast 7 Laugh It Off
You gain 11 hit points
> Checking for updates (running Daily Dungeon Diver ver. 1.9)...
> Running Daily Dungeon Diver version: 1.9 (current)
> Loading daily dungeon information for 20120303...
> Caching page...
> Room data written to 'dailydungeondata.txt' for 20120303.
> Checking room 1: Locked Door...
> Passing with Muscle of 246: CERTAIN!
> Forcing open the door: +1 adv
> Checking room 2: Locked Door (rotating blade trap)...
> Passing with Muscle of 246: CERTAIN!
> Forcing open the door: +1 adv
> Checking room 3: Treasure!...
> Opening chest: +1 adv
> Checking room 4: The Biggest Bathtub Ever (Mus check)...
> Passing with Muscle of 246: CERTAIN!
> Passing through: +1 adv
> Checking room 5: Locked Door (blue gas trap)...
> Passing with Muscle of 246: CERTAIN!
> Forcing open the door: +1 adv
> Checking room 6: Treasure!...
> Not opening chest.
> Checking room 7: Seriously, I Just Read It For the Articles (sleaze resistance)...
> Checking resistance to sleaze...
> You can already resist sleaze.
> Passing through: +1 adv
> Checking room 8: Locked Door (green gas trap)...
> Passing with Muscle of 246: CERTAIN!
> Forcing open the door: +1 adv
> Checking room 9: Monster! (an apathetic lizardman)...
> Fighting monster: +1 adv
> Room 10 Chest: +1 adv
> You can safely dive the daily dungeon! You will use 9 adventures and 0 skeleton keys.
> Completing daily dungeon...
> Room 1...
> Door!
> Passing with Muscle of 246: CERTAIN!

[2364] Daily Dungeon (Room 0)
> Purchasing some Knob Goblin superseltzers for use as a combat restorative.

buy 4 Knob Goblin superseltzer for 197 each from 687657 on 20120303

buy 1 Knob Goblin superseltzer for 198 each from 188394 on 20120303

buy 4 Knob Goblin superseltzer for 198 each from 1783793 on 20120303

buy 4 Knob Goblin superseltzer for 198 each from 611336 on 20120303

buy 4 Knob Goblin superseltzer for 199 each from 680068 on 20120303

buy 4 Knob Goblin superseltzer for 200 each from 2212864 on 20120303

buy 4 Knob Goblin superseltzer for 248 each from 673074 on 20120303

buy 3 Knob Goblin superseltzer for 250 each from 1053259 on 20120303

buy 4 Knob Goblin superseltzer for 250 each from 295528 on 20120303

buy 4 Knob Goblin superseltzer for 250 each from 1037198 on 20120303
> Room 1 cleared.
It repeats that between each room in the Daily Dungeon, finally giving up when it tries to buy a skeleton key from room 8, like so:
> Room 8...
> Door!

pull: 5 skeleton key

buy 1 skeleton key for 100 each from 1274053 on 20120303

buy 1 skeleton key for 100 each from 1297446 on 20120303

buy 1 skeleton key for 100 each from 1934027 on 20120303

buy 1 skeleton key for 100 each from 2279284 on 20120303

buy 1 skeleton key for 100 each from 1944154 on 20120303

buy 1 skeleton key for 100 each from 1434505 on 20120303

buy 1 skeleton key for 100 each from 1581108 on 20120303

buy 1 skeleton key for 100 each from 164553 on 20120303

buy 1 skeleton key for 100 each from 1917245 on 20120303

buy 1 skeleton key for 100 each from 1654200 on 20120303

buy 1 skeleton key for 100 each from 1274053 on 20120303

buy 1 skeleton key for 100 each from 1297446 on 20120303

buy 1 skeleton key for 100 each from 1934027 on 20120303

buy 1 skeleton key for 100 each from 2279284 on 20120303

buy 1 skeleton key for 100 each from 1434505 on 20120303

buy 1 skeleton key for 100 each from 1581108 on 20120303

buy 1 skeleton key for 100 each from 164553 on 20120303

buy 1 skeleton key for 100 each from 1917245 on 20120303

buy 1 skeleton key for 100 each from 1654200 on 20120303
> Unable to complete room 8.
> Unable to complete daily dungeon.
I then ran my first Refresh All, which fixed can_interact() briefly. VERY briefly.
> Loading daily dungeon information for 20120303...
> Using cached dungeon info...
> Checking room 1: Locked Door...
> Passing with Muscle of 246: CERTAIN!
> Forcing open the door: +1 adv
> Checking room 2: Locked Door (rotating blade trap)...
> Passing with Muscle of 246: CERTAIN!
> Forcing open the door: +1 adv
> Checking room 3: Treasure!...
> Opening chest: +1 adv
> Checking room 4: The Biggest Bathtub Ever (Mus check)...
> Passing with Muscle of 246: CERTAIN!
> Passing through: +1 adv
> Checking room 5: Locked Door (blue gas trap)...
> Passing with Muscle of 246: CERTAIN!
> Forcing open the door: +1 adv
> Checking room 6: Treasure!...
> Not opening chest.
> Checking room 7: Seriously, I Just Read It For the Articles (sleaze resistance)...
> Checking resistance to sleaze...
> You can already resist sleaze.
> Passing through: +1 adv
> Checking room 8: Locked Door (green gas trap)...
> Passing with Muscle of 246: CERTAIN!
> Forcing open the door: +1 adv
> Checking room 9: Monster! (an apathetic lizardman)...
> Fighting monster: +1 adv
> Room 10 Chest: +1 adv
> You can safely dive the daily dungeon! You will use 9 adventures and 0 skeleton keys.
> Completing daily dungeon...
> Room 8...
> Door!
> Passing with Muscle of 246: CERTAIN!

[2368] Daily Dungeon (Room 0)
> Purchasing some Knob Goblin superseltzers for use as a combat restorative.
Despite that, it didn't ask for knob superseltzer restoration again until I reached the Shadow of Boris fight at the top of the tower. Then I noticed it trying to pull items from storage, and checked can_interact() to find it wrong again.

Appears quite possible that the problem is tied into the Daily Dungeon, since both times it started asking for impossible restoration, it was just after a daily dungeon execution?
 

Veracity

Developer
Staff member
Or try 10719.

The only time we change the value of can_interact is when we look at api.php or at the Char Sheet. api.php had a bug in that if you have more than 1000 turns in your run - i.e., roninleft was 0 - it assumed you could interact. The Char Sheet did it differently and did not have that problem.
 

Theraze

Active member
Sounds good. I'll check on tonight's rollover... most of them are at 1000+ turns and should be HC. I'll see if any of them get confused. Thanks for the fast tweaks, Veracity!
 

DoctorRotelle

Developer
I am in aftercore after a bad moon run. kingLiberated is set to true. I am level 47 and can_interact() returns false for me. my_path() returns None. Was this intended behavior?
 
Last edited:

DoctorRotelle

Developer
What kind of a question is that?

I specifically need to know if I should rewrite my scripts to work around the "new format" or if I should hold out for the inconsistencies to be ironed out. I'm sorry I've been out of the loop for awhile as I've been out of town and busy with moving. It is an honest question, not intended to be taken as anything else. Some recent updates led me to believe it is possible some information may be needed for this issue, but the issue is too old to appear in the builds page any longer. Sorry about any misunderstandings.
 

Veracity

Developer
Staff member
You reported an obvious bug which was introduced while fixing another bug. Bugs are never "intended behavior".

Edit: Your bug was fixed in Revision 10739, by the way.
 
Last edited:
Top