Skip to content
Snippets Groups Projects
Commit 7bc54b58 authored by dg's avatar dg
Browse files

fix randart generation

git-svn-id: http://svn.net-core.org/repos/t-engine4@2379 51575b47-30f0-44d4-a5cc-537603b46e54
parent ddc4cc8d
No related branches found
No related tags found
No related merge requests found
......@@ -23,6 +23,20 @@ function lpeg.anywhere (p)
return lpeg.P{ p + 1 * lpeg.V(1) }
end
function table.print(src, offset)
offset = offset or ""
for k, e in pairs(src) do
-- Deep copy subtables, but not objects!
if type(e) == "table" and not e.__CLASSNAME then
print(("%s[%s] = {"):format(offset, tostring(k)))
table.print(e, offset.." ")
print(("%s}"):format(offset))
else
print(("%s[%s] = %s"):format(offset, tostring(k), tostring(e)))
end
end
end
function table.clone(tbl, deep)
local n = {}
for k, e in pairs(tbl) do
......
......@@ -229,6 +229,41 @@ function _M:generateRandart(add, base, lev)
print("Creating randart "..name.."("..o.unided_name..") with "..(themename or "nil").." with level "..lev)
print(" * using themes", table.concat(table.keys(themes), ','))
-----------------------------------------------------------
-- Add ego properties
-----------------------------------------------------------
if o.egos then
local legos = {}
local been_greater = false
table.insert(legos, game.level:getEntitiesList("object/"..o.egos..":prefix"))
table.insert(legos, game.level:getEntitiesList("object/"..o.egos..":suffix"))
table.insert(legos, game.level:getEntitiesList("object/"..o.egos..":"))
for i = 1, 2 do
local egos = rng.table(legos)
local list = {}
local filter = nil
if rng.percent(lev) and not been_greater then been_greater = true filter = function(e) return e.greater_ego end end
for z = 1, #egos do list[#list+1] = egos[z].e end
local pick_egos = game.zone:computeRarities("object", list, game.level, filter, nil, nil)
local ego = game.zone:pickEntity(pick_egos)
if ego then
print(" ** selected ego", ego.name)
ego = ego:clone()
if ego.instant_resolve then ego:resolve(nil, nil, o) end
ego.instant_resolve = nil
ego.uid = nil
ego.name = nil
ego.unided_name = nil
table.mergeAddAppendArray(o, ego, true)
end
end
o.egos = nil o.egos_chance = nil o.force_ego = nil
-- Re-resolve with the (possibly) new resolvers
o:resolve()
o:resolve(nil, true)
end
-----------------------------------------------------------
-- Imbue powers in the randart
-----------------------------------------------------------
......@@ -292,37 +327,6 @@ function _M:generateRandart(add, base, lev)
hpoints = hpoints - p.points * 2
end
-----------------------------------------------------------
-- Add ego properties
-----------------------------------------------------------
if o.egos then
local legos = {}
local been_greater = false
table.insert(legos, game.level:getEntitiesList("object/"..o.egos..":prefix"))
table.insert(legos, game.level:getEntitiesList("object/"..o.egos..":suffix"))
table.insert(legos, game.level:getEntitiesList("object/"..o.egos..":"))
for i = 1, 2 do
local egos = rng.table(legos)
local list = {}
local filter = nil
if rng.percent(lev) and not been_greater then been_greater = true filter = function(e) return e.greater_ego end end
for z = 1, #egos do list[#list+1] = egos[z].e end
local pick_egos = game.zone:computeRarities("object", list, game.level, filter, nil, nil)
local ego = game.zone:pickEntity(pick_egos)
if ego then
print(" ** selected ego", ego.name)
ego = ego:clone()
ego.name = nil
ego.unided_name = nil
if ego.instant_resolve then ego:resolve(nil, nil, o) end
ego.instant_resolve = nil
ego.uid = nil
table.mergeAddAppendArray(o, ego, true)
end
end
o.egos = nil o.egos_chance = nil o.force_ego = nil
end
-- Setup the name
o.name = name
......
......@@ -27,7 +27,7 @@ local Talents = require "engine.interface.ActorTalents"
--load("/data/general/objects/egos/charged-utility.lua")
newEntity{
name = " of cunning (#STATBONUS#)", suffix=true,
name = " of cunning (#STATBONUS#)", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 4,
......@@ -36,7 +36,7 @@ newEntity{
},
}
newEntity{
name = " of willpower (#STATBONUS#)", suffix=true,
name = " of willpower (#STATBONUS#)", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 4,
......@@ -114,7 +114,7 @@ newEntity{
newEntity{
name = "insulating ", prefix=true,
name = "insulating ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 5,
......@@ -151,7 +151,7 @@ newEntity{
}
newEntity{
name = "shielding ", prefix=true,
name = "shielding ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 5,
......@@ -162,7 +162,7 @@ newEntity{
}
newEntity{
name = "cleansing ", prefix=true,
name = "cleansing ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 9,
cost = 9,
......@@ -176,7 +176,7 @@ newEntity{
}
newEntity{
name = "vitalizing ", prefix=true,
name = "vitalizing ", prefix=true, instant_resolve=true,
level_range = {20, 50},
greater_ego = true,
rarity = 15,
......
......@@ -52,7 +52,7 @@ newEntity{
}
newEntity{
name = " of Eldoral", suffix=true,
name = " of Eldoral", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 10,
......@@ -65,7 +65,7 @@ newEntity{
}
newEntity{
name = " of the Shaloren", suffix=true,
name = " of the Shaloren", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 10,
......@@ -78,7 +78,7 @@ newEntity{
}
newEntity{
name = " of Iron Throne", suffix=true,
name = " of Iron Throne", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 10,
......@@ -191,7 +191,7 @@ newEntity{
cut_immune = resolvers.mbonus_material(2, 2, function(e, v) v=v/10 return v * 8, v end),
life_regen = resolvers.mbonus_material(10, 5, function(e, v) v=v/10 return v * 10, v end),
poison_immune = resolvers.mbonus_material(10, 10, function(e, v) return v * 0.15, v/100 end),
},
}
......@@ -225,5 +225,3 @@ newEntity{
},
},
}
......@@ -28,7 +28,7 @@ newEntity{
}
newEntity{
name = " of strength", suffix=true,
name = " of strength", suffix=true, instant_resolve=true,
level_range = {10, 50},
rarity = 6,
cost = 10,
......@@ -38,7 +38,7 @@ newEntity{
}
newEntity{
name = " of delving", suffix=true,
name = " of delving", suffix=true, instant_resolve=true,
level_range = {30, 50},
greater_ego = true,
rarity = 20,
......@@ -80,7 +80,7 @@ newEntity{
}
newEntity{
name = " of the Iron Throne", suffix=true,
name = " of the Iron Throne", suffix=true, instant_resolve=true,
level_range = {20, 50},
greater_ego = true,
rarity = 15,
......@@ -93,7 +93,7 @@ newEntity{
}
newEntity{
name = " of Reknor", suffix=true,
name = " of Reknor", suffix=true, instant_resolve=true,
level_range = {20, 50},
greater_ego = true,
rarity = 15,
......@@ -108,7 +108,7 @@ newEntity{
}
newEntity{
name = "brutal ", prefix=true,
name = "brutal ", prefix=true, instant_resolve=true,
level_range = {40, 50},
greater_ego = true,
rarity = 20,
......@@ -122,7 +122,7 @@ newEntity{
}
newEntity{
name = "builder's ", prefix=true,
name = "builder's ", prefix=true, instant_resolve=true,
level_range = {30, 50},
greater_ego = true,
rarity = 15,
......@@ -137,7 +137,7 @@ newEntity{
}
newEntity{
name = "soldier's ", prefix=true,
name = "soldier's ", prefix=true, instant_resolve=true,
level_range = {30, 50},
greater_ego = true,
rarity = 15,
......
......@@ -148,7 +148,7 @@ newEntity{
}
newEntity{
name = " of strength (#STATBONUS#)", suffix=true,
name = " of strength (#STATBONUS#)", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 4,
......@@ -158,7 +158,7 @@ newEntity{
}
newEntity{
name = " of dexterity (#STATBONUS#)", suffix=true,
name = " of dexterity (#STATBONUS#)", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 4,
......@@ -168,7 +168,7 @@ newEntity{
}
newEntity{
name = " of magic (#STATBONUS#)", suffix=true,
name = " of magic (#STATBONUS#)", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 4,
......@@ -178,7 +178,7 @@ newEntity{
}
newEntity{
name = " of iron grip", suffix=true,
name = " of iron grip", suffix=true, instant_resolve=true,
level_range = {20, 50},
rarity = 9,
cost = 15,
......@@ -189,7 +189,7 @@ newEntity{
}
newEntity{
name = " of protection", suffix=true,
name = " of protection", suffix=true, instant_resolve=true,
level_range = {20, 50},
greater_ego = true,
rarity = 15,
......@@ -204,7 +204,7 @@ newEntity{
}
newEntity{
name = " of warmaking", suffix=true,
name = " of warmaking", suffix=true, instant_resolve=true,
level_range = {30, 50},
greater_ego = true,
rarity = 17,
......@@ -220,7 +220,7 @@ newEntity{
}
newEntity{
name = " of regeneration", suffix=true,
name = " of regeneration", suffix=true, instant_resolve=true,
level_range = {30, 50},
greater_ego = true,
rarity = 18,
......@@ -233,7 +233,7 @@ newEntity{
}
newEntity{
name = "heroic ", prefix=true,
name = "heroic ", prefix=true, instant_resolve=true,
level_range = {40, 50},
greater_ego = true,
rarity = 20,
......@@ -249,7 +249,7 @@ newEntity{
}
newEntity{
name = "alchemist's ", prefix=true,
name = "alchemist's ", prefix=true, instant_resolve=true,
level_range = {30, 50},
greater_ego = true,
rarity = 17,
......@@ -265,7 +265,7 @@ newEntity{
}
newEntity{
name = "archer's ", prefix=true,
name = "archer's ", prefix=true, instant_resolve=true,
level_range = {30, 50},
greater_ego = true,
rarity = 17,
......
......@@ -25,7 +25,7 @@ local DamageType = require "engine.DamageType"
newEntity{
name = " of strength (#STATBONUS#)", suffix=true,
name = " of strength (#STATBONUS#)", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 4,
......@@ -34,7 +34,7 @@ newEntity{
},
}
newEntity{
name = " of constitution (#STATBONUS#)", suffix=true,
name = " of constitution (#STATBONUS#)", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 4,
......@@ -43,7 +43,7 @@ newEntity{
},
}
newEntity{
name = " of dexterity (#STATBONUS#)", suffix=true,
name = " of dexterity (#STATBONUS#)", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 4,
......@@ -204,7 +204,7 @@ newEntity{
inc_stats = {
[Stats.STAT_MAG] = resolvers.mbonus_material(3, 2, function(e, v) return v * 3 end),
[Stats.STAT_WIL] = resolvers.mbonus_material(3, 2, function(e, v) return v * 3 end),
},
},
},
}
......@@ -220,7 +220,7 @@ newEntity{
inc_stats = {
[Stats.STAT_STR] = resolvers.mbonus_material(3, 2, function(e, v) return v * 3 end),
[Stats.STAT_CON] = resolvers.mbonus_material(3, 2, function(e, v) return v * 3 end),
},
},
},
}
......@@ -235,7 +235,7 @@ newEntity{
inc_stats = {
[Stats.STAT_DEX] = resolvers.mbonus_material(3, 2, function(e, v) return v * 3 end),
[Stats.STAT_CUN] = resolvers.mbonus_material(3, 2, function(e, v) return v * 3 end),
},
},
},
}
......
......@@ -65,7 +65,7 @@ newEntity{
}
newEntity{
name = " of revealing", suffix=true,
name = " of revealing", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 7,
cost = 10,
......@@ -76,7 +76,7 @@ newEntity{
}
newEntity{
name = " of clarity", suffix=true,
name = " of clarity", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 7,
cost = 10,
......@@ -86,7 +86,7 @@ newEntity{
}
newEntity{
name = " of health", suffix=true,
name = " of health", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 7,
cost = 10,
......@@ -96,7 +96,7 @@ newEntity{
}
newEntity{
name = " of guile", suffix=true,
name = " of guile", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 7,
cost = 10,
......@@ -108,7 +108,7 @@ newEntity{
}
newEntity{
name = "burglar's ", prefix=true,
name = "burglar's ", prefix=true, instant_resolve=true,
level_range = {15, 50},
rarity = 9,
cost = 12,
......@@ -119,7 +119,7 @@ newEntity{
}
newEntity{
name = "guard's ", prefix=true,
name = "guard's ", prefix=true, instant_resolve=true,
level_range = {15, 50},
rarity = 9,
cost = 12,
......@@ -129,7 +129,7 @@ newEntity{
}
newEntity{
name = "healer's ", prefix=true,
name = "healer's ", prefix=true, instant_resolve=true,
level_range = {15, 50},
rarity = 9,
cost = 12,
......@@ -139,7 +139,7 @@ newEntity{
}
newEntity{
name = "guide's ", prefix=true,
name = "guide's ", prefix=true, instant_resolve=true,
level_range = {15, 50},
rarity = 9,
cost = 12,
......
......@@ -25,7 +25,7 @@ local DamageType = require "engine.DamageType"
--load("/data/general/objects/egos/charged-utility.lua")
newEntity{
name = " of see invisible", suffix=true,
name = " of see invisible", suffix=true, instant_resolve=true,
level_range = {1, 20},
rarity = 4,
cost = 2,
......@@ -45,7 +45,7 @@ newEntity{
}
newEntity{
name = " of mana (#REGEN#)", suffix=true,
name = " of mana (#REGEN#)", suffix=true, instant_resolve=true,
level_range = {10, 20},
rarity = 8,
cost = 3,
......@@ -55,73 +55,79 @@ newEntity{
}
newEntity{
name = " of fire (#RESIST#)", suffix=true,
name = " of fire (#RESIST#)", suffix=true, instant_resolve=true,
level_range = {10, 40},
rarity = 6,
cost = 2,
wielder = {
inc_damage = { [DamageType.FIRE] = resolvers.mbonus_material(10, 10, function(e, v) return v * 0.8 end) },
resists = {[DamageType.FIRE] = resolvers.genericlast(function(e) return e.wielder.inc_damage[engine.DamageType.FIRE] end) },
resists = {},
resolvers.genericlast(function(e) e.wielder.resists[engine.DamageType.FIRE] = (e.wielder.resists[engine.DamageType.FIRE] or 0) + e.wielder.inc_damage[engine.DamageType.FIRE] end),
},
}
newEntity{
name = " of frost (#RESIST#)", suffix=true,
name = " of frost (#RESIST#)", suffix=true, instant_resolve=true,
level_range = {10, 40},
rarity = 6,
cost = 2,
wielder = {
inc_damage = { [DamageType.COLD] = resolvers.mbonus_material(10, 10, function(e, v) return v * 0.8 end) },
resists = {[DamageType.COLD] = resolvers.genericlast(function(e) return e.wielder.inc_damage[engine.DamageType.COLD] end) },
resists = {},
resolvers.genericlast(function(e) e.wielder.resists[engine.DamageType.COLD] = (e.wielder.resists[engine.DamageType.COLD] or 0) + e.wielder.inc_damage[engine.DamageType.COLD] end),
},
}
newEntity{
name = " of nature (#RESIST#)", suffix=true,
name = " of nature (#RESIST#)", suffix=true, instant_resolve=true,
level_range = {10, 40},
rarity = 6,
cost = 2,
wielder = {
inc_damage = { [DamageType.NATURE] = resolvers.mbonus_material(10, 10, function(e, v) return v * 0.8 end) },
resists = {[DamageType.NATURE] = resolvers.genericlast(function(e) return e.wielder.inc_damage[engine.DamageType.NATURE] end) },
resists = {},
resolvers.genericlast(function(e) e.wielder.resists[engine.DamageType.NATURE] = (e.wielder.resists[engine.DamageType.NATURE] or 0) + e.wielder.inc_damage[engine.DamageType.NATURE] end),
},
}
newEntity{
name = " of lightning (#RESIST#)", suffix=true,
name = " of lightning (#RESIST#)", suffix=true, instant_resolve=true,
level_range = {10, 40},
rarity = 6,
cost = 2,
wielder = {
inc_damage = { [DamageType.LIGHTNING] = resolvers.mbonus_material(10, 10, function(e, v) return v * 0.8 end) },
resists = {[DamageType.LIGHTNING] = resolvers.genericlast(function(e) return e.wielder.inc_damage[engine.DamageType.LIGHTNING] end) },
resists = {},
resolvers.genericlast(function(e) e.wielder.resists[engine.DamageType.LIGHTNING] = (e.wielder.resists[engine.DamageType.LIGHTNING] or 0) + e.wielder.inc_damage[engine.DamageType.LIGHTNING] end),
},
}
newEntity{
name = " of corrosion (#RESIST#)", suffix=true,
name = " of corrosion (#RESIST#)", suffix=true, instant_resolve=true,
level_range = {10, 40},
rarity = 6,
cost = 2,
wielder = {
inc_damage = { [DamageType.ACID] = resolvers.mbonus_material(10, 10, function(e, v) return v * 0.8 end) },
resists = {[DamageType.ACID] = resolvers.genericlast(function(e) return e.wielder.inc_damage[engine.DamageType.ACID] end) },
resists = {},
resolvers.genericlast(function(e) e.wielder.resists[engine.DamageType.ACID] = (e.wielder.resists[engine.DamageType.ACID] or 0) + e.wielder.inc_damage[engine.DamageType.ACID] end),
},
}
newEntity{
name = " of blight (#RESIST#)", suffix=true,
name = " of blight (#RESIST#)", suffix=true, instant_resolve=true,
level_range = {10, 40},
rarity = 6,
cost = 2,
wielder = {
inc_damage = { [DamageType.BLIGHT] = resolvers.mbonus_material(10, 10, function(e, v) return v * 0.8 end) },
resists = {[DamageType.BLIGHT] = resolvers.genericlast(function(e) return e.wielder.inc_damage[engine.DamageType.BLIGHT] end) },
resists = {},
resolvers.genericlast(function(e) e.wielder.resists[engine.DamageType.BLIGHT] = (e.wielder.resists[engine.DamageType.BLIGHT] or 0) + e.wielder.inc_damage[engine.DamageType.BLIGHT] end),
},
}
newEntity{
name = " of massacre (#DAMBONUS#)", suffix=true,
name = " of massacre (#DAMBONUS#)", suffix=true, instant_resolve=true,
level_range = {6, 50},
rarity = 4,
cost = 4,
......@@ -131,7 +137,7 @@ newEntity{
}
newEntity{ define_as = "RING_ARCANE_POWER",
name = " of arcane power (#DAMBONUS#)", suffix=true,
name = " of arcane power (#DAMBONUS#)", suffix=true, instant_resolve=true,
level_range = {6, 50},
rarity = 4,
cost = 4,
......@@ -153,51 +159,51 @@ newEntity{
}
newEntity{
name = "brawler's ", prefix=true,
name = "brawler's ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 7,
cost = 6,
wielder = {
inc_stats = { [Stats.STAT_STR] = resolvers.mbonus_material(8, 2, function(e, v) return v * 3 end) },
combat_def = resolvers.genericlast(function(e) return e.wielder.inc_stats[engine.interface.ActorStats.STAT_STR] end),
resolvers.genericlast(function(e) e.wielder.combat_def = (e.wielder.combat_def or 0) + e.wielder.inc_stats[engine.interface.ActorStats.STAT_STR] end),
},
}
newEntity{
name = "titan's ", prefix=true,
name = "titan's ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 7,
cost = 6,
wielder = {
inc_stats = { [Stats.STAT_CON] = resolvers.mbonus_material(8, 2, function(e, v) return v * 3 end) },
combat_physresist = resolvers.genericlast(function(e) return e.wielder.inc_stats[engine.interface.ActorStats.STAT_CON] end),
resolvers.genericlast(function(e) e.wielder.combat_physresist = (e.wielder.combat_physresist or 0) + e.wielder.inc_stats[engine.interface.ActorStats.STAT_CON] end),
},
}
newEntity{
name = "duelist's ", prefix=true,
name = "duelist's ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 7,
cost = 6,
wielder = {
inc_stats = { [Stats.STAT_DEX] = resolvers.mbonus_material(8, 2, function(e, v) return v * 3 end) },
combat_atk = resolvers.genericlast(function(e) return e.wielder.inc_stats[engine.interface.ActorStats.STAT_DEX] end),
resolvers.genericlast(function(e) e.wielder.combat_atk = (e.wielder.combat_atk or 0) + e.wielder.inc_stats[engine.interface.ActorStats.STAT_DEX] end),
},
}
newEntity{ define_as = "RING_MAGIC",
name = "wizard's ", prefix=true,
name = "wizard's ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 7,
cost = 6,
wielder = {
inc_stats = { [Stats.STAT_MAG] = resolvers.mbonus_material(8, 2, function(e, v) return v * 3 end) },
combat_spellresist = resolvers.genericlast(function(e) return e.wielder.inc_stats[engine.interface.ActorStats.STAT_MAG] end),
resolvers.genericlast(function(e) e.wielder.combat_spellresist = (e.wielder.combat_spellresist or 0) + e.wielder.inc_stats[engine.interface.ActorStats.STAT_MAG] end),
},
}
newEntity{
name = "mule's ", prefix=true,
name = "mule's ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 7,
cost = 6,
......@@ -214,7 +220,7 @@ newEntity{
rarity = 12,
cost = 20,
wielder = {
lite = -2,
lite = -2,
inc_stats = {
[Stats.STAT_DEX] = resolvers.mbonus_material(6, 4, function(e, v) return v * 3 end),
[Stats.STAT_CUN] = resolvers.mbonus_material(6, 4, function(e, v) return v * 3 end),
......@@ -248,7 +254,7 @@ newEntity{
inc_stats = {
[Stats.STAT_MAG] = resolvers.mbonus_material(4, 4, function(e, v) return v * 3 end),
[Stats.STAT_WIL] = resolvers.mbonus_material(4, 4, function(e, v) return v * 3 end),
},
},
},
}
......@@ -261,7 +267,7 @@ newEntity{
wielder = {
pin_immune = resolvers.mbonus_material(2, 2, function(e, v) v=v/10 return v * 8, v end),
knockback_immune = resolvers.mbonus_material(2, 2, function(e, v) v=v/10 return v * 8, v end),
disarm_immune = resolvers.mbonus_material(2, 2, function(e, v) v=v/10 return v * 8, v end),
disarm_immune = resolvers.mbonus_material(2, 2, function(e, v) v=v/10 return v * 8, v end),
},
}
......@@ -275,7 +281,7 @@ newEntity{
wielder = {
combat_spellpower = resolvers.mbonus_material(3, 3, function(e, v) return v * 0.8 end),
combat_spellcrit = resolvers.mbonus_material(3, 3, function(e, v) return v * 0.4 end),
inc_damage = { [DamageType.ARCANE] = resolvers.mbonus_material(15, 5, function(e, v) return v * 0.8 end) },
inc_damage = { [DamageType.ARCANE] = resolvers.mbonus_material(15, 5, function(e, v) return v * 0.8 end) },
},
}
......@@ -285,10 +291,10 @@ newEntity{
greater_ego = true,
rarity = 12,
cost = 50,
wielder = {
wielder = {
max_life=resolvers.mbonus_material(60, 40, function(e, v) return v * 0.1 end),
life_regen = resolvers.mbonus_material(15, 5, function(e, v) v=v/10 return v * 10, v end),
healing_factor = resolvers.mbonus_material(20, 10, function(e, v) v=v/100 return v * 80, v end),
healing_factor = resolvers.mbonus_material(20, 10, function(e, v) v=v/100 return v * 80, v end),
},
}
......@@ -37,7 +37,7 @@ newEntity{
}
newEntity{
name = " of magic (#STATBONUS#)", suffix=true,
name = " of magic (#STATBONUS#)", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 4,
......@@ -46,7 +46,7 @@ newEntity{
},
}
newEntity{
name = " of willpower (#STATBONUS#)", suffix=true,
name = " of willpower (#STATBONUS#)", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 4,
......@@ -55,7 +55,7 @@ newEntity{
},
}
newEntity{
name = " of cunning (#STATBONUS#)", suffix=true,
name = " of cunning (#STATBONUS#)", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 6,
cost = 4,
......@@ -84,7 +84,7 @@ newEntity{
},
}
newEntity{
name = "shimmering ", prefix=true,
name = "shimmering ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 10,
cost = 4,
......@@ -94,7 +94,7 @@ newEntity{
}
newEntity{
name = " of seeing ", suffix=true,
name = " of seeing ", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -192,7 +192,7 @@ newEntity{
inc_stats = {
[Stats.STAT_MAG] = resolvers.mbonus_material(3, 2, function(e, v) return v * 3 end),
[Stats.STAT_WIL] = resolvers.mbonus_material(3, 2, function(e, v) return v * 3 end),
},
},
},
}
......@@ -208,7 +208,7 @@ newEntity{
[DamageType.COLD] = resolvers.mbonus_material(7, 5, function(e, v) return v * 0.25 end),
[DamageType.ACID] = resolvers.mbonus_material(7, 5, function(e, v) return v * 0.25 end),
[DamageType.LIGHTNING] = resolvers.mbonus_material(7, 5, function(e, v) return v * 0.25 end),
},
},
},
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment