From 5068f6dc94f12b70c47eaeb91f61683f55cc4e73 Mon Sep 17 00:00:00 2001 From: zelgadis Date: Sun, 21 Dec 2008 22:44:54 +0000 Subject: Ignore neutral monsters when computing tension. god_speaks() shouldn't detatch submerged monsters that the player is standing over. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7901 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/religion.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'crawl-ref/source/religion.cc') diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc index e3d854c031..28cf8059e1 100644 --- a/crawl-ref/source/religion.cc +++ b/crawl-ref/source/religion.cc @@ -2286,6 +2286,8 @@ god_type string_to_god(const char *_name, bool exact) void god_speaks(god_type god, const char *mesg) { + int orig_mon = mgrd(you.pos()); + monsters fake_mon; fake_mon.type = MONS_PROGRAM_BUG; fake_mon.hit_points = 1; @@ -2294,6 +2296,9 @@ void god_speaks(god_type god, const char *mesg) fake_mon.mname = "FAKE GOD MONSTER"; mpr(do_mon_str_replacements(mesg, &fake_mon).c_str(), MSGCH_GOD, god); + + fake_mon.reset(); + mgrd(you.pos()) = orig_mon; } static bool _do_god_revenge(conduct_type thing_done) @@ -6736,7 +6741,7 @@ int get_tension(god_type god) } const mon_attitude_type att = mons_attitude(mons); - if (att == ATT_GOOD_NEUTRAL) + if (att == ATT_GOOD_NEUTRAL || att == ATT_NEUTRAL) continue; if (mons_cannot_act(mons) || mons->asleep() || mons_is_fleeing(mons)) @@ -6771,9 +6776,6 @@ int get_tension(god_type god) if (gift) exper *= 2; } - else - // Neutral monsters aren't as much of a threat. - exper /= 2; if (att != ATT_FRIENDLY) { -- cgit v1.2.3-54-g00ecf