From e6a39a2f43e6d5e81c22fae06437fb8d752eecad Mon Sep 17 00:00:00 2001 From: DarkGod <darkgod@net-core.org> Date: Mon, 6 Oct 2014 22:35:54 +0200 Subject: [PATCH] Status effects in tooltips will show charges, if any --- game/modules/tome/class/Actor.lua | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index 03b36a474d..88bb3ea465 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -1975,23 +1975,34 @@ function _M:tooltip(x, y, seen_by) local effother = tstring{} local effbeneficial = tstring{} + local desceffect = function(e, p, dur) + local dur = e.decrease > 0 and dur or nil + local charges = nil + if e.charges then charges = e.charges and tostring(e.charges(self, p)) end + + if dur and charges then return ("%s(%d, %s)"):format(e.desc, dur, charges) + elseif dur and not charges then return ("%s(%d)"):format(e.desc, dur) + elseif not dur and charges then return ("%s(%s)"):format(e.desc, charges) + else return e.desc end + end + for eff_id, p in pairs(self.tmp) do local e = self.tempeffect_def[eff_id] local dur = p.dur + 1 if e.status == "detrimental" then if e.type == "physical" then - effphysical:add(true, "- ", {"color", "LIGHT_RED"}, (e.decrease > 0) and ("%s(%d)"):format(e.desc,dur) or e.desc, {"color", "WHITE"} ) + effphysical:add(true, "- ", {"color", "LIGHT_RED"}, desceffect(e, p, dur), {"color", "WHITE"} ) elseif e.type == "magical" then - effmagical:add(true, "- ", {"color", "DARK_ORCHID"}, (e.decrease > 0) and ("%s(%d)"):format(e.desc,dur) or e.desc, {"color", "WHITE"} ) + effmagical:add(true, "- ", {"color", "DARK_ORCHID"}, desceffect(e, p, dur), {"color", "WHITE"} ) elseif e.type == "mental" then - effmental:add(true, "- ", {"color", "YELLOW"}, (e.decrease > 0) and ("%s(%d)"):format(e.desc,dur) or e.desc, {"color", "WHITE"} ) + effmental:add(true, "- ", {"color", "YELLOW"}, desceffect(e, p, dur), {"color", "WHITE"} ) elseif e.type == "other" then - effother:add(true, "- ", {"color", "ORCHID"}, (e.decrease > 0) and ("%s(%d)"):format(e.desc,dur) or e.desc, {"color", "WHITE"} ) + effother:add(true, "- ", {"color", "ORCHID"}, desceffect(e, p, dur), {"color", "WHITE"} ) else - ts:add(true, "- ", {"color", "LIGHT_RED"}, (e.decrease > 0) and ("%s(%d)"):format(e.desc,dur) or e.desc, {"color", "WHITE"} ) + ts:add(true, "- ", {"color", "LIGHT_RED"}, desceffect(e, p, dur), {"color", "WHITE"} ) end else - effbeneficial:add(true, "- ", {"color", "LIGHT_GREEN"}, (e.decrease > 0) and ("%s(%d)"):format(e.desc,dur) or e.desc, {"color", "WHITE"} ) + effbeneficial:add(true, "- ", {"color", "LIGHT_GREEN"}, desceffect(e, p, dur), {"color", "WHITE"} ) end end -- GitLab