From 0286a864606564dfe98885cbabd04c0ed0d0b669 Mon Sep 17 00:00:00 2001 From: DarkGod <darkgod@net-core.org> Date: Tue, 3 Jun 2014 10:00:08 +0200 Subject: [PATCH] various fixes --- game/modules/tome/class/Object.lua | 17 ++++++++++++----- .../tome/data/general/objects/egos/ammo.lua | 2 +- .../tome/data/general/objects/egos/amulets.lua | 4 ++-- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/game/modules/tome/class/Object.lua b/game/modules/tome/class/Object.lua index b18dd687cb..ac5b104d11 100644 --- a/game/modules/tome/class/Object.lua +++ b/game/modules/tome/class/Object.lua @@ -221,7 +221,12 @@ function _M:descAttribute(attr) elseif attr == "INSCRIPTION" then game.player.__inscription_data_fake = self.inscription_data local t = self:getTalentFromId("T_"..self.inscription_talent.."_1") - local desc = t.short_info(game.player, t) + local desc = "--" + if t then + local ok + ok, desc = pcall(t.short_info, game.player, t) + if not ok then desc = "--" end + end game.player.__inscription_data_fake = nil return ("%s"):format(desc) end @@ -1460,10 +1465,12 @@ function _M:getTextualDesc(compare_with, use_actor) use_actor.__inscription_data_fake = self.inscription_data local t = self:getTalentFromId("T_"..self.inscription_talent.."_1") if t then - local tdesc = use_actor:getTalentFullDescription(t) - desc:add({"color","YELLOW"}, "When inscribed on your body:", {"color", "LAST"}, true) - desc:merge(tdesc) - desc:add(true) + local ok, tdesc = pcall(use_actor.getTalentFullDescription, use_actor, t) + if ok and tdesc then + desc:add({"color","YELLOW"}, "When inscribed on your body:", {"color", "LAST"}, true) + desc:merge(tdesc) + desc:add(true) + end end use_actor.__inscription_data_fake = nil end diff --git a/game/modules/tome/data/general/objects/egos/ammo.lua b/game/modules/tome/data/general/objects/egos/ammo.lua index 063fcc3cda..7b3c8d1915 100644 --- a/game/modules/tome/data/general/objects/egos/ammo.lua +++ b/game/modules/tome/data/general/objects/egos/ammo.lua @@ -586,7 +586,7 @@ newEntity{ target.talents_cd[t.id] = turns local tg = {type="hit", range=1} - who:project(tg, target.x, target.y, engine.DamageType.ARCANE, damage) + who:project(tg, target.x, target.y, engine.DamageType.ARCANE, tonumber(util.getval(damage, who, t)) or 0) game.logSeen(target, "%s's %s has been #ORCHID#burned#LAST#!", target.name:capitalize(), t.name) end}, diff --git a/game/modules/tome/data/general/objects/egos/amulets.lua b/game/modules/tome/data/general/objects/egos/amulets.lua index b049cd6af2..bab1a1a312 100644 --- a/game/modules/tome/data/general/objects/egos/amulets.lua +++ b/game/modules/tome/data/general/objects/egos/amulets.lua @@ -582,8 +582,8 @@ newEntity{ e.wielder.talents_types_mastery = {} local v = (10 + rng.mbonus(math.ceil(30 * e.material_level / 5), resolvers.current_level, 50)) / 100 - e.wielder.talents_types_mastery[tt] = v - e.wielder.talents_types_mastery[tt2] = v + if tt then e.wielder.talents_types_mastery[tt] = v end + if tt2 then e.wielder.talents_types_mastery[tt2] = v end e.cost = e.cost + v * 60 end), } \ No newline at end of file -- GitLab