mon name of monster appearing as another monster
When a monster mimicks another monster (traditionally Double Trouble Wizard, since 3.6.x also pet that eats a mimic corpse), using farlook or getpos+autodescribe revealed the monster's real identity. Hard to believe that nobody ever noticed, but it was obvious when a pet dog quick-mimicked a cat or vice versa. Add an extra x_monnam() flag to ignore monst->m_ap_type==M_AP_MONSTER plus monst->mappearance. Only the m_monnam() variation of x_monnam() includes it (via EXACT_NAME); monnam() and the rest will now describe an M_AP_MONSTER by its appearance rather than as its true self.
This commit is contained in:
@@ -942,13 +942,14 @@ typedef struct {
|
||||
#define ARTICLE_YOUR 3
|
||||
|
||||
/* x_monnam() monster name suppress masks */
|
||||
#define SUPPRESS_IT 0x01
|
||||
#define SUPPRESS_INVISIBLE 0x02
|
||||
#define SUPPRESS_IT 0x01
|
||||
#define SUPPRESS_INVISIBLE 0x02
|
||||
#define SUPPRESS_HALLUCINATION 0x04
|
||||
#define SUPPRESS_SADDLE 0x08
|
||||
#define EXACT_NAME 0x0F
|
||||
#define SUPPRESS_NAME 0x10
|
||||
#define AUGMENT_IT 0x20 /* use "someone" or "something" instead of "it" */
|
||||
#define SUPPRESS_SADDLE 0x08
|
||||
#define SUPPRESS_MAPPEARANCE 0x10
|
||||
#define EXACT_NAME 0x1F
|
||||
#define SUPPRESS_NAME 0x20
|
||||
#define AUGMENT_IT 0x40 /* use "someone" or "something" instead of "it" */
|
||||
|
||||
/* pline (et al) for a single string argument (suppress compiler warning) */
|
||||
#define pline1(cstr) pline("%s", cstr)
|
||||
|
||||
Reference in New Issue
Block a user