summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/player.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r--crawl-ref/source/player.cc21
1 files changed, 20 insertions, 1 deletions
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index 126a7539b1..a4b7f566b0 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -5977,7 +5977,7 @@ bool player::can_go_berserk() const
return (can_go_berserk(false));
}
-bool player::can_go_berserk(bool verbose) const
+bool player::can_go_berserk(bool verbose, bool no_clarity) const
{
if (berserk())
{
@@ -6013,6 +6013,25 @@ bool player::can_go_berserk(bool verbose) const
return (false);
}
+ if (!no_clarity && player_mental_clarity(true))
+ {
+ if (verbose)
+ {
+ mpr("You're too calm and focused to rage.");
+ item_def *amu;
+ if (!player_mental_clarity(false) && wearing_amulet(AMU_CLARITY)
+ && (amu = &you.inv[you.equip[EQ_AMULET]]) && !item_type_known(*amu))
+ {
+ set_ident_type(amu->base_type, amu->sub_type, ID_KNOWN_TYPE);
+ set_ident_flags(*amu, ISFLAG_KNOW_PROPERTIES);
+ mprf("You are wearing: %s",
+ amu->name(DESC_INVENTORY_EQUIP).c_str());
+ }
+ }
+
+ return (false);
+ }
+
return (true);
}