diff options
-rw-r--r-- | src/actions/commands.cpp | 26 | ||||
-rw-r--r-- | src/actions/commands.h | 1 | ||||
-rw-r--r-- | src/commands.cpp | 15 | ||||
-rw-r--r-- | src/commands.h | 5 | ||||
-rw-r--r-- | src/input/inputaction.h | 1 | ||||
-rw-r--r-- | src/input/inputactionmap.h | 9 | ||||
-rw-r--r-- | src/input/pages/basic.cpp | 6 |
7 files changed, 44 insertions, 19 deletions
diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp index e32aee7a3..5038d9f57 100644 --- a/src/actions/commands.cpp +++ b/src/actions/commands.cpp @@ -21,6 +21,7 @@ #include "actions/commands.h" #include "actormanager.h" +#include "configuration.h" #include "dropshortcut.h" #include "emoteshortcut.h" #include "game.h" @@ -368,4 +369,29 @@ impHandler(pseudoAway) return false; } +impHandler(follow) +{ + if (!localPlayer) + return false; + + if (!features.getBoolValue("allowFollow")) + return false; + + if (!event.args.empty()) + { + localPlayer->setFollow(event.args); + } + else if (event.tab && event.tab->getType() == ChatTabType::WHISPER) + { + localPlayer->setFollow(static_cast<WhisperTab*>(event.tab)->getNick()); + } + else + { + const Being *const being = localPlayer->getTarget(); + if (being != nullptr) + localPlayer->setFollow(being->getName()); + } + return true; +} + } // namespace Actions diff --git a/src/actions/commands.h b/src/actions/commands.h index 8f6813210..7034d0638 100644 --- a/src/actions/commands.h +++ b/src/actions/commands.h @@ -45,6 +45,7 @@ namespace Actions decHandler(commandEmotePet); decHandler(awayMessage); decHandler(pseudoAway); + decHandler(follow); } // namespace Actions #undef decHandler diff --git a/src/commands.cpp b/src/commands.cpp index 68a40bbcc..7494c45d2 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -166,21 +166,6 @@ impHandler(navigate) return true; } -impHandler(follow) -{ - if (!localPlayer) - return false; - - if (!features.getBoolValue("allowFollow")) - return false; - - if (!event.args.empty()) - localPlayer->setFollow(event.args); - else if (event.tab && event.tab->getType() == ChatTabType::WHISPER) - localPlayer->setFollow(static_cast<WhisperTab*>(event.tab)->getNick()); - return true; -} - impHandler(imitation) { if (!localPlayer) diff --git a/src/commands.h b/src/commands.h index 761af598a..28add6b34 100644 --- a/src/commands.h +++ b/src/commands.h @@ -51,7 +51,6 @@ struct CommandInfo final namespace Commands { - decHandler(follow); decHandler(imitation); decHandler(heal); decHandler(navigate); @@ -108,8 +107,7 @@ namespace Commands enum { - COMMAND_FOLLOW = 0, - COMMAND_HEAL, + COMMAND_HEAL = 0, COMMAND_NAVIGATE, COMMAND_IMITATION, COMMAND_MAIL, @@ -165,7 +163,6 @@ enum static const CommandInfo commands[] = { - {"follow", &Commands::follow, -1, true}, {"heal", &Commands::heal, -1, true}, {"navigate", &Commands::navigate, -1, true}, {"imitation", &Commands::imitation, -1, true}, diff --git a/src/input/inputaction.h b/src/input/inputaction.h index 007d03d66..55310593a 100644 --- a/src/input/inputaction.h +++ b/src/input/inputaction.h @@ -375,6 +375,7 @@ namespace InputAction COMMAND_EMOTE_PET, AWAY_MESSAGE, PSEUDO_AWAY, + FOLLOW, TOTAL }; } // namespace InputAction diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h index 08b8b7c40..e773dffdb 100644 --- a/src/input/inputactionmap.h +++ b/src/input/inputactionmap.h @@ -3144,6 +3144,15 @@ static const InputActionData inputActionData[InputAction::TOTAL] = { InputAction::NO_VALUE, 50, InputCondition::INGAME, "pseudoaway", + true}, + {"keyFollow", + InputType::UNKNOWN, InputAction::NO_VALUE, + InputType::UNKNOWN, InputAction::NO_VALUE, + Input::GRP_DEFAULT, + &Actions::follow, + InputAction::NO_VALUE, 50, + InputCondition::INGAME, + "follow", true} }; diff --git a/src/input/pages/basic.cpp b/src/input/pages/basic.cpp index f91b495de..2c784d804 100644 --- a/src/input/pages/basic.cpp +++ b/src/input/pages/basic.cpp @@ -173,6 +173,12 @@ SetupActionData setupActionDataBasic[] = }, { // TRANSLATORS: input action name + N_("Follow selected player"), + InputAction::FOLLOW, + "", + }, + { + // TRANSLATORS: input action name N_("Change Map View Mode"), InputAction::PATHFIND, "", |