Hallucinatory rays

When hallucinating, use nonsensical names for the rays
(wands, spells, and breath weapons), and random ray glyphs.

Original code from xNetHack by copperwater <aosdict@gmail.com>,
inspired by a YANI by Kahran042.
This commit is contained in:
Pasi Kallinen
2022-02-16 21:09:20 +02:00
parent f588a707bb
commit 122634ec9e
6 changed files with 94 additions and 26 deletions

View File

@@ -45,8 +45,6 @@ static boolean is_undirected_spell(unsigned int, int);
static boolean
spell_would_be_useless(struct monst *, unsigned int, int);
extern const char *const flash_types[]; /* from zap.c */
/* feedback when frustrated monster couldn't cast a spell */
static void
cursetxt(struct monst *mtmp, boolean undirected)
@@ -873,7 +871,7 @@ buzzmu(register struct monst *mtmp, register struct attack *mattk)
if (mattk->adtyp && (mattk->adtyp < 11)) { /* no cf unsigned >0 */
if (canseemon(mtmp))
pline("%s zaps you with a %s!", Monnam(mtmp),
flash_types[ad_to_typ(mattk->adtyp)]);
flash_str(ad_to_typ(mattk->adtyp), FALSE));
buzz(-ad_to_typ(mattk->adtyp), (int) mattk->damn, mtmp->mx,
mtmp->my, sgn(g.tbx), sgn(g.tby));
} else