1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-30 03:50:34 +00:00

mimics are now affected by Empathy, and no longer can reverse slime colors by going through mirror

This commit is contained in:
Zeno Rogue 2022-06-17 09:22:25 +02:00
parent a87ef1b02c
commit 227270283f

View File

@ -1446,7 +1446,8 @@ EX namespace mirror {
changes.ccell(c); changes.ccell(c);
if(!m.second.mirrored) nummirage++; if(!m.second.mirrored) nummirage++;
auto cw2 = m.second + wstep; auto cw2 = m.second + wstep;
if(inmirror(cw2)) cw2 = reflect(cw2); bool thru = inmirror(cw2);
if(thru) cw2 = reflect(cw2);
cell *c2 = cw2.at; cell *c2 = cw2.at;
changes.ccell(c2); changes.ccell(c2);
if(c2->monst) { if(c2->monst) {
@ -1464,7 +1465,11 @@ EX namespace mirror {
else if(c2->wall == waSmallTree) else if(c2->wall == waSmallTree)
c2->wall = waNone; c2->wall = waNone;
if(fwd) { if(fwd) {
if(noMirrorOn(c2) || !passable_for(moMimic, c2, c, P_MONSTER | P_MIRROR | P_MIRRORWALL)) { if(thru && c == c2 && isAlchAny(c) && !checkflags(P_ISFRIEND | P_MONSTER | P_MIRROR | P_MIRRORWALL, P_AETHER)) {
survive = false;
continue;
}
if(noMirrorOn(c2) || !passable_for(moMimic, c2, c, P_ISFRIEND | P_MONSTER | P_MIRROR | P_MIRRORWALL)) {
survive = false; survive = false;
continue; continue;
} }