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"
|
allow "grey spellbook" as alternative spelling of "gray spellbook"
|
||||||
handle attacks by cancelled monsters more consistently
|
handle attacks by cancelled monsters more consistently
|
||||||
armor worn by monsters might negate some magic attacks like it does for hero
|
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
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
+12
@@ -404,9 +404,14 @@ boolean racialexception;
|
|||||||
{
|
{
|
||||||
struct obj *old, *best, *obj;
|
struct obj *old, *best, *obj;
|
||||||
int m_delay = 0;
|
int m_delay = 0;
|
||||||
|
int unseen = !canseemon(mon);
|
||||||
|
char nambuf[BUFSZ];
|
||||||
|
|
||||||
if (mon->mfrozen) return; /* probably putting previous item on */
|
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);
|
old = which_armor(mon, flag);
|
||||||
if (old && old->cursed) return;
|
if (old && old->cursed) return;
|
||||||
if (old && flag == W_AMUL) return; /* no such thing as better amulets */
|
if (old && flag == W_AMUL) return; /* no such thing as better amulets */
|
||||||
@@ -495,6 +500,13 @@ outer_break:
|
|||||||
mon->misc_worn_check |= flag;
|
mon->misc_worn_check |= flag;
|
||||||
best->owornmask |= flag;
|
best->owornmask |= flag;
|
||||||
update_mon_intrinsics(mon, best, TRUE, creation);
|
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
|
#undef RACE_EXCEPTION
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user