ball and chain panic when teleporting
"remove_obj: obj not on floor" when trying to move the iron ball. For the circumstances involved, the ball wasn't supposed to be moved anyway, just the chain. I could reproduce the problem using the steps specified. I didn't track down the precise point of failure but after this fix the panic can't be reproduced anymore.
This commit is contained in:
+4
-1
@@ -1,4 +1,4 @@
|
|||||||
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.125 $ $NHDT-Date: 1583708535 2020/03/08 23:02:15 $
|
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.127 $ $NHDT-Date: 1583881126 2020/03/10 22:58:46 $
|
||||||
|
|
||||||
General Fixes and Modified Features
|
General Fixes and Modified Features
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
@@ -70,6 +70,9 @@ generate objects (eg. statues) with genocided or extinct monster classes
|
|||||||
in special levels, if requested
|
in special levels, if requested
|
||||||
if the orc-town version of mine town has been loaded, creation of orc zombies
|
if the orc-town version of mine town has been loaded, creation of orc zombies
|
||||||
or orc mummies would name them as part of the town raiding orc clan
|
or orc mummies would name them as part of the town raiding orc clan
|
||||||
|
when punished, involuntarily teleporting and landing within chain range of
|
||||||
|
attached ball while encumbered worse than burdened could trigger
|
||||||
|
"remove_object: obj not on floor" panic on hero's next move
|
||||||
|
|
||||||
|
|
||||||
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
||||||
|
|||||||
+4
-3
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 teleport.c $NHDT-Date: 1581886867 2020/02/16 21:01:07 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.113 $ */
|
/* NetHack 3.6 teleport.c $NHDT-Date: 1583881126 2020/03/10 22:58:46 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.116 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Robert Patrick Rankin, 2011. */
|
/*-Copyright (c) Robert Patrick Rankin, 2011. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -302,8 +302,9 @@ int nux, nuy;
|
|||||||
int teleds_flags;
|
int teleds_flags;
|
||||||
{
|
{
|
||||||
boolean ball_active, ball_still_in_range;
|
boolean ball_active, ball_still_in_range;
|
||||||
boolean allow_drag = teleds_flags & TELEDS_ALLOW_DRAG;
|
boolean allow_drag = ((teleds_flags & TELEDS_ALLOW_DRAG) != 0
|
||||||
boolean is_teleport = teleds_flags & TELEDS_TELEPORT;
|
&& near_capacity() <= SLT_ENCUMBER);
|
||||||
|
boolean is_teleport = (teleds_flags & TELEDS_TELEPORT) != 0;
|
||||||
struct monst *vault_guard = vault_occupied(u.urooms) ? findgd() : 0;
|
struct monst *vault_guard = vault_occupied(u.urooms) ? findgd() : 0;
|
||||||
|
|
||||||
if (u.utraptype == TT_BURIEDBALL) {
|
if (u.utraptype == TT_BURIEDBALL) {
|
||||||
|
|||||||
Reference in New Issue
Block a user