Files
nethack/include
nethack.allison cc830fb311 buglist - full level triggers impossible() from migrating mons
<email deleted> wrote:
> If more monsters fall through a trap door than can fit on the
> level below, when you go down the stairs, you get the following
> message:
>  "Program in disorder - perhaps you'd better #quit.
>  rloc(): couldn't relocate monster"
> This message seems to appear once for every monster-too-many that
> fell through the hole. I originally found this while
> intentionally completely filling a level with black puddings
> (there was a trap door I didn't know about). I also confirmed it
> in a wiz-mode test using gremlins and water.

[confirmed: moveloop -> deferred_goto -> goto_level ->
 losedogs -> mon_arrive -> rloc -> impossible]

This patch:
- causes rloc() to return TRUE if successful,
  or FALSE if it wasn't.
- adds code to mon_arrive() in dog.c to deal with
  the failed rloc()
- allows the x,y parameters to mkcorpstat() to
  be 0,0 in order to trigger random placement of the
  corpse on the level
- if you define DEBUG_MIGRATING_MONS when you build cmd.c
  then you'll have a debug-mode command #migratemons to
  store the number of random monsters that you specify
  on the migrating monsters chain.
2003-09-13 05:30:43 +00:00
..
2002-01-18 02:50:06 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2003-02-14 01:06:08 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2002-01-05 21:05:47 +00:00
2003-01-04 17:37:09 +00:00
2003-09-01 02:23:50 +00:00
2002-02-04 16:06:00 +00:00
2003-07-29 12:08:56 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2003-03-24 00:47:03 +00:00
2002-03-31 22:56:30 +00:00
2003-09-10 01:16:23 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2003-08-14 11:04:33 +00:00
2002-02-04 16:06:00 +00:00
2002-01-05 21:05:47 +00:00
2003-02-20 00:36:14 +00:00
2002-02-04 16:06:00 +00:00
2002-01-05 21:05:47 +00:00
2003-08-26 00:19:58 +00:00
2003-08-26 00:19:58 +00:00
2003-09-02 16:06:53 +00:00
2002-02-04 16:06:00 +00:00
2002-04-07 10:43:59 +00:00
2002-02-04 16:06:00 +00:00
2003-08-03 18:05:36 +00:00
2002-03-25 08:05:27 +00:00
2003-01-09 01:20:49 +00:00
2002-02-04 16:06:00 +00:00
2003-04-11 22:32:08 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2003-03-09 15:44:50 +00:00
2003-04-06 15:02:57 +00:00
2002-02-04 16:06:00 +00:00
2003-04-11 22:32:08 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2002-01-05 21:05:48 +00:00
2002-08-31 20:14:17 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2003-07-06 22:06:46 +00:00
2002-02-04 16:06:00 +00:00
2002-03-17 20:02:47 +00:00
2002-02-04 16:06:00 +00:00
2002-01-05 21:05:48 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2003-07-06 22:06:46 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2003-05-20 06:24:46 +00:00
2003-08-01 12:06:43 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2003-08-17 19:10:52 +00:00
2002-03-17 20:02:47 +00:00
2002-02-04 16:06:00 +00:00
2002-02-04 16:06:00 +00:00
2003-04-11 22:32:08 +00:00
2002-02-04 16:06:00 +00:00