summaryrefslogtreecommitdiff
path: root/src/actions
diff options
context:
space:
mode:
Diffstat (limited to 'src/actions')
-rw-r--r--src/actions/actions.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/actions/actions.cpp b/src/actions/actions.cpp
index 03944500d..86191d51c 100644
--- a/src/actions/actions.cpp
+++ b/src/actions/actions.cpp
@@ -361,10 +361,21 @@ impHandler(heal)
{
if (actorManager && localPlayer)
{
- if (!event.args.empty())
+ std::string args = event.args;
+
+ if (!args.empty())
{
- const Being *const being = actorManager->findBeingByName(
- event.args, ActorType::Player);
+ const Being *being = nullptr;
+ if (args[0] == ':')
+ {
+ being = actorManager->findBeing(atoi(args.substr(1).c_str()));
+ if (being && being->getType() == ActorType::Monster)
+ being = nullptr;
+ }
+ else
+ {
+ being = actorManager->findBeingByName(args, ActorType::Player);
+ }
if (being)
actorManager->heal(being);
}