diff --git a/game/engines/default/engine/Tooltip.lua b/game/engines/default/engine/Tooltip.lua index 0e1765ff5b31595f95e961df2f3c594cdc58c260..0da59c031af65282d4c5a5cb8d4d74b256b3363c 100644 --- a/game/engines/default/engine/Tooltip.lua +++ b/game/engines/default/engine/Tooltip.lua @@ -70,6 +70,7 @@ function _M:set(str, ...) -- if locked change is forbiden if self.locked then return end self.pingpong = 0 + str = str or {} if type(str) == "string" then str = ... and str:format(...):toTString() or str:toTString() end if type(str) == "number" then str = tostring(str):toTString() end @@ -266,7 +267,7 @@ function _M:displayAtMap(tmx, tmy, mx, my, text, force, nb_keyframes) self.old_ttmx, self.old_ttmy = tmx, tmy self.old_turn = game.turn local ts = self:getTooltipAtMap(tmx, tmy, mx, my) - if ts then + if ts or self.add_map_str then self:set(ts) else self:erase() diff --git a/game/engines/default/engine/ai/simple.lua b/game/engines/default/engine/ai/simple.lua index ad96df0533e5294c63f801bd3dc7f91e9e8a6179..7798fef09ccbd8eefdba5f8e16203db7a944003c 100644 --- a/game/engines/default/engine/ai/simple.lua +++ b/game/engines/default/engine/ai/simple.lua @@ -30,7 +30,7 @@ newAI("move_simple", function(self) end) newAI("move_dmap", function(self) - if self.ai_target.actor then + if self.ai_target.actor and self.x and self.y then local a = self.ai_target.actor if self:hasLOS(a.x, a.y) then return self:runAI("move_simple") end diff --git a/game/engines/default/engine/utils.lua b/game/engines/default/engine/utils.lua index 8269816ceaba76080bee24ac4081f5745bd9266b..d3fcbc9730b1d5ff3d38f671752e824537c03c94 100644 --- a/game/engines/default/engine/utils.lua +++ b/game/engines/default/engine/utils.lua @@ -1286,6 +1286,8 @@ util = {} function util.clipOffset(w, h, total_w, total_h, loffset_x, loffset_y, dest_area) w, h = math.floor(w), math.floor(h) + total_w, total_h, loffset_x, loffset_y = math.floor(total_w), math.floor(total_h), math.floor(loffset_x), math.floor(loffset_y) + dest_area.w , dest_area.h = math.floor(dest_area.w), math.floor(dest_area.h) local clip_y_start = 0 local clip_y_end = 0 local clip_x_start = 0