more angry god vs pacifist conduct

Do it properly, using the arguments to xkilled() instead of reversing
the conduct counter after the fact.

The xkilled() flag value of '1' has been reversed.  It used to mean
'display message' but now means 'suppress message' since both of the
other flag bits are for suppression.  All callers have been updated
to specify either XKILL_GIVEMSG or XKILL_NOMSG so the underlying
number remains transparent.
This commit is contained in:
PatR
2016-05-10 15:59:22 -07:00
parent 2f7a67483f
commit 74ee31e504
13 changed files with 83 additions and 66 deletions

View File

@@ -242,7 +242,7 @@ struct obj *otmp;
}
/* context.bypasses = TRUE; ## for make_corpse() */
/* no corpse after system shock */
xkilled(mtmp, 3);
xkilled(mtmp, XKILL_GIVEMSG | XKILL_NOCORPSE);
} else if (newcham(mtmp, (struct permonst *) 0,
polyspot, give_msg) != 0
/* if shapechange failed because there aren't
@@ -401,14 +401,15 @@ struct obj *otmp;
dmg *= 2;
if (otyp == SPE_DRAIN_LIFE)
dmg = spell_damage_bonus(dmg);
if (resists_drli(mtmp))
if (resists_drli(mtmp)) {
shieldeff(mtmp->mx, mtmp->my);
else if (!resist(mtmp, otmp->oclass, dmg, NOTELL) && mtmp->mhp > 0) {
} else if (!resist(mtmp, otmp->oclass, dmg, NOTELL) && mtmp->mhp > 0) {
mtmp->mhp -= dmg;
mtmp->mhpmax -= dmg;
if (mtmp->mhp <= 0 || mtmp->mhpmax <= 0 || mtmp->m_lev < 1)
xkilled(mtmp, 1);
else {
/* die if already level 0, regardless of hit points */
if (mtmp->mhp <= 0 || mtmp->mhpmax <= 0 || mtmp->m_lev < 1) {
killed(mtmp);
} else {
mtmp->m_lev--;
if (canseemon(mtmp))
pline("%s suddenly seems weaker!", Monnam(mtmp));
@@ -3843,7 +3844,7 @@ const char *fltxt;
if (type < 0)
monkilled(mon, (char *) 0, -AD_RBRE);
else
xkilled(mon, 2);
xkilled(mon, XKILL_NOMSG | XKILL_NOCORPSE);
}
/*