diff options
author | Bardur Arantsson <bardur@scientician.net> | 2012-03-04 14:48:15 +0100 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2012-03-29 20:41:39 +0200 |
commit | 120fed37d8974553e25e5c83ba74c1bb08d71404 (patch) | |
tree | 3153c48c7a0e8283ce108577bd6160add7b437e6 /src/cmd3.c | |
parent | a27236516b0aa8761f70f009c78f4272dc0b735d (diff) |
Refactor: Remove duplicate code for reducing item stacks
Diffstat (limited to 'src/cmd3.c')
-rw-r--r-- | src/cmd3.c | 66 |
1 files changed, 8 insertions, 58 deletions
@@ -345,19 +345,8 @@ void do_cmd_wield(void) /* Modify quantity */ q_ptr->number = num; - /* Decrease the item (from the pack) */ - if (item >= 0) - { - inven_item_increase(item, -num); - inven_item_optimize(item); - } - - /* Decrease the item (from the floor) */ - else - { - floor_item_increase(0 - item, -num); - floor_item_optimize(0 - item); - } + /* Decrease the item */ + inc_stack_size_ex(item, -num, OPTIMIZE, NO_DESCRIBE); /* Access the wield slot */ o_ptr = &p_ptr->inventory[slot]; @@ -742,21 +731,8 @@ void do_cmd_destroy(void) if (f3 & TR3_BLESSED) inc_piety(GOD_ERU, -10 * k_info[o_ptr->k_idx].level); - /* Eliminate the item (from the pack) */ - if (item >= 0) - { - inven_item_increase(item, -amt); - inven_item_describe(item); - inven_item_optimize(item); - } - - /* Eliminate the item (from the floor) */ - else - { - floor_item_increase(0 - item, -amt); - floor_item_describe(0 - item); - floor_item_optimize(0 - item); - } + /* Eliminate the item */ + inc_stack_size(item, -amt); } @@ -993,21 +969,8 @@ static void do_cmd_refill_lamp(void) msg_print("Your lamp is full."); } - /* Decrease the item (from the pack) */ - if (item >= 0) - { - inven_item_increase(item, -1); - inven_item_describe(item); - inven_item_optimize(item); - } - - /* Decrease the item (from the floor) */ - else - { - floor_item_increase(0 - item, -1); - floor_item_describe(0 - item); - floor_item_optimize(0 - item); - } + /* Decrease the item stack */ + inc_stack_size(item, -1); /* Recalculate torch */ p_ptr->update |= (PU_TORCH); @@ -1088,21 +1051,8 @@ static void do_cmd_refill_torch(void) msg_print("Your torch glows more brightly."); } - /* Decrease the item (from the pack) */ - if (item >= 0) - { - inven_item_increase(item, -1); - inven_item_describe(item); - inven_item_optimize(item); - } - - /* Decrease the item (from the floor) */ - else - { - floor_item_increase(0 - item, -1); - floor_item_describe(0 - item); - floor_item_optimize(0 - item); - } + /* Decrease the item stack */ + inc_stack_size(item, -1); /* Recalculate torch */ p_ptr->update |= (PU_TORCH); |