summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-12-13 12:59:13 +0300
committerAndrei Karas <akaras@inbox.ru>2014-12-13 12:59:13 +0300
commitbe1dd6434f993fba9e944cda9e83e0fae32e8c14 (patch)
treef715ca182a8339a775994cbdaa293e24d5e88e63
parent41eff7ceed25a056ea5d9bec0ae11194132a6d08 (diff)
downloadmanaplus-be1dd6434f993fba9e944cda9e83e0fae32e8c14.tar.gz
manaplus-be1dd6434f993fba9e944cda9e83e0fae32e8c14.tar.bz2
manaplus-be1dd6434f993fba9e944cda9e83e0fae32e8c14.tar.xz
manaplus-be1dd6434f993fba9e944cda9e83e0fae32e8c14.zip
Add chat command for drop item by inventory index.
New chat command: /dropinv INDEX
-rw-r--r--src/actions/actions.cpp16
-rw-r--r--src/actions/actions.h1
-rw-r--r--src/input/inputaction.h1
-rw-r--r--src/input/inputactionmap.h9
4 files changed, 27 insertions, 0 deletions
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