From f10ef7aba8c88ca75fad283170e6988e1f41b076 Mon Sep 17 00:00:00 2001 From: PatR Date: Sun, 12 Dec 2021 11:32:09 -0800 Subject: [PATCH] attrcurse() on 'see invisible' If hero has intrinsic see-invisible and a gremlin steals that, the map wasn't being updated to hide invisible monsters (until the next iteration of moveloop() after other monsters finished current turn). --- doc/fixes37.0 | 1 + src/display.c | 1 + src/sit.c | 6 ++++++ 3 files changed, 8 insertions(+) diff --git a/doc/fixes37.0 b/doc/fixes37.0 index bfe6e5fb9..eff95f2c4 100644 --- a/doc/fixes37.0 +++ b/doc/fixes37.0 @@ -711,6 +711,7 @@ fix some inconsistencies with applied bullwhip vs monster polymorphing while wearing an amulet of strangulation from a form that wasn't vulnerable to one that was gave wrong message ("still constricts") for accessibility reasons, give a message when monster teleports +if a gremlin stole intrinsic 'see invisible' the map wasn't updated properly Fixes to 3.7.0-x Problems that Were Exposed Via git Repository diff --git a/src/display.c b/src/display.c index 64da6c2f0..a0812547b 100644 --- a/src/display.c +++ b/src/display.c @@ -1265,6 +1265,7 @@ under_ground(int mode) * + hallucinating * + doing a full screen redraw * + see invisible times out or a ring of see invisible is taken off + * or intrinsic see invisible is stolen by a gremlin * + when a potion of see invisible is quaffed or a ring of see * invisible is put on * + gaining telepathy when blind [givit() in eat.c, pleased() in pray.c] diff --git a/src/sit.c b/src/sit.c index ef016650f..a62e456ff 100644 --- a/src/sit.c +++ b/src/sit.c @@ -479,6 +479,12 @@ attrcurse(void) case 7: if (HSee_invisible & INTRINSIC) { HSee_invisible &= ~INTRINSIC; + if (!See_invisible) { + set_mimic_blocking(); + see_monsters(); + /* might not be able to see self anymore */ + newsym(u.ux, u.uy); + } You("%s!", Hallucination ? "tawt you taw a puttie tat" : "thought you saw something"); break;