From 04d3f6151ecd235a6f1b91bc96010923b4c9f426 Mon Sep 17 00:00:00 2001 From: Adam Borowski Date: Tue, 24 Nov 2009 13:46:43 +0100 Subject: Killing freed slaves and other friendles may give no xp, but Makhleb likes it nevertheless. --- crawl-ref/source/mon-stuff.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'crawl-ref/source/mon-stuff.cc') diff --git a/crawl-ref/source/mon-stuff.cc b/crawl-ref/source/mon-stuff.cc index b42209b4e3..af891dc167 100644 --- a/crawl-ref/source/mon-stuff.cc +++ b/crawl-ref/source/mon-stuff.cc @@ -1602,6 +1602,11 @@ int monster_die(monsters *monster, killer_type killer, { const bool bad_kill = god_hates_killing(you.religion, monster); const bool was_neutral = testbits(monster->flags, MF_WAS_NEUTRAL); + // killing friendlies is good, more bloodshed! + // Undead feel no pain though, tormenting them is not as satisfying. + const bool good_kill = !created_friendly && gives_xp + || (is_evil_god(you.religion) && !monster->is_summoned() + && (targ_holy == MH_NATURAL || targ_holy == MH_HOLY)); if (death_message) { @@ -1632,7 +1637,7 @@ int monster_die(monsters *monster, killer_type killer, _tutorial_inspect_kill(); // Prevent summoned creatures from being good kills. - if (bad_kill || !created_friendly && gives_xp) + if (bad_kill || good_kill) { if (targ_holy == MH_NATURAL) { @@ -1720,7 +1725,7 @@ int monster_die(monsters *monster, killer_type killer, // killing born-friendly monsters. The mutation still // applies, however. if (player_mutation_level(MUT_DEATH_STRENGTH) - || (!created_friendly && gives_xp + || (good_kill && (you.religion == GOD_MAKHLEB || you.religion == GOD_SHINING_ONE && monster->is_evil()) @@ -1735,7 +1740,7 @@ int monster_die(monsters *monster, killer_type killer, } } - if (!created_friendly && gives_xp + if (good_kill && (you.religion == GOD_MAKHLEB || you.religion == GOD_VEHUMET || you.religion == GOD_SHINING_ONE -- cgit v1.2.3-54-g00ecf