Orb of Slaying makes shrubs attackable

This commit is contained in:
Zeno Rogue 2020-03-01 00:25:22 +01:00
parent 561ce1a141
commit 89fe310154
1 changed files with 16 additions and 0 deletions

View File

@ -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);