From e63eb3df328287de6c6562fd60366894097ec17a Mon Sep 17 00:00:00 2001 From: dolorous Date: Sat, 28 Feb 2009 18:12:27 +0000 Subject: Make Beogh accept kills from zombies raised by orc high priests, as he already does with demons summoned by orc high priests. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9286 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/monstuff.cc | 104 ++++++++++++++++++++++--------------------- 1 file changed, 54 insertions(+), 50 deletions(-) (limited to 'crawl-ref/source/monstuff.cc') diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index 4ef11faaf0..f24f852c7b 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -1440,61 +1440,64 @@ int monster_die(monsters *monster, killer_type killer, attacker_holy = anon ? MH_NATURAL : mons_holiness(&menv[killer_index]); - if (targ_holy == MH_NATURAL && attacker_holy == MH_UNDEAD) + if (you.religion == GOD_SHINING_ONE + || you.religion == GOD_YREDELEMNUL + || you.religion == GOD_KIKUBAAQUDGHA + || you.religion == GOD_VEHUMET + || you.religion == GOD_MAKHLEB + || you.religion == GOD_LUGONU + || !anon && mons_is_god_gift(&menv[killer_index])) { - // Yes, this is a hack, but it makes sure that confused - // monsters doing the kill are not referred to as "slaves", - // and I think it's okay that Yredelemnul ignores kills - // done by confused monsters as opposed to enslaved or - // friendly ones. (jpeg) - if (mons_friendly(&menv[killer_index])) - { - notice |= - did_god_conduct(DID_LIVING_KILLED_BY_UNDEAD_SLAVE, - monster->hit_dice); - } - else + if (targ_holy == MH_NATURAL && attacker_holy == MH_UNDEAD) { - notice |= - did_god_conduct(DID_LIVING_KILLED_BY_SERVANT, - monster->hit_dice); + // Yes, this is a hack, but it makes sure that + // confused monsters doing kills are not + // referred to as "slaves", and I think it's + // okay that Yredelemnul ignores kills done by + // confused monsters as opposed to enslaved or + // friendly ones. (jpeg) + if (mons_friendly(&menv[killer_index])) + { + notice |= did_god_conduct( + DID_LIVING_KILLED_BY_UNDEAD_SLAVE, + monster->hit_dice); + } + else + { + notice |= did_god_conduct( + DID_LIVING_KILLED_BY_SERVANT, + monster->hit_dice); + } } - } - else if (you.religion == GOD_SHINING_ONE - || you.religion == GOD_VEHUMET - || you.religion == GOD_MAKHLEB - || you.religion == GOD_LUGONU - || !anon && mons_is_god_gift(&menv[killer_index])) - { // Yes, we are splitting undead pets from the others - // as a way to focus Necromancy vs Summoning (ignoring - // Summon Wraith here)... at least we're being nice and - // putting the natural creature Summons together with - // the Demon ones. Note that Vehumet gets a free - // pass here since those followers are assumed to - // come from Summoning spells... the others are - // from invocations (Zin, TSO, Makh, Kiku). -- bwr - if (targ_holy == MH_NATURAL) + // as a way to focus Necromancy vs. Summoning + // (ignoring Summon Wraith here)... at least we're + // being nice and putting the natural creature + // summons together with the demonic ones. Note + // that Vehumet gets a free pass here since those + // followers are assumed to come from summoning + // spells... the others are from invocations (TSO, + // Makhleb, Kiku). - bwr + else if (targ_holy == MH_NATURAL) { notice |= did_god_conduct(DID_LIVING_KILLED_BY_SERVANT, monster->hit_dice); if (mons_is_evil(monster)) { - notice |= - did_god_conduct( - DID_NATURAL_EVIL_KILLED_BY_SERVANT, - monster->hit_dice); + notice |= did_god_conduct( + DID_NATURAL_EVIL_KILLED_BY_SERVANT, + monster->hit_dice); } } - else if (targ_holy == MH_DEMONIC) + else if (targ_holy == MH_UNDEAD) { - notice |= did_god_conduct(DID_DEMON_KILLED_BY_SERVANT, + notice |= did_god_conduct(DID_UNDEAD_KILLED_BY_SERVANT, monster->hit_dice); } - else if (targ_holy == MH_UNDEAD) + else if (targ_holy == MH_DEMONIC) { - notice |= did_god_conduct(DID_UNDEAD_KILLED_BY_SERVANT, + notice |= did_god_conduct(DID_DEMON_KILLED_BY_SERVANT, monster->hit_dice); } } @@ -1504,22 +1507,23 @@ int monster_die(monsters *monster, killer_type killer, { if (attacker_holy == MH_UNDEAD) { - // Yes, this is a hack, but it makes sure that confused - // monsters doing the kill are not referred to as - // "slave", and I think it's okay that Yredelemnul - // ignores kills done by confused monsters as opposed - // to enslaved or friendly ones. (jpeg) + // Yes, this is a hack, but it makes sure that + // confused monsters doing kills are not + // referred to as "slaves", and I think it's + // okay that Yredelemnul ignores kills done by + // confused monsters as opposed to enslaved or + // friendly ones. (jpeg) if (mons_friendly(&menv[killer_index])) { - notice |= - did_god_conduct(DID_HOLY_KILLED_BY_UNDEAD_SLAVE, - monster->hit_dice); + notice |= did_god_conduct( + DID_HOLY_KILLED_BY_UNDEAD_SLAVE, + monster->hit_dice); } else { - notice |= - did_god_conduct(DID_HOLY_KILLED_BY_SERVANT, - monster->hit_dice); + notice |= did_god_conduct( + DID_HOLY_KILLED_BY_SERVANT, + monster->hit_dice); } } else -- cgit v1.2.3-54-g00ecf