diff options
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r-- | crawl-ref/source/fight.cc | 20 |
1 files changed, 16 insertions, 4 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(), |