fix #H4219 - renegade Angel banter
Lawful angels deliver taunt messages from a pool of messages which might mention the lawful god; demons and non-lawful angels draw from another pool which doesn't mention any gods. Since it is odd for a 'renegade' angel to claim to be operating for its god, choose taunts from the other pool of messages for renegade lawful angels. Not related: some formatting fixups in include/mextra.h.
This commit is contained in:
@@ -170,6 +170,8 @@ if a long worm inherited inventory from a previous shape, and if an egg or
|
|||||||
given when hero could see any tail segment even if head was unseen,
|
given when hero could see any tail segment even if head was unseen,
|
||||||
making it seem as if worm's inventory was kept in the visible segment
|
making it seem as if worm's inventory was kept in the visible segment
|
||||||
Wizard will now steal any quest artifact from hero, not just own role's
|
Wizard will now steal any quest artifact from hero, not just own role's
|
||||||
|
prevent a hostile renegade Angel of <lawful god> from delivering taunt
|
||||||
|
messages which mention threats of retribution from that god
|
||||||
|
|
||||||
|
|
||||||
Platform- and/or Interface-Specific Fixes
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
+13
-15
@@ -12,17 +12,15 @@
|
|||||||
/*
|
/*
|
||||||
* Adding new mextra structures:
|
* Adding new mextra structures:
|
||||||
*
|
*
|
||||||
* 1. Add the structure definition and any required macros in this file
|
* 1. Add the structure definition and any required macros in this
|
||||||
* above the mextra struct.
|
* file above the mextra struct.
|
||||||
* 2. Add a pointer to your new struct to the mextra struct in this
|
* 2. Add a pointer to your new struct to the mextra struct in this
|
||||||
*file.
|
* file.
|
||||||
* 3. Add a referencing macro at the bottom of this file after the
|
* 3. Add a referencing macro at bottom of this file after the mextra
|
||||||
*mextra
|
|
||||||
* struct (see MNAME, EGD, EPRI, ESHK, EMIN, or EDOG for examples).
|
* struct (see MNAME, EGD, EPRI, ESHK, EMIN, or EDOG for examples).
|
||||||
* 4. Create a newXX(mtmp) function and possibly a free_XX(mtmp)
|
* 4. Create a newXX(mtmp) function and possibly a free_XX(mtmp)
|
||||||
*function
|
* function in an appropriate new or existing source file and add
|
||||||
* in an appropriate new or existing source file and add a prototype
|
* a prototype for it to include/extern.h.
|
||||||
* for it to include/extern.h.
|
|
||||||
*
|
*
|
||||||
* void FDECL(newXX, (struct monst *));
|
* void FDECL(newXX, (struct monst *));
|
||||||
* void FDECL(free_XX, (struct monst *));
|
* void FDECL(free_XX, (struct monst *));
|
||||||
@@ -31,19 +29,19 @@
|
|||||||
* newXX(mtmp)
|
* newXX(mtmp)
|
||||||
* struct monst *mtmp;
|
* struct monst *mtmp;
|
||||||
* {
|
* {
|
||||||
* if (!mtmp->mextra) mtmp->mextra = newmextra();
|
* if (!mtmp->mextra)
|
||||||
|
* mtmp->mextra = newmextra();
|
||||||
* if (!XX(mtmp)) {
|
* if (!XX(mtmp)) {
|
||||||
* XX(mtmp) = (struct XX *)alloc(sizeof(struct XX));
|
* XX(mtmp) = (struct XX *) alloc(sizeof (struct XX));
|
||||||
* (void) memset((genericptr_t) XX(mtmp),
|
* (void) memset((genericptr_t) XX(mtmp),
|
||||||
* 0, sizeof(struct XX));
|
* 0, sizeof (struct XX));
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* 5. Consider adding a new makemon flag MM_XX flag to include/hack.h
|
* 5. Consider adding a new makemon flag MM_XX flag to include/hack.h
|
||||||
*and
|
* and a corresponding change to makemon() if you require your
|
||||||
* a corresponding change to makemon() if you require your structure
|
* structure to be added at monster creation time. Initialize your
|
||||||
* to be added at monster creation time. Initialize your struct
|
* struct after a successful return from makemon().
|
||||||
* after a successful return from makemon().
|
|
||||||
*
|
*
|
||||||
* src/makemon.c: if (mmflags & MM_XX) newXX(mtmp);
|
* src/makemon.c: if (mmflags & MM_XX) newXX(mtmp);
|
||||||
* your new code: mon = makemon(&mons[mnum], x, y, MM_XX);
|
* your new code: mon = makemon(&mons[mnum], x, y, MM_XX);
|
||||||
|
|||||||
+3
-2
@@ -751,11 +751,12 @@ register struct monst *mtmp;
|
|||||||
verbalize("%s %s!",
|
verbalize("%s %s!",
|
||||||
random_malediction[rn2(SIZE(random_malediction))],
|
random_malediction[rn2(SIZE(random_malediction))],
|
||||||
random_insult[rn2(SIZE(random_insult))]);
|
random_insult[rn2(SIZE(random_insult))]);
|
||||||
} else if (is_lminion(mtmp)) {
|
} else if (is_lminion(mtmp)
|
||||||
|
&& !(mtmp->isminion && EMIN(mtmp)->renegade)) {
|
||||||
com_pager(rn2(QTN_ANGELIC - 1 + (Hallucination ? 1 : 0))
|
com_pager(rn2(QTN_ANGELIC - 1 + (Hallucination ? 1 : 0))
|
||||||
+ QT_ANGELIC);
|
+ QT_ANGELIC);
|
||||||
} else {
|
} else {
|
||||||
if (!rn2(5))
|
if (!rn2(is_minion(mtmp->data) ? 100 : 5))
|
||||||
pline("%s casts aspersions on your ancestry.", Monnam(mtmp));
|
pline("%s casts aspersions on your ancestry.", Monnam(mtmp));
|
||||||
else
|
else
|
||||||
com_pager(rn2(QTN_DEMONIC) + QT_DEMONIC);
|
com_pager(rn2(QTN_DEMONIC) + QT_DEMONIC);
|
||||||
|
|||||||
Reference in New Issue
Block a user