Skip to content
Snippets Groups Projects
Commit 86b9e8e1 authored by dg's avatar dg
Browse files

Fixed kinetic (now phase), of deflection, .. type of egos to not erase the...

Fixed kinetic (now phase), of deflection, .. type of egos to not erase the previous stat of the object but add to it


git-svn-id: http://svn.net-core.org/repos/t-engine4@911 51575b47-30f0-44d4-a5cc-537603b46e54
parent 00527727
No related branches found
No related tags found
No related merge requests found
......@@ -221,13 +221,13 @@ end
-- This is called when generatingthe final clones of an entity for use in a level.<br/>
-- This can be used to make random enchants on objects, random properties on actors, ...<br/>
-- by default this only looks for properties with a table value containing a __resolver field
function _M:resolve(t, last)
function _M:resolve(t, last, on_entity)
t = t or self
for k, e in pairs(t) do
if type(e) == "table" and e.__resolver and (not e.__resolve_last or last) then
t[k] = resolvers.calc[e.__resolver](e, self)
t[k] = resolvers.calc[e.__resolver](on_entity or e, self, e)
elseif type(e) == "table" and not e.__CLASSNAME then
self:resolve(e, last)
self:resolve(e, last, on_entity)
end
end
......
......@@ -288,6 +288,9 @@ function _M:finishEntity(level, type, e, ego_chance)
else newname = e.name .. ego.name end
print("applying ego", ego.name, "to ", e.name, "::", newname)
ego.unided_name = nil
-- The ego requested instant resolving before merge ?
if ego.instant_resolve then ego:resolve(nil, nil, e) end
ego.instant_resolve = nil
-- Merge additively but with array appending, so that nameless resolvers are not lost
table.mergeAddAppendArray(e, ego, true)
e.name = newname
......
......@@ -18,7 +18,7 @@
-- darkgod@te4.org
newEntity{
name = " of fire resistance", suffix=true,
name = " of fire resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -27,7 +27,7 @@ newEntity{
},
}
newEntity{
name = " of cold resistance", suffix=true,
name = " of cold resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -36,7 +36,7 @@ newEntity{
},
}
newEntity{
name = " of acid resistance", suffix=true,
name = " of acid resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -45,7 +45,7 @@ newEntity{
},
}
newEntity{
name = " of lightning resistance", suffix=true,
name = " of lightning resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -54,7 +54,7 @@ newEntity{
},
}
newEntity{
name = " of nature resistance", suffix=true,
name = " of nature resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -64,7 +64,7 @@ newEntity{
}
newEntity{
name = " of stability", suffix=true,
name = " of stability", suffix=true, instant_resolve=true,
level_range = {10, 50},
rarity = 7,
cost = 6,
......
......@@ -18,7 +18,7 @@
-- darkgod@te4.org
newEntity{
name = "bright ", prefix=true,
name = "bright ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 1,
......@@ -28,7 +28,7 @@ newEntity{
}
newEntity{
name = " of clear sight", suffix=true,
name = " of clear sight", suffix=true, instant_resolve=true,
level_range = {10, 50},
rarity = 5,
cost = 1,
......
......@@ -18,7 +18,7 @@
-- darkgod@te4.org
newEntity{
name = " of fire resistance", suffix=true,
name = " of fire resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -27,7 +27,7 @@ newEntity{
},
}
newEntity{
name = " of cold resistance", suffix=true,
name = " of cold resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -36,7 +36,7 @@ newEntity{
},
}
newEntity{
name = " of acid resistance", suffix=true,
name = " of acid resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -45,7 +45,7 @@ newEntity{
},
}
newEntity{
name = " of lightning resistance", suffix=true,
name = " of lightning resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -54,7 +54,7 @@ newEntity{
},
}
newEntity{
name = " of nature resistance", suffix=true,
name = " of nature resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -64,7 +64,7 @@ newEntity{
}
newEntity{
name = "shimmering ", prefix=true,
name = "shimmering ", prefix=true, instant_resolve=true,
level_range = {10, 50},
rarity = 7,
cost = 6,
......@@ -74,7 +74,7 @@ newEntity{
}
newEntity{
name = "slimy ", prefix=true,
name = "slimy ", prefix=true, instant_resolve=true,
level_range = {10, 50},
rarity = 7,
cost = 6,
......@@ -84,9 +84,9 @@ newEntity{
}
newEntity{
name = " of power", suffix=true,
name = " of power", suffix=true, instant_resolve=true,
level_range = {20, 50},
rarity = 15,
rarity = 18,
cost = 15,
wielder = {
inc_damage = {
......
......@@ -18,7 +18,7 @@
-- darkgod@te4.org
newEntity{
name = " of fire resistance", suffix=true,
name = " of fire resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 4,
......@@ -27,7 +27,7 @@ newEntity{
},
}
newEntity{
name = " of cold resistance", suffix=true,
name = " of cold resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 4,
......@@ -36,7 +36,7 @@ newEntity{
},
}
newEntity{
name = " of acid resistance", suffix=true,
name = " of acid resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 4,
......@@ -45,7 +45,7 @@ newEntity{
},
}
newEntity{
name = " of lightning resistance", suffix=true,
name = " of lightning resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 4,
......@@ -54,7 +54,7 @@ newEntity{
},
}
newEntity{
name = " of nature resistance", suffix=true,
name = " of nature resistance", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
cost = 4,
......@@ -65,7 +65,7 @@ newEntity{
newEntity{
name = "flaming ", prefix=true,
name = "flaming ", prefix=true, instant_resolve=true,
level_range = {15, 50},
rarity = 8,
cost = 8,
......@@ -74,7 +74,7 @@ newEntity{
},
}
newEntity{
name = "icy ", prefix=true,
name = "icy ", prefix=true, instant_resolve=true,
level_range = {15, 50},
rarity = 8,
cost = 10,
......@@ -83,7 +83,7 @@ newEntity{
},
}
newEntity{
name = "acidic ", prefix=true,
name = "acidic ", prefix=true, instant_resolve=true,
level_range = {15, 50},
rarity = 8,
cost = 8,
......@@ -92,7 +92,7 @@ newEntity{
},
}
newEntity{
name = "shocking ", prefix=true,
name = "shocking ", prefix=true, instant_resolve=true,
level_range = {15, 50},
rarity = 8,
cost = 8,
......@@ -102,7 +102,7 @@ newEntity{
}
newEntity{
name = " of deflection", suffix=true,
name = " of deflection", suffix=true, instant_resolve=true,
level_range = {10, 50},
rarity = 15,
cost = 20,
......@@ -112,7 +112,7 @@ newEntity{
}
newEntity{
name = " of resilience", suffix=true,
name = " of resilience", suffix=true, instant_resolve=true,
level_range = {20, 50},
rarity = 15,
cost = 20,
......
......@@ -20,7 +20,7 @@
local Stats = require "engine.interface.ActorStats"
newEntity{
name = " of power", suffix=true,
name = " of power", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 4,
cost = 8,
......@@ -30,7 +30,7 @@ newEntity{
}
newEntity{
name = "shimmering ", prefix=true,
name = "shimmering ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 3,
cost = 8,
......@@ -40,7 +40,7 @@ newEntity{
}
newEntity{
name = " of might", suffix=true,
name = " of might", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 3,
cost = 8,
......@@ -50,9 +50,9 @@ newEntity{
}
newEntity{
name = " of wizardry", suffix=true,
name = " of wizardry", suffix=true, instant_resolve=true,
level_range = {30, 50},
rarity = 12,
rarity = 18,
cost = 45,
wielder = {
combat_spellpower = resolvers.mbonus_material(30, 3, function(e, v) return v * 0.6 end),
......@@ -62,7 +62,7 @@ newEntity{
}
newEntity{
name = "magma ", prefix=true,
name = "magma ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 3,
cost = 5,
......@@ -72,7 +72,7 @@ newEntity{
}
newEntity{
name = "icy ", prefix=true,
name = "icy ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 3,
cost = 5,
......@@ -82,7 +82,7 @@ newEntity{
}
newEntity{
name = "acidic ", prefix=true,
name = "acidic ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 3,
cost = 5,
......@@ -92,7 +92,7 @@ newEntity{
}
newEntity{
name = "crackling ", prefix=true,
name = "crackling ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 3,
cost = 5,
......@@ -102,7 +102,7 @@ newEntity{
}
newEntity{
name = "naturalist ", prefix=true,
name = "naturalist ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 3,
cost = 5,
......@@ -112,7 +112,7 @@ newEntity{
}
newEntity{
name = "blighted ", prefix=true,
name = "blighted ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 3,
cost = 5,
......
......@@ -18,7 +18,7 @@
-- darkgod@te4.org
newEntity{
name = "flaming ", prefix=true,
name = "flaming ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
wielder = {
......@@ -26,7 +26,7 @@ newEntity{
},
}
newEntity{
name = "icy ", prefix=true,
name = "icy ", prefix=true, instant_resolve=true,
level_range = {15, 50},
rarity = 5,
wielder = {
......@@ -34,7 +34,7 @@ newEntity{
},
}
newEntity{
name = "acidic ", prefix=true,
name = "acidic ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
wielder = {
......@@ -42,7 +42,7 @@ newEntity{
},
}
newEntity{
name = "shocking ", prefix=true,
name = "shocking ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
wielder = {
......@@ -50,7 +50,7 @@ newEntity{
},
}
newEntity{
name = "poisonous ", prefix=true,
name = "poisonous ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 5,
wielder = {
......@@ -59,7 +59,7 @@ newEntity{
}
newEntity{
name = "slime-covered ", prefix=true,
name = "slime-covered ", prefix=true, instant_resolve=true,
level_range = {10, 50},
rarity = 5,
wielder = {
......@@ -68,7 +68,7 @@ newEntity{
}
newEntity{
name = " of accuracy", suffix=true,
name = " of accuracy", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 3,
cost = 4,
......@@ -76,7 +76,7 @@ newEntity{
}
newEntity{
name = "kinetic ", prefix=true,
name = "phase ", prefix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 3,
cost = 6,
......@@ -84,7 +84,7 @@ newEntity{
}
newEntity{
name = "elemental ", prefix=true,
name = "elemental ", prefix=true, instant_resolve=true,
level_range = {35, 50},
rarity = 25,
cost = 35,
......@@ -99,7 +99,7 @@ newEntity{
}
newEntity{
name = " of massacre", suffix=true,
name = " of massacre", suffix=true, instant_resolve=true,
level_range = {1, 50},
rarity = 3,
cost = 4,
......
......@@ -67,7 +67,7 @@ function _M:finish()
if act then
local t = self.actor:getTalentFromId(tid)
if t.no_sustain_autoreset then
game.logPlayer(self.actor, "#LIGHT_BLUE#Warning: You have increased some of your statistics, talent %s is actually sustained, if it is dependant on one of the stats you changed you need to re-use it for the changes to take effect.")
game.logPlayer(self.actor, "#LIGHT_BLUE#Warning: You have increased some of your statistics, talent %s is actually sustained, if it is dependant on one of the stats you changed you need to re-use it for the changes to take effect.", t.name)
else
reset[#reset+1] = tid
end
......
......@@ -125,7 +125,7 @@ function _M:finish()
local t = self.actor:getTalentFromId(tid)
if self.actor:getTalentLevelRaw(tid) ~= self.actor_dup:getTalentLevelRaw(tid) then
if t.no_sustain_autoreset then
game.logPlayer(self.actor, "#LIGHT_BLUE#Warning: You have increased your level in %s, but it cannot be auto-reactivated. The new level will only be used when you re-use it.")
game.logPlayer(self.actor, "#LIGHT_BLUE#Warning: You have increased your level in %s, but it cannot be auto-reactivated. The new level will only be used when you re-use it.", t.name)
else
reset[#reset+1] = tid
end
......
No preview for this file type
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