diff options
-rw-r--r-- | crawl-ref/source/directn.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/fight.cc | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc index cd5901145f..0437b72ca0 100644 --- a/crawl-ref/source/directn.cc +++ b/crawl-ref/source/directn.cc @@ -2062,7 +2062,7 @@ static std::string _describe_monster_weapon(const monsters *mons) name1 = weap->name(DESC_NOCAP_A, false, false, true, false, ISFLAG_KNOW_CURSE); } - if (alt && (!weap || mons_wields_two_weapons(mons))) + if (alt && mons_wields_two_weapons(mons)) { name2 = alt->name(DESC_NOCAP_A, false, false, true, false, ISFLAG_KNOW_CURSE); diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index be37c09cfb..d26d1ee36b 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -3911,6 +3911,13 @@ void melee_attack::mons_perform_attack_rounds() if (special_damage > 0) defender->hurt(attacker, special_damage); } + + item_def *weap = atk->mslot_item(MSLOT_WEAPON); + if (weap && weap->cursed() && is_range_weapon(*weap) + && !(weap->flags & ISFLAG_KNOW_CURSE)) + { + set_ident_flags( *weap, ISFLAG_KNOW_CURSE ); + } } } |