summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/actions/commands.cpp14
-rw-r--r--src/actions/commands.h1
-rw-r--r--src/input/inputaction.h1
-rw-r--r--src/input/inputactionmap.h9
4 files changed, 25 insertions, 0 deletions
diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp
index 07cd0c64e..b90a801d1 100644
--- a/src/actions/commands.cpp
+++ b/src/actions/commands.cpp
@@ -23,6 +23,7 @@
#include "actormanager.h"
#include "configuration.h"
#include "flooritem.h"
+#include "game.h"
#include "inventory.h"
#include "item.h"
#include "party.h"
@@ -821,4 +822,17 @@ impHandler0(leaveParty)
return true;
}
+impHandler(warp)
+{
+ int x = 0;
+ int y = 0;
+
+ if (Game::instance() && parse2Int(event.args, x, y))
+ {
+ adminHandler->warp(Game::instance()->getCurrentMapName(),
+ x, y);
+ }
+ return true;
+}
+
} // namespace Actions
diff --git a/src/actions/commands.h b/src/actions/commands.h
index 3b69535a3..245b514a2 100644
--- a/src/actions/commands.h
+++ b/src/actions/commands.h
@@ -81,6 +81,7 @@ namespace Actions
decHandler(setHomunculusName);
decHandler(fireHomunculus);
decHandler(leaveParty);
+ decHandler(warp);
} // namespace Actions
#undef decHandler
diff --git a/src/input/inputaction.h b/src/input/inputaction.h
index e4f96d06a..4de3c7cb4 100644
--- a/src/input/inputaction.h
+++ b/src/input/inputaction.h
@@ -514,6 +514,7 @@ namespace InputAction
ADD_TEXT,
KICK,
LEAVE_PARTY,
+ WARP,
TOTAL
};
} // namespace InputAction
diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h
index e93d6029c..ac54eaedb 100644
--- a/src/input/inputactionmap.h
+++ b/src/input/inputactionmap.h
@@ -4369,6 +4369,15 @@ static const InputActionData inputActionData[InputAction::TOTAL] = {
InputCondition::INGAME,
"leaveparty|partyleave",
true},
+ {"keyWarp",
+ InputType::UNKNOWN, InputAction::NO_VALUE,
+ InputType::UNKNOWN, InputAction::NO_VALUE,
+ Input::GRP_DEFAULT,
+ &Actions::warp,
+ InputAction::NO_VALUE, 50,
+ InputCondition::INGAME,
+ "warp",
+ true},
};
#endif // INPUT_INPUTACTIONMAP_H