summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monster.cc
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2013-10-28 13:01:03 +0100
committerAdam Borowski <kilobyte@angband.pl>2013-10-28 13:01:03 +0100
commit9232e2cf62fe475bdf3a9ab10fb0aeacf6a82102 (patch)
treeaf1f5cdbfae7f7c16690c7b497d62769ddcfc653 /crawl-ref/source/monster.cc
parent3e1346358229822a8d68b1ead015e7b4ed50e6e8 (diff)
downloadcrawl-ref-9232e2cf62fe475bdf3a9ab10fb0aeacf6a82102.tar.gz
crawl-ref-9232e2cf62fe475bdf3a9ab10fb0aeacf6a82102.zip
Don't impose TSO penance for reflecting poison/draining (you still get xp).
This introduces a new pseudo-agent, akin to ANON_FRIENDLY_MONSTER.
Diffstat (limited to 'crawl-ref/source/monster.cc')
-rw-r--r--crawl-ref/source/monster.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/crawl-ref/source/monster.cc b/crawl-ref/source/monster.cc
index bc19d1e12a..22edb2d776 100644
--- a/crawl-ref/source/monster.cc
+++ b/crawl-ref/source/monster.cc
@@ -4196,7 +4196,7 @@ int monster::hurt(const actor *agent, int amount, beam_type flavour,
bool cleanup_dead, bool attacker_effects)
{
if (mons_is_projectile(type) || mindex() == ANON_FRIENDLY_MONSTER
- || type == MONS_DIAMOND_OBELISK)
+ || mindex() == YOU_FAULTLESS || type == MONS_DIAMOND_OBELISK)
{
return 0;
}
@@ -4668,7 +4668,9 @@ void monster::scale_hp(int num, int den)
kill_category monster::kill_alignment() const
{
- return (friendly() ? KC_FRIENDLY : KC_OTHER);
+ if (mid == MID_YOU_FAULTLESS)
+ return KC_YOU;
+ return friendly() ? KC_FRIENDLY : KC_OTHER;
}
bool monster::sicken(int amount, bool unused, bool quiet)