B14004 Cloaks of invisibility

There's no feedback message nor item discovery when you see a monster
	disappear as it puts on a cloak of invisibility.
This commit is contained in:
nethack.allison
2003-01-05 03:57:21 +00:00
parent 06812e0ce7
commit cebd0ccbab
2 changed files with 13 additions and 0 deletions

View File

@@ -347,6 +347,7 @@ add missing data.base entries for caveman, healer, monk, priest, and samurai
allow "grey spellbook" as alternative spelling of "gray spellbook"
handle attacks by cancelled monsters more consistently
armor worn by monsters might negate some magic attacks like it does for hero
give feedback and discovery when visible monster puts on cloak of invisibility
Platform- and/or Interface-Specific Fixes

View File

@@ -404,9 +404,14 @@ boolean racialexception;
{
struct obj *old, *best, *obj;
int m_delay = 0;
int unseen = !canseemon(mon);
char nambuf[BUFSZ];
if (mon->mfrozen) return; /* probably putting previous item on */
/* Get a copy of monster's name before altering its visibility */
Strcpy(nambuf, See_invisible ? Monnam(mon) : mon_nam(mon));
old = which_armor(mon, flag);
if (old && old->cursed) return;
if (old && flag == W_AMUL) return; /* no such thing as better amulets */
@@ -495,6 +500,13 @@ outer_break:
mon->misc_worn_check |= flag;
best->owornmask |= flag;
update_mon_intrinsics(mon, best, TRUE, creation);
/* if couldn't see it but now can, or vice versa, */
if (!creation && (unseen ^ !canseemon(mon))) {
if (mon->minvis && !See_invisible) {
pline("Suddenly you cannot see %s.", nambuf);
makeknown(best->otyp);
} /* else if (!mon->minvis) pline("%s suddenly appears!", Amonnam(mon)); */
}
}
#undef RACE_EXCEPTION