if (item >= 0)
{
inven_item_increase(player_ptr, item, -(o_ptr->number));
- inven_item_optimize(item);
+ inven_item_optimize(player_ptr, item);
}
/* Eliminate the item (from the floor) */
if (item >= 0)
{
inven_item_increase(creature_ptr, item, -1);
- inven_item_optimize(item);
+ inven_item_optimize(creature_ptr, item);
}
/* Decrease the item (from the floor) */
/* Decrease material object */
inven_item_increase(player_ptr, mater, -1);
- inven_item_optimize(mater);
+ inven_item_optimize(player_ptr, mater);
/* Copyback */
p_ptr->update |= PU_BONUS;
inven_item_increase(creature_ptr, item, -1);
if (!return_when_thrown)
inven_item_describe(creature_ptr, item);
- inven_item_optimize(item);
+ inven_item_optimize(creature_ptr, item);
}
else
{
if (item >= 0)
{
inven_item_increase(creature_ptr, item, -1);
- inven_item_optimize(item);
+ inven_item_optimize(creature_ptr, item);
}
/* Decrease the item (from the floor) */
else
object_copy(new_o_ptr, o_ptr);
owner_ptr->total_weight += o_ptr->weight;
inven_item_increase(owner_ptr, INVEN_LARM, -((int)o_ptr->number));
- inven_item_optimize(INVEN_LARM);
+ inven_item_optimize(owner_ptr, INVEN_LARM);
if (object_allow_two_hands_wielding(o_ptr) && CAN_TWO_HANDS_WIELDING())
msg_format(_("%sを両手で構えた。", "You are wielding %s with both hands."), o_name);
else
object_copy(new_o_ptr, o_ptr);
owner_ptr->total_weight += o_ptr->weight;
inven_item_increase(owner_ptr, INVEN_RARM, -((int)o_ptr->number));
- inven_item_optimize(INVEN_RARM);
+ inven_item_optimize(owner_ptr, INVEN_RARM);
msg_format(_("%sを持ち替えた。", "You switched hand of %s."), o_name);
}
/* Steal the items */
inven_item_increase(target_ptr, i, -1);
- inven_item_optimize(i);
+ inven_item_optimize(target_ptr, i);
obvious = TRUE;
/* Steal the items */
inven_item_increase(target_ptr, i, -1);
- inven_item_optimize(i);
+ inven_item_optimize(target_ptr, i);
obvious = TRUE;
extern void inven_item_charges(player_type *owner_ptr, INVENTORY_IDX item);
extern void inven_item_describe(player_type *owner_ptr, INVENTORY_IDX item);
extern void inven_item_increase(player_type *owner_ptr, INVENTORY_IDX item, ITEM_NUMBER num);
-extern void inven_item_optimize(INVENTORY_IDX item);
+extern void inven_item_optimize(player_type *owner_ptr, INVENTORY_IDX item);
extern void floor_item_charges(INVENTORY_IDX item);
extern void floor_item_describe(INVENTORY_IDX item);
extern void floor_item_increase(INVENTORY_IDX item, ITEM_NUMBER num);
{
inven_item_increase(owner_ptr, item, num);
inven_item_describe(owner_ptr, item);
- inven_item_optimize(item);
+ inven_item_optimize(owner_ptr, item);
}
else
{
* @param item 消去したいプレイヤーのアイテム所持スロット
* @return なし
*/
-void inven_item_optimize(INVENTORY_IDX item)
+void inven_item_optimize(player_type *owner_ptr, INVENTORY_IDX item)
{
- object_type *o_ptr = &p_ptr->inventory_list[item];
+ object_type *o_ptr = &owner_ptr->inventory_list[item];
/* Only optimize real items */
if (!o_ptr->k_idx) return;
int i;
/* One less item */
- p_ptr->inven_cnt--;
+ owner_ptr->inven_cnt--;
/* Slide everything down */
for (i = item; i < INVEN_PACK; i++)
{
/* Structure copy */
- p_ptr->inventory_list[i] = p_ptr->inventory_list[i + 1];
+ owner_ptr->inventory_list[i] = owner_ptr->inventory_list[i + 1];
}
/* Erase the "final" slot */
- object_wipe(&p_ptr->inventory_list[i]);
+ object_wipe(&owner_ptr->inventory_list[i]);
- p_ptr->window |= (PW_INVEN);
+ owner_ptr->window |= (PW_INVEN);
}
/* The item is being wielded */
else
{
/* One less item */
- p_ptr->equip_cnt--;
+ owner_ptr->equip_cnt--;
/* Erase the empty slot */
- object_wipe(&p_ptr->inventory_list[item]);
- p_ptr->update |= (PU_BONUS);
- p_ptr->update |= (PU_TORCH);
- p_ptr->update |= (PU_MANA);
+ object_wipe(&owner_ptr->inventory_list[item]);
+ owner_ptr->update |= (PU_BONUS);
+ owner_ptr->update |= (PU_TORCH);
+ owner_ptr->update |= (PU_MANA);
- p_ptr->window |= (PW_EQUIP);
+ owner_ptr->window |= (PW_EQUIP);
}
- p_ptr->window |= (PW_SPELL);
+ owner_ptr->window |= (PW_SPELL);
}
/* Modify, Optimize */
inven_item_increase(owner_ptr, item, -amt);
- inven_item_optimize(item);
+ inven_item_optimize(owner_ptr, item);
/* Carry the object */
slot = inven_carry(owner_ptr, q_ptr);
/* Destroy "amt" items */
inven_item_increase(player_ptr, i, -amt);
- inven_item_optimize(i);
+ inven_item_optimize(player_ptr, i);
}
}
object_type forge;
object_copy(&forge, o_ptr);
inven_item_increase(creature_ptr, inv, (0 - o_ptr->number));
- inven_item_optimize(inv);
+ inven_item_optimize(creature_ptr, inv);
OBJECT_IDX o_idx = drop_near(creature_ptr, &forge, 0, creature_ptr->y, creature_ptr->x);
o_ptr = &creature_ptr->current_floor_ptr->o_list[o_idx];
if (o_ptr->number > 0)
autopick_alter_item(item, FALSE);
- inven_item_optimize(item);
+ inven_item_optimize(owner_ptr, item);
handle_stuff(owner_ptr);
/* The store gets that (known) item */