diff --git a/game/engines/default/engine/Entity.lua b/game/engines/default/engine/Entity.lua index 8e9466d85d4fd7be6bb18efd5079ca4ab920d937..46887b2c0fe1e313473d75b2ec4a2e9f8a6be354 100644 --- a/game/engines/default/engine/Entity.lua +++ b/game/engines/default/engine/Entity.lua @@ -1026,9 +1026,9 @@ function _M:removeTemporaryValue(prop, id, noupdate) else if config.settings.cheat then if type(v) == "nil" then - error("ERROR!!! unsupported temporary value type: "..type(v).." :=: "..tostring(v).." for "..tostring(prop)) + error("ERROR!!! unsupported temporary value type: "..type(v).." :=: "..tostring(v).." for "..tostring(prop)..(" [%s] %s"):format(self.uid, self.name)) else - error("unsupported temporary value type: "..type(v).." :=: "..tostring(v).." for "..tostring(prop)) + error("unsupported temporary value type: "..type(v).." :=: "..tostring(v).." for "..tostring(prop)..(" [%s] %s"):format(self.uid, self.name)) end end end @@ -1040,6 +1040,12 @@ function _M:removeTemporaryValue(prop, id, noupdate) end end +--- Returns a previously set temporary value, see addTemporaryValue() +-- @int id the index of the previously set property +function _M:getTemporaryValue(id) + return self.compute_vals and self.compute_vals[id] +end + --- Helper function to add temporary values -- @param[type=table] t -- @param k diff --git a/game/modules/tome/data/talents.lua b/game/modules/tome/data/talents.lua index 7f5340e6517f88ef026745e3c5b8f4739c765098..82ec3bf94ba2c0bae53adfbfff8d8949014329af 100644 --- a/game/modules/tome/data/talents.lua +++ b/game/modules/tome/data/talents.lua @@ -62,7 +62,7 @@ damDesc = function(self, type, dam) dam = dam * 0.4 end if self:attr("invisible_damage_penalty") then - dam = dam * util.bound(1 - (src.invisible_damage_penalty / (src.invisible_damage_penalty_divisor or 1)), 0, 1) + dam = dam * util.bound(1 - (self.invisible_damage_penalty / (self.invisible_damage_penalty_divisor or 1)), 0, 1) end if self:attr("numbed") then dam = dam - dam * self:attr("numbed") / 100