From 16b5c64933bf29d8e56e0d989ebab18ddae143a8 Mon Sep 17 00:00:00 2001 From: Joseph Botosh Date: Tue, 17 Feb 2015 21:47:01 +0200 Subject: Add key to heal most damaged player --- src/actormanager.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/actormanager.cpp') diff --git a/src/actormanager.cpp b/src/actormanager.cpp index ec9ec41ba..fb999ac68 100644 --- a/src/actormanager.cpp +++ b/src/actormanager.cpp @@ -1280,6 +1280,40 @@ void ActorManager::heal(const Being *const target) const } } +Being* ActorManager::findMostDamagedPlayer() const +{ + if (!localPlayer) + return nullptr; + + int maxDamageTaken = 0; + Being *target = nullptr; + + for_actors + { + if ((*it)->getType() != ActorType::Player) + continue; + + Being *const being = static_cast(*it); + + if ((!being) || (!being->isAlive()) || // don't heal dead + (player_relations.getRelation(being->getName()) == + PlayerRelation::ENEMY2) || // don't heal enemy + (localPlayer == being)) // don't heal self + { + continue; + } + + + if (being->getDamageTaken() > maxDamageTaken) + { + maxDamageTaken = being->getDamageTaken(); + target = being; + } + } + + return target; +} + void ActorManager::itenplz() const { if (!localPlayer || !chatWindow || !localPlayer->isAlive() -- cgit v1.2.3-70-g09d2