diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-12-13 16:50:14 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-12-13 16:50:14 +0300 |
commit | bb0b9dbea888cd621b6da3465da19f0794073cc1 (patch) | |
tree | 195d9c70cdea24b7daa458fa653a9094fe360927 /src | |
parent | c6204f4b682288b882c2d035381f5bacbe5820c5 (diff) | |
download | manaplus-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.
Diffstat (limited to 'src')
-rw-r--r-- | src/actions/actions.cpp | 18 | ||||
-rw-r--r-- | src/actions/actions.h | 1 | ||||
-rw-r--r-- | src/input/inputaction.h | 1 | ||||
-rw-r--r-- | src/input/inputactionmap.h | 9 |
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 |