more explode panic()
You could still get a panic. To reproduce: - wizwish for a statue, and drop it - wizwish for a landmine, and apply it at same location as statue - move one square and wish for a boulder, drop it (automatically likely) - push the boulder on the landmine to trigger it. - the panic came from the statue this time.
This commit is contained in:
+3
-2
@@ -438,7 +438,7 @@ struct obj *obj; /* only scatter this obj */
|
|||||||
&& rn2(10)) {
|
&& rn2(10)) {
|
||||||
if (otmp->otyp == BOULDER) {
|
if (otmp->otyp == BOULDER) {
|
||||||
pline("%s apart.", Tobjnam(otmp, "break"));
|
pline("%s apart.", Tobjnam(otmp, "break"));
|
||||||
fracture_rock(otmp); /* the will place fragments on floor */
|
fracture_rock(otmp); /* this will place fragments on floor */
|
||||||
obj_extract_self(otmp);
|
obj_extract_self(otmp);
|
||||||
place_object(otmp, sx, sy);
|
place_object(otmp, sx, sy);
|
||||||
if ((otmp = sobj_at(BOULDER, sx, sy)) != 0) {
|
if ((otmp = sobj_at(BOULDER, sx, sy)) != 0) {
|
||||||
@@ -452,7 +452,8 @@ struct obj *obj; /* only scatter this obj */
|
|||||||
if ((trap = t_at(sx,sy)) && trap->ttyp == STATUE_TRAP)
|
if ((trap = t_at(sx,sy)) && trap->ttyp == STATUE_TRAP)
|
||||||
deltrap(trap);
|
deltrap(trap);
|
||||||
pline("%s.", Tobjnam(otmp, "crumble"));
|
pline("%s.", Tobjnam(otmp, "crumble"));
|
||||||
(void) break_statue(otmp);
|
(void) break_statue(otmp); /*this will place fragments on floor */
|
||||||
|
obj_extract_self(otmp);
|
||||||
place_object(otmp, sx, sy); /* put fragments on floor */
|
place_object(otmp, sx, sy); /* put fragments on floor */
|
||||||
}
|
}
|
||||||
used_up = TRUE;
|
used_up = TRUE;
|
||||||
|
|||||||
Reference in New Issue
Block a user