summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-19 17:04:09 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-19 17:04:09 +0000
commitaa42374509f32e965252b5e73b2618a8efc1e327 (patch)
tree1f89aa404204102345dd4f46ef7c85301660b94c /crawl-ref/source
parent38a9a32f1df38db4bcd717d004a95f99692766b7 (diff)
downloadcrawl-ref-aa42374509f32e965252b5e73b2618a8efc1e327.tar.gz
crawl-ref-aa42374509f32e965252b5e73b2618a8efc1e327.zip
Add more Jiyva-related fixes.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10326 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/monstuff.cc14
-rw-r--r--crawl-ref/source/religion.cc11
-rw-r--r--crawl-ref/source/religion.h1
3 files changed, 23 insertions, 3 deletions
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);