diff options
-rw-r--r-- | crawl-ref/source/fight.cc | 20 | ||||
-rw-r--r-- | crawl-ref/source/ouch.cc | 8 |
2 files changed, 20 insertions, 8 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index 9bcc3a5256..1b7e53e9fd 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -5185,17 +5185,29 @@ void melee_attack::mons_apply_attack_flavour(const mon_attack_def &attk) break; case AF_STEAL_FOOD: + { // Monsters don't carry food. if (defender->atype() != ACT_PLAYER) break; - if (expose_player_to_element(BEAM_STEAL_FOOD, 10) && needs_message) + const bool stolen = expose_player_to_element(BEAM_STEAL_FOOD, 10); + const bool ground = expose_items_to_element(BEAM_STEAL_FOOD, you.pos(), + 10); + if (needs_message) { - mprf("%s steals some of your food!", - atk_name(DESC_CAP_THE).c_str()); + if (stolen) + { + mprf("%s steals some of your food!", + atk_name(DESC_CAP_THE).c_str()); + } + else if (ground) + { + mprf("%s steals some of the food from beneath you!", + atk_name(DESC_CAP_THE).c_str()); + } } break; - + } case AF_CRUSH: mprf("%s %s being crushed%s", def_name(DESC_CAP_THE).c_str(), diff --git a/crawl-ref/source/ouch.cc b/crawl-ref/source/ouch.cc index 2813101bbe..fb3d9d181c 100644 --- a/crawl-ref/source/ouch.cc +++ b/crawl-ref/source/ouch.cc @@ -472,15 +472,15 @@ static bool _expose_invent_to_element(beam_type flavour, int strength) // These stack with conservation; they're supposed to be good. if (target_class == OBJ_SCROLLS - && you.mutation[MUT_CONSERVE_SCROLLS] - && !one_chance_in(10)) + && you.mutation[MUT_CONSERVE_SCROLLS] + && !one_chance_in(10)) { continue; } if (target_class == OBJ_POTIONS - && you.mutation[MUT_CONSERVE_POTIONS] - && !one_chance_in(10)) + && you.mutation[MUT_CONSERVE_POTIONS] + && !one_chance_in(10)) { continue; } |