Here is what is going on:
When loading the Day Planner for a specifically-modified day, the Evening and Late Evening acts of the day planner act as though they are the same thing, despite the fact that this does not occur at any other point in the game. Saving/reloading on the Day Planner causes it to work correctly, for some reason, despite the fact that nothing has actually changed.
Because I know how irritating it can be to replicate this (I had a nightmare of a time doing it myself), I've attached a copy of the build I sent to Qirien. Instructions for replicating are as follows:
1. Launch the game
2. Load Save File #5
3. Select choices to get through the entire day (there are no events that play out in the Office, so you can just select this for all of the periods to get through as quickly as possible)
4. Watch as the planner stops working as intended when not calling the Afternoon period.
Now, we have found a workaround for this, though we aren't sure if this is an actual bug, or just something incredibly specific to the way the DSE has been written over time.
In the Day_Planner.rpy, on line 100-101, we have the following:Qirien wrote:The action of accessing the variable for the Notify action seems to fix it for the subsequent SetField action.
Code: Select all
if enable: textbutton name action SetField(store, this_period.var, curr_val)
Code: Select all
if enable: textbutton name action [SetField(store, this_period.var, curr_val)]
To be absolutely clear: In this instance, without those brackets the code seems to think that setting the Evening act should also set the Late Evening at the same time, and vice versa, despite the fact that they are very different periods - just in this instance. But when reloading the state for any reason (or loading into the screen from a save), it works as intended.
The only time this bug shows up is after transitioning from the previous day.
For the record: I have updated to the latest build (18.104.22.168.2187), but this was also present in (22.214.171.124.2029).
I understand that the current build I have linked may take about 30 seconds or so to reproduce the bug. If this is too involved, I can throw together a new build to see if I can reduce the time, but with the current setup you can easily see what it should do, and what it doesn't do on the next day.
Is this a problem with the DSE code, or is it an issue with Renpy? At this point that's really the only question we'd like answered, I think.
Thanks in advance!