X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=src%2Fsetup.c;h=afb9c4fbcbf533142147675c21fc72f194d0b15d;hp=2c0f52b7cbace20581370c7dcfb89af00dc0f1f1;hb=188965b8e49bc7a0233258627917239b57429e77;hpb=28815fe0dea83042dbcd6f112ae6ce1821edd1e0 diff --git a/src/setup.c b/src/setup.c index 2c0f52b..afb9c4f 100644 --- a/src/setup.c +++ b/src/setup.c @@ -240,20 +240,22 @@ void setup(int needprompt) #endif /* EXPERIMENTAL */ } // Initialize times for extraneous events - 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); #ifdef EXPERIMENTAL if (game.options & OPTION_WORLDS) - /* in BSD-Trek, this is a fixed one stardate in the future */ - game.future[FDISTR] = game.state.date + 1.0 + Rand(); - game.future[FENSLV] = FOREVER; - game.future[FREPRO] = FOREVER; + schedule(FDISTR, expran(1.0 + game.intime)); + unschedule(FENSLV); + unschedule(FREPRO); #endif /* EXPERIMENTAL */ // Starchart is functional but we've never seen it game.lastchart = FOREVER;