From decc93efaee0e7c5da45db4f08f18572a10ae419 Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Sat, 30 Jul 2011 16:29:02 +0000
Subject: [PATCH] Autotargetting will try to not default to a friendly target
 for attack talents

git-svn-id: http://svn.net-core.org/repos/t-engine4@4028 51575b47-30f0-44d4-a5cc-537603b46e54
---
 .../default/engine/interface/GameTargeting.lua   | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/game/engines/default/engine/interface/GameTargeting.lua b/game/engines/default/engine/interface/GameTargeting.lua
index 6dd8accbf7..ca571085e5 100644
--- a/game/engines/default/engine/interface/GameTargeting.lua
+++ b/game/engines/default/engine/interface/GameTargeting.lua
@@ -135,8 +135,20 @@ function _M:targetMode(v, msg, co, typ)
 			self.key = self.targetmode_key
 			self.key:setCurrent()
 
-			if self.target_no_star_scan or (self.target.target.entity and self.level.map.seens(self.target.target.entity.x, self.target.target.entity.y) and self.player ~= self.target.target.entity) then
-			else
+			local do_scan = true
+			if self.target_no_star_scan
+			   or (
+			       self.target.target.entity and
+			       self.level.map.seens(self.target.target.entity.x, self.target.target.entity.y) and
+			       self.player ~= self.target.target.entity
+			      ) then
+
+				if type(typ) == "table" and typ.first_target ~= "friend" and self.player:reactionToward(self.target.target.entity) >= 0 then
+				else
+					do_scan = false
+				end
+			end
+			if do_scan then
 				local filter = nil
 				if type(typ) == "table" and typ.first_target and typ.first_target == "friend" then
 					filter = function(a) return self.player:reactionToward(a) >= 0 end
-- 
GitLab