On Monday, April 12, 2021 at 8:11:08 AM UTC-7, Janis wrote:
This is a (reproducible) bug observed in Slashem, don't know it applies
to a similar setup in Nethack as well.
Actual situation: Neutral quest, a boulder (part of a boulder trap) and
a level-teleport trap. Pushed the boulder onto the trap to get it appear
on some random other level. The process did not finish, the CPU showed
100% business. Killed the slashem process, recovered the game, repeated
the test; same effect again.
3.4.3 had the buggy code but wouldn't become stuck
repeating itself. When pushing the boulder onto the trap,
the game would issue a message as if the boulder had
vanished but if the destination happened to be the same
level then it would try again. For any branch with more
than one level, it would eventually pick a valid destination.
I think I've that way dislocated boulders in the past without issue,
so the bug might be triggered by the level being a special one (a flat one-level branch) reachable through a portal. But that's of course just speculation.
If the randomly chosen destination level is the same as the
current level, it tries again. For a single level branch, there's
only one choice for the destination and it will end up trying
over and over with no chance of success. In nethack, there
is only one branch with a single level. Since Fort Ludios
doesn't have explicit level teleporters or random traps which
might be created as level teleporters, you'd never get stuck
in a loop except by wishing for a level teleporter in wizard
mode. Slash'EM has multiple single level branches and any
that allow level teleporters are vulnerable.
This bug was fixed in 3.6.0.
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)