From 7825f8c4b0fab7f459ea3de8800a44dc2cca1e6a Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Wed, 20 Oct 2010 01:38:42 +0000 Subject: [PATCH] more artifacts git-svn-id: http://svn.net-core.org/repos/t-engine4@1562 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/modules/tome/class/Actor.lua | 5 ++-- .../tome/data/talents/gifts/storm-drake.lua | 2 +- .../zones/ancient-elven-ruins/objects.lua | 29 +++++++++++++++++++ 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index f6aa71583b..4ecaed951f 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 48305e6bfe..b372715b2d 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 c2ca78ef14..7ef80f0922 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 }, +} -- GitLab