1 #include "store/museum.h"
2 #include "core/asking-player.h"
3 #include "flavor/flavor-describer.h"
4 #include "store/home.h"
5 #include "store/store-util.h"
6 #include "store/store.h"
7 #include "system/item-entity.h"
8 #include "view/display-messages.h"
9 #include "view/display-store.h"
12 * @brief 博物館のアイテムを除去するコマンドのメインルーチン /
13 * Remove an item from museum (Originally from TOband)
14 * @param player_ptr プレイヤーへの参照ポインタ
16 void museum_remove_object(PlayerType *player_ptr)
18 if (st_ptr->stock_num <= 0) {
19 msg_print(_("博物館には何も置いてありません。", "The Museum is empty."));
23 int i = st_ptr->stock_num - store_top;
24 if (i > store_bottom) {
29 if (!get_stock(&item, _("どのアイテムの展示をやめさせますか?", "Which item do you want to order to remove? "), 0, i - 1, StoreSaleType::MUSEUM)) {
33 item = item + store_top;
34 auto *o_ptr = &st_ptr->stock[item];
35 const auto item_name = describe_flavor(player_ptr, o_ptr, 0);
36 msg_print(_("展示をやめさせたアイテムは二度と見ることはできません!", "Once removed from the Museum, an item will be gone forever!"));
37 if (!get_check(format(_("本当に%sの展示をやめさせますか?", "Really order to remove %s from the Museum? "), item_name.data()))) {
41 msg_format(_("%sの展示をやめさせた。", "You ordered to remove %s."), item_name.data());
42 store_item_increase(item, -o_ptr->number);
43 store_item_optimize(item);
44 (void)combine_and_reorder_home(player_ptr, StoreSaleType::MUSEUM);
45 if (st_ptr->stock_num == 0) {
47 } else if (store_top >= st_ptr->stock_num) {
48 store_top -= store_bottom;
51 display_store_inventory(player_ptr, StoreSaleType::MUSEUM);