rollwand() { if (++between >= 4) { if (roll(1, 6) == 4) { wanderer(); kill_daemon(rollwand); fuse(swander, 0, WANDERTIME, BEFORE); } between = 0; } }
daemon rollwand(daemon_arg *arg) { NOOP(arg); if ((rnd(6) == 0) && (player.t_ctype != C_THIEF || (rnd(30) >= pstats.s_dext))) { wanderer(); kill_daemon(DAEMON_ROLLWAND); light_fuse(FUSE_SWANDER, 0, WANDERTIME, BEFORE); } return; }
/* * rollwand: * Called to roll to see if a wandering monster starts up */ void rollwand(void) { if (++between >= 4) { /* Theives may not awaken a monster */ if ((roll(1, 6) == 4) && ((player.t_ctype != C_THIEF) || (rnd(30) >= pstats.s_dext))) { if (levtype != POSTLEV) wanderer(); kill_daemon(rollwand); fuse(swander, 0, WANDERTIME, BEFORE); } between = 0; } }