summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/actions/pets.cpp17
-rw-r--r--src/actions/pets.h1
-rw-r--r--src/input/inputaction.h1
-rw-r--r--src/input/inputactionmap.h5
4 files changed, 24 insertions, 0 deletions
diff --git a/src/actions/pets.cpp b/src/actions/pets.cpp
index 109da80cd..2247e0533 100644
--- a/src/actions/pets.cpp
+++ b/src/actions/pets.cpp
@@ -191,4 +191,21 @@ impHandler0(petAiStop)
return true;
}
+impHandler0(petMove)
+{
+ const Being *const pet = getPet();
+ if (!pet)
+ return false;
+
+ int x = 0;
+ int y = 0;
+
+ if (parse2Int(event.args, x, y))
+ {
+ petHandler->move(pet->getId(), x, y);
+ return true;
+ }
+ return false;
+}
+
} // namespace Actions
diff --git a/src/actions/pets.h b/src/actions/pets.h
index ba8ef36d3..597be91f3 100644
--- a/src/actions/pets.h
+++ b/src/actions/pets.h
@@ -42,6 +42,7 @@ namespace Actions
decHandler(petDirectRight);
decHandler(petAiStart);
decHandler(petAiStop);
+ decHandler(petMove);
} // namespace Actions
#undef decHandler
diff --git a/src/input/inputaction.h b/src/input/inputaction.h
index 8ce40ffe2..ee91ed0f3 100644
--- a/src/input/inputaction.h
+++ b/src/input/inputaction.h
@@ -537,6 +537,7 @@ namespace InputAction
DROP_CLEAR,
WINDOW_CART,
HEAL_MOST_DAMAGED,
+ PET_MOVE,
TOTAL
};
} // namespace InputAction
diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h
index 57cd4d7fe..0c37a2936 100644
--- a/src/input/inputactionmap.h
+++ b/src/input/inputactionmap.h
@@ -3979,6 +3979,11 @@ static const InputActionData inputActionData[InputAction::TOTAL] = {
InputCondition::GAME | InputCondition::VALIDSPEED,
"healmd|saveass",
false},
+ {"keyPetMove",
+ defaultAction(&Actions::petMove),
+ InputCondition::INGAME,
+ "movepet|petmove",
+ true},
};
#undef defaultAction