summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2009-12-11 12:29:50 +0100
committerAdam Borowski <kilobyte@angband.pl>2009-12-11 12:29:50 +0100
commit7bbf91ea2686888dbe0953fbc5d90c6b37626304 (patch)
tree661bed7075de7a088d14ff870ede8cb32994ed48
parenta94ec41b50386833612742f14284ad261e2c39f7 (diff)
downloadcrawl-ref-7bbf91ea2686888dbe0953fbc5d90c6b37626304.tar.gz
crawl-ref-7bbf91ea2686888dbe0953fbc5d90c6b37626304.zip
Generic fallbacks for non-humanoid wizards casting.
Also fixes @objective@ in spell messages.
-rw-r--r--crawl-ref/source/dat/database/monspell.txt20
-rw-r--r--crawl-ref/source/mon-cast.cc3
-rw-r--r--crawl-ref/source/mon-util.cc2
3 files changed, 22 insertions, 3 deletions
diff --git a/crawl-ref/source/dat/database/monspell.txt b/crawl-ref/source/dat/database/monspell.txt
index 740536da72..bc31f9d1ac 100644
--- a/crawl-ref/source/dat/database/monspell.txt
+++ b/crawl-ref/source/dat/database/monspell.txt
@@ -248,13 +248,13 @@ giant eyeball cast
%%%%
guardian serpent cast targeted
-@The monster@ coils and waves @possessive@ upper body at @target@.
+@The_monster@ coils @objective@self and waves @possessive@ upper body at @target@.
@The_monster@ casts a spell at @target@.
%%%%
guardian serpent cast
-@The monster@ coils and performs some mystic snake dance.
+@The_monster@ coils @objective@self and performs some mystic snake dance.
@The_monster@ casts a spell.
###########################################################################
@@ -305,6 +305,22 @@ unseen priest cast
You hear some strange, mumbled prayers to @God@.
%%%%
+non-humanoid wizard cast targeted
+
+@The_monster@ stares at @target@ and mumbles some strange words.
+
+@The_monster@ casts a spell at @target@.
+%%%%
+non-humanoid wizard cast
+
+@The_monster@ mumbles some strange words.
+
+@The_monster@ casts a spell.
+%%%%
+unseen non-humanoid wizard cast
+
+You hear some strange, mumbled words.
+%%%%
wizard cast targeted
@The_monster@ gestures at @target@ while chanting.
diff --git a/crawl-ref/source/mon-cast.cc b/crawl-ref/source/mon-cast.cc
index 13a87415f6..bd12bdb14c 100644
--- a/crawl-ref/source/mon-cast.cc
+++ b/crawl-ref/source/mon-cast.cc
@@ -2308,7 +2308,8 @@ void mons_cast_noise(monsters *monster, bolt &pbolt, spell_type spell_cast,
// Last, generic wizard, priest or demon.
if (wizard)
- key_list.push_back("wizard" + cast_str);
+ key_list.push_back((std::string)((shape <= MON_SHAPE_NAGA) ? "" : "non-humanoid ")
+ + "wizard" + cast_str);
else if (priest)
key_list.push_back("priest" + cast_str);
else if (mons_is_demon(monster->type))
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index 01565d11ef..4dcdd53303 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -3223,6 +3223,8 @@ std::string do_mon_str_replacements(const std::string &in_msg,
monster->pronoun(PRONOUN_CAP_POSSESSIVE));
msg = replace_all(msg, "@possessive@",
monster->pronoun(PRONOUN_NOCAP_POSSESSIVE));
+ msg = replace_all(msg, "@objective@",
+ monster->pronoun(PRONOUN_OBJECTIVE));
// Body parts.
bool can_plural = false;