summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-02-25 18:02:39 +0300
committerAndrei Karas <akaras@inbox.ru>2015-02-25 18:02:39 +0300
commita69c102e06d14fa9071788d6d17b6e019d9b594b (patch)
treea4a2a5dea824e5745e3b6d2fe0c3acfc7c6b37ee
parenta08416d782bb9296578b2a69e4eb1e33f55523a4 (diff)
downloadmanaplus-a69c102e06d14fa9071788d6d17b6e019d9b594b.tar.gz
manaplus-a69c102e06d14fa9071788d6d17b6e019d9b594b.tar.bz2
manaplus-a69c102e06d14fa9071788d6d17b6e019d9b594b.tar.xz
manaplus-a69c102e06d14fa9071788d6d17b6e019d9b594b.zip
Add command for homunculus/mercenary talk.
New command: /homuntalk text Alias: /merctalk text
-rw-r--r--src/actions/commands.cpp12
-rw-r--r--src/actions/commands.h1
-rw-r--r--src/input/inputaction.h1
-rw-r--r--src/input/inputactionmap.h5
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