more cursed potion of invisibility
Give feedback if a visible monster drinks a potion of invisibility that happens to be cursed so monster fails to become invisible, or if hero hits a visible monster with a cursed potion of invisibility and it fails to become invisible.
This commit is contained in:
@@ -2439,6 +2439,13 @@ use_misc(struct monst *mtmp)
|
||||
}
|
||||
if (oseen)
|
||||
makeknown(otmp->otyp);
|
||||
} else if (vismon && !mtmp->minvis) {
|
||||
/* cursed potion; mon tried to make itself invisible but failed */
|
||||
pline("%s briefly seems to be transparent.", Monnam(mtmp));
|
||||
/* we could call map_invisible() before the pline(), then
|
||||
newsym() after; unseen monster glyph would be visible during
|
||||
the pline, but hero would forget any remembered object under
|
||||
the monster */
|
||||
} else if (!vismon && canseemon(mtmp)) {
|
||||
/* cursed potion; this won't happen because a monster will only
|
||||
drink a potion of invisibility when not already invisible */
|
||||
|
||||
@@ -1785,6 +1785,9 @@ potionhit(struct monst *mon, struct obj *obj, int how)
|
||||
if (sawit && !canspotmon(mon)) {
|
||||
if (cansee(mon->mx, mon->my))
|
||||
map_invisible(mon->mx, mon->my);
|
||||
} else if (sawit && cursed_potion) {
|
||||
pline("%s briefly seems to be transparent.", Monnam(mon));
|
||||
/* see use_misc(muse.c) for comment about map_invisible() */
|
||||
} else if (!sawit && canspotmon(mon)) {
|
||||
/* if an invisible mon glyph was present, mon_set_minvis()'s
|
||||
newsym() has gotten rid of it */
|
||||
|
||||
Reference in New Issue
Block a user