From 0f49c02c2813ce853a7699b673103c8ef5edc05d Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 25 May 2017 22:25:26 +0300 Subject: Add chat command for warp to player. --- src/actions/commands.cpp | 9 +++++++++ src/actions/commands.h | 1 + src/dyetool/actions/commands.cpp | 1 + src/enums/input/inputaction.h | 1 + src/gui/popups/popupmenu.cpp | 6 +----- src/input/inputactionmap.h | 6 ++++++ 6 files changed, 19 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp index ebf4413e1..08c1fcbba 100644 --- a/src/actions/commands.cpp +++ b/src/actions/commands.cpp @@ -1438,6 +1438,15 @@ impHandler(commandGotoNpc) return true; } +impHandler(commandGotoPc) +{ + const std::string args = event.args; + if (args.empty()) + return false; + adminHandler->gotoName(args); + return true; +} + impHandler(commandKiller) { adminHandler->killer(event.args); diff --git a/src/actions/commands.h b/src/actions/commands.h index c323bd84a..ed4deb9f5 100644 --- a/src/actions/commands.h +++ b/src/actions/commands.h @@ -123,6 +123,7 @@ namespace Actions decHandler(commandLoadPosition); decHandler(commandRandomWarp); decHandler(commandGotoNpc); + decHandler(commandGotoPc); decHandler(commandKiller); decHandler(commandKillable); decHandler(commandHeal); diff --git a/src/dyetool/actions/commands.cpp b/src/dyetool/actions/commands.cpp index bb467671b..522ead2f2 100644 --- a/src/dyetool/actions/commands.cpp +++ b/src/dyetool/actions/commands.cpp @@ -123,6 +123,7 @@ impHandlerVoid(commandSavePosition) impHandlerVoid(commandLoadPosition) impHandlerVoid(commandRandomWarp) impHandlerVoid(commandGotoNpc) +impHandlerVoid(commandGotoPc) impHandlerVoid(commandKiller) impHandlerVoid(commandKillable) impHandlerVoid(commandHeal) diff --git a/src/enums/input/inputaction.h b/src/enums/input/inputaction.h index 0ffde0bd7..094102f2c 100644 --- a/src/enums/input/inputaction.h +++ b/src/enums/input/inputaction.h @@ -697,6 +697,7 @@ enumStart(InputAction) COMMAND_SEND_CHARS, CLEAR_OUTFIT, CLIPBOARD_COPY, + COMMAND_GOTO_PC, TOTAL } enumEnd(InputAction); diff --git a/src/gui/popups/popupmenu.cpp b/src/gui/popups/popupmenu.cpp index 1d568d0d6..6b3aaf68a 100644 --- a/src/gui/popups/popupmenu.cpp +++ b/src/gui/popups/popupmenu.cpp @@ -1253,10 +1253,6 @@ void PopupMenu::handleLink(const std::string &link, if (mTextField) mTextField->handlePaste(); } - else if (link == "goto" && !mName.empty()) - { - adminHandler->gotoName(mName); - } else if (link == "recall" && !mName.empty()) { adminHandler->recallName(mName); @@ -2812,7 +2808,7 @@ void PopupMenu::showPlayerGMCommands(const std::string &name) } // TRANSLATORS: popup menu item // TRANSLATORS: go to player position - mBrowserBox->addRow("goto", _("Goto")); + mBrowserBox->addRow("/gotopc 'NAME'", _("Goto")); // TRANSLATORS: popup menu item // TRANSLATORS: recall player to current position mBrowserBox->addRow("recall", _("Recall")); diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h index d3f36d21c..e42e659d8 100644 --- a/src/input/inputactionmap.h +++ b/src/input/inputactionmap.h @@ -5672,6 +5672,12 @@ static const InputActionData inputActionData "clipboardcopy|copyclipboard", UseArgs_true, Protected_true}, + {"keyGotoPc", + defaultAction(&Actions::commandGotoPc), + InputCondition::INGAME, + "goto|gotopc", + UseArgs_true, + Protected_true}, }; #undef defaultAction -- cgit v1.2.3-60-g2f50