Thanks to some feedback from @crinrict and the save file from @epdaly11
I was able to take a better look at the 123:ff93df2 Error regarding the following exception
Exception raised while processing zone spin up sequence: 'float' object has no attribute '_delta' (AttributeError: 'float' object has no attribute '_delta')
Whoever worked on this made a simple mistake in the should_load_after_time_jump method
in the SituationSimple class
This is what the method looks like
def should_load_after_time_jump(cls, seed):
elapsed_time = services.current_zone().time_elapsed_since_last_save().in_minutes()
if elapsed_time > seed.duration_override:
return False
seed.duration_override -= elapsed_time
return True
The following line
elapsed_time = services.current_zone().time_elapsed_since_last_save().in_minutes()
gives the elapsed_time variable the elapsed time (since last save of the zone) in minutes. The minutes are of type float.
The whole thing goes wrong here
seed.duration_override -= elapsed_time
The duration_override is of type TimeSpan.
They are trying to set a new duration_override (Type: TimeSpan) value by subtracting
the original value with the elapsed_time (Type: float).
The method handling subtractions does not support this. It expects you subtract two TimeSpans.
The fix was as simple as removing the in_minutes() call.
Making the method look like this
def should_load_after_time_jump(cls, seed):
elapsed_time = services.current_zone().time_elapsed_since_last_save()
if elapsed_time > seed.duration_override:
return False
seed.duration_override -= elapsed_time
return True
And then it works since time_elapsed_since_last_save() already returns a TimeSpan object.
I updated my bugfix workaround mod on the Nexus and also host a direct download on my site
for anyone interested/able to fix it with a mod.