diff --git a/game/engine/Map.lua b/game/engine/Map.lua index 5a91ecca7955c9ae4b3e5c1fec2f44674f07a559..dd138d5db37edaf576aa74a31d0c5b4f3614fce6 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 3e6b1cf0d4db7f257295924141fbbf8c0eb4f764..70e26d2e745f109f80fa960d1a6e0ca1139997d8 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 570204669fac8d9e703a85c8a6f861da54dcab07..87322f53a3e052d5babc13e7906e7bed7441bbf6 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