From 89fe3101541486d07b2e609bbcfc867ac10058f1 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Sun, 1 Mar 2020 00:25:22 +0100 Subject: [PATCH] Orb of Slaying makes shrubs attackable --- pcmove.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pcmove.cpp b/pcmove.cpp index e0262ec3..55e9eabe 100644 --- a/pcmove.cpp +++ b/pcmove.cpp @@ -700,6 +700,7 @@ bool pcmove::after_escape() { attackable = c2->wall == waBigTree || c2->wall == waSmallTree || + (c2->wall == waShrub && items[itOrbSlaying]) || c2->wall == waMirrorWall; if(attackable && markOrb(itOrbAether) && c2->wall != waMirrorWall) attackable = false; @@ -720,6 +721,15 @@ bool pcmove::after_escape() { spread_plague(cwt.at, c2, mi.d, moPlayer); return swing(); } + else if(c2->wall == waShrub && markOrb(itOrbSlaying)) { + drawParticles(c2, winf[c2->wall].color, 4); + addMessage(XLAT("You chop down the shrub.")); + playSound(c2, "hit-axe" + pick123()); + changes.ccell(c2); + c2->wall = waNone; + spread_plague(cwt.at, c2, mi.d, moPlayer); + return swing(); + } else if(c2->wall == waBigTree) { drawParticles(c2, winf[c2->wall].color, 8); addMessage(XLAT("You start chopping down the tree.")); @@ -1308,6 +1318,12 @@ EX void sideAttackAt(cell *mf, int dir, cell *mt, eMonster who, eItem orb, cell mt->wall = waNone; spread_plague(mf, mt, dir, who); } + else if(mt->wall == waShrub && markEmpathy(itOrbSlaying)) { + plague_particles(); + markOrb(orb); + mt->wall = waNone; + spread_plague(mf, mt, dir, who); + } else if(mt->wall == waBigTree) { plague_particles(); markOrb(orb);