diff options
Diffstat (limited to 'src/actions')
-rw-r--r-- | src/actions/actions.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/actions/actions.cpp b/src/actions/actions.cpp index 2eda2b6f3..251204df4 100644 --- a/src/actions/actions.cpp +++ b/src/actions/actions.cpp @@ -236,7 +236,14 @@ impHandler0(heal) { if (actorManager) { - if (inputManager.isActionActive(InputAction::STOP_ATTACK)) + if (!event.args.empty()) + { + const Being *const being = actorManager->findBeingByName( + event.args, ActorType::PLAYER); + if (being) + actorManager->heal(being); + } + else if (inputManager.isActionActive(InputAction::STOP_ATTACK)) { Being *target = localPlayer->getTarget(); if (!target || target->getType() != ActorType::PLAYER) @@ -247,8 +254,11 @@ impHandler0(heal) localPlayer->setTarget(target); } } + else + { + actorManager->heal(localPlayer); + } - actorManager->healTarget(); if (Game::instance()) Game::instance()->setValidSpeed(); return true; |