diff --git a/game/engines/default/engine/Birther.lua b/game/engines/default/engine/Birther.lua index bddeefae196cd7fce926ab63092652ad04554caf..983eab50a7910213371ffe12e1cfcda8d2ae2838 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 555cd5fd4b1363b8cf6d4455abe7bda6ebb481e7..37baca49079bc47bb726648a834036cca74f6b5c 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 e46358ccb6506ca8592682ffb9c85ba09bda040a..2f45c5c91df64e8c8afa442a7eef221e4bf0b863 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 3fa165dba4145d7d91b1a71230b72d5816f7c4dc..95fb76f2625ea886f4942413b9e114120fb6917c 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 cbe9689df19170d90229f38c8c52ae304e2d39bc..1590f445f204e7f825624f7938647248c3b8e1eb 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 56dc016d70c4511292637fefb8084d48a69ec8a1..a49655d880188e19973352040189929d95209e51 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 94699aeccbea67ba71e61dffd280b2156e36b4b4..6de0374fe5a5e7496a5935d006f21b3847f6bcea 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 586b0d266f21ee71dceda776f3bb3063fe715635..be9104ef653d8d40083cec63dd0661acf0377925 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 76023a94bc19dc44489506110bc7bb326c3c712c..ece81ff78ba255ba29a0d57c44e67a363406aa31 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 3f4901926cc32614479874248de65b4769dbd00f..d02b4ad47a0326c22ba2b526ac01f00395b25686 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, + }, }