From aa42374509f32e965252b5e73b2618a8efc1e327 Mon Sep 17 00:00:00 2001 From: dolorous Date: Sun, 19 Jul 2009 17:04:09 +0000 Subject: Add more Jiyva-related fixes. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10326 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/monstuff.cc | 14 ++++++++++++-- crawl-ref/source/religion.cc | 11 ++++++++++- crawl-ref/source/religion.h | 1 + 3 files changed, 23 insertions(+), 3 deletions(-) (limited to 'crawl-ref') diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index 547e985358..adeaeeddf2 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -810,8 +810,18 @@ static bool _slime_pit_unlock(bool silent) } } - apply_to_all_dungeons(_remove_jiyva_altars); - mpr("With infernal noise, the power ruling this place vanishes!"); + apply_to_all_dungeons(_remove_jiyva_altars); + + if (!silenced(you.pos())) + { + mpr("With infernal noise, the power ruling this place vanishes!", + MSGCH_MONSTER_ENCHANT); + } + else + { + mpr("With an infernal shudder, the power ruling this place vanishes!", + MSGCH_MONSTER_ENCHANT); + } return (true); } diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc index 35aac2c788..be9834122e 100644 --- a/crawl-ref/source/religion.cc +++ b/crawl-ref/source/religion.cc @@ -1358,6 +1358,13 @@ bool is_orcish_follower(const monsters* mon) && mons_is_god_gift(mon, GOD_BEOGH)); } +bool is_fellow_slime(const monsters* mon) +{ + return (mon->alive() && mons_is_slime(mon) + && mon->attitude == ATT_STRICT_NEUTRAL + && mons_is_god_gift(mon, GOD_JIYVA)); +} + bool _has_jelly() { ASSERT(you.religion == GOD_JIYVA); @@ -1391,6 +1398,8 @@ bool is_follower(const monsters* mon) return is_undead_slave(mon); else if (you.religion == GOD_BEOGH) return is_orcish_follower(mon); + else if (you.religion == GOD_JIYVA) + return is_fellow_slime(mon); else if (you.religion == GOD_ZIN) return is_good_lawful_follower(mon); else if (is_good_god(you.religion)) @@ -6342,8 +6351,8 @@ void excommunication(god_type new_god) for (int i = 0; i < 3; ++i) mutate(RANDOM_BAD_MUTATION, true, false, true); - _make_god_gifts_hostile(false); _inc_penance(old_god, 30); + _make_god_gifts_hostile(false); break; default: diff --git a/crawl-ref/source/religion.h b/crawl-ref/source/religion.h index 950ea5fd0a..9ba3379a5f 100644 --- a/crawl-ref/source/religion.h +++ b/crawl-ref/source/religion.h @@ -154,6 +154,7 @@ bool mons_is_god_gift(const monsters *mon, god_type god = you.religion); bool is_undead_slave(const monsters* mon); bool is_yred_undead_slave(const monsters* mon); bool is_orcish_follower(const monsters* mon); +bool is_fellow_slime(const monsters* mon); bool is_good_lawful_follower(const monsters* mon); bool is_good_follower(const monsters* mon); bool is_follower(const monsters* mon); -- cgit v1.2.3-54-g00ecf