github issue #1180 - humans and murder

Issue reported by Umbire:  reviving a human corpse into a human
monster and then killing it entails murder penalty even when it is
hostile.

This is probably a non-issue.  Human monsters tend to not leave
human corpses, they leave shopkeeper corpses or sergeant corpses
and so forth.  Most human corpses created in normal play have
montraits attached and revive as a zombie, mummy, or vampire rather
than as a human.

This doesn't attempt to be clever, it just treats PM_HUMAN like
role monsters, not subject to 'murder'.

Closes #1180
This commit is contained in:
PatR
2023-12-30 17:10:39 -08:00
parent b35d8d77a0
commit cd91d0630b

View File

@@ -3339,10 +3339,18 @@ xkilled(
newsym(x, y);
cleanup:
/* punish bad behavior */
/*
* Punish bad behavior.
*/
if (is_human(mdat)
&& (!always_hostile(mdat) && mtmp->malign <= 0)
/* exclude role monsters */
&& (mndx < PM_ARCHEOLOGIST || mndx > PM_WIZARD)
/* exclude plain "human", which isn't flagged as always hostile;
it is rare and most likely to occur as the result of resurrecting
a corpse or animating a statue and usually will be hostile */
&& mndx != PM_HUMAN
/* only applicable if hero is lawful or neutral */
&& u.ualign.type != A_CHAOTIC) {
HTelepat &= ~INTRINSIC;
change_luck(-2);