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).
This commit is contained in:
PatR
2021-12-12 11:32:09 -08:00
parent f6b7be49f4
commit f10ef7aba8
3 changed files with 8 additions and 0 deletions

View File

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

View File

@@ -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]

View File

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