summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/xom.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/xom.cc')
-rw-r--r--crawl-ref/source/xom.cc32
1 files changed, 23 insertions, 9 deletions
diff --git a/crawl-ref/source/xom.cc b/crawl-ref/source/xom.cc
index 8b2ace2adc..cf485d99b9 100644
--- a/crawl-ref/source/xom.cc
+++ b/crawl-ref/source/xom.cc
@@ -104,15 +104,15 @@ const char *describe_xom_favour()
return "A BORING thing.";
else
return (you.piety > 180) ? "A beloved toy of Xom." :
- (you.piety > 160) ? "A favourite toy of Xom." :
- (you.piety > 140) ? "A very special toy of Xom." :
- (you.piety > 120) ? "A special toy of Xom." :
- (you.piety > 100) ? "A toy of Xom." :
- (you.piety > 80) ? "A plaything of Xom." :
- (you.piety > 60) ? "A special plaything of Xom." :
- (you.piety > 40) ? "A very special plaything of Xom." :
- (you.piety > 20) ? "A favourite plaything of Xom."
- : "A beloved plaything of Xom.";
+ (you.piety > 160) ? "A favourite toy of Xom." :
+ (you.piety > 140) ? "A very special toy of Xom." :
+ (you.piety > 120) ? "A special toy of Xom." :
+ (you.piety > 100) ? "A toy of Xom." :
+ (you.piety > 80) ? "A plaything of Xom." :
+ (you.piety > 60) ? "A special plaything of Xom." :
+ (you.piety > 40) ? "A very special plaything of Xom." :
+ (you.piety > 20) ? "A favourite plaything of Xom."
+ : "A beloved plaything of Xom.";
}
static std::string _get_xom_speech(const std::string key)
@@ -169,6 +169,7 @@ static void _xom_is_stimulated(int maxinterestingness,
}
if (was_stimulated || force_message)
+ {
god_speaks(GOD_XOM,
((interestingness > 200) ? message_array[5] :
(interestingness > 100) ? message_array[4] :
@@ -176,6 +177,7 @@ static void _xom_is_stimulated(int maxinterestingness,
(interestingness > 50) ? message_array[2] :
(interestingness > 25) ? message_array[1]
: message_array[0]));
+ }
}
void xom_is_stimulated(int maxinterestingness, xom_message_type message_type,
@@ -223,6 +225,9 @@ void xom_tick()
void xom_is_stimulated(int maxinterestingness, const std::string& message,
bool force_message)
{
+ if (you.religion != GOD_XOM)
+ return;
+
const char *message_array[6];
for (int i = 0; i < 6; ++i)
@@ -1995,11 +2000,15 @@ void xom_acts(bool niceness, int sever)
// mode to escape death from deep water or lava.
ASSERT(you.wizard && !you.did_escape_death());
if (_feat_is_deadly(grd(you.pos())))
+ {
mpr("Player is standing in deadly terrain, skipping Xom act.",
MSGCH_DIAGNOSTICS);
+ }
else
+ {
mpr("Player is already dead, skipping Xom act.",
MSGCH_DIAGNOSTICS);
+ }
return;
}
#else
@@ -2171,3 +2180,8 @@ void xom_check_destroyed_item(const item_def& item, int cause)
: "Xom snickers softly.",
true);
}
+
+void xom_death_message()
+{
+ god_speaks(GOD_XOM, _get_xom_speech("laughter").c_str());
+}