From bb0b9dbea888cd621b6da3465da19f0794073cc1 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 13 Dec 2014 16:50:14 +0300 Subject: Add chat command for add item to trade. New chat command: /addtrade INDEX AMOUNT. Alias: /tradeadd This command have same patameters like /inttostorage. --- src/actions/actions.cpp | 18 ++++++++++++++++++ src/actions/actions.h | 1 + src/input/inputaction.h | 1 + src/input/inputactionmap.h | 9 +++++++++ 4 files changed, 29 insertions(+) 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 -- cgit v1.2.3-60-g2f50