From be1dd6434f993fba9e944cda9e83e0fae32e8c14 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 13 Dec 2014 12:59:13 +0300 Subject: Add chat command for drop item by inventory index. New chat command: /dropinv INDEX --- src/actions/actions.cpp | 16 ++++++++++++++++ src/actions/actions.h | 1 + src/input/inputaction.h | 1 + src/input/inputactionmap.h | 9 +++++++++ 4 files changed, 27 insertions(+) diff --git a/src/actions/actions.cpp b/src/actions/actions.cpp index 8cd2600b4..da62c6549 100644 --- a/src/actions/actions.cpp +++ b/src/actions/actions.cpp @@ -380,6 +380,22 @@ impHandler(dropItemId) return true; } +impHandler(dropItemInv) +{ + const Inventory *const inv = PlayerInfo::getInventory(); + if (!inv) + return false; + + Item *const item = inv->getItem(atoi(event.args.c_str())); + + if (item && !PlayerInfo::isItemProtected(item->getId())) + { + ItemAmountWindow::showWindow(ItemAmountWindow::ItemDrop, + inventoryWindow, item); + } + return true; +} + impHandler(dropItemIdAll) { const Inventory *const inv = PlayerInfo::getInventory(); diff --git a/src/actions/actions.h b/src/actions/actions.h index 11a3bcdcf..ab7f5b980 100644 --- a/src/actions/actions.h +++ b/src/actions/actions.h @@ -39,6 +39,7 @@ namespace Actions decHandler(dropItem0); decHandler(dropItem); decHandler(dropItemId); + decHandler(dropItemInv); decHandler(dropItemIdAll); decHandler(heal); decHandler(itenplz); diff --git a/src/input/inputaction.h b/src/input/inputaction.h index 9d2e64993..fc14b1ad2 100644 --- a/src/input/inputaction.h +++ b/src/input/inputaction.h @@ -502,6 +502,7 @@ namespace InputAction CAMERA_MOVE, DROP_ITEM, DROP_ITEM_ALL, + DROP_INV, TOTAL }; } // namespace InputAction diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h index 3b0854cfc..7859808b5 100644 --- a/src/input/inputactionmap.h +++ b/src/input/inputactionmap.h @@ -4261,6 +4261,15 @@ static const InputActionData inputActionData[InputAction::TOTAL] = { InputCondition::INGAME, "dropitemall", true}, + {"keyDropInv", + InputType::UNKNOWN, InputAction::NO_VALUE, + InputType::UNKNOWN, InputAction::NO_VALUE, + Input::GRP_DEFAULT, + &Actions::dropItemInv, + InputAction::NO_VALUE, 50, + InputCondition::INGAME, + "dropinv", + true}, }; #endif // INPUT_INPUTACTIONMAP_H -- cgit v1.2.3-70-g09d2