Rest effects
I think you'll find this works.
I am not the greatest fan of comparing restEffects() to healthPenalty() to see whether or not they're taking breaks, but they are very unlikely to be equal under normal circumstances, so I guess it's fairly robust. But otherwise we may want to consider not having restEffects() default to healthPenalty(). It'd be just a few more lines of code.
I also came across the broken illness calculation and fixed it as discussed in the issue about it.