1 #include "system/angband.h"
2 #include "inventory/pack-overflow.h"
3 #include "player/player-move.h"
4 #include "object/object-flavor.h"
5 #include "core/stuff-handler.h"
8 * @brief アイテムの所持種類数が超えた場合にアイテムを床に落とす処理
11 void pack_overflow(player_type* owner_ptr)
13 if (owner_ptr->inventory_list[INVEN_PACK].k_idx == 0)
16 GAME_TEXT o_name[MAX_NLEN];
18 update_creature(owner_ptr);
19 if (!owner_ptr->inventory_list[INVEN_PACK].k_idx)
22 o_ptr = &owner_ptr->inventory_list[INVEN_PACK];
23 disturb(owner_ptr, FALSE, TRUE);
24 msg_print(_("ザックからアイテムがあふれた!", "Your pack overflows!"));
26 object_desc(owner_ptr, o_name, o_ptr, 0);
27 msg_format(_("%s(%c)を落とした。", "You drop %s (%c)."), o_name, index_to_label(INVEN_PACK));
28 (void)drop_near(owner_ptr, o_ptr, 0, owner_ptr->y, owner_ptr->x);
30 vary_item(owner_ptr, INVEN_PACK, -255);
31 handle_stuff(owner_ptr);