From d3b83eca33e89e7fef24daea1c54769b73ca2e0c Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Wed, 20 Oct 2010 14:11:02 +0000 Subject: [PATCH] Added a copy_add field to player descriptors Class life rating now adds to race life rating instead of overriding it git-svn-id: http://svn.net-core.org/repos/t-engine4@1572 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/engines/default/engine/Birther.lua | 10 ++++++++++ game/modules/tome/data/birth/classes/afflicted.lua | 4 +++- game/modules/tome/data/birth/classes/archer.lua | 1 - game/modules/tome/data/birth/classes/corrupted.lua | 4 +++- game/modules/tome/data/birth/classes/divine.lua | 4 +++- game/modules/tome/data/birth/classes/mage.lua | 5 ----- game/modules/tome/data/birth/classes/rogue.lua | 1 - game/modules/tome/data/birth/classes/tutorial.lua | 4 +++- game/modules/tome/data/birth/classes/warrior.lua | 5 +++-- game/modules/tome/data/birth/classes/wilder.lua | 5 +++-- 10 files changed, 28 insertions(+), 15 deletions(-) diff --git a/game/engines/default/engine/Birther.lua b/game/engines/default/engine/Birther.lua index bddeefae19..983eab50a7 100644 --- a/game/engines/default/engine/Birther.lua +++ b/game/engines/default/engine/Birther.lua @@ -274,6 +274,16 @@ function _M:apply() -- Copy normal data table.merge(self.actor, copy, true) end + if d.copy_add then + local copy = table.clone(d.copy_add, true) + -- Append array part + while #copy > 0 do + local f = table.remove(copy) + table.insert(self.actor, f) + end + -- Copy normal data + table.mergeAdd(self.actor, copy, true) + end -- Change stats if d.stats then for stat, inc in pairs(d.stats) do diff --git a/game/modules/tome/data/birth/classes/afflicted.lua b/game/modules/tome/data/birth/classes/afflicted.lua index 555cd5fd4b..37baca4907 100644 --- a/game/modules/tome/data/birth/classes/afflicted.lua +++ b/game/modules/tome/data/birth/classes/afflicted.lua @@ -68,10 +68,12 @@ newBirthDescriptor{ }, copy = { max_life = 110, - life_rating = 12, resolvers.equip{ id=true, {type="weapon", subtype="battleaxe", name="iron battleaxe", autoreq=true}, {type="armor", subtype="light", name="rough leather armour", autoreq=true} }, }, + copy_add = { + life_rating = 2, + }, } diff --git a/game/modules/tome/data/birth/classes/archer.lua b/game/modules/tome/data/birth/classes/archer.lua index e46358ccb6..2f45c5c91d 100644 --- a/game/modules/tome/data/birth/classes/archer.lua +++ b/game/modules/tome/data/birth/classes/archer.lua @@ -34,7 +34,6 @@ newBirthDescriptor{ }, copy = { max_life = 110, - life_rating = 10, }, } diff --git a/game/modules/tome/data/birth/classes/corrupted.lua b/game/modules/tome/data/birth/classes/corrupted.lua index 3fa165dba4..95fb76f262 100644 --- a/game/modules/tome/data/birth/classes/corrupted.lua +++ b/game/modules/tome/data/birth/classes/corrupted.lua @@ -33,7 +33,6 @@ newBirthDescriptor{ }, copy = { max_life = 120, - life_rating = 12, }, } @@ -73,6 +72,9 @@ newBirthDescriptor{ {type="armor", subtype="heavy", name="iron mail armour", autoreq=true} }, }, + copy_add = { + life_rating = 2, + }, } newBirthDescriptor{ diff --git a/game/modules/tome/data/birth/classes/divine.lua b/game/modules/tome/data/birth/classes/divine.lua index cbe9689df1..1590f445f2 100644 --- a/game/modules/tome/data/birth/classes/divine.lua +++ b/game/modules/tome/data/birth/classes/divine.lua @@ -72,13 +72,15 @@ newBirthDescriptor{ }, copy = { max_life = 110, - life_rating = 12, resolvers.equip{ id=true, {type="weapon", subtype="mace", name="iron mace", autoreq=true}, {type="armor", subtype="shield", name="iron shield", autoreq=true}, {type="armor", subtype="heavy", name="iron mail armour", autoreq=true}, }, }, + copy_add = { + life_rating = 2, + }, } newBirthDescriptor{ diff --git a/game/modules/tome/data/birth/classes/mage.lua b/game/modules/tome/data/birth/classes/mage.lua index 56dc016d70..a49655d880 100644 --- a/game/modules/tome/data/birth/classes/mage.lua +++ b/game/modules/tome/data/birth/classes/mage.lua @@ -83,7 +83,6 @@ newBirthDescriptor{ -- All mages are of angolwen faction faction = "angolwen", max_life = 90, - life_rating = 10, resolvers.equip{ id=true, {type="weapon", subtype="staff", name="elm staff", autoreq=true}, {type="armor", subtype="cloth", name="linen robe", autoreq=true}, @@ -129,7 +128,6 @@ newBirthDescriptor{ }, copy = { max_life = 90, - life_rating = 10, resolvers.equip{ id=true, {type="weapon", subtype="staff", name="elm staff", autoreq=true}, {type="armor", subtype="cloth", name="linen robe", autoreq=true} @@ -196,7 +194,6 @@ newBirthDescriptor{ -- All mages are of angolwen faction faction = "angolwen", max_life = 90, - life_rating = 10, resolvers.equip{ id=true, {type="weapon", subtype="staff", name="elm staff", autoreq=true}, {type="armor", subtype="cloth", name="linen robe", autoreq=true}, @@ -246,7 +243,6 @@ newBirthDescriptor{ -- All mages are of angolwen faction faction = "angolwen", max_life = 90, - life_rating = 10, resolvers.equip{ id=true, {type="weapon", subtype="staff", name="elm staff", autoreq=true}, {type="armor", subtype="cloth", name="linen robe", autoreq=true}, @@ -297,7 +293,6 @@ newBirthDescriptor{ -- All mages are of angolwen faction faction = "angolwen", max_life = 90, - life_rating = 10, resolvers.equip{ id=true, {type="weapon", subtype="staff", name="elm staff", autoreq=true}, {type="armor", subtype="cloth", name="linen robe", autoreq=true}, diff --git a/game/modules/tome/data/birth/classes/rogue.lua b/game/modules/tome/data/birth/classes/rogue.lua index 94699aeccb..6de0374fe5 100644 --- a/game/modules/tome/data/birth/classes/rogue.lua +++ b/game/modules/tome/data/birth/classes/rogue.lua @@ -34,7 +34,6 @@ newBirthDescriptor{ }, copy = { max_life = 100, - life_rating = 10, equipment = resolvers.equip{ id=true, {type="weapon", subtype="dagger", name="iron dagger", autoreq=true}, {type="weapon", subtype="dagger", name="iron dagger", autoreq=true}, diff --git a/game/modules/tome/data/birth/classes/tutorial.lua b/game/modules/tome/data/birth/classes/tutorial.lua index 586b0d266f..be9104ef65 100644 --- a/game/modules/tome/data/birth/classes/tutorial.lua +++ b/game/modules/tome/data/birth/classes/tutorial.lua @@ -33,11 +33,13 @@ newBirthDescriptor{ }, copy = { max_life = 100, - life_rating = 12, mana_regen = 0.2, life_regen = 1, mana_rating = 7, }, + copy_add = { + life_rating = 2, + }, } newBirthDescriptor{ diff --git a/game/modules/tome/data/birth/classes/warrior.lua b/game/modules/tome/data/birth/classes/warrior.lua index 76023a94bc..ece81ff78b 100644 --- a/game/modules/tome/data/birth/classes/warrior.lua +++ b/game/modules/tome/data/birth/classes/warrior.lua @@ -35,7 +35,9 @@ newBirthDescriptor{ }, copy = { max_life = 120, - life_rating = 12, + }, + copy_add = { + life_rating = 2, }, } @@ -157,7 +159,6 @@ newBirthDescriptor{ }, copy = { max_life = 100, - life_rating = 9, resolvers.equip{ id=true, {type="weapon", subtype="greatsword", name="iron greatsword", autoreq=true}, {type="armor", subtype="light", name="rough leather armour", autoreq=true}, diff --git a/game/modules/tome/data/birth/classes/wilder.lua b/game/modules/tome/data/birth/classes/wilder.lua index 3f4901926c..d02b4ad47a 100644 --- a/game/modules/tome/data/birth/classes/wilder.lua +++ b/game/modules/tome/data/birth/classes/wilder.lua @@ -68,7 +68,6 @@ newBirthDescriptor{ }, copy = { max_life = 90, - life_rating = 10, resolvers.equip{ id=true, {type="weapon", subtype="staff", name="elm staff", autoreq=true}, {type="armor", subtype="light", name="rough leather armour", autoreq=true} @@ -109,10 +108,12 @@ newBirthDescriptor{ }, copy = { max_life = 110, - life_rating = 12, resolvers.equip{ id=true, {type="weapon", subtype="battleaxe", name="iron battleaxe", autoreq=true}, {type="armor", subtype="light", name="rough leather armour", autoreq=true} }, }, + copy_add = { + life_rating = 2, + }, } -- GitLab