diff options
Diffstat (limited to 'src/actions/actions.cpp')
-rw-r--r-- | src/actions/actions.cpp | 17 |
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); } |