From 10816f4ccda3ee84f4af886173a777fb44c9cc92 Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Tue, 5 Jan 2010 23:38:52 +0000
Subject: [PATCH]                                               fix

git-svn-id: http://svn.net-core.org/repos/t-engine4@206 51575b47-30f0-44d4-a5cc-537603b46e54
---
 game/engine/Map.lua    | 6 +++---
 game/engine/Target.lua | 3 +++
 game/engine/Zone.lua   | 1 +
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/game/engine/Map.lua b/game/engine/Map.lua
index 5a91ecca79..dd138d5db3 100644
--- a/game/engine/Map.lua
+++ b/game/engine/Map.lua
@@ -255,11 +255,11 @@ function _M:display()
 					if e.faction then
 						friend = Faction:factionReaction(self.view_faction, e.faction)
 						if friend > 0 then
-							self.tiles:get(nil, 0,0,0, 0,0,0, self.faction_friend):toScreen(self.display_x + (i - self.mx) * self.tile_w, (j - self.my) * self.tile_h, self.tile_w, self.tile_h)
+							self.tiles:get(nil, 0,0,0, 0,0,0, self.faction_friend):toScreen(self.display_x + (i - self.mx) * self.tile_w, self.display_y + (j - self.my) * self.tile_h, self.tile_w, self.tile_h)
 						elseif friend < 0 then
-							self.tiles:get(nil, 0,0,0, 0,0,0, self.faction_enemy):toScreen(self.display_x + (i - self.mx) * self.tile_w, (j - self.my) * self.tile_h, self.tile_w, self.tile_h)
+							self.tiles:get(nil, 0,0,0, 0,0,0, self.faction_enemy):toScreen(self.display_x + (i - self.mx) * self.tile_w, self.display_y + (j - self.my) * self.tile_h, self.tile_w, self.tile_h)
 						else
-							self.tiles:get(nil, 0,0,0, 0,0,0, self.faction_neutral):toScreen(self.display_x + (i - self.mx) * self.tile_w, (j - self.my) * self.tile_h, self.tile_w, self.tile_h)
+							self.tiles:get(nil, 0,0,0, 0,0,0, self.faction_neutral):toScreen(self.display_x + (i - self.mx) * self.tile_w, self.display_y + (j - self.my) * self.tile_h, self.tile_w, self.tile_h)
 						end
 					end
 				end
diff --git a/game/engine/Target.lua b/game/engine/Target.lua
index 3e6b1cf0d4..70e26d2e74 100644
--- a/game/engine/Target.lua
+++ b/game/engine/Target.lua
@@ -35,6 +35,8 @@ function _M:display()
 	if self.target.entity and self.target.entity.x and self.target.entity.y and game.level.map.seens(self.target.entity.x, self.target.entity.y) then
 		self.target.x, self.target.y = self.target.entity.x, self.target.entity.y
 	end
+	self.target.x = self.target.x or self.source_actor.x
+	self.target.y = self.target.y or self.source_actor.y
 
 	-- Do not display if not requested
 	if not self.active then return end
@@ -54,6 +56,7 @@ function _M:display()
 		s:toScreen(self.display_x + (lx - game.level.map.mx) * self.tile_w, self.display_y + (ly - game.level.map.my) * self.tile_h)
 		lx, ly = l()
 	end
+	print(self.display_x, self.display_y, "::", self.display_x + (self.target.x - game.level.map.mx) * self.tile_w, self.display_y + (self.target.y - game.level.map.my) * self.tile_h)
 	self.cursor:toScreen(self.display_x + (self.target.x - game.level.map.mx) * self.tile_w, self.display_y + (self.target.y - game.level.map.my) * self.tile_h, self.tile_w, self.tile_h)
 
 	if s == self.b then stopx, stopy = self.target.x, self.target.y end
diff --git a/game/engine/Zone.lua b/game/engine/Zone.lua
index 570204669f..87322f53a3 100644
--- a/game/engine/Zone.lua
+++ b/game/engine/Zone.lua
@@ -96,6 +96,7 @@ function _M:checkFilter(e, filter)
 
 	if filter.type and filter.type ~= e.type then return false end
 	if filter.subtype and filter.subtype ~= e.subtype then return false end
+	if filter.name and filter.name ~= e.name then return false end
 	return true
 end
 
-- 
GitLab