diff options
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r-- | crawl-ref/source/player.cc | 21 |
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); } |