diff options
-rw-r--r-- | src/actions/commands.cpp | 12 | ||||
-rw-r--r-- | src/actions/commands.h | 1 | ||||
-rw-r--r-- | src/input/inputaction.h | 1 | ||||
-rw-r--r-- | src/input/inputactionmap.h | 5 |
4 files changed, 19 insertions, 0 deletions
diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp index ea9ef59e7..c879916a1 100644 --- a/src/actions/commands.cpp +++ b/src/actions/commands.cpp @@ -805,4 +805,16 @@ impHandler(warp) return true; } +impHandler(homunTalk) +{ + if (!serverFeatures->haveTalkPet()) + return false; + + std::string args = event.args; + if (findCutFirst(args, "/me ")) + args = textToMe(args); + homunculusHandler->talk(args); + return true; +} + } // namespace Actions diff --git a/src/actions/commands.h b/src/actions/commands.h index b67e4457b..de09f2633 100644 --- a/src/actions/commands.h +++ b/src/actions/commands.h @@ -79,6 +79,7 @@ namespace Actions decHandler(fireHomunculus); decHandler(leaveParty); decHandler(warp); + decHandler(homunTalk); } // namespace Actions #undef decHandler diff --git a/src/input/inputaction.h b/src/input/inputaction.h index ee91ed0f3..281022755 100644 --- a/src/input/inputaction.h +++ b/src/input/inputaction.h @@ -538,6 +538,7 @@ namespace InputAction WINDOW_CART, HEAL_MOST_DAMAGED, PET_MOVE, + HOMUN_TALK, TOTAL }; } // namespace InputAction diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h index 0c37a2936..7e8465781 100644 --- a/src/input/inputactionmap.h +++ b/src/input/inputactionmap.h @@ -3984,6 +3984,11 @@ static const InputActionData inputActionData[InputAction::TOTAL] = { InputCondition::INGAME, "movepet|petmove", true}, + {"keyHomunTalk", + defaultAction(&Actions::homunTalk), + InputCondition::INGAME, + "homuntalk|merctalk", + true}, }; #undef defaultAction |