diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index f6aa71583b5b96b8a27e35dafac1d53f271b7b92..4ecaed951f6f038c3f7a90f9810793cef359f3c2 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -80,7 +80,6 @@ function _M:init(t, no_default) self.combat_mentalresist = 0 self.fatigue = 0 - self.healing_factor = 1 self.spell_cooldown_reduction = 0 @@ -89,6 +88,8 @@ function _M:init(t, no_default) self.unused_generics = self.unused_generics or 1 self.unused_talents_types = self.unused_talents_types or 0 + t.healing_factor = t.healing_factor or 1 + t.sight = t.sight or 20 t.resource_pool_refs = t.resource_pool_refs or {} @@ -524,7 +525,7 @@ function _M:onHeal(value, src) if self:hasEffect(self.EFF_UNSTOPPABLE) then return 0 end - return value * self.healing_factor + return value * (self.healing_factor or 1) end --- Called before taking a hit, it's the chance to check for shields diff --git a/game/modules/tome/data/talents/gifts/storm-drake.lua b/game/modules/tome/data/talents/gifts/storm-drake.lua index 48305e6bfe7c6ab60eff8aaf70e3d18cd96eb005..b372715b2d742fbcfeb87becb8bc5c7be3de4e82 100644 --- a/game/modules/tome/data/talents/gifts/storm-drake.lua +++ b/game/modules/tome/data/talents/gifts/storm-drake.lua @@ -175,7 +175,7 @@ newTalent{ info = function(self, t) return ([[You breathe lightning in a frontal cone. Any target caught in the area will take %0.2f to %0.2f lightning damage and can be dazed for a few turns. The damage will increase with the Strength stat]]):format( - damDesc(self, DamageType.LIGHTNING, 40 + self:getStr(80) * self:getTalentLevel(t)), + damDesc(self, DamageType.LIGHTNING, 40 + self:getStr(80) * self:getTalentLevel(t)) / 3, damDesc(self, DamageType.LIGHTNING, 40 + self:getStr(80) * self:getTalentLevel(t)) ) end, diff --git a/game/modules/tome/data/zones/ancient-elven-ruins/objects.lua b/game/modules/tome/data/zones/ancient-elven-ruins/objects.lua index c2ca78ef1470a2453b1f3fb8a14e9221014a6aba..7ef80f092294175de929558e9b38660311287dce 100644 --- a/game/modules/tome/data/zones/ancient-elven-ruins/objects.lua +++ b/game/modules/tome/data/zones/ancient-elven-ruins/objects.lua @@ -20,6 +20,9 @@ load("/data/general/objects/objects.lua") load("/data/general/objects/mummy-wrappings.lua") +local Stats = require "engine.interface.ActorStats" +local Talents = require "engine.interface.ActorTalents" + newEntity{ base = "BASE_LONGSWORD", define_as = "LONGSWORD_RINGIL", rarity=false, unided_name = "glittering longsword", name = "Ringil, the glittering sword of Fingolfin", unique=true, @@ -52,3 +55,29 @@ newEntity{ base = "BASE_LONGSWORD", end }, } + +-- Random artifact +newEntity{ base = "BASE_MUMMY_WRAPPING", + unique = true, + name = "Bindings of Eternal Night", + unided_name = "blackened, slithering mummy wrappings", + desc = [[Woven through with fell magics of undeath, these bindings suck the light and life out of everything they touch. Any who don them will find themselves suspended in a nightmarish limbo between life and death.]], + color = colors.DARK_GREY, + level_range = {1, 50}, + rarity = 130, + cost = 200, + material_level = 1, + wielder = { + inc_stats = { [Stats.STAT_WIL] = 5, [Stats.STAT_MAG] = 5, }, + resists = { + [DamageType.BLIGHT] = 30, + [DamageType.LIGHT] = 30, + [DamageType.FIRE] = 30, + }, + on_melee_hit={[DamageType.BLIGHT] = 10}, + life_regen = -0.3, + lite = -1, + }, + max_power = 80, power_regen = 1, + use_talent = { id = Talents.T_SPIT_POISON, level = 2, power = 50 }, +}