diff --git a/game/engines/default/engine/Map.lua b/game/engines/default/engine/Map.lua index e1ce023215946cb246f5fe0becde4a7b542e1e1f..a9f0de62f266efe780016ce5570651a52ca81978 100644 --- a/game/engines/default/engine/Map.lua +++ b/game/engines/default/engine/Map.lua @@ -700,16 +700,18 @@ function _M:checkEntity(x, y, pos, what, ...) end --- Lite all grids -function _M:liteAll(x, y, w, h) +function _M:liteAll(x, y, w, h, v) + if v == nil then v = true end for i = x, x + w - 1 do for j = y, y + h - 1 do - self.lites(i, j, true) + self.lites(i, j, v) end end end --- Remember all grids -function _M:rememberAll(x, y, w, h) +function _M:rememberAll(x, y, w, h, v) + if v == nil then v = true end for i = x, x + w - 1 do for j = y, y + h - 1 do - self.remembers(i, j, true) + self.remembers(i, j, v) end end end diff --git a/game/engines/default/engine/UserChat.lua b/game/engines/default/engine/UserChat.lua index 2ec2da70a9d7d2c7b39afc6b5922b226232ead81..1763709e65011a62e709fb26e3761470847c54d8 100644 --- a/game/engines/default/engine/UserChat.lua +++ b/game/engines/default/engine/UserChat.lua @@ -412,15 +412,16 @@ function _M:mouseEvent(button, x, y, xrel, yrel, bx, by, event) else if not self.on_mouse or not self.dlist then return end local citem = nil + local ci for i = 1, #self.dlist do local item = self.dlist[i] - if item.dh and by >= item.dh - self.mouse.delegate_offset_y then citem = self.dlist[i].src break end + if item.dh and by >= item.dh - self.mouse.delegate_offset_y then citem = self.dlist[i].src ci=i break end end print("================================") util.show_backtrace() for i = 1, #self.dlist do local item = self.dlist[i] - if item.dh then print("===", y, by, item.dh - self.mouse.delegate_offset_y) end + if item.dh then print("===", y, by, item.dh - self.mouse.delegate_offset_y, ci==i and "*****" or "") end end self.on_mouse(citem and citem.login and self.channels[self.cur_channel].users[citem.login], citem and citem.login and citem, button, event, x, y, xrel, yrel, bx, by) end diff --git a/game/modules/tome/class/uiset/Minimalist.lua b/game/modules/tome/class/uiset/Minimalist.lua index 0b2275e70fea73ec0c2cbadbd015d39078ff47ab..f568cb353060cb535a71395418ac0b8743177a6a 100644 --- a/game/modules/tome/class/uiset/Minimalist.lua +++ b/game/modules/tome/class/uiset/Minimalist.lua @@ -1784,6 +1784,7 @@ function _M:setupMouse(mouse) -- Chat tooltips profile.chat:onMouse(function(user, item, button, event, x, y, xrel, yrel, bx, by) local mx, my = core.mouse.get() + print(">>??", item, user, item and item.faded) if not item or not user or item.faded == 0 then game.mouse:delegate(button, mx, my, xrel, yrel, nil, nil, event, "playmap") return end local str = tstring{{"color","GOLD"}, {"font","bold"}, user.name, {"color","LAST"}, {"font","normal"}, true} @@ -1808,6 +1809,7 @@ function _M:setupMouse(mouse) extra.add_map_action = { name="Show chat user", fct=function() profile.chat:showUserInfo(user.login) end } end end + game.tooltip.old_tmx = -100 game.mouse:delegate(button, mx, my, xrel, yrel, nil, nil, event, "playmap", extra) end) end diff --git a/game/modules/tome/data/achievements/player.lua b/game/modules/tome/data/achievements/player.lua index c4991a0d030f92fcb7994c6a02004260ed9671c8..ab64057f6098b35905d83ccd96225a852f12b435 100644 --- a/game/modules/tome/data/achievements/player.lua +++ b/game/modules/tome/data/achievements/player.lua @@ -100,3 +100,9 @@ newAchievement{ show = "name", desc = [[Linking yourself in the ingame chat.]], } + +newAchievement{ + name = "Fear me not!", id = "FEARSCAPE", + show = "full", + desc = [[Survive the Fearscape!]], +} diff --git a/game/modules/tome/data/talents/corruptions/shadowflame.lua b/game/modules/tome/data/talents/corruptions/shadowflame.lua index 3ad33e504b7e0940657ce320da076f85f39fb889..14d1a8be2296dd6fdcaeae2d46ad978f2978e546 100644 --- a/game/modules/tome/data/talents/corruptions/shadowflame.lua +++ b/game/modules/tome/data/talents/corruptions/shadowflame.lua @@ -207,6 +207,7 @@ newTalent{ game:onTickEnd(function() if self.demon_plane_on_die then self:demon_plane_on_die(unpack(args)) end self.on_die, self.demon_plane_on_die = self.demon_plane_on_die, nil + if not game.party:hasMember(self) then world:gainAchievement("FEARSCAPE", game:getPlayer(true)) end end) end @@ -223,7 +224,6 @@ newTalent{ end, deactivate = function(self, t, p) game:onTickEnd(function() - game.log("===exiting===") -- Collect objects local objs = {} for i = 0, game.level.map.w - 1 do for j = 0, game.level.map.h - 1 do