| 199 | } |
| 200 | |
| 201 | void set_resumed(bool resume) |
| 202 | { |
| 203 | if (resume) |
| 204 | { |
| 205 | if (world->frame_counter >= resume_time && actual_job->flags.bits.suspend) |
| 206 | { |
| 207 | Job::removePostings(actual_job, true); |
| 208 | actual_job->flags.bits.suspend = false; |
| 209 | } |
| 210 | } |
| 211 | else |
| 212 | { |
| 213 | resume_time = 0; |
| 214 | if (isActuallyResumed()) |
| 215 | resume_delay = DAY_TICKS; |
| 216 | |
| 217 | if (!actual_job->flags.bits.suspend) |
| 218 | { |
| 219 | actual_job->flags.bits.suspend = true; |
| 220 | Job::removePostings(actual_job, true); |
| 221 | } |
| 222 | } |
| 223 | |
| 224 | want_resumed = resume; |
| 225 | } |
| 226 | }; |
| 227 | |
| 228 | int ProtectedJob::cur_tick_idx = 0; |