From a252ebcd7e62ede0d0533d110f44664fee06520a Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Sat, 7 Apr 2012 21:14:43 +0000 Subject: [PATCH] New achievement: Fear me not! Fixed mouse-over for chat frame git-svn-id: http://svn.net-core.org/repos/t-engine4@5024 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/engines/default/engine/Map.lua | 10 ++++++---- game/engines/default/engine/UserChat.lua | 5 +++-- game/modules/tome/class/uiset/Minimalist.lua | 2 ++ game/modules/tome/data/achievements/player.lua | 6 ++++++ .../tome/data/talents/corruptions/shadowflame.lua | 2 +- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/game/engines/default/engine/Map.lua b/game/engines/default/engine/Map.lua index e1ce023215..a9f0de62f2 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 2ec2da70a9..1763709e65 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 0b2275e70f..f568cb3530 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 c4991a0d03..ab64057f60 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 3ad33e504b..14d1a8be22 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 -- GitLab