diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua index d31f07c3e7bf98b4625b04626b402cd118f2e3fa..4024b17281ecc886d798a76d3c2aed276a2b74b5 100644 --- a/game/modules/tome/class/Game.lua +++ b/game/modules/tome/class/Game.lua @@ -641,7 +641,7 @@ function _M:setupCommands() for i, e in ipairs(self.zone.object_list) do if e.unique and e.define_as ~= "VOICE_SARUMAN" and e.define_as ~= "ORB_MANY_WAYS_DEMON" then local a = self.zone:finishEntity(self.level, "object", e) - a.no_unique_lore = true -- to not spam +-- a.no_unique_lore = true -- to not spam a:identify(true) self.zone:addEntity(self.level, a, "object", self.player.x, self.player.y) end diff --git a/game/modules/tome/class/Object.lua b/game/modules/tome/class/Object.lua index 8e1b0165a26c0ef6943818b7708b6580db9f4cb9..1a190778ccaccab65575cd32bbd6ccfa5627cf2c 100644 --- a/game/modules/tome/class/Object.lua +++ b/game/modules/tome/class/Object.lua @@ -163,7 +163,12 @@ function _M:getDisplayColor() else return {0, 255, 128}, "#00FF80#" end - elseif self.unique then return {255, 255, 0}, "#FFFF00#" + elseif self.unique then + if self.randart then + return {255, 0x77, 0}, "#FF7700#" + else + return {255, 215, 0}, "#FFD700#" + end else return {255, 255, 255}, "#FFFFFF#" end end diff --git a/game/modules/tome/data/general/objects/special-artifacts.lua b/game/modules/tome/data/general/objects/special-artifacts.lua index 802156e60b4fed0415fec9e236eb98fb168b6c0b..1d194d9c5fb4ff79000c7c17d9a4c5a0c1b5d7fc 100644 --- a/game/modules/tome/data/general/objects/special-artifacts.lua +++ b/game/modules/tome/data/general/objects/special-artifacts.lua @@ -21,24 +21,3 @@ local Stats = require "engine.interface.ActorStats" local Talents = require "engine.interface.ActorTalents" -- This file describes artifacts not bound to a special location or quest, but still special(they do not get randomly generated) -newEntity{ base = "BASE_WARAXE", - unique = true, - define_as = "WARAXE_DRAMBORLEG", rarity = false, unided_name = "razor sharp war axe", - name = "Dramborleg, the waraxe of Tuor", color = colors.LIGHT_BLUE, - desc = [[The mighty axe of Tuor can cleave through armor like the sharpest swords, yet hit with all the impact of a heavy club. its name means 'Thudder Sharp'.]], - require = { stat = { str=42 }, }, - material_level = 5, - combat = { - dam = 58, - apr = 16, - physcrit = 7, - dammod = {str=1}, - damrange = 1.4, - damtype = DamageType.PHYSICALBLEED, - }, - wielder = { - inc_stats = { [Stats.STAT_STR] = 4, [Stats.STAT_DEX] = 4, }, - see_invisible = 5, - inc_damage = { [DamageType.PHYSICAL]=10 }, - }, -} diff --git a/game/modules/tome/data/general/objects/world-artifacts.lua b/game/modules/tome/data/general/objects/world-artifacts.lua index dad6631fba6e9c4e5f537e73d43c67295648215d..b4b372c7dffe76c50183d6af88ab1a3f36d45944 100644 --- a/game/modules/tome/data/general/objects/world-artifacts.lua +++ b/game/modules/tome/data/general/objects/world-artifacts.lua @@ -815,7 +815,7 @@ newEntity{ base = "BASE_CLOTH_ARMOR", newEntity{ base = "BASE_GEM", unique = true, unided_name = "scintillating white crystal", - name = "Saruman's Staff Crystal", subtype = "multi-hued", + name = "Telos's Staff Crystal", subtype = "multi-hued", color = colors.WHITE, image="object/diamond.png", level_range = {35, 45}, desc = [[A closer look at this pure white crystal reveals that it is really a plethora of colors swirling and scintillating]], @@ -835,7 +835,7 @@ newEntity{ base = "BASE_GEM", max_power = 1, power_regen = 1, use_power = { name = "combine with a staff", power = 1, use = function(self, who, gem_inven, gem_item) who:showInventory("Fuse with which staff?", who:getInven("INVEN"), function(o) return o.type == "weapon" and o.subtype == "staff" and not o.egoed and not o.unique end, function(o, item) - local voice = game.zone:makeEntityByName(game.level, "object", "VOICE_SARUMAN") + local voice = game.zone:makeEntityByName(game.level, "object", "VOICE_TELOS") if voice then local oldname = o:getName{do_color=true} @@ -861,13 +861,13 @@ newEntity{ base = "BASE_GEM", } -- The staff that goes with the crystal above, it will not be generated randomly it is created by the crystal -newEntity{ base = "BASE_STAFF", define_as = "VOICE_SARUMAN", +newEntity{ base = "BASE_STAFF", define_as = "VOICE_TELOS", unique = true, - name = "Voice of Saruman", + name = "Voice of Telos", unided_name = "scintillating white staff", color = colors.VIOLET, rarity = false, - desc = [[A closer look at this pure white staff reveals that it is really a plethora of colors swirling and scintillating. Although Saruman's power was weakened at the end of the third age, this staff still is a force to be reckoned with.]], + desc = [[A closer look at this pure white staff reveals that it is really a plethora of colors swirling and scintillating.]], cost = 500, material_level = 5, @@ -887,6 +887,7 @@ newEntity{ base = "BASE_STAFF", define_as = "VOICE_SARUMAN", newEntity{ base = "BASE_WAND", unided_name = "glowing rod", name = "Gwai's Burninator", color=colors.LIGHT_RED, unique=true, + desc = [[Gwai, a pyromanceress that lived during the Spellhunt, was cornered by group of mage hunters. She fought to her last breath and is said to have killed at least ten people with this wand before she fell.]], cost = 50, rarity = 220, level_range = {15, 30}, @@ -1194,6 +1195,28 @@ newEntity{ base = "BASE_GREATSWORD", }, } +newEntity{ base = "BASE_WARAXE", + unique = true, + define_as = "WARAXE_DRAMBORLEG", rarity = false, unided_name = "razor sharp war axe", + name = "Dramborleg, the waraxe of Tuor", color = colors.LIGHT_BLUE, + desc = [[The mighty axe of Tuor can cleave through armor like the sharpest swords, yet hit with all the impact of a heavy club. its name means 'Thudder Sharp'.]], + require = { stat = { str=42 }, }, + material_level = 5, + combat = { + dam = 58, + apr = 16, + physcrit = 7, + dammod = {str=1}, + damrange = 1.4, + damtype = DamageType.PHYSICALBLEED, + }, + wielder = { + inc_stats = { [Stats.STAT_STR] = 4, [Stats.STAT_DEX] = 4, }, + see_invisible = 5, + inc_damage = { [DamageType.PHYSICAL]=10 }, + }, +} + --[=[ newEntity{ unique = true,