From f4761d658102198abcce6b020c2c0f0e756d534a Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 16 Oct 2015 20:04:47 +0300 Subject: Add protection attribute to input actions. Unsafe actions blocked from remote usage. --- src/CMakeLists.txt | 1 + src/Makefile.am | 1 + src/enums/simpletypes/protected.h | 30 + src/input/inputactiondata.h | 2 + src/input/inputactionmap.h | 1689 ++++++++++++++++++++++++------------- src/input/inputmanager.cpp | 21 + src/input/inputmanager.h | 4 + src/net/eathena/playerrecv.cpp | 2 +- 8 files changed, 1186 insertions(+), 564 deletions(-) create mode 100644 src/enums/simpletypes/protected.h (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 03692af24..8e303516d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1111,6 +1111,7 @@ SET(SRCS enums/simpletypes/notify.h enums/simpletypes/npcnames.h enums/simpletypes/online.h + enums/simpletypes/protected.h enums/simpletypes/sfx.h enums/simpletypes/showcenter.h enums/simpletypes/skiperror.h diff --git a/src/Makefile.am b/src/Makefile.am index 1e21f80fd..ee6f870cd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -576,6 +576,7 @@ SRC += events/actionevent.h \ enums/simpletypes/notify.h \ enums/simpletypes/npcnames.h \ enums/simpletypes/online.h \ + enums/simpletypes/protected.h \ enums/simpletypes/sfx.h \ enums/simpletypes/showcenter.h \ enums/simpletypes/skiperror.h \ diff --git a/src/enums/simpletypes/protected.h b/src/enums/simpletypes/protected.h new file mode 100644 index 000000000..96b0b26c0 --- /dev/null +++ b/src/enums/simpletypes/protected.h @@ -0,0 +1,30 @@ +/* + * The ManaPlus Client + * Copyright (C) 2015 The ManaPlus Developers + * + * This file is part of The ManaPlus Client. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef ENUMS_SIMPLETYPES_PROTECTED_H +#define ENUMS_SIMPLETYPES_PROTECTED_H + +#include "enums/simpletypes/booldefines.h" + +#include "localconsts.h" + +defBoolEnum(Protected); + +#endif // ENUMS_SIMPLETYPES_PROTECTED_H diff --git a/src/input/inputactiondata.h b/src/input/inputactiondata.h index ae9359466..0feb8567b 100644 --- a/src/input/inputactiondata.h +++ b/src/input/inputactiondata.h @@ -26,6 +26,7 @@ #include "actions/actionfuncptr.h" #include "enums/simpletypes/useargs.h" +#include "enums/simpletypes/protected.h" struct InputActionData final { @@ -41,6 +42,7 @@ struct InputActionData final const int condition; const std::string chatCommand; const UseArgs useArgs; + const Protected isProtected; }; namespace Input diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h index 3add96c4f..2f6626799 100644 --- a/src/input/inputactionmap.h +++ b/src/input/inputactionmap.h @@ -64,7 +64,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::ARROWKEYS, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyMoveDown", addKey(SDLK_DOWN), emptyKey, @@ -73,7 +74,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::ARROWKEYS, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyMoveLeft", addKey(SDLK_LEFT), emptyKey, @@ -82,7 +84,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::ARROWKEYS, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyMoveRight", addKey(SDLK_RIGHT), emptyKey, @@ -91,7 +94,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::ARROWKEYS, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyAttack", addKey(SDLK_x), emptyKey, @@ -101,7 +105,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::NOFOLLOW | InputCondition::VALIDSPEED, "attack", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyTargetAttack", addKey(SDLK_LCTRL), joystickButton(0), @@ -111,7 +116,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::NOFOLLOW | InputCondition::VALIDSPEED | InputCondition::ALIVE, "targetattack", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyMoveToTarget", addKey(SDLK_v), emptyKey, @@ -120,7 +126,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::VALIDSPEED, "movetotarget", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChangeMoveToTarget", addKey(SDLK_PERIOD), emptyKey, @@ -130,7 +137,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::VALIDSPEED | InputCondition::EMODS, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToHome", addKey(SDLK_d), emptyKey, @@ -139,7 +147,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::VALIDSPEED, "movetohome", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keySetHome", addKey(SDLK_KP5), emptyKey, @@ -148,7 +157,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::VALIDSPEED, "sethome", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPoint", addKey(SDLK_RSHIFT), emptyKey, @@ -157,7 +167,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT | InputCondition::INGAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyTalk", addKey(SDLK_t), emptyKey, @@ -166,7 +177,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME, "talk", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyTarget", addKey(SDLK_LSHIFT), joystickButton(4), @@ -175,12 +187,14 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME, "stopattack", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyUnTarget", defaultAction(&Actions::untarget), InputCondition::GAME, "untarget", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyTargetMonster", addKey(SDLK_a), joystickButton(3), @@ -190,7 +204,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::NOTARGET | InputCondition::VALIDSPEED, "targetmonster", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyTargetNPC", addKey(SDLK_n), emptyKey, @@ -199,7 +214,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "targetnpc", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyTargetPlayer", addKey(SDLK_q), emptyKey, @@ -208,7 +224,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "targetplayer", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPickup", addKey(SDLK_z), joystickButton(1), @@ -217,7 +234,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "pickup", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChangePickupType", addKey(SDLK_o), emptyKey, @@ -227,7 +245,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::VALIDSPEED | InputCondition::EMODS, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyHideWindows", addKey(SDLK_h), emptyKey, @@ -236,7 +255,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "hidewindows", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyBeingSit", addKey(SDLK_s), joystickButton(2), @@ -245,7 +265,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "sit", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyScreenshot", addKey(SDLK_p), emptyKey, @@ -254,7 +275,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::NOTARGET | InputCondition::NOINPUT, "screenshot", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyTrade", addKey(SDLK_r), emptyKey, @@ -263,7 +285,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "changetrade", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyPathfind", addKey(SDLK_f), emptyKey, @@ -273,7 +296,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::NOTARGET | InputCondition::EMODS, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyOK", addKey(SDLK_SPACE), emptyKey, @@ -283,7 +307,8 @@ static const InputActionData inputActionData InputCondition::NOMODAL | InputCondition::NOAWAY | InputCondition::NONPCINPUT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyQuit", addKey(SDLK_ESCAPE), #if defined(USE_SDL2) && defined(ANDROID) @@ -296,7 +321,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "quit", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcutsKey", addKey(SDLK_MENU), emptyKey, @@ -305,7 +331,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT | InputCondition::INGAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut1", addKey(SDLK_1), emptyKey, @@ -314,7 +341,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut2", addKey(SDLK_2), emptyKey, @@ -323,7 +351,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut3", addKey(SDLK_3), emptyKey, @@ -332,7 +361,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut4", addKey(SDLK_4), emptyKey, @@ -341,7 +371,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut5", addKey(SDLK_5), emptyKey, @@ -350,7 +381,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut6", addKey(SDLK_6), emptyKey, @@ -359,7 +391,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut7", addKey(SDLK_7), emptyKey, @@ -368,7 +401,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut8", addKey(SDLK_8), emptyKey, @@ -377,7 +411,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut9", addKey(SDLK_9), emptyKey, @@ -386,7 +421,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut10", addKey(SDLK_0), emptyKey, @@ -395,7 +431,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut11", addKey(SDLK_MINUS), emptyKey, @@ -404,7 +441,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut12", addKey(SDLK_EQUALS), emptyKey, @@ -413,7 +451,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut13", addKey(SDLK_BACKSPACE), emptyKey, @@ -422,7 +461,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut14", addKey(SDLK_INSERT), emptyKey, @@ -431,7 +471,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut15", addKey(SDLK_HOME), emptyKey, @@ -440,32 +481,38 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut16", defaultAction(&Actions::shortcut), InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut17", defaultAction(&Actions::shortcut), InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut18", defaultAction(&Actions::shortcut), InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut19", defaultAction(&Actions::shortcut), InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyShortcut20", defaultAction(&Actions::shortcut), InputCondition::SHORTCUT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyWindowHelp", addKey(SDLK_F1), emptyKey, @@ -474,7 +521,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT0, "help|openhelp", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowStatus", addKey(SDLK_F2), emptyKey, @@ -483,7 +531,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "status|openstatus", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowInventory", addKey(SDLK_F3), emptyKey, @@ -492,7 +541,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "inventory|openinventory", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowEquipment", addKey(SDLK_F4), emptyKey, @@ -501,7 +551,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "equipment|openequipment", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowSkill", addKey(SDLK_F5), emptyKey, @@ -510,7 +561,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "skill|skills|openskills", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowMinimap", addKey(SDLK_F6), emptyKey, @@ -519,7 +571,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "minimap|openminimap", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowChat", addKey(SDLK_F7), emptyKey, @@ -528,7 +581,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "openchat", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowShortcut", addKey(SDLK_F8), emptyKey, @@ -537,7 +591,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "openshortcut|openshortcuts", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowSetup", addKey(SDLK_F9), emptyKey, @@ -547,7 +602,8 @@ static const InputActionData inputActionData InputCondition::NOTARGET | InputCondition::NOINPUT | InputCondition::ENABLED, "setup|opensetup", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowDebug", addKey(SDLK_F10), emptyKey, @@ -556,7 +612,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "debug|opendebug", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowSocial", addKey(SDLK_F11), emptyKey, @@ -565,7 +622,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "social|opensocial", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowEmoteBar", addKey(SDLK_F12), emptyKey, @@ -574,7 +632,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "emotes|openemotes", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowOutfit", addKey(SDLK_BACKQUOTE), emptyKey, @@ -583,7 +642,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "openoutfit|openoutfits", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowShop", emptyKey, emptyKey, @@ -592,7 +652,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "shop|openshop", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowDrop", addKey(SDLK_w), emptyKey, @@ -601,7 +662,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "opendrop", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowKills", addKey(SDLK_e), emptyKey, @@ -610,7 +672,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "kills|openkills", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowSpells", addKey(SDLK_j), emptyKey, @@ -619,7 +682,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "spells|openspells", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowBotChecker", emptyKey, emptyKey, @@ -628,7 +692,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowOnline", emptyKey, emptyKey, @@ -637,7 +702,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "online|openonline", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowDidYouKnow", emptyKey, emptyKey, @@ -646,7 +712,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT0, "didyouknow|opendidyouknow", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowQuests", addKey(SDLK_LEFTBRACKET), emptyKey, @@ -655,7 +722,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "quests|openquests", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keySocialPrevTab", emptyKey, emptyKey, @@ -664,7 +732,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::NOINPUT | InputCondition::INGAME, "prevsocialtab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keySocialNextTab", emptyKey, emptyKey, @@ -673,7 +742,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::NOINPUT | InputCondition::INGAME, "nextsocialtab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keySmilie", addKey(SDLK_LALT), emptyKey, @@ -682,7 +752,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT | InputCondition::INGAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut1", addKey(SDLK_1), emptyKey, @@ -691,7 +762,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut2", addKey(SDLK_2), emptyKey, @@ -700,7 +772,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut3", addKey(SDLK_3), emptyKey, @@ -709,7 +782,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut4", addKey(SDLK_4), emptyKey, @@ -718,7 +792,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut5", addKey(SDLK_5), emptyKey, @@ -727,7 +802,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut6", addKey(SDLK_6), emptyKey, @@ -736,7 +812,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut7", addKey(SDLK_7), emptyKey, @@ -745,7 +822,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut8", addKey(SDLK_8), emptyKey, @@ -754,7 +832,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut9", addKey(SDLK_9), emptyKey, @@ -763,7 +842,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut10", addKey(SDLK_0), emptyKey, @@ -772,7 +852,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut11", addKey(SDLK_MINUS), emptyKey, @@ -781,7 +862,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut12", addKey(SDLK_EQUALS), emptyKey, @@ -790,7 +872,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut13", addKey(SDLK_BACKSPACE), emptyKey, @@ -799,7 +882,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut14", addKey(SDLK_INSERT), emptyKey, @@ -808,7 +892,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut15", addKey(SDLK_HOME), emptyKey, @@ -817,7 +902,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut16", addKey(SDLK_q), emptyKey, @@ -826,7 +912,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut17", addKey(SDLK_w), emptyKey, @@ -835,7 +922,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut18", addKey(SDLK_e), emptyKey, @@ -844,7 +932,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut19", addKey(SDLK_r), emptyKey, @@ -853,7 +942,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut20", addKey(SDLK_t), emptyKey, @@ -862,7 +952,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut21", addKey(SDLK_y), emptyKey, @@ -871,7 +962,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut22", addKey(SDLK_u), emptyKey, @@ -880,7 +972,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut23", addKey(SDLK_i), emptyKey, @@ -889,7 +982,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut24", addKey(SDLK_o), emptyKey, @@ -898,7 +992,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut25", addKey(SDLK_p), emptyKey, @@ -907,7 +1002,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut26", addKey(SDLK_LEFTBRACKET), emptyKey, @@ -916,7 +1012,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut27", addKey(SDLK_RIGHTBRACKET), emptyKey, @@ -925,7 +1022,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut28", addKey(SDLK_BACKSLASH), emptyKey, @@ -934,7 +1032,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut29", addKey(SDLK_a), emptyKey, @@ -943,7 +1042,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut30", addKey(SDLK_s), emptyKey, @@ -952,7 +1052,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut31", addKey(SDLK_d), emptyKey, @@ -961,7 +1062,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut32", addKey(SDLK_f), emptyKey, @@ -970,7 +1072,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut33", addKey(SDLK_g), emptyKey, @@ -979,7 +1082,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut34", addKey(SDLK_h), emptyKey, @@ -988,7 +1092,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut35", addKey(SDLK_j), emptyKey, @@ -997,7 +1102,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut36", addKey(SDLK_k), emptyKey, @@ -1006,7 +1112,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut37", addKey(SDLK_l), emptyKey, @@ -1015,7 +1122,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut38", addKey(SDLK_SEMICOLON), emptyKey, @@ -1024,7 +1132,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut39", addKey(SDLK_QUOTE), emptyKey, @@ -1033,7 +1142,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut40", addKey(SDLK_z), emptyKey, @@ -1042,7 +1152,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut41", addKey(SDLK_x), emptyKey, @@ -1051,7 +1162,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut42", addKey(SDLK_c), emptyKey, @@ -1060,7 +1172,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut43", addKey(SDLK_v), emptyKey, @@ -1069,7 +1182,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut44", addKey(SDLK_b), emptyKey, @@ -1078,7 +1192,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut45", addKey(SDLK_n), emptyKey, @@ -1087,7 +1202,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut46", addKey(SDLK_m), emptyKey, @@ -1096,7 +1212,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut47", addKey(SDLK_COMMA), emptyKey, @@ -1105,7 +1222,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyEmoteShortcut48", addKey(SDLK_PERIOD), emptyKey, @@ -1114,7 +1232,8 @@ static const InputActionData inputActionData InputAction::EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyWearOutfit", addKey(SDLK_RCTRL), emptyKey, @@ -1123,7 +1242,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT | InputCondition::INGAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyCopyOutfit", addKey(SDLK_RALT), emptyKey, @@ -1132,7 +1252,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT | InputCondition::INGAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyCopyEquipedOutfit", addKey(SDLK_RIGHTBRACKET), emptyKey, @@ -1141,7 +1262,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::VALIDSPEED, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut1", addKey(SDLK_1), emptyKey, @@ -1150,7 +1272,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut2", addKey(SDLK_2), emptyKey, @@ -1159,7 +1282,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut3", addKey(SDLK_3), emptyKey, @@ -1168,7 +1292,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut4", addKey(SDLK_4), emptyKey, @@ -1177,7 +1302,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut5", addKey(SDLK_5), emptyKey, @@ -1186,7 +1312,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut6", addKey(SDLK_6), emptyKey, @@ -1195,7 +1322,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut7", addKey(SDLK_7), emptyKey, @@ -1204,7 +1332,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut8", addKey(SDLK_8), emptyKey, @@ -1213,7 +1342,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut9", addKey(SDLK_9), emptyKey, @@ -1222,7 +1352,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut10", addKey(SDLK_0), emptyKey, @@ -1231,7 +1362,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut11", addKey(SDLK_MINUS), emptyKey, @@ -1240,7 +1372,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut12", addKey(SDLK_EQUALS), emptyKey, @@ -1249,7 +1382,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut13", addKey(SDLK_BACKSPACE), emptyKey, @@ -1258,7 +1392,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut14", addKey(SDLK_INSERT), emptyKey, @@ -1267,7 +1402,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut15", addKey(SDLK_HOME), emptyKey, @@ -1276,7 +1412,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut16", addKey(SDLK_q), emptyKey, @@ -1285,7 +1422,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut17", addKey(SDLK_w), emptyKey, @@ -1294,7 +1432,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut18", addKey(SDLK_e), emptyKey, @@ -1303,7 +1442,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut19", addKey(SDLK_r), emptyKey, @@ -1312,7 +1452,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut20", addKey(SDLK_t), emptyKey, @@ -1321,7 +1462,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut21", addKey(SDLK_y), emptyKey, @@ -1330,7 +1472,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut22", addKey(SDLK_u), emptyKey, @@ -1339,7 +1482,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut23", addKey(SDLK_i), emptyKey, @@ -1348,7 +1492,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut24", addKey(SDLK_o), emptyKey, @@ -1357,7 +1502,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut25", addKey(SDLK_p), emptyKey, @@ -1366,7 +1512,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut26", addKey(SDLK_LEFTBRACKET), emptyKey, @@ -1375,7 +1522,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut27", addKey(SDLK_RIGHTBRACKET), emptyKey, @@ -1384,7 +1532,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut28", addKey(SDLK_BACKSLASH), emptyKey, @@ -1393,7 +1542,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut29", addKey(SDLK_a), emptyKey, @@ -1402,7 +1552,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut30", addKey(SDLK_s), emptyKey, @@ -1411,7 +1562,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut31", addKey(SDLK_d), emptyKey, @@ -1420,7 +1572,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut32", addKey(SDLK_f), emptyKey, @@ -1429,7 +1582,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut33", addKey(SDLK_g), emptyKey, @@ -1438,7 +1592,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut34", addKey(SDLK_h), emptyKey, @@ -1447,7 +1602,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut35", addKey(SDLK_j), emptyKey, @@ -1456,7 +1612,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut36", addKey(SDLK_k), emptyKey, @@ -1465,7 +1622,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut37", addKey(SDLK_l), emptyKey, @@ -1474,7 +1632,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut38", addKey(SDLK_SEMICOLON), emptyKey, @@ -1483,7 +1642,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut39", addKey(SDLK_QUOTE), emptyKey, @@ -1492,7 +1652,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut40", addKey(SDLK_z), emptyKey, @@ -1501,7 +1662,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut41", addKey(SDLK_x), emptyKey, @@ -1510,7 +1672,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut42", addKey(SDLK_c), emptyKey, @@ -1519,7 +1682,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut43", addKey(SDLK_v), emptyKey, @@ -1528,7 +1692,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut44", addKey(SDLK_b), emptyKey, @@ -1537,7 +1702,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut45", addKey(SDLK_n), emptyKey, @@ -1546,7 +1712,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut46", addKey(SDLK_m), emptyKey, @@ -1555,7 +1722,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut47", addKey(SDLK_COMMA), emptyKey, @@ -1564,7 +1732,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyOutfitShortcut48", addKey(SDLK_PERIOD), emptyKey, @@ -1573,7 +1742,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut1", addKey(SDLK_1), emptyKey, @@ -1582,7 +1752,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut2", addKey(SDLK_2), emptyKey, @@ -1591,7 +1762,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut3", addKey(SDLK_3), emptyKey, @@ -1600,7 +1772,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut4", addKey(SDLK_4), emptyKey, @@ -1609,7 +1782,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut5", addKey(SDLK_5), emptyKey, @@ -1618,7 +1792,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut6", addKey(SDLK_6), emptyKey, @@ -1627,7 +1802,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut7", addKey(SDLK_7), emptyKey, @@ -1636,7 +1812,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut8", addKey(SDLK_8), emptyKey, @@ -1645,7 +1822,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut9", addKey(SDLK_9), emptyKey, @@ -1654,7 +1832,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut10", addKey(SDLK_0), emptyKey, @@ -1663,7 +1842,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut11", addKey(SDLK_MINUS), emptyKey, @@ -1672,7 +1852,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut12", addKey(SDLK_EQUALS), emptyKey, @@ -1681,7 +1862,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut13", addKey(SDLK_BACKSPACE), emptyKey, @@ -1690,7 +1872,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut14", addKey(SDLK_INSERT), emptyKey, @@ -1699,7 +1882,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut15", addKey(SDLK_HOME), emptyKey, @@ -1708,7 +1892,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut16", addKey(SDLK_q), emptyKey, @@ -1717,7 +1902,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut17", addKey(SDLK_w), emptyKey, @@ -1726,7 +1912,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut18", addKey(SDLK_e), emptyKey, @@ -1735,7 +1922,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut19", addKey(SDLK_r), emptyKey, @@ -1744,7 +1932,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut20", addKey(SDLK_t), emptyKey, @@ -1753,7 +1942,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut21", addKey(SDLK_y), emptyKey, @@ -1762,7 +1952,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut22", addKey(SDLK_u), emptyKey, @@ -1771,7 +1962,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut23", addKey(SDLK_i), emptyKey, @@ -1780,7 +1972,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut24", addKey(SDLK_o), emptyKey, @@ -1789,7 +1982,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut25", addKey(SDLK_p), emptyKey, @@ -1798,7 +1992,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut26", addKey(SDLK_LEFTBRACKET), emptyKey, @@ -1807,7 +2002,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut27", addKey(SDLK_RIGHTBRACKET), emptyKey, @@ -1816,7 +2012,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut28", addKey(SDLK_BACKSLASH), emptyKey, @@ -1825,7 +2022,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut29", addKey(SDLK_a), emptyKey, @@ -1834,7 +2032,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut30", addKey(SDLK_s), emptyKey, @@ -1843,7 +2042,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut31", addKey(SDLK_d), emptyKey, @@ -1852,7 +2052,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut32", addKey(SDLK_f), emptyKey, @@ -1861,7 +2062,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut33", addKey(SDLK_g), emptyKey, @@ -1870,7 +2072,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut34", addKey(SDLK_h), emptyKey, @@ -1879,7 +2082,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut35", addKey(SDLK_j), emptyKey, @@ -1888,7 +2092,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut36", addKey(SDLK_k), emptyKey, @@ -1897,7 +2102,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut37", addKey(SDLK_l), emptyKey, @@ -1906,7 +2112,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut38", addKey(SDLK_SEMICOLON), emptyKey, @@ -1915,7 +2122,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut39", addKey(SDLK_QUOTE), emptyKey, @@ -1924,7 +2132,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut40", addKey(SDLK_z), emptyKey, @@ -1933,7 +2142,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut41", addKey(SDLK_x), emptyKey, @@ -1942,7 +2152,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut42", addKey(SDLK_c), emptyKey, @@ -1951,7 +2162,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut43", addKey(SDLK_v), emptyKey, @@ -1960,7 +2172,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut44", addKey(SDLK_b), emptyKey, @@ -1969,7 +2182,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut45", addKey(SDLK_n), emptyKey, @@ -1978,7 +2192,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut46", addKey(SDLK_m), emptyKey, @@ -1987,7 +2202,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut47", addKey(SDLK_COMMA), emptyKey, @@ -1996,7 +2212,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMoveToPointShortcut48", addKey(SDLK_PERIOD), emptyKey, @@ -2005,7 +2222,8 @@ static const InputActionData inputActionData InputAction::MOVE_TO_POINT, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyChat", addKey(SDLK_RETURN), emptyKey, @@ -2015,7 +2233,8 @@ static const InputActionData inputActionData InputCondition::NOINPUT | InputCondition::NOAWAY | InputCondition::NOMODAL | InputCondition::INGAME, "chat", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChatScrollUp", addKey(SDLK_PAGEUP), emptyKey, @@ -2024,7 +2243,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT | InputCondition::INGAME, "chatscrollup", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChatScrollDown", addKey(SDLK_PAGEDOWN), emptyKey, @@ -2033,7 +2253,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT | InputCondition::INGAME, "chatscrolldown", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChatPrevTab", addKey(SDLK_KP7), emptyKey, @@ -2042,7 +2263,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::NOINPUT | InputCondition::INGAME, "prevtab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChatNextTab", addKey(SDLK_KP9), emptyKey, @@ -2051,7 +2273,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::NOINPUT | InputCondition::INGAME, "nexttab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChatCloseTab", emptyKey, emptyKey, @@ -2060,7 +2283,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::NOINPUT | InputCondition::INGAME, "close", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChatPrevHistory", addKey(SDLK_KP7), emptyKey, @@ -2069,7 +2293,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT | InputCondition::INGAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChatNextHistory", addKey(SDLK_KP9), emptyKey, @@ -2078,7 +2303,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT | InputCondition::INGAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyIgnoreInput1", #ifdef USE_SDL2 emptyKey, @@ -2091,7 +2317,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 500, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyIgnoreInput2", #ifdef USE_SDL2 emptyKey, @@ -2104,27 +2331,32 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 500, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyDirectUp", defaultAction(&Actions::directUp), InputCondition::GAME, "directup|turnup", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDirectDown", defaultAction(&Actions::directDown), InputCondition::GAME, "directdown|turndown", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDirectLeft", defaultAction(&Actions::directLeft), InputCondition::GAME, "directleft|turnleft", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDirectRight", defaultAction(&Actions::directRight), InputCondition::GAME, "directright|turnright", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyCrazyMoves", addKey(SDLK_SLASH), emptyKey, @@ -2133,7 +2365,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::VALIDSPEED, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyChangeCrazyMoveType", addKey(SDLK_BACKSLASH), emptyKey, @@ -2143,7 +2376,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::VALIDSPEED | InputCondition::EMODS, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyQuickDrop", addKey(SDLK_y), emptyKey, @@ -2152,7 +2386,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::VALIDSPEED, "drop", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyQuickDropN", addKey(SDLK_u), emptyKey, @@ -2161,7 +2396,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::VALIDSPEED, "dropn", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keySwitchQuickDrop", addKey(SDLK_i), emptyKey, @@ -2170,7 +2406,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::VALIDSPEED, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyMagicInma1", addKey(SDLK_c), emptyKey, @@ -2179,7 +2416,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::VALIDSPEED, "heal", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyMagicItenplz", addKey(SDLK_m), emptyKey, @@ -2188,7 +2426,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::VALIDSPEED, "itenplz", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyMagicAttack", addKey(SDLK_b), emptyKey, @@ -2198,7 +2437,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::NOFOLLOW | InputCondition::VALIDSPEED, "magicattack", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keySwitchMagicAttack", addKey(SDLK_COMMA), emptyKey, @@ -2208,19 +2448,22 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::VALIDSPEED | InputCondition::EMODS, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keySwitchPvpAttack", defaultAction(&Actions::changePvpMode), InputCondition::GAME | InputCondition::VALIDSPEED | InputCondition::EMODS, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyInvertDirection", defaultAction(&Actions::changeMoveType), InputCondition::GAME | InputCondition::VALIDSPEED | InputCondition::EMODS, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChangeAttackWeaponType", addKey(SDLK_g), emptyKey, @@ -2230,7 +2473,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::VALIDSPEED | InputCondition::EMODS, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyChangeAttackType", addKey(SDLK_END), emptyKey, @@ -2240,7 +2484,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::VALIDSPEED | InputCondition::EMODS, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyChangeFollowMode", addKey(SDLK_KP1), emptyKey, @@ -2250,7 +2495,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::VALIDSPEED | InputCondition::EMODS, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyChangeImitationMode", addKey(SDLK_KP4), emptyKey, @@ -2260,7 +2506,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::VALIDSPEED | InputCondition::EMODS, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyDisableGameModifiers", addKey(SDLK_KP8), emptyKey, @@ -2269,7 +2516,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::VALIDSPEED, "", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyChangeAudio", addKey(SDLK_KP3), emptyKey, @@ -2278,7 +2526,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::VALIDSPEED, "audio", - UseArgs_false}, + UseArgs_false, + Protected_true}, {"keyAway", addKey(SDLK_KP2), emptyKey, @@ -2287,7 +2536,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::VALIDSPEED, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyRightClick", addKey(SDLK_TAB), emptyKey, @@ -2297,7 +2547,8 @@ static const InputActionData inputActionData InputCondition::NOINPUT | InputCondition::NOAWAY | InputCondition::NOMODAL | InputCondition::INGAME, "rightclick", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyCameraMode", addKey(SDLK_KP_PLUS), emptyKey, @@ -2307,7 +2558,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::VALIDSPEED | InputCondition::EMODS, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyMod", emptyKey, emptyKey, @@ -2316,7 +2568,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIUp", addKey(SDLK_UP), emptyKey, @@ -2325,7 +2578,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIDown", addKey(SDLK_DOWN), emptyKey, @@ -2334,7 +2588,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUILeft", addKey(SDLK_LEFT), emptyKey, @@ -2343,7 +2598,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIRight", addKey(SDLK_RIGHT), emptyKey, @@ -2352,7 +2608,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUISelect", addKey(SDLK_SPACE), emptyKey, @@ -2361,7 +2618,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUISelect2", addKey(SDLK_RETURN), emptyKey, @@ -2370,7 +2628,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUICancel", addKey(SDLK_ESCAPE), #if defined(USE_SDL2) && defined(ANDROID) @@ -2383,7 +2642,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIHome", addKey(SDLK_HOME), emptyKey, @@ -2392,7 +2652,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIEnd", addKey(SDLK_END), emptyKey, @@ -2401,7 +2662,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIDelete", addKey(SDLK_DELETE), emptyKey, @@ -2410,7 +2672,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIBackSpace", addKey(SDLK_BACKSPACE), emptyKey, @@ -2419,7 +2682,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUITab", addKey(SDLK_TAB), emptyKey, @@ -2428,7 +2692,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIPageUp", addKey(SDLK_PAGEUP), emptyKey, @@ -2437,7 +2702,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIPageDown", addKey(SDLK_PAGEDOWN), emptyKey, @@ -2446,7 +2712,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIInsert", addKey(SDLK_INSERT), emptyKey, @@ -2455,7 +2722,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIMod", addKey(SDLK_LSHIFT), addKey(SDLK_RSHIFT), @@ -2464,7 +2732,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keySafeVideo", addKey(SDLK_KP_MINUS), emptyKey, @@ -2473,22 +2742,26 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyStopSit", defaultAction(&Actions::stopSit), InputCondition::DEFAULT | InputCondition::INGAME, "sit2", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyShowKeyboard", defaultAction(&Actions::showKeyboard), InputCondition::DEFAULT, "showkeyboard", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyShowWindows", defaultAction(&Actions::showWindows), InputCondition::DEFAULT, "showwindows", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChatMod", addKey(SDLK_LSHIFT), emptyKey, @@ -2497,12 +2770,14 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT | InputCondition::INGAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyMoveForward", defaultAction(&Actions::moveForward), InputCondition::ARROWKEYS, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUICtrl", addKey(SDLK_LCTRL), addKey(SDLK_RCTRL), @@ -2511,7 +2786,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIb", addKey(SDLK_b), emptyKey, @@ -2520,7 +2796,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIc", addKey(SDLK_c), emptyKey, @@ -2529,7 +2806,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUId", addKey(SDLK_d), emptyKey, @@ -2538,7 +2816,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIe", addKey(SDLK_e), emptyKey, @@ -2547,7 +2826,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIf", addKey(SDLK_f), emptyKey, @@ -2556,7 +2836,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIh", addKey(SDLK_h), emptyKey, @@ -2565,7 +2846,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIk", addKey(SDLK_k), emptyKey, @@ -2574,7 +2856,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIu", addKey(SDLK_u), emptyKey, @@ -2583,7 +2866,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIv", addKey(SDLK_v), emptyKey, @@ -2592,7 +2876,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIw", addKey(SDLK_w), emptyKey, @@ -2601,7 +2886,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyShortcutsPrevTab", emptyKey, emptyKey, @@ -2610,7 +2896,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::NOINPUT | InputCondition::INGAME, "shortcutprevtab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyShortcutsNextTab", emptyKey, emptyKey, @@ -2619,7 +2906,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::NOINPUT | InputCondition::INGAME, "shortcutnexttab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyCommandsPrevTab", emptyKey, emptyKey, @@ -2628,7 +2916,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::NOINPUT | InputCondition::INGAME, "commandsprevtab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyCommandsNextTab", emptyKey, emptyKey, @@ -2637,12 +2926,14 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::NOINPUT | InputCondition::INGAME, "commandsnexttab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyOpenTrade", defaultAction(&Actions::openTrade), InputCondition::GAME | InputCondition::NOTARGET, "trade", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIF1", addKey(SDLK_F1), emptyKey, @@ -2651,7 +2942,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIF2", addKey(SDLK_F2), emptyKey, @@ -2660,7 +2952,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIF3", addKey(SDLK_F3), emptyKey, @@ -2669,7 +2962,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIF4", addKey(SDLK_F4), emptyKey, @@ -2678,7 +2972,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIF5", addKey(SDLK_F5), emptyKey, @@ -2687,7 +2982,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIF6", addKey(SDLK_F6), emptyKey, @@ -2696,7 +2992,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIF7", addKey(SDLK_F7), emptyKey, @@ -2705,7 +3002,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIF8", addKey(SDLK_F8), emptyKey, @@ -2714,7 +3012,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIF9", addKey(SDLK_F9), emptyKey, @@ -2723,7 +3022,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIF10", addKey(SDLK_F10), emptyKey, @@ -2732,7 +3032,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIF11", addKey(SDLK_F11), emptyKey, @@ -2741,7 +3042,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGUIF12", addKey(SDLK_F12), emptyKey, @@ -2750,7 +3052,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::DEFAULT, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowAbout", emptyKey, emptyKey, @@ -2759,7 +3062,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT0, "about", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowUpdater", emptyKey, emptyKey, @@ -2768,7 +3072,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME, "updater", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyTargetClosestMonster", emptyKey, emptyKey, @@ -2778,7 +3083,8 @@ static const InputActionData inputActionData InputCondition::GAME | InputCondition::NOTARGET | InputCondition::VALIDSPEED, "targetclosestmonster", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChatCloseAllTabs", emptyKey, emptyKey, @@ -2787,7 +3093,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::INGAME, "closeall", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChatIgnoreAllWhispers", emptyKey, emptyKey, @@ -2796,7 +3103,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::INGAME, "ignoreallwhispers", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChatAnnounce", emptyKey, emptyKey, @@ -2805,323 +3113,387 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::INGAME, "announce", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyIpcToggle", defaultAction(&Actions::ipcToggle), InputCondition::INGAME, "ipctoggle", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWhere", defaultAction(&Actions::where), InputCondition::INGAME, "where", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWho", defaultAction(&Actions::who), InputCondition::INGAME, "who", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWhisper", defaultAction(&Actions::msg), InputCondition::INGAME, "w|whisper|msg", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyQuery", defaultAction(&Actions::query), InputCondition::INGAME, "q|query|j|join", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyClearChatTab", defaultAction(&Actions::clearChatTab), InputCondition::INGAME, "clear", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyIgnore", defaultAction(&Actions::chatIgnore), InputCondition::INGAME, "ignore", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyUnignore", defaultAction(&Actions::chatUnignore), InputCondition::INGAME, "unignore", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyFriend", defaultAction(&Actions::chatFriend), InputCondition::INGAME, "friend|befriend", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyDisregard", defaultAction(&Actions::chatDisregard), InputCondition::INGAME, "disregard", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyNeutral", defaultAction(&Actions::chatNeutral), InputCondition::INGAME, "neutral", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyBlacklist", defaultAction(&Actions::chatBlackList), InputCondition::INGAME, "blacklist", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyEnemy", defaultAction(&Actions::chatEnemy), InputCondition::INGAME, "enemy", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyErase", defaultAction(&Actions::chatErase), InputCondition::INGAME, "erase", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyCleanGraphics", defaultAction(&Actions::cleanGraphics), InputCondition::INGAME, "cleangraphics", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyCleanFonts", defaultAction(&Actions::cleanFonts), InputCondition::INGAME, "cleanfonts", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyCreateParty", defaultAction(&Actions::createParty), InputCondition::INGAME, "createparty", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyCreateGuild", defaultAction(&Actions::createGuild), InputCondition::INGAME, "createguild", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyParty", defaultAction(&Actions::party), InputCondition::INGAME, "party", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyMe", defaultAction(&Actions::me), InputCondition::INGAME, "me", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyToggle", defaultAction(&Actions::toggle), InputCondition::INGAME, "toggle", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPresent", defaultAction(&Actions::present), InputCondition::INGAME, "present", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPrintAll", defaultAction(&Actions::printAll), InputCondition::INGAME, "all", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyMove", defaultAction(&Actions::move), InputCondition::INGAME, "move", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keySetTarget", defaultAction(&Actions::setTarget), InputCondition::INGAME, "target", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyAttackHuman", defaultAction(&Actions::attackHuman), InputCondition::GAME | InputCondition::NOFOLLOW | InputCondition::VALIDSPEED, "atkhuman", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyOutfit", defaultAction(&Actions::commandOutfit), InputCondition::INGAME, "outfit", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyEmote", defaultAction(&Actions::commandEmote), InputCondition::INGAME, "emote", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyEmotePet", defaultAction(&Actions::commandEmotePet), InputCondition::INGAME, "emotepet", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyAwayMessage", defaultAction(&Actions::awayMessage), InputCondition::INGAME, "away", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyPseudoAway", defaultAction(&Actions::pseudoAway), InputCondition::INGAME, "pseudoaway", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyFollow", defaultAction(&Actions::follow), InputCondition::INGAME, "follow", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyNavigate", defaultAction(&Actions::navigate), InputCondition::INGAME, "navigate", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyImitation", defaultAction(&Actions::imitation), InputCondition::INGAME, "imitation", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keySendMail", defaultAction(&Actions::sendMail), InputCondition::INGAME, "sendmail|mailsend|mailto", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyTradeCommand", defaultAction(&Actions::trade), InputCondition::INGAME, "trade", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyPriceLoad", defaultAction(&Actions::priceLoad), InputCondition::INGAME, "priceload", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPriceSave", defaultAction(&Actions::priceSave), InputCondition::INGAME, "pricesave", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyCacheInfo", defaultAction(&Actions::cacheInfo), InputCondition::INGAME, "cacheinfo", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDisconnect", defaultAction(&Actions::disconnect), InputCondition::INGAME, "disconnect", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyUndress", defaultAction(&Actions::undress), InputCondition::INGAME, "undress", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyDirs", defaultAction(&Actions::dirs), InputCondition::INGAME, "dirs", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyInfo", defaultAction(&Actions::info), InputCondition::INGAME, "info", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWait", defaultAction(&Actions::wait), InputCondition::INGAME, "wait", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyUptime", defaultAction(&Actions::uptime), InputCondition::INGAME, "uptime", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyAddPriorityAttack", defaultAction(&Actions::addPriorityAttack), InputCondition::INGAME, "addpriorityattack", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyAddAttack", defaultAction(&Actions::addAttack), InputCondition::INGAME, "addattack", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyRemoveAttack", defaultAction(&Actions::removeAttack), InputCondition::INGAME, "removeattack|removeignoreattack", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyAddIgnoreAttack", defaultAction(&Actions::addIgnoreAttack), InputCondition::INGAME, "addignoreattack", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyDump", defaultAction(&Actions::dump), InputCondition::INGAME, "dump", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyServerIgnoreAll", defaultAction(&Actions::serverIgnoreAll), InputCondition::INGAME, "serverignoreall", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyServerUnIgnoreAll", defaultAction(&Actions::serverUnIgnoreAll), InputCondition::INGAME, "serverunignoreall", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keySetDrop", defaultAction(&Actions::setDrop), InputCondition::INGAME, "setdrop", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyError", defaultAction(&Actions::error), InputCondition::INGAME, "error", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDumpg", defaultAction(&Actions::dumpGraphics), InputCondition::INGAME, "dumpg", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDumpe", defaultAction(&Actions::dumpEnvironment), InputCondition::INGAME, "dumpe", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDumpt", defaultAction(&Actions::dumpTests), InputCondition::INGAME, "dumpt", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDumpOGL", defaultAction(&Actions::dumpOGL), InputCondition::INGAME, "dumpogl", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDumpGL", defaultAction(&Actions::dumpGL), InputCondition::INGAME, "dumpgl", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDumpMods", defaultAction(&Actions::dumpMods), InputCondition::INGAME, "dumpMods", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyUrl", defaultAction(&Actions::url), InputCondition::INGAME, "url", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyOpenUrl", defaultAction(&Actions::openUrl), InputCondition::INGAME, "open", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyExecute", defaultAction(&Actions::execute), InputCondition::INGAME, "execute", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyTestSdlFont", emptyKey, emptyKey, @@ -3138,92 +3510,110 @@ static const InputActionData inputActionData #else "", #endif - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyEnableHightlight", defaultAction(&Actions::enableHighlight), InputCondition::INGAME, "enablehighlight", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDisableHightlight", defaultAction(&Actions::disableHighlight), InputCondition::INGAME, "disablehighlight", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDontRemoveName", defaultAction(&Actions::dontRemoveName), InputCondition::INGAME, "dontremovename", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyRemoveName", defaultAction(&Actions::removeName), InputCondition::INGAME, "removename", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDisableAway", defaultAction(&Actions::disableAway), InputCondition::INGAME, "disableaway", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyEnableAway", defaultAction(&Actions::enableAway), InputCondition::INGAME, "enableaway", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyTestParticle", defaultAction(&Actions::testParticle), InputCondition::INGAME, "testparticle", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyCreateItems", defaultAction(&Actions::createItems), InputCondition::INGAME, "createitems", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyTalkRaw", defaultAction(&Actions::talkRaw), InputCondition::INGAME, "talkraw", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyTalkPet", defaultAction(&Actions::talkPet), InputCondition::INGAME, "talkpet", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyUploadConfig", defaultAction(&Actions::uploadConfig), InputCondition::INGAME, "uploadconfig", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyUploadServerConfig", defaultAction(&Actions::uploadServerConfig), InputCondition::INGAME, "uploadserverconfig", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyUploadLog", defaultAction(&Actions::uploadLog), InputCondition::INGAME, "uploadlog", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGm", defaultAction(&Actions::gm), InputCondition::INGAME, "gm", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyHack", defaultAction(&Actions::hack), InputCondition::INGAME, "hack", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyDebugSpawn", defaultAction(&Actions::debugSpawn), InputCondition::INGAME, "debugspawn", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyPetSmilie", defaultAction(nullptr), InputCondition::DEFAULT | InputCondition::INGAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut1", addKey(SDLK_1), emptyKey, @@ -3232,7 +3622,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut2", addKey(SDLK_2), emptyKey, @@ -3241,7 +3632,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut3", addKey(SDLK_3), emptyKey, @@ -3250,7 +3642,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut4", addKey(SDLK_4), emptyKey, @@ -3259,7 +3652,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut5", addKey(SDLK_5), emptyKey, @@ -3268,7 +3662,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut6", addKey(SDLK_6), emptyKey, @@ -3277,7 +3672,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut7", addKey(SDLK_7), emptyKey, @@ -3286,7 +3682,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut8", addKey(SDLK_8), emptyKey, @@ -3295,7 +3692,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut9", addKey(SDLK_9), emptyKey, @@ -3304,7 +3702,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut10", addKey(SDLK_0), emptyKey, @@ -3313,7 +3712,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut11", addKey(SDLK_MINUS), emptyKey, @@ -3322,7 +3722,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut12", addKey(SDLK_EQUALS), emptyKey, @@ -3331,7 +3732,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut13", addKey(SDLK_BACKSPACE), emptyKey, @@ -3340,7 +3742,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut14", addKey(SDLK_INSERT), emptyKey, @@ -3349,7 +3752,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut15", addKey(SDLK_HOME), emptyKey, @@ -3358,7 +3762,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut16", addKey(SDLK_q), emptyKey, @@ -3367,7 +3772,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut17", addKey(SDLK_w), emptyKey, @@ -3376,7 +3782,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut18", addKey(SDLK_e), emptyKey, @@ -3385,7 +3792,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut19", addKey(SDLK_r), emptyKey, @@ -3394,7 +3802,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut20", addKey(SDLK_t), emptyKey, @@ -3403,7 +3812,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut21", addKey(SDLK_y), emptyKey, @@ -3412,7 +3822,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut22", addKey(SDLK_u), emptyKey, @@ -3421,7 +3832,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut23", addKey(SDLK_i), emptyKey, @@ -3430,7 +3842,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut24", addKey(SDLK_o), emptyKey, @@ -3439,7 +3852,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut25", addKey(SDLK_p), emptyKey, @@ -3448,7 +3862,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut26", addKey(SDLK_LEFTBRACKET), emptyKey, @@ -3457,7 +3872,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut27", addKey(SDLK_RIGHTBRACKET), emptyKey, @@ -3466,7 +3882,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut28", addKey(SDLK_BACKSLASH), emptyKey, @@ -3475,7 +3892,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut29", addKey(SDLK_a), emptyKey, @@ -3484,7 +3902,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut30", addKey(SDLK_s), emptyKey, @@ -3493,7 +3912,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut31", addKey(SDLK_d), emptyKey, @@ -3502,7 +3922,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut32", addKey(SDLK_f), emptyKey, @@ -3511,7 +3932,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut33", addKey(SDLK_g), emptyKey, @@ -3520,7 +3942,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut34", addKey(SDLK_h), emptyKey, @@ -3529,7 +3952,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut35", addKey(SDLK_j), emptyKey, @@ -3538,7 +3962,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut36", addKey(SDLK_k), emptyKey, @@ -3547,7 +3972,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut37", addKey(SDLK_l), emptyKey, @@ -3556,7 +3982,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut38", addKey(SDLK_SEMICOLON), emptyKey, @@ -3565,7 +3992,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut39", addKey(SDLK_QUOTE), emptyKey, @@ -3574,7 +4002,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut40", addKey(SDLK_z), emptyKey, @@ -3583,7 +4012,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut41", addKey(SDLK_x), emptyKey, @@ -3592,7 +4022,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut42", addKey(SDLK_c), emptyKey, @@ -3601,7 +4032,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut43", addKey(SDLK_v), emptyKey, @@ -3610,7 +4042,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut44", addKey(SDLK_b), emptyKey, @@ -3619,7 +4052,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut45", addKey(SDLK_n), emptyKey, @@ -3628,7 +4062,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut46", addKey(SDLK_m), emptyKey, @@ -3637,7 +4072,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut47", addKey(SDLK_COMMA), emptyKey, @@ -3646,7 +4082,8 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetEmoteShortcut48", addKey(SDLK_PERIOD), emptyKey, @@ -3655,12 +4092,14 @@ static const InputActionData inputActionData InputAction::PET_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyCatchPet", defaultAction(&Actions::catchPet), InputCondition::INGAME, "catchpet|catch", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyChatServerIgnoreWhisper", emptyKey, emptyKey, @@ -3669,7 +4108,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::INGAME, "serverignore", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyChatServerUnIgnoreWhisper", emptyKey, emptyKey, @@ -3678,37 +4118,44 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::INGAME, "serverunignore", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyMercenaryFire", defaultAction(&Actions::mercenaryFire), InputCondition::INGAME, "mercenaryfire|firemercenary", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyTargetMercenary", defaultAction(&Actions::targetMercenary), InputCondition::INGAME | InputCondition::NOTARGET, "targetmercenary", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyTargetPet", defaultAction(&Actions::targetPet), InputCondition::INGAME | InputCondition::NOTARGET, "targetpet", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetSetName", defaultAction(&Actions::setPetName), InputCondition::INGAME, "setpetname|petsetname", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunculusSetName", defaultAction(&Actions::setHomunculusName), InputCondition::INGAME, "sethomunname|homunsetname|sethomunculusname|homunculussetname", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunculusFire", defaultAction(&Actions::fireHomunculus), InputCondition::INGAME, "firehomunculus|homunculusfire", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowBank", emptyKey, emptyKey, @@ -3717,7 +4164,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::SHORTCUT0, "bank|openbank", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyInventoryPrevTab", emptyKey, emptyKey, @@ -3726,7 +4174,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::NOINPUT | InputCondition::INGAME, "previnvtab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyInventoryNextTab", emptyKey, emptyKey, @@ -3735,268 +4184,321 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::NOINPUT | InputCondition::INGAME, "nextinvtab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyContextMenu", defaultAction(&Actions::contextMenu), InputCondition::NOINPUT | InputCondition::NOAWAY | InputCondition::NOMODAL | InputCondition::INGAME, "contextmenu", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyBuy", defaultAction(&Actions::buy), InputCondition::GAME, "buy", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keySell", defaultAction(&Actions::sell), InputCondition::GAME, "sell", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWhisper2", defaultAction(&Actions::msg2), InputCondition::INGAME, "w2|whisper2|msg2", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyGuild", defaultAction(&Actions::guild), InputCondition::INGAME, "guild", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyNuke", defaultAction(&Actions::chatNuke), InputCondition::INGAME, "nuke", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyUse", defaultAction(&Actions::useItem), InputCondition::INGAME, "use|useitem", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyChatAdd", defaultAction(&Actions::chatAdd), InputCondition::INGAME, "addchat|chatadd", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyWhisperText", defaultAction(&Actions::msgText), InputCondition::INGAME, "wt|whispertext|msgtext", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyNavigateTo", defaultAction(&Actions::navigateTo), InputCondition::INGAME, "navigateto", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyCameraMove", defaultAction(&Actions::moveCamera), InputCondition::INGAME, "movecamera|cameramove", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyDropItem", defaultAction(&Actions::dropItemId), InputCondition::INGAME, "dropitem", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyDropItemAll", defaultAction(&Actions::dropItemIdAll), InputCondition::INGAME, "dropitemall", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyDropInv", defaultAction(&Actions::dropItemInv), InputCondition::INGAME, "dropinv", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyDropInvAll", defaultAction(&Actions::dropItemInvAll), InputCondition::INGAME, "dropinvall", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyUseInv", defaultAction(&Actions::useItemInv), InputCondition::INGAME, "useinv", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyInvToStorage", defaultAction(&Actions::invToStorage), InputCondition::INGAME, "invtostorage|invstorage", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyTradeAdd", defaultAction(&Actions::tradeAdd), InputCondition::INGAME, "tradeadd|addtrade", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyStorageToInv", defaultAction(&Actions::storageToInv), InputCondition::INGAME, "storagetoinv|storageinv", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyProtectItem", defaultAction(&Actions::protectItem), InputCondition::INGAME, "protectitem|itemprotect", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyUnProtectItem", defaultAction(&Actions::unprotectItem), InputCondition::INGAME, "unprotectitem|itemunprotect", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyKickParty", defaultAction(&Actions::kickParty), InputCondition::INGAME, "kickparty|partykick", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyAddText", defaultAction(&Actions::addText), InputCondition::INGAME, "addtext|textadd", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyKick", defaultAction(&Actions::kick), InputCondition::INGAME, "kick", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyLeaveParty", defaultAction(&Actions::leaveParty), InputCondition::INGAME, "leaveparty|partyleave", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyWarp", defaultAction(&Actions::warp), InputCondition::INGAME, "warp", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyClearChat", defaultAction(&Actions::clearChat), InputCondition::INGAME, "clearchat|chatclear", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetMoveUp", defaultAction(&Actions::petMoveUp), InputCondition::INGAME, "petmoveup|moveuppet", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetMoveDown", defaultAction(&Actions::petMoveDown), InputCondition::INGAME, "petmovedown|movedownpet", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetMoveLeft", defaultAction(&Actions::petMoveLeft), InputCondition::INGAME, "petmoveleft|moveleftpet", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetMoveRight", defaultAction(&Actions::petMoveRight), InputCondition::INGAME, "petmoveright|moverightpet", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetDirectUp", defaultAction(&Actions::petDirectUp), InputCondition::INGAME, "petdirectup|directuppet", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetDirectDown", defaultAction(&Actions::petDirectDown), InputCondition::INGAME, "petdirectdown|directdownpet", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetDirectLeft", defaultAction(&Actions::petDirectLeft), InputCondition::INGAME, "petdirectleft|directleftpet", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetDirectRight", defaultAction(&Actions::petDirectRight), InputCondition::INGAME, "petdirectright|directrightpet", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetAiStart", defaultAction(&Actions::petAiStart), InputCondition::INGAME, "petaistart|startpetai|enablepetai|petaienable", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetAiStop", defaultAction(&Actions::petAiStop), InputCondition::INGAME, "petaistop|stoppetai|disablepetai|petaidisable", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGeneralTab", defaultAction(&Actions::chatGeneralTab), InputCondition::INGAME, "generaltab|generalchattab|general", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDebugTab", defaultAction(&Actions::chatDebugTab), InputCondition::INGAME, "debugtab|debugchattab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyBattleTab", defaultAction(&Actions::chatBattleTab), InputCondition::INGAME, "battletab|battlechattab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyTradeTab", defaultAction(&Actions::chatTradeTab), InputCondition::INGAME, "tradetab|tradechattab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyLangTab", defaultAction(&Actions::chatLangTab), InputCondition::INGAME, "langtab|langchattab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGmTab", defaultAction(&Actions::chatGmTab), InputCondition::INGAME, "gmtab|gmchattab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPartyTab", defaultAction(&Actions::chatPartyTab), InputCondition::INGAME, "partytab|partychattab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyGuildTab", defaultAction(&Actions::chatGuildTab), InputCondition::INGAME, "guildtab|guildchattab", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyDropClear", defaultAction(&Actions::clearDrop), InputCondition::INGAME, "cleardrops|cleardrop|cleardropwindow|dropclear|dropsclear", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowCart", defaultAction(&Actions::cartWindowShow), InputCondition::SHORTCUT0, "cart|opencart", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyMagicHealMostDamaged", defaultAction(&Actions::healmd), InputCondition::GAME | InputCondition::VALIDSPEED, "healmd|saveass", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyPetMove", defaultAction(&Actions::petMove), InputCondition::INGAME, "movepet|petmove", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyHomunTalk", defaultAction(&Actions::homunTalk), InputCondition::INGAME, "homuntalk|merctalk", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyHomunEmote", defaultAction(&Actions::commandHomunEmote), InputCondition::INGAME, "homunemote|mercemote", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyHomunSmilie", defaultAction(nullptr), InputCondition::DEFAULT | InputCondition::INGAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut1", addKey(SDLK_1), emptyKey, @@ -4005,7 +4507,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut2", addKey(SDLK_2), emptyKey, @@ -4014,7 +4517,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut3", addKey(SDLK_3), emptyKey, @@ -4023,7 +4527,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut4", addKey(SDLK_4), emptyKey, @@ -4032,7 +4537,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut5", addKey(SDLK_5), emptyKey, @@ -4041,7 +4547,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut6", addKey(SDLK_6), emptyKey, @@ -4050,7 +4557,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut7", addKey(SDLK_7), emptyKey, @@ -4059,7 +4567,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut8", addKey(SDLK_8), emptyKey, @@ -4068,7 +4577,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut9", addKey(SDLK_9), emptyKey, @@ -4077,7 +4587,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut10", addKey(SDLK_0), emptyKey, @@ -4086,7 +4597,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut11", addKey(SDLK_MINUS), emptyKey, @@ -4095,7 +4607,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut12", addKey(SDLK_EQUALS), emptyKey, @@ -4104,7 +4617,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut13", addKey(SDLK_BACKSPACE), emptyKey, @@ -4113,7 +4627,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut14", addKey(SDLK_INSERT), emptyKey, @@ -4122,7 +4637,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut15", addKey(SDLK_HOME), emptyKey, @@ -4131,7 +4647,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut16", addKey(SDLK_q), emptyKey, @@ -4140,7 +4657,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut17", addKey(SDLK_w), emptyKey, @@ -4149,7 +4667,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut18", addKey(SDLK_e), emptyKey, @@ -4158,7 +4677,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut19", addKey(SDLK_r), emptyKey, @@ -4167,7 +4687,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut20", addKey(SDLK_t), emptyKey, @@ -4176,7 +4697,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut21", addKey(SDLK_y), emptyKey, @@ -4185,7 +4707,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut22", addKey(SDLK_u), emptyKey, @@ -4194,7 +4717,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut23", addKey(SDLK_i), emptyKey, @@ -4203,7 +4727,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut24", addKey(SDLK_o), emptyKey, @@ -4212,7 +4737,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut25", addKey(SDLK_p), emptyKey, @@ -4221,7 +4747,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut26", addKey(SDLK_LEFTBRACKET), emptyKey, @@ -4230,7 +4757,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut27", addKey(SDLK_RIGHTBRACKET), emptyKey, @@ -4239,7 +4767,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut28", addKey(SDLK_BACKSLASH), emptyKey, @@ -4248,7 +4777,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut29", addKey(SDLK_a), emptyKey, @@ -4257,7 +4787,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut30", addKey(SDLK_s), emptyKey, @@ -4266,7 +4797,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut31", addKey(SDLK_d), emptyKey, @@ -4275,7 +4807,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut32", addKey(SDLK_f), emptyKey, @@ -4284,7 +4817,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut33", addKey(SDLK_g), emptyKey, @@ -4293,7 +4827,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut34", addKey(SDLK_h), emptyKey, @@ -4302,7 +4837,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut35", addKey(SDLK_j), emptyKey, @@ -4311,7 +4847,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut36", addKey(SDLK_k), emptyKey, @@ -4320,7 +4857,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut37", addKey(SDLK_l), emptyKey, @@ -4329,7 +4867,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut38", addKey(SDLK_SEMICOLON), emptyKey, @@ -4338,7 +4877,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut39", addKey(SDLK_QUOTE), emptyKey, @@ -4347,7 +4887,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut40", addKey(SDLK_z), emptyKey, @@ -4356,7 +4897,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut41", addKey(SDLK_x), emptyKey, @@ -4365,7 +4907,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut42", addKey(SDLK_c), emptyKey, @@ -4374,7 +4917,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut43", addKey(SDLK_v), emptyKey, @@ -4383,7 +4927,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut44", addKey(SDLK_b), emptyKey, @@ -4392,7 +4937,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut45", addKey(SDLK_n), emptyKey, @@ -4401,7 +4947,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut46", addKey(SDLK_m), emptyKey, @@ -4410,7 +4957,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut47", addKey(SDLK_COMMA), emptyKey, @@ -4419,7 +4967,8 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyHomunEmoteShortcut48", addKey(SDLK_PERIOD), emptyKey, @@ -4428,32 +4977,38 @@ static const InputActionData inputActionData InputAction::HOMUN_EMOTE, 100, InputCondition::GAME, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyKickGuild", defaultAction(&Actions::kickGuild), InputCondition::INGAME, "kickguild|guildkick", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyHat", defaultAction(&Actions::hat), InputCondition::INGAME, "hat|hats|showhat", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyCreatePublicRoom", defaultAction(&Actions::createPublicChatRoom), InputCondition::INGAME, "createroom|createpublicroom", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyJoinRoom", defaultAction(&Actions::joinChatRoom), InputCondition::INGAME, "joinroom", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyLeaveRoom", defaultAction(&Actions::leaveChatRoom), InputCondition::INGAME, "leaveroom", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowStatusBar", emptyKey, emptyKey, @@ -4462,7 +5017,8 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "yellowbar|quickoptions", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyWindowMail", emptyKey, emptyKey, @@ -4471,38 +5027,45 @@ static const InputActionData inputActionData InputAction::NO_VALUE, 50, InputCondition::GAME | InputCondition::NOTARGET, "mailwindow|mail", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyConfSet", defaultAction(&Actions::confSet), InputCondition::INGAME, "confset|setconf", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyServerConfSet", defaultAction(&Actions::serverConfSet), InputCondition::INGAME, "servconfset|setservconf", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyConfGet", defaultAction(&Actions::confGet), InputCondition::INGAME, "confget|getconf", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyServerConfGet", defaultAction(&Actions::serverConfGet), InputCondition::INGAME, "servconfget|getservconf", - UseArgs_true}, + UseArgs_true, + Protected_false}, {"keyChangeTargetingType", defaultAction(&Actions::changeTargetingType), InputCondition::GAME | InputCondition::VALIDSPEED | InputCondition::EMODS, "", - UseArgs_false}, + UseArgs_false, + Protected_false}, {"keyTestInfo", defaultAction(&Actions::testInfo), InputCondition::INGAME, "testinfo", - UseArgs_false}, + UseArgs_false, + Protected_false}, }; #undef defaultAction diff --git a/src/input/inputmanager.cpp b/src/input/inputmanager.cpp index a9d35fb64..27d15a366 100644 --- a/src/input/inputmanager.cpp +++ b/src/input/inputmanager.cpp @@ -811,6 +811,27 @@ bool InputManager::executeChatCommand(const std::string &cmd, return false; } +bool InputManager::executeRemoteChatCommand(const std::string &cmd, + const std::string &args, + ChatTab *const tab) +{ + const StringIntMapCIter it = mChatMap.find(cmd); + if (it != mChatMap.end()) + { + const InputActionData &data = inputActionData[(*it).second]; + if (data.isProtected == Protected_true) + return false; + ActionFuncPtr func = *(data.action); + if (func) + { + InputEvent evt(args, tab, mMask); + func(evt); + return true; + } + } + return false; +} + bool InputManager::executeChatCommand(const InputActionT keyNum, const std::string &args, ChatTab *const tab) diff --git a/src/input/inputmanager.h b/src/input/inputmanager.h index f8e09e664..cc571c372 100644 --- a/src/input/inputmanager.h +++ b/src/input/inputmanager.h @@ -134,6 +134,10 @@ class InputManager final const std::string &args, ChatTab *const tab); + bool executeRemoteChatCommand(const std::string &cmd, + const std::string &args, + ChatTab *const tab); + bool executeChatCommand(const InputActionT keyNum, const std::string &args, ChatTab *const tab); diff --git a/src/net/eathena/playerrecv.cpp b/src/net/eathena/playerrecv.cpp index d397a6577..f0a1dc4f4 100644 --- a/src/net/eathena/playerrecv.cpp +++ b/src/net/eathena/playerrecv.cpp @@ -357,7 +357,7 @@ void PlayerRecv::processPlayerClientCommand(Net::MessageIn &msg) cmd = command; args.clear(); } - inputManager.executeChatCommand(cmd, args, nullptr); + inputManager.executeRemoteChatCommand(cmd, args, nullptr); } void PlayerRecv::processOnlineList(Net::MessageIn &msg) -- cgit v1.2.3-60-g2f50