Hi, There is NO bug in this function. I don't publish buggy code ! It's working quite fine for a while ... ACMD(do_flee) { int i, attempt, loss, hit, level; if (!FIGHTING(ch)) { act("$n panics but nobody knows why!", TRUE, ch, 0, 0, TO_ROOM); send_to_char("Easy! Easy! Don't panic, nobody is fighting you.\r\n", ch); return; } hit = GET_MAX_HIT(FIGHTING(ch)); level = GET_LEVEL(FIGHTING(ch)); for (i = 0; i < 6; i++) { attempt = number(0, NUM_OF_DIRS - 1); /* Select a random direction */ if (CAN_GO(ch, attempt) && !IS_SET(ROOM_FLAGS(EXIT_ROOM(ch, attempt)), ROOM_DEATH)) { act("$n panics, and attempts to flee!", TRUE, ch, 0, 0, TO_ROOM); if (do_simple_move(ch, attempt, TRUE)) { send_to_char("You flee head over heels.\r\n", ch); if (!IS_NPC(ch)) { loss = /* loss formula */; gain_exp(ch, -loss); sprintf(buf, "You lose %d points.\r\n", loss); send_to_char(buf, ch); } } else { act("$n tries to flee, but can't!", TRUE, ch, 0, 0, TO_ROOM); } return; } } send_to_char("PANIC! You couldn't escape!\r\n", ch); } Cat@NoMUD.
This archive was generated by hypermail 2b30 : 12/07/00 PST