From c91dc341ae4005d828e3b6b7c39fd5b87081a98d Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Sun, 29 Oct 2023 09:21:49 +0100 Subject: [PATCH] crossbow:: no more mimics attacking in melee, or swinging at mirrors --- complex.cpp | 2 +- pcmove.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/complex.cpp b/complex.cpp index 4fa98aa3..edddfb14 100644 --- a/complex.cpp +++ b/complex.cpp @@ -1457,7 +1457,7 @@ EX namespace mirror { if(c2->monst) { c->monst = moMimic; eMonster m2 = c2->monst; - if(!peace::on && canAttack(c,moMimic,c2,m2, 0)) { + if(!peace::on && !bow::crossbow_mode() && canAttack(c,moMimic,c2,m2, 0)) { attackMonster(c2, AF_NORMAL | AF_MSG, moMimic); if(!fwd) produceGhost(c2, m2, moMimic); sideAttack(c, m.second.spin, m2, 0); diff --git a/pcmove.cpp b/pcmove.cpp index ed0fa5a9..ff4810cc 100644 --- a/pcmove.cpp +++ b/pcmove.cpp @@ -913,7 +913,7 @@ bool pcmove::after_escape() { c2->wall == waBigTree || c2->wall == waSmallTree || (c2->wall == waShrub && items[itOrbSlaying]) || - c2->wall == waMirrorWall; + (c2->wall == waMirrorWall && !bow::crossbow_mode()); if(attackable && markOrb(itOrbAether) && c2->wall != waMirrorWall) attackable = false; bool nm; nm = attackable; @@ -952,7 +952,7 @@ bool pcmove::after_escape() { c2->wall = waSmallTree; return swing(); } - if(!peace::on) { + if(!peace::on && !bow::crossbow_mode()) { if(c2->wall == waMirrorWall) addMessage(XLAT("You swing your sword at the mirror.")); else if(c2->wall)