Bug - Fixed Sidepane no longer shows inebriety limit until refresh

Veracity

Developer
Staff member
I assume this is a side effect of moving max inebriety (and fullness) in modifiers?

Log in a character with liver of steel.
Sidepane shows I have 0/14 available ineriety.
Hit the refresh button.
Sidepane shows that I have 0/19 available inebriety.
 

Ryo_Sangnoir

Developer
Staff member
Probably something to do with the order things run in. The same problem occurs with the daily deeds for free rests. I guess something needs to prompt it to update after the first recalculateAdjustments of the session.

Or we extract the static initializer from modifiers and move it to the main method. I might try that.
 

Ryo_Sangnoir

Developer
Staff member
It looks like it doesn't properly set the skills while initially setting session data (in refreshSessionData in KoLmafia.java). However, this doesn't make any sense to me -- because at the top of the function it calls
Code:
GenericRequest request = new CharSheetRequest();
RequestThread.postRequest(request);
which should do exactly that.

I tried adding a recalculateAdjustments after "Session data refreshed." but that's apparently too soon.
 

Veracity

Developer
Staff member

Ryo_Sangnoir

Developer
Staff member
I ran through some tests with ASH: have_skill and item_amount return the right values, but inebriety_limit returns the wrong one -- until the first recalculateAdjustments (e.g. "modtrace liver capacity" will do one -- though that also adds debug behaviour).

I tried adding some "recalculateAdjustments" into the initial setup, but it doesn't change the results. I wonder if something's going subtly wrong with the passive skills cache.
 

Ryo_Sangnoir

Developer
Staff member
The compact side pane bug is different (though it looks similar) -- I think the fix for that one just wants a "KoLCharacter.updateStatus()" call after the session is initialized.

This one is about modifiers being computed incorrectly at first login.
 
Top