From 924cdc12c628e4d8d5d69be8b89043b518ab3cd0 Mon Sep 17 00:00:00 2001 From: "Joseph C. Sible" Date: Wed, 1 Oct 2025 02:06:06 -0400 Subject: [PATCH] Fix getting rid of Great Walls by killing Ghosts with OotStone --- attack.cpp | 4 ++-- complex.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/attack.cpp b/attack.cpp index 4d01f20f..a9c447a5 100644 --- a/attack.cpp +++ b/attack.cpp @@ -189,13 +189,13 @@ EX bool petrify(cell *c, eWall walltype, eMonster m) { if(c->land == laWestWall) return false; + if(do_not_touch_this_wall(c)) return false; + if(isWateryOrBoat(c) && c->land == laWhirlpool) { c->wall = waSea; return false; } - if(c->wall == waRoundTable) return false; - if(walltype == waGargoyle && cellUnstableOrChasm(c)) walltype = waGargoyleFloor; else if(walltype == waGargoyle && isWatery(c)) diff --git a/complex.cpp b/complex.cpp index 3aca2509..3de3bb76 100644 --- a/complex.cpp +++ b/complex.cpp @@ -2721,7 +2721,7 @@ EX namespace dragon { c->monst = moNone; if(checkOrb(who, itOrbUndeath)) c->monst = moFriendlyGhost; - if(checkOrb(who, itOrbStone)) + if(!do_not_touch_this_wall(c) && checkOrb(who, itOrbStone)) c->wparam = m, c->wall = waPetrified; else if(c->wall == waFire) { if(delay) delay = false; @@ -2993,13 +2993,13 @@ EX namespace kraken { if(checkOrb(who, itOrbUndeath)) c->monst = moFriendlyGhost; if(c->land == laKraken && !c->item) c->item = itKraken; kills[moKrakenH]++; - if(checkOrb(who, itOrbStone)) c->wall = waNone; + if(!do_not_touch_this_wall(c) && checkOrb(who, itOrbStone)) c->wall = waNone; forCellEx(c1, c) if(c1->monst == moKrakenT) { changes.ccell(c1); drawParticles(c, minf[moKrakenT].color, 16); c1->monst = moNone; - if(checkOrb(who, itOrbStone)) { + if(!do_not_touch_this_wall(c1) && checkOrb(who, itOrbStone)) { if(isWatery(c1)) c1->wall = waNone; else