- game.future[FSNOVA] = game.state.date + expran(0.5 * game.intime);
- game.future[FTBEAM] = game.state.date + expran(1.5 * (game.intime / game.state.remcom));
- game.future[FSNAP] = game.state.date + 1.0 + Rand(); // Force an early snapshot
- game.future[FBATTAK] = game.state.date + expran(0.3*game.intime);
- game.future[FCDBAS] = FOREVER;
- game.future[FSCMOVE] = game.state.nscrem ? game.state.date+0.2777 : FOREVER;
- game.future[FSCDBAS] = FOREVER;
- game.future[FDSPROB] = FOREVER;
+ schedule(FSNOVA, expran(0.5 * game.intime));
+ schedule(FTBEAM, expran(1.5 * (game.intime / game.state.remcom)));
+ schedule(FSNAP, 1.0 + Rand()); // Force an early snapshot
+ schedule(FBATTAK, expran(0.3*game.intime));
+ unschedule(FCDBAS);
+ if (game.state.nscrem)
+ schedule(FSCMOVE, 0.2777);
+ else
+ unschedule(FSCMOVE);
+ unschedule(FSCDBAS);
+ unschedule(FDSPROB);
+ if ((game.options & OPTION_WORLDS) && game.skill >= SKILL_GOOD)
+ schedule(FDISTR, expran(1.0 + game.intime));
+ unschedule(FENSLV);
+ unschedule(FREPRO);