summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monstuff.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-03-24 13:41:56 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-03-24 13:41:56 +0000
commit9bec932ccdd73db4bab274c36acf0cb9de818b88 (patch)
tree0e112fbec6a1e894f63828ead92d90aadfd8a246 /crawl-ref/source/monstuff.cc
parent80c2e92a48255ff21bb397442fd75f03f47ac1f1 (diff)
downloadcrawl-ref-9bec932ccdd73db4bab274c36acf0cb9de818b88.tar.gz
crawl-ref-9bec932ccdd73db4bab274c36acf0cb9de818b88.zip
Change reciting speech code to use seed_rng(turn counter) instead, to
yield more varied choices. Also add dozens of synonyms to godspeak.txt. Tweak religious favour descriptions for good gods to only say that their "wrath is upon you" if you now worship a god they hate (evil god, or Xom, for Zin). Ely will now also heal/protect holy beings, and only protect allies the player can see. Otherwise they can't do anything to prevent its death anyway. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3857 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/monstuff.cc')
-rw-r--r--crawl-ref/source/monstuff.cc19
1 files changed, 10 insertions, 9 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index e415c688ad..d31395218e 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -487,21 +487,21 @@ static bool _ely_protects_ally(monsters *monster)
ASSERT(you.religion == GOD_ELYVILON);
if (mons_holiness(monster) != MH_NATURAL
+ && mons_holiness(monster) != MH_HOLY
|| !mons_friendly(monster)
+ || !mons_near(monster)
+ || !player_monster_visible(monster) // for simplicity
|| !one_chance_in(20))
{
return (false);
}
- if (player_monster_visible(monster) && mons_near(monster))
- {
- monster->hit_points = 1;
- snprintf(info, INFO_SIZE, " protects %s%s from harm!%s",
- mons_is_unique(monster->type) ? "" : "your ",
- monster->name(DESC_PLAIN).c_str(),
- coinflip() ? "" : " You feel responsible.");
- simple_god_message(info);
- }
+ monster->hit_points = 1;
+ snprintf(info, INFO_SIZE, " protects %s%s from harm!%s",
+ mons_is_unique(monster->type) ? "" : "your ",
+ monster->name(DESC_PLAIN).c_str(),
+ coinflip() ? "" : " You feel responsible.");
+ simple_god_message(info);
lose_piety(1);
return (true);
@@ -520,6 +520,7 @@ static bool _ely_heals_monster(monsters *monster, killer_type killer, int i)
const int ely_penance = you.penance[god];
if (mons_holiness(monster) != MH_NATURAL
+ && mons_holiness(monster) != MH_HOLY
|| mons_friendly(monster)
|| !one_chance_in(10))
{