diff --git a/doc/fixes36.3 b/doc/fixes36.3 index f9781a9a8..71572a441 100644 --- a/doc/fixes36.3 +++ b/doc/fixes36.3 @@ -177,6 +177,7 @@ avoid 'object lost' panic when polymorph causes loss of levitation boots or over but buffered output didn't show it until hero stopped, so it wasn't possible to tell where they were, unlike all other forms of multiple movement; stop running if/when an engraving is reached +fix exploding land mine moving ball or chain and causing a sanity error Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository diff --git a/src/explode.c b/src/explode.c index 941d22201..2c46178fd 100644 --- a/src/explode.c +++ b/src/explode.c @@ -621,6 +621,13 @@ struct obj *obj; /* only scatter this obj */ obj->ox, obj->oy, sx, sy); while ((otmp = (individual_object ? obj : level.objects[sx][sy])) != 0) { + if (otmp == uball || otmp == uchain) { + boolean waschain = (otmp == uchain); + pline_The("chain shatters!"); + unpunish(); + if (waschain) + continue; + } if (otmp->quan > 1L) { qtmp = otmp->quan - 1L; if (qtmp > LARGEST_INT)