summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/view.cc
diff options
context:
space:
mode:
authorSteve Melenchuk <smelenchuk@gmail.com>2014-03-02 22:17:50 -0700
committerSteve Melenchuk <smelenchuk@gmail.com>2014-03-03 10:00:33 -0700
commit620cfe93cabe77ec160466b90e62bc1ea4fdcfad (patch)
tree351f94110ab785fb84e66869f122bc2b1dc8ac76 /crawl-ref/source/view.cc
parent18227662ff0e53f2b66bb332b56cff90e91058df (diff)
downloadcrawl-ref-620cfe93cabe77ec160466b90e62bc1ea4fdcfad.tar.gz
crawl-ref-620cfe93cabe77ec160466b90e62bc1ea4fdcfad.zip
Zin warns the player of shapeshifters.
Since you can use Recite to pick them out anyway, we might as well just straight up tell the player.
Diffstat (limited to 'crawl-ref/source/view.cc')
-rw-r--r--crawl-ref/source/view.cc26
1 files changed, 22 insertions, 4 deletions
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index c5c27705c9..1291565f77 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -45,6 +45,7 @@
#include "output.h"
#include "player.h"
#include "random.h"
+#include "religion.h"
#include "showsymb.h"
#include "state.h"
#include "stuff.h"
@@ -305,12 +306,13 @@ void update_monsters_in_view()
}
bool warning = false;
- string warning_msg = "Ashenzari warns you:";
+ string warning_msg = you_worship(GOD_ZIN) ? "Zin warns you:"
+ : "Ashenzari warns you:";
warning_msg += " ";
for (unsigned int i = 0; i < size; ++i)
{
const monster* mon = monsters[i];
- if (!mon->props.exists("ash_id"))
+ if (!mon->props.exists("ash_id") && !mon->props.exists("zin_id"))
continue;
monster_info mi(mon);
@@ -332,12 +334,28 @@ void update_monsters_in_view()
warning_msg += uppercase_first(monname);
warning_msg += " is";
- warning_msg += get_monster_equipment_desc(mi, DESC_IDENTIFIED,
- DESC_NONE);
+ if (you_worship(GOD_ZIN))
+ {
+ warning_msg += " a foul ";
+ if (mon->has_ench(ENCH_GLOWING_SHAPESHIFTER))
+ warning_msg += "glowing ";
+ warning_msg += "shapeshifter";
+ }
+ else
+ {
+ warning_msg += get_monster_equipment_desc(mi, DESC_IDENTIFIED,
+ DESC_NONE);
+ }
warning_msg += ".";
}
if (warning)
+ {
mprf(MSGCH_GOD, "%s", warning_msg.c_str());
+#ifndef USE_TILE_LOCAL
+ if (you_worship(GOD_ZIN))
+ update_monster_pane();
+#endif
+ }
}
// Xom thinks it's hilarious the way the player picks up an ever