diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-08-26 00:53:29 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-08-26 00:53:29 +0300 |
commit | e2dddbdd9599b9b1f6a9825ee06d4d3616d9d1dd (patch) | |
tree | ee5204871bd3fe6bdc5638d7ee95a75ceb8efe95 /src/actions | |
parent | 6e99f459bf4895e41118dbcf00ed3ba027b5b952 (diff) | |
download | plus-e2dddbdd9599b9b1f6a9825ee06d4d3616d9d1dd.tar.gz plus-e2dddbdd9599b9b1f6a9825ee06d4d3616d9d1dd.tar.bz2 plus-e2dddbdd9599b9b1f6a9825ee06d4d3616d9d1dd.tar.xz plus-e2dddbdd9599b9b1f6a9825ee06d4d3616d9d1dd.zip |
Move chat command /follow into actions.
Diffstat (limited to 'src/actions')
-rw-r--r-- | src/actions/commands.cpp | 26 | ||||
-rw-r--r-- | src/actions/commands.h | 1 |
2 files changed, 27 insertions, 0 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 |