summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/food.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/food.cc')
-rw-r--r--crawl-ref/source/food.cc28
1 files changed, 10 insertions, 18 deletions
diff --git a/crawl-ref/source/food.cc b/crawl-ref/source/food.cc
index 0bd634dc44..f72ef2cf80 100644
--- a/crawl-ref/source/food.cc
+++ b/crawl-ref/source/food.cc
@@ -195,31 +195,23 @@ bool butchery(void)
bool wpn_switch = false;
bool new_cursed = false;
int old_weapon = you.equip[EQ_WEAPON];
+ int old_gloves = you.equip[EQ_GLOVES];
const transformation_type transform =
static_cast<transformation_type>(you.attribute[ATTR_TRANSFORMATION]);
// Xom probably likes this, occasionally
bool teeth_butcher = (you.mutation[MUT_FANGS] == 3);
-
- bool barehand_butcher =
- (you.equip[ EQ_GLOVES ] == -1
- && (transform_can_butcher_barehanded(transform)
- || (transform == TRAN_NONE
- && (you.species == SP_TROLL
- || you.species == SP_GHOUL
- || you.mutation[MUT_CLAWS]))));
-
- bool gloved_butcher = (you.species == SP_TROLL ||
- you.species == SP_GHOUL ||
- you.mutation[MUT_CLAWS]) &&
- (you.equip[EQ_GLOVES] != -1 &&
- !item_cursed(you.inv[you.equip[EQ_GLOVES]]));
- int old_gloves = you.equip[EQ_GLOVES];
- bool can_butcher = teeth_butcher || barehand_butcher ||
- (you.equip[EQ_WEAPON] != -1 &&
- can_cut_meat(you.inv[you.equip[EQ_WEAPON]]));
+ bool barehand_butcher = (transform_can_butcher_barehanded(transform)
+ || you.has_claws()) && you.equip[EQ_GLOVES] == -1;
+
+ bool gloved_butcher = you.has_claws() && (you.equip[EQ_GLOVES] != -1
+ && !item_cursed(you.inv[you.equip[EQ_GLOVES]]));
+
+ bool can_butcher = teeth_butcher || barehand_butcher
+ || you.equip[EQ_WEAPON] != -1
+ && can_cut_meat(you.inv[you.equip[EQ_WEAPON]]);
if (igrd[you.x_pos][you.y_pos] == NON_ITEM)
{