From b6bc3273554345edd509411f77eda9d561b42979 Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Wed, 20 Oct 2010 01:30:56 +0000 Subject: [PATCH] Moooooarr artifacts git-svn-id: http://svn.net-core.org/repos/t-engine4@1561 51575b47-30f0-44d4-a5cc-537603b46e54 --- .../default/engine/dialogs/UseTalents.lua | 6 +- game/modules/tome/class/Actor.lua | 3 +- game/modules/tome/class/Object.lua | 2 + .../data/general/objects/world-artifacts.lua | 108 +++++++++++++++++- 4 files changed, 114 insertions(+), 5 deletions(-) diff --git a/game/engines/default/engine/dialogs/UseTalents.lua b/game/engines/default/engine/dialogs/UseTalents.lua index aed5d6a4f1..9b1087ced2 100644 --- a/game/engines/default/engine/dialogs/UseTalents.lua +++ b/game/engines/default/engine/dialogs/UseTalents.lua @@ -139,8 +139,8 @@ function _M:generateList() for j, t in ipairs(tt.talents) do if self.actor:knowTalent(t.id) and t.mode ~= "passive" then local typename = "talent" - local status = "#LIGHT_GREEN#Active#WHITE#" - if t.mode == "sustained" then status = self.actor:isTalentActive(t.id) and "#YELLOW#Sustaining#WHITE#" or "#LIGHT_GREEN#Sustain#WHITE#" end + local status = tstring{{"color", "LIGHT_GREEN"}, "Active"} + if t.mode == "sustained" then status = self.actor:isTalentActive(t.id) and tstring{{"color", "YELLOW"}, "Sustaining"} or tstring{{"color", "LIGHT_GREEN"}, "Sustain"} end list[#list+1] = { char=self:makeKeyChar(letter), name=t.name.." ("..typename..")", status=status, talent=t.id, desc=self.actor:getTalentFullDescription(t) } list.chars[self:makeKeyChar(letter)] = list[#list] if not self.sel then self.sel = #list + 1 end @@ -150,7 +150,7 @@ function _M:generateList() end if added then - table.insert(list, where+1, { char="", name="#{bold}#"..cat:capitalize().." / "..tt.name:capitalize().."#{normal}#", type=tt.type, color={0x80, 0x80, 0x80}, status="", desc=tt.description }) + table.insert(list, where+1, { char="", name=tstring{{"font","bold"}, cat:capitalize().." / "..tt.name:capitalize(), {"font","normal"}}, type=tt.type, color={0x80, 0x80, 0x80}, status="", desc=tt.description }) end end for i = 1, #list do list[i].id = i end diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index 0fb1001ed0..f6aa71583b 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -80,6 +80,7 @@ function _M:init(t, no_default) self.combat_mentalresist = 0 self.fatigue = 0 + self.healing_factor = 1 self.spell_cooldown_reduction = 0 @@ -523,7 +524,7 @@ function _M:onHeal(value, src) if self:hasEffect(self.EFF_UNSTOPPABLE) then return 0 end - return value + return value * self.healing_factor end --- Called before taking a hit, it's the chance to check for shields diff --git a/game/modules/tome/class/Object.lua b/game/modules/tome/class/Object.lua index 49edc07b62..f83f0b98f9 100644 --- a/game/modules/tome/class/Object.lua +++ b/game/modules/tome/class/Object.lua @@ -370,6 +370,8 @@ function _M:getTextualDesc() if w.movement_speed then desc:add(("Movement speed: %d%%"):format(w.movement_speed * 100), true) end + if w.healing_factor then desc:add(("Increases all healing by %d%%"):format(w.healing_factor * 100), true) end + end if self.wielder then diff --git a/game/modules/tome/data/general/objects/world-artifacts.lua b/game/modules/tome/data/general/objects/world-artifacts.lua index d1238807b3..c6ba451a2e 100644 --- a/game/modules/tome/data/general/objects/world-artifacts.lua +++ b/game/modules/tome/data/general/objects/world-artifacts.lua @@ -1017,7 +1017,6 @@ newEntity{ base = "BASE_LEATHER_BELT", }, } - newEntity{ base = "BASE_LEATHER_BELT", unique = true, name = "Girdle of Preservation", @@ -1048,6 +1047,113 @@ newEntity{ base = "BASE_LEATHER_BELT", }, } +newEntity{ base = "BASE_LEATHER_BELT", + unique = true, + name = "Goldberry's Girdle of the Calm Waters", + unided_name = "golden belt", + desc = [[A belt rumoured to have been worn by Goldenberry.]], + color = colors.GOLD, + level_range = {5, 14}, + rarity = 120, + cost = 75, + material_level = 2, + wielder = { + inc_stats = { [Stats.STAT_WIL] = 3, }, + resists = { + [DamageType.COLD] = 20, + [DamageType.BLIGHT] = 20, + [DamageType.NATURE] = 20, + }, + healing_factor = 0.3, + }, +} + +newEntity{ base = "BASE_HEAVY_ARMOR", + unique = true, + name = "Iron Mail of Bloodletting", + unided_name = "gore-encrusted suit of iron mail", + desc = [[Blood drips continuously from this fell suit of iron, and dark magics churn almost visibly around it. Bloody ruin comes to those who stand against its wearer.]], + color = colors.RED, + level_range = {15, 25}, + rarity = 190, + require = { stat = { str=14 }, }, + cost = 200, + material_level = 1, + wielder = { + inc_stats = { [Stats.STAT_CON] = 2, [Stats.STAT_STR] = 2 }, + resists = { + [DamageType.ACID] = 10, + [DamageType.DARKNESS] = 10, + [DamageType.FIRE] = 10, + [DamageType.BLIGHT] = 10, + }, + talents_types_mastery = { ["technique/bloodthirst"] = 0.1 }, + life_regen = 0.5, + combat_def = 2, + combat_armor = 4, + fatigue = 12, + }, +} + + +newEntity{ base = "BASE_HEAVY_ARMOR", + unique = true, + name = "Scale Mail of Smaug the Golden", + unided_name = "perfectly-wrought suit of dragon scales", + desc = [[A heavy shirt of scale mail constructed from the remains of Smaug the Golden, whose armor was like tenfold shields. Unlike the original Smaug scale armor, this one isn't missing any scales.]], + color = colors.LIGHT_RED, + metallic = false, + level_range = {38, 45}, + rarity = 300, + require = { stat = { str=38 }, }, + cost = 500, + material_level = 5, + wielder = { + inc_stats = { [Stats.STAT_CON] = 4, [Stats.STAT_STR] = 5, [Stats.STAT_DEX] = 3 }, + resists = { + [DamageType.ACID] = 20, + [DamageType.LIGHTNING] = 20, + [DamageType.FIRE] = 20, + [DamageType.BLIGHT] = 20, + [DamageType.NATURE] = 20, + }, + max_life=120, + combat_def = 10, + combat_armor = 14, + }, + max_power = 80, power_regen = 1, + use_talent = { id = Talents.T_INFERNO, level = 3, power = 50 }, +} + +newEntity{ base = "BASE_MASSIVE_ARMOR", + unique = true, + name = "Plate Armor of the Returned King", + unided_name = "suit of gleaming mithril plate", + desc = [[Beautifully detailed with images of King Aragorn's siege of the Black Gate, this armor was presented to the Returned King at his coronation ceremony. Despair fills the hearts of even the blackest villains at the sight of it.]], + color = colors.WHITE, + level_range = {45, 50}, + rarity = 350, + require = { stat = { str=48 }, }, + cost = 800, + material_level = 5, + wielder = { + inc_stats = { [Stats.STAT_WIL] = 9, }, + resists = { + [DamageType.ACID] = 25, + [DamageType.ARCANE] = 10, + [DamageType.FIRE] = 25, + [DamageType.BLIGHT] = 25, + [DamageType.DARKNESS] = 25, + }, + max_stamina = 60, + combat_def = 15, + combat_armor = 20, + stun_immune = 0.5, + knockback_immune = 0.5, + lite = 1, + }, +} + --[=[ newEntity{ unique = true, -- GitLab