UPD: I tried to reword the description to more clearly describe the problem
The Worker state is ignored during the save, so if you save/load mid-work all the workers forget what they were doing. The work progress is only saved in Workable, which is normally fine, since Workable doesn't care which Worker actually starts/does/completes it. But this is not the case for wash basins, sinks and ore scrubbers, because the important modifications are actually happening in the Workers, not in the Workables. So if you save/load in the middle of sink use, the dupe who was using it forgets it, and goes through without actually completing the work, probably still with germs. And the next dupe who tries to use this sink will get the half-completed Workable, completes it, and also goes through with germs. For the Workables that modify the state of the Worker there should be a mechanism that ties a particular Worker to a particular Workable even through a save/load cycle.
I also noticed that in Workable.OnSpawn there is this logic
this.ShowProgressBar(this.alwaysShowProgressBar && this.workTimeRemaining < this.GetWorkTime());
Same line is also in Workable.StopWork
Shouldn't it be OR instead of AND?
Save/load the game mid work that modifies the state of the worker, e.g. a dupe using a sink.
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now