Hi, been playing with this in the ID and having fun so far (if not surviving anywhere near long enough to test the new scaling at high level!!!)
Selection of items that are garenteed drops from Uniques were not preset, so not being created when you killed them (i assume this can all be found in ID, seen at least sandworm queen in vault and on debug create npc list):
- Sandworm and Currupted sandworm queen drop heart/potion (bonus stats, points and category point)
- Shade of Telos drops Telos Staff (bottom half) allow the full staff to be created.
- Atamathon drops Atamathon's Ruby Eye (im not 100% sure he can appear, in debug create npc list but i rather hope not!)
Added as normal drops, generally with x5 rarity (as would normally only appear in one zone) and if they had no level restriction used the level restriction from the zone they normally appear in: Rod of Spydric Poison, Void Star, Bindings of Eternal Night set, Celia's Still Beating Heart (for necromancers), Bloodcaller, Robes of Deflection, Rune of the Rift, Tome of Wildfire, Tome of Uttercold
Also have a seperate addon that is almost tested that adds a mystic forge to the ID (via dungeon event) to give a use for gold. Simular to Lost Merchent artifact creation but can create items of different tiers (e.g. iron->vortrum) at differing costs, obeying dungeon level material restrictions.
Replacement for tome-i500v1.0.teaa\overload\data\zones\infinite-dungeon\objects.lua
Code: Select all
-- ToME - Tales of Maj'Eyal
-- Copyright (C) 2009, 2010, 2011, 2012 Nicolas Casalini
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
load("/data/general/objects/objects.lua")
load("/data/general/objects/objects-far-east.lua")
-- Note, many of the below items are only included so that they can be dropped by the appropiate npc if they appear.
-- Some quest rewards have been made droppable, and items that would normally drop have had their rarity multiplied by 5
local Stats = require "engine.interface.ActorStats"
local Talents = require "engine.interface.ActorTalents"
newEntity{
power_source = {technique=true},
unique = true,
type = "potion", subtype="potion",
name = "Potion of Martial Prowess",
unided_name = "phial filled with metallic liquid",
level_range = {1, 50},
display = '!', color=colors.VIOLET, image="object/elixir_of_stoneskin.png",
encumber = 0.4,
rarity = 150,
desc = [[This potent elixir can give insights into martial combat to those unlucky enough to ignore the basics.]],
cost = 500,
use_simple = { name = "quaff the elixir", use = function(self, who)
game.logSeen(who, "%s quaffs the %s!", who.name:capitalize(), self:getName())
local done = 0
if not who:knowTalentType("technique/combat-training") then
who:learnTalentType("technique/combat-training", true)
game.logPlayer(who, "#VIOLET#You seem to understand the basic martial pratices. (Combat Training talents unlocked)")
done = done + 1
end
if not who:knowTalent(who.T_SHOOT) then
who:learnTalent(who.T_SHOOT, true, nil, {no_unlearn=true})
game.logPlayer(who, "#VIOLET#You seem to now know how to properly use a bow or a sling.")
done = done + 1
end
if done == 0 then
game.logPlayer(who, "#VIOLET#It seems you already knew all the elixir could teach you.")
end
return {used=true, id=true, destroy=true}
end},
}
newEntity{
power_source = {technique=true},
unique = true,
type = "potion", subtype="potion",
name = "Antimagic Wyrm Bile Extract",
unided_name = "phial filled with slimy liquid",
level_range = {10, 50},
display = '!', color=colors.VIOLET, image="object/elixir_of_avoidance.png",
encumber = 0.4,
rarity = 150,
desc = [[This potent elixir extracted from a powerful wyrm can grant the power to repel arcane forces.]],
cost = 500,
use_simple = { name = "quaff the elixir", use = function(self, who, inven, item)
local d = require("engine.ui.Dialog"):yesnoLongPopup("Antimagic", [[Quaffing this potion will grant you access to the antimagic talents but at the cost of all access to runes, arcane items and spells.]], 500, function(ret)
if ret then
game.logSeen(who, "%s quaffs the %s!", who.name:capitalize(), self:getName())
who:removeObject(inven, item)
for tid, _ in pairs(who.sustain_talents) do
local t = who:getTalentFromId(tid)
if t.is_spell then who:forceUseTalent(tid, {ignore_energy=true}) end
end
-- Remove equipment
for inven_id, inven in pairs(who.inven) do
for i = #inven, 1, -1 do
local o = inven[i]
if o.power_source and o.power_source.arcane then
game.logPlayer(who, "You can not use your %s anymore, it is tainted by magic.", o:getName{do_color=true})
local o = who:removeObject(inven, i, true)
who:addObject(who.INVEN_INVEN, o)
who:sortInven()
end
end
end
who:attr("forbid_arcane", 1)
who:learnTalentType("wild-gift/antimagic", true)
who:learnTalent(who.T_RESOLVE, true, nil, {no_unlearn=true})
end
end)
return {used=true, id=true}
end},
}
-- ------------------------------------------------------------------------------------------------------
-- abashed-expance
-- ------------------------------------------------------------------------------------------------------
-- Normally dropped by Spacial Disturbance who is not in ID (onDie action issue)
-- Copied over level range and added rarity
newEntity{ base = "BASE_LITE", define_as = "VOID_STAR",
power_source = {arcane=true},
unique = true,
name = "Void Star", image="object/artifact/void_star.png",
unided_name = "tiny black star",
level_range = {1, 10},
color = colors.GREY,
encumber = 1,
encumber = 1,
level_range = {7, nil},
rarity = 200,
desc = [[It looks like a very tiny star - deep black - and yet it somehow shines.]],
cost = 120,
material_level = 2,
wielder = {
combat_spellcrit = 5,
inc_damage = {
[DamageType.ARCANE] = 6,
[DamageType.FIRE] = 6,
[DamageType.COLD] = 6,
[DamageType.ACID] = 6,
[DamageType.LIGHTNING] = 6,
},
lite = 2,
},
max_power = 70, power_regen = 1,
use_talent = { id = Talents.T_ECHOES_FROM_THE_VOID, level = 2, power = 70 },
}
--------------------------------------------------------------------------------------------------------
-- ancient-elven-ruins
--------------------------------------------------------------------------------------------------------
-- Included manually from general\data\object\mummy-wrappings.lua
-- to ensure that we don't intoduce none-artifact mummy wrappings
newEntity{
define_as = "BASE_MUMMY_WRAPPING",
slot = "BODY",
type = "armor", subtype="mummy",
add_name = " (#ARMOR#)",
display = "[", color=colors.ANTIQUE_WHITE, image="object/mummy_wrappings.png",
moddable_tile = resolvers.moddable_tile("mummy_wrapping"),
encumber = 6,
rarity = false,
desc = [[Decaying mummy wrappings.]],
egos = "/data/general/objects/egos/armor.lua", egos_chance = { prefix=resolvers.mbonus(40, 5), suffix=resolvers.mbonus(40, 5) },
wielder = {
resists={[DamageType.FIRE] = -50},
}
}
-- Taken level range from zone, increased rarity
newEntity{ base = "BASE_MUMMY_WRAPPING", define_as = "BINDINGS_ETERNAL_NIGHT",
power_source = {arcane=true},
unique = true,
name = "Bindings of Eternal Night", image = "object/artifact/bindings_of_eternal_night.png",
unided_name = "blackened, slithering mummy wrappings",
desc = [[Woven through with fel 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 = {33,42},
rarity = 500,
cost = 1000,
material_level = 3,
wielder = {
combat_armor = 7,
inc_stats = { [Stats.STAT_WIL] = 5, [Stats.STAT_MAG] = 5, },
resists = {
[DamageType.BLIGHT] = 30,
[DamageType.DARKNESS] = 30,
[DamageType.LIGHT] = -30,
[DamageType.FIRE] = -30,
},
on_melee_hit={[DamageType.BLIGHT] = 10},
life_regen = 0.3,
lite = -1,
poison_immune = 1,
disease_immune = 1,
undead = 1,
forbid_nature = 1,
},
max_power = 80, power_regen = 1,
set_list = { {"define_as","CROWN_ETERNAL_NIGHT"} },
on_set_complete = function(self, who)
self.use_talent = { id = "T_ABYSSAL_SHROUD", level = 2, power = 47 }
end,
on_set_broken = function(self, who)
self.use_talent = nil
end,
}
-- Taken level range from zone, increased rarity
newEntity{ base = "BASE_LEATHER_CAP", define_as = "CROWN_ETERNAL_NIGHT",
power_source = {arcane=true},
unique = true,
name = "Crown of Eternal Night", image = "object/artifact/crown_of_eternal_night.png",
unided_name = "blackened crown",
desc = [[This crown looks useless, yet you can feel it woven with fell magics of undeath. Maybe it has a use.]],
color = colors.DARK_GREY,
level_range = {33,42},
cost = 500,
material_level = 3,
wielder = {
combat_armor = 3,
fatigue = 3,
inc_damage = {},
melee_project = {},
},
max_power = 80, power_regen = 1,
set_list = { {"define_as","BINDINGS_ETERNAL_NIGHT"} },
on_set_complete = function(self, who)
self:specialSetAdd({"wielder","lite"}, -1)
self:specialSetAdd({"wielder","confusion_immune"}, 0.3)
self:specialSetAdd({"wielder","knockback_immune"}, 0.3)
self:specialSetAdd({"wielder","combat_mentalresist"}, 15)
self:specialSetAdd({"wielder","combat_spellresist"}, 15)
self:specialSetAdd({"wielder","inc_stats"}, {[who.STAT_CUN]=10})
self:specialSetAdd({"wielder","melee_project"}, {[engine.DamageType.DARKNESS]=40})
self:specialSetAdd({"wielder","inc_damage"}, {[engine.DamageType.DARKNESS]=20})
self.use_talent = { id = "T_RETCH", level = 2, power = 47 }
game.logSeen(who, "#ANTIQUE_WHITE#The Crown of Eternal Night seems to react with the Bindings, you feel tremounduous dark power.")
end,
on_set_broken = function(self, who)
game.logPlayer(who, "#ANTIQUE_WHITE#The powerful darkness aura you felt vanes away.")
self.use_talent = nil
end,
}
-- ------------------------------------------------------------------------------------------------------
-- ardhungol
-- ------------------------------------------------------------------------------------------------------
-- Normally dropped by Ungolë who does not appear in ID (issue with onDie action), so added rarity and copied level range from npc
newEntity{ base = "BASE_ROD",
power_source = {nature=true},
define_as = "ROD_SPYDRIC_POISON",
unided_name = "poison dripping wand", image = "object/artifact/rod_of_spydric_poison.png",
name = "Rod of Spydric Poison", color=colors.LIGHT_GREEN, unique=true,
desc = [[This rod carved out of a giant spider fang continuously drips venom.]],
cost = 50,
level_range = {30, nil},
rarity = 1000,
elec_proof = true,
max_power = 75, power_regen = 1,
use_power = { name = "shoot a bolt of spydric poison", power = 25,
use = function(self, who)
local tg = {type="bolt", range=12, talent=t}
local x, y = who:getTarget(tg)
if not x or not y then return nil end
who:project(tg, x, y, engine.DamageType.SPYDRIC_POISON, {dam=200 + who:getMag() * 4, dur=6}, {type="slime"})
return {id=true, used=true}
end
},
}
-- ------------------------------------------------------------------------------------------------------
-- demon-plane
-- ------------------------------------------------------------------------------------------------------
-- Dropped by Draebor, the Imp
newEntity{ base = "BASE_LEATHER_BOOT",
power_source = {arcane=true},
define_as = "BOOTS_OF_PHASING",
unique = true,
name = "Shifting Boots", image = "object/artifact/shifting_boots.png",
unided_name = "pair of shifting boots",
desc = [[Those leather boots can make anybody as annoying as their former possessor, Draebor.]],
color = colors.BLUE,
rarity = false,
cost = 200,
material_level = 5,
wielder = {
combat_armor = 1,
combat_def = 7,
fatigue = 2,
talents_types_mastery = { ["spell/temporal"] = 0.1 },
inc_stats = { [Stats.STAT_CUN] = 8, [Stats.STAT_DEX] = 4, },
},
max_power = 40, power_regen = 1,
use_power = { name = "blink to a nearby random location", power = 22, use = function(self, who)
game.level.map:particleEmitter(who.x, who.y, 1, "teleport")
who:teleportRandom(who.x, who.y, 10 + who:getMag(5))
game.level.map:particleEmitter(who.x, who.y, 1, "teleport")
game.logSeen(who, "%s uses %s!", who.name:capitalize(), self:getName{no_count=true})
return {id=true, used=true}
end}
}
-- ------------------------------------------------------------------------------------------------------
-- golem-graveyard
-- ------------------------------------------------------------------------------------------------------
-- Dropped by Atamathon (who is on the ID creature list!!!)
newEntity{ base = "BASE_GEM",
define_as = "ATAMATHON_RUBY_EYE",
subtype = "red",
name = "Atamathon's Ruby Eye", color=colors.VIOLET, quest=true, unique=true, identified=true, image="object/artifact/atamathons_lost_ruby_eye.png",
desc = [[One of the ruby eyes of the legendary giant golem: Atamathon.
It is said it was made by the halflings during the Age of Pyre as a weapon against the orcs. Even though it was destroyed it managed to deal a crippling blow by killing their leader, Garkul the Devourer.]],
material_level = 5,
cost = 100,
wielder = {
inc_damage = {[DamageType.FIRE]=20},
lite = 2,
max_life = 60,
pin_immune = 0.5,
pin_immune = 0.5,
},
imbue_powers = {
inc_damage = {[DamageType.FIRE]=20},
lite = 2,
max_life = 60,
pin_immune = 0.5,
},
}
-- ------------------------------------------------------------------------------------------------------
-- high-peak (The npc's that drop these items don't appear in the ID)
-- ------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
-- last-hope-graveyard (quest reward, added rarity)
--------------------------------------------------------------------------------------------------------
newEntity{ define_as = "CELIA_HEART",
power_source = {arcane=true},
unique = true,
type = "misc", subtype="heart",
unided_name = "bloody heart",
name = "Celia's Still Beating Heart",
level_range = {20, 35},
rarity = 200,
display = "*", color=colors.RED, image = "object/artifact/celias_heart.png",
encumber = 2,
not_in_stores = true,
desc = [[The living heart of the necromancer Celia, carved out of her chest and preserved with magic.]],
max_power = 75, power_regen = 1,
use_sound = "talents/slime",
use_power = { name = "extract a tiny part of Celia's soul", power = 75, use = function(self, who)
local p = who:isTalentActive(who.T_NECROTIC_AURA)
if not p then return end
p.souls = util.bound(p.souls + 1, 0, p.souls_max)
who.changed = true
game.logPlayer(who, "You squeeze Celia's heart in your hand, absorbing part of her soul into your necrotic aura.")
self.max_power = self.max_power + 5
self.use_power.power = self.use_power.power + 5
return {id=true, used=true}
end },
}
-- ------------------------------------------------------------------------------------------------------
-- maze
-- ------------------------------------------------------------------------------------------------------
-- This allow characters with trap mastery to learn Poisoned Trap when they read this note
newEntity{ base = "BASE_LORE", define_as = "NOTE_LEARN_TRAP",
name = "the perfect killing device", lore="maze-note-trap", unique=true, no_unique_lore=true,
desc = [[Some notes describing how to create poison gas traps, left by an unfortunate rogue.]],
rarity = false,
}
-- ------------------------------------------------------------------------------------------------------
-- paradox-plane
-- ------------------------------------------------------------------------------------------------------
-- Dropped by Epoch
newEntity{ base = "BASE_LONGBOW",
power_source = {arcane=true},
define_as = "EPOCH_CURVE",
-- not sure what rarity does so commented out for now
rarity=false,
name = "Epoch's Curve", unided_name = "white ash longbow", unique=true, image="object/artifact/bow_epochs_curve.png",
desc = [[Epoch's Curve has served the Wardens for generations and was passed from Warden to Warden for many generations before being lost.
According to legend it was made from the first ash sapling to sprout after the Spellblaze and carries powers of both time and renewal.]],
level_range = {20, 40},
rarity = 200,
require = { stat = { dex=24 }, },
cost = 200,
material_level = 5,
combat = {
range = 9,
physspeed = 0.6,
},
wielder = {
life_regen = 2.0,
stamina_regen = 1.0,
inc_damage={ [DamageType.TEMPORAL] = 10, },
inc_stats = { [Stats.STAT_DEX] = 5, [Stats.STAT_WIL] = 4, },
ranged_project={[DamageType.TEMPORAL] = 15},
},
}
-- ------------------------------------------------------------------------------------------------------
-- ring-of-blood (normally quest reward, added a rarity + level range)
-- ------------------------------------------------------------------------------------------------------
newEntity{ base = "BASE_RING",
power_source = {psionic=true},
define_as = "RING_OF_BLOOD", rarity=false,
name = "Bloodcaller", unique=true, image = "object/artifact/jewelry_ring_bloodcaller.png",
desc = [[You won the Ring of Blood trial, this is your reward.]],
unided_name = "bloody ring",
rarity = 1000,
level_range = {30, nil},
cost = 300,
material_level = 4,
wielder = {
combat_mentalresist = -7,
fatigue = -5,
life = 35,
life_leech_chance = 15,
life_leech_value = 30,
},
}
-- ------------------------------------------------------------------------------------------------------
-- sandworm-lair
-- ------------------------------------------------------------------------------------------------------
-- Dropped by the sandworm queen
newEntity{
power_source = {nature=true},
define_as = "SANDQUEEN_HEART",
type = "corpse", subtype = "heart", image = "object/artifact/queen_heart.png",
name = "Heart of the Sandworm Queen", unique=true, unided_name="pulsing organ",
display = "*", color=colors.VIOLET,
desc = [[The heart of the Sandworm Queen, ripped from her dead body. You could ... consume it, should you feel mad enough.]],
cost = 3000,
use_simple = { name="consume the heart", use = function(self, who)
game.logPlayer(who, "#00FFFF#You consume the heart and feel the knowledge of this very old creature fill you!")
who.unused_stats = who.unused_stats + 3
who.unused_talents = who.unused_talents + 1
who.unused_generics = who.unused_generics + 1
game.logPlayer(who, "You have %d stat point(s) to spend. Press G to use them.", who.unused_stats)
game.logPlayer(who, "You have %d class talent point(s) to spend. Press G to use them.", who.unused_talents)
game.logPlayer(who, "You have %d generic talent point(s) to spend. Press G to use them.", who.unused_generics)
if not who:attr("forbid_nature") then
if who:knowTalentType("wild-gift/harmony") then
who:setTalentTypeMastery("wild-gift/harmony", who:getTalentTypeMastery("wild-gift/harmony") + 0.1)
elseif who:knowTalentType("wild-gift/harmony") == false then
who:learnTalentType("wild-gift/harmony", true)
else
who:learnTalentType("wild-gift/harmony", false)
end
-- Make sure a previous amulet didnt bug it out
if who:getTalentTypeMastery("wild-gift/harmony") == 0 then who:setTalentTypeMastery("wild-gift/harmony", 1) end
game.logPlayer(who, "You are transformed by the heart of the Queen!.")
game.logPlayer(who, "#00FF00#You gain an affinity for nature. You can now learn new Harmony talents (press G).")
end
game:setAllowedBuild("wilder_wyrmic", true)
return {used=true, id=true, destroy=true}
end}
}
-- Dropped by corrupted sandworm queen
newEntity{
power_source = {nature=true},
define_as = "PUTRESCENT_POTION",
type = "corpse", subtype = "blood",
name = "Wyrm Bile", unique=true, unided_name="putrescent potion", image="object/artifact/vial_wyrm_bile.png",
display = "*", color=colors.VIOLET,
desc = [[A vial of thick, lumpy fluid. Who knows what this will do to you if you drink it?]],
cost = 3000,
use_simple = { name="drink the vile blood", use = function(self, who)
game.logPlayer(who, "#00FFFF#You drink the wyrm bile and feel forever transformed!")
who.unused_talents_types = who.unused_talents_types + 1
game.log("You have %d category point(s) to spend. Press G to use them.", who.unused_talents_types)
local str, dex, con, mag, wil, cun = rng.range(-3, 6), rng.range(-3, 6), rng.range(-3, 6), rng.range(-3, 6), rng.range(-3, 6), rng.range(-3, 6)
who:incStat("str", str) if str >= 0 then str="+"..str end
who:incStat("dex", dex) if dex >= 0 then dex="+"..dex end
who:incStat("mag", mag) if mag >= 0 then mag="+"..mag end
who:incStat("wil", wil) if wil >= 0 then wil="+"..wil end
who:incStat("cun", cun) if cun >= 0 then cun="+"..cun end
who:incStat("con", con) if con >= 0 then con="+"..con end
game.logPlayer(who, "#00FF00#Your stats have changed! (Str %s, Dex %s, Mag %s, Wil %s, Cun %s, Con %s)", str, dex, mag, wil, cun, con)
return {used=true, id=true, destroy=true}
end}
}
newEntity{ base = "BASE_GEM",
define_as = "ATAMATHON_ACTIVATE",
subtype = "red",
name = "Atamathon's Lost Ruby Eye", color=colors.VIOLET, quest=true, unique=true, identified=true, image="object/artifact/atamathons_lost_ruby_eye.png",
desc = [[One of the ruby eyes of the legendary giant golem: Atamathon.
It is said it was made by the halflings during the Age of Pyre as a weapon against the orcs. Even though it was destroyed it managed to deal a crippling blow by killing their leader, Garkul the Devourer.]],
material_level = 5,
cost = 100,
wielder = { inc_damage = {[DamageType.FIRE]=12} },
imbue_powers = { inc_damage = {[DamageType.FIRE]=12} },
}
-- ------------------------------------------------------------------------------------------------------
-- slazish-fen (the npc [Lady Zoisla the Tidebringer] that drops this does not appear in the ID) so added rarity
-- ------------------------------------------------------------------------------------------------------
newEntity{ base = "BASE_CLOTH_ARMOR", define_as = "ROBES_DEFLECTION",
power_source = {arcane=true},
unique = true,
name = "Robes of Deflection", color = colors.UMBER, image = "object/artifact/robes_of_deflection.png",
unided_name = "iridescent robe",
desc = [[This set of robes seems to shine with metallic colors.]],
level_range = {1, 10},
rarity = 200,
cost = 70,
material_level = 1,
wielder = {
combat_armor_hardiness = 30,
combat_armor = 7,
inc_stats = { [Stats.STAT_CON] = 3, [Stats.STAT_MAG] = 3, },
combat_spellpower = 4,
},
talent_on_spell = { {chance=4, talent=Talents.T_EVASION, level=1} },
}
-- ------------------------------------------------------------------------------------------------------
-- telmur (drop by Shade of Telos)
-- ------------------------------------------------------------------------------------------------------
newEntity{ base = "BASE_STAFF",
power_source = {arcane=true},
slot = "OFFHAND", slot_forbid = false,
twohanded = false, add_name=false,
define_as = "TELOS_BOTTOM_HALF", rarity=false, image = "object/artifact/staff_broken_bottom_telos.png",
unided_name = "broken staff",
name = "Telos's Staff (Bottom Half)", unique=true,
desc = [[The bottom part of Telos's broken staff.]],
require = { stat = { mag=35 }, },
encumberance = 2.5,
cost = 500,
wielder = {
inc_stats = { [Stats.STAT_MAG] = 4, },
max_mana = 50,
combat_mentalresist = 8,
inc_damage={
[DamageType.COLD] = 20,
[DamageType.ACID] = 20,
},
},
}
-- ------------------------------------------------------------------------------------------------------
-- temple of creation (drop by Slazor)
-- ------------------------------------------------------------------------------------------------------
newEntity{ base = "BASE_LITE",
power_source = {arcane=true},
define_as = "ELDRITCH_PEARL",
unided_name = "bright pearl",
name = "Eldritch Pearl", unique=true, image = "object/artifact/eldritch_pearl.png",
display ='*', color = colors.AQUAMARINE,
desc = [[Thousands of years spent inside the temple of creation have infused this pearl with the fury of rushing water. It pulses light.]],
-- No cost, it's invaluable
wielder = {
lite = 6,
can_breath = {water=1},
combat_dam = 12,
combat_spellpower = 12,
inc_stats = {
[Stats.STAT_STR] = 4,
[Stats.STAT_DEX] = 4,
[Stats.STAT_MAG] = 4,
[Stats.STAT_WIL] = 4,
[Stats.STAT_CUN] = 4,
[Stats.STAT_CON] = 4,
[Stats.STAT_LCK] = -5,
},
},
max_power = 150, power_regen = 1,
use_talent = { id = Talents.T_TIDAL_WAVE, level=4, power = 80 },
}
-- ------------------------------------------------------------------------------------------------------
-- temporal-rift (quest reward, added rarity)
-- ------------------------------------------------------------------------------------------------------
newEntity{ base = "BASE_RUNE", define_as = "RUNE_RIFT",
power_source = {arcane=true},
name = "Rune of the Rift", unique = true, identified = true, image = "object/artifact/rune_of_the_rift.png",
rarity = 1000,
cost = 100,
material_level = 3,
inscription_data = {
cooldown = 14,
},
inscription_talent = "RUNE_OF_THE_RIFT",
}
-- ------------------------------------------------------------------------------------------------------
-- vor pride
-- ------------------------------------------------------------------------------------------------------
newEntity{ base = "BASE_SCROLL", subtype="tome",
power_source = {arcane=true},
name = "Tome of Wildfire", unided_name = "burning book", unique=true, no_unique_lore=true, image = "object/artifact/tome_of_wildfire.png",
desc = "This huge book is covered in searing flames. Yet they do not harm you.",
color = colors.VIOLET,
level_range = {35, 45},
rarity = 1000,
cost = 100,
use_simple = { name="learn the ancient secrets", use = function(self, who)
if not who:knowTalent(who.T_FLAME) then
who:learnTalent(who.T_FLAME, true, 3, {no_unlearn=true})
game.logPlayer(who, "#00FFFF#You read the tome and learn about ancient forgotten fire magic!")
else
who.talents_types_mastery["spell/fire"] = (who.talents_types_mastery["spell/fire"] or 1) + 0.1
who.talents_types_mastery["spell/wildfire"] = (who.talents_types_mastery["spell/wildfire"] or 1) + 0.1
game.logPlayer(who, "#00FFFF#You read the tome and perfect your mastery of fire magic!")
end
return {used=true, id=true, destroy=true}
end}
}
newEntity{ base = "BASE_SCROLL", subtype="tome",
power_source = {arcane=true},
name = "Tome of Uttercold", unided_name = "frozen book", unique=true, no_unique_lore=true, image = "object/artifact/tome_of_uttercold.png",
desc = "This huge book is covered in slowly shifting patterns of ice. Yet they do not harm you.",
color = colors.VIOLET,
level_range = {35, 45},
rarity = 1000,
cost = 100,
use_simple = { name="learn the ancient secrets", use = function(self, who)
if not who:knowTalent(who.T_ICE_STORM) then
who:learnTalent(who.T_ICE_STORM, true, 3, {no_unlearn=true})
game.logPlayer(who, "#00FFFF#You read the tome and learn about ancient forgotten ice magic!")
else
who.talents_types_mastery["spell/water"] = (who.talents_types_mastery["spell/water"] or 1) + 0.1
who.talents_types_mastery["spell/ice"] = (who.talents_types_mastery["spell/ice"] or 1) + 0.1
game.logPlayer(who, "#00FFFF#You read the tome and perfect your mastery of ice magic!")
end
return {used=true, id=true, destroy=true}
end}
}