summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-12-13 16:50:14 +0300
committerAndrei Karas <akaras@inbox.ru>2014-12-13 16:50:14 +0300
commitbb0b9dbea888cd621b6da3465da19f0794073cc1 (patch)
tree195d9c70cdea24b7daa458fa653a9094fe360927
parentc6204f4b682288b882c2d035381f5bacbe5820c5 (diff)
downloadmanaplus-bb0b9dbea888cd621b6da3465da19f0794073cc1.tar.gz
manaplus-bb0b9dbea888cd621b6da3465da19f0794073cc1.tar.bz2
manaplus-bb0b9dbea888cd621b6da3465da19f0794073cc1.tar.xz
manaplus-bb0b9dbea888cd621b6da3465da19f0794073cc1.zip
Add chat command for add item to trade.
New chat command: /addtrade INDEX AMOUNT. Alias: /tradeadd This command have same patameters like /inttostorage.
-rw-r--r--src/actions/actions.cpp18
-rw-r--r--src/actions/actions.h1
-rw-r--r--src/input/inputaction.h1
-rw-r--r--src/input/inputactionmap.h9
4 files changed, 29 insertions, 0 deletions
diff --git a/src/actions/actions.cpp b/src/actions/actions.cpp
index a7c0466d2..c29d90a50 100644
--- a/src/actions/actions.cpp
+++ b/src/actions/actions.cpp
@@ -1438,7 +1438,25 @@ impHandler(invToStorage)
{
ItemAmountWindow::showWindow(ItemAmountWindow::StoreAdd,
inventoryWindow, item);
+ }
+ return true;
+}
+
+impHandler(tradeAdd)
+{
+ Item *item = nullptr;
+ const int amount = getAmountFromEvent(event, item);
+ if (!item || PlayerInfo::isItemProtected(item->getId()))
return true;
+
+ if (amount)
+ {
+ tradeWindow->tradeItem(item, amount, true);
+ }
+ else
+ {
+ ItemAmountWindow::showWindow(ItemAmountWindow::TradeAdd,
+ tradeWindow, item);
}
return true;
}
diff --git a/src/actions/actions.h b/src/actions/actions.h
index eaf900fbe..0fd1f71c5 100644
--- a/src/actions/actions.h
+++ b/src/actions/actions.h
@@ -99,6 +99,7 @@ namespace Actions
decHandler(useItem);
decHandler(useItemInv);
decHandler(invToStorage);
+ decHandler(tradeAdd);
} // namespace Actions
#undef decHandler
diff --git a/src/input/inputaction.h b/src/input/inputaction.h
index dc63508d3..60bbeab61 100644
--- a/src/input/inputaction.h
+++ b/src/input/inputaction.h
@@ -506,6 +506,7 @@ namespace InputAction
DROP_INV_ALL,
USE_INV,
INV_TO_STORAGE,
+ TRADE_ADD,
TOTAL
};
} // namespace InputAction
diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h
index b23032728..26b77a03b 100644
--- a/src/input/inputactionmap.h
+++ b/src/input/inputactionmap.h
@@ -4297,6 +4297,15 @@ static const InputActionData inputActionData[InputAction::TOTAL] = {
InputCondition::INGAME,
"invtostorage|invstorage",
true},
+ {"keyTradeAdd",
+ InputType::UNKNOWN, InputAction::NO_VALUE,
+ InputType::UNKNOWN, InputAction::NO_VALUE,
+ Input::GRP_DEFAULT,
+ &Actions::tradeAdd,
+ InputAction::NO_VALUE, 50,
+ InputCondition::INGAME,
+ "tradeadd|addtrade",
+ true},
};
#endif // INPUT_INPUTACTIONMAP_H