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:
@@ -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
|
||||
|
||||
12
src/worn.c
12
src/worn.c
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user