diff --git a/game/modules/tome/data/general/npcs/ant.lua b/game/modules/tome/data/general/npcs/ant.lua index f5233c13d621c35ffe16756339e6511987e3e365..d5e39e230e99fd427127a2a10c5bdaaf2900ec3b 100644 --- a/game/modules/tome/data/general/npcs/ant.lua +++ b/game/modules/tome/data/general/npcs/ant.lua @@ -32,7 +32,7 @@ newEntity{ stats = { str=12, dex=10, mag=3, con=13 }, energy = { mod=1 }, combat_armor = 1, combat_def = 1, - combat = { dam=5, atk=15, apr=7, dammod={str=0.6} }, + combat = { dam=resolvers.levelup(resolvers.rngavg(5,5), 1, 1), atk=15, apr=7, dammod={str=0.6} }, infravision = 20, max_life = resolvers.rngavg(10,20), rank = 1, diff --git a/game/modules/tome/data/general/npcs/aquatic_critter.lua b/game/modules/tome/data/general/npcs/aquatic_critter.lua index 2aabc60bbed290289917b30b538ced008015751e..9cf38c93e793887a303904486bf08ac25e1eabdc 100644 --- a/game/modules/tome/data/general/npcs/aquatic_critter.lua +++ b/game/modules/tome/data/general/npcs/aquatic_critter.lua @@ -31,7 +31,7 @@ newEntity{ stats = { str=12, dex=10, mag=3, con=13 }, energy = { mod=1 }, combat_armor = 1, combat_def = 1, - combat = { dam=resolvers.mbonus(36, 10), atk=15, apr=7, dammod={str=0.6} }, + combat = { dam=resolvers.levelup(resolvers.mbonus(36, 10), 1, 1), atk=15, apr=7, dammod={str=0.6} }, max_life = resolvers.rngavg(10,20), life_rating = 6, infravision = 20, rank = 1, diff --git a/game/modules/tome/data/general/npcs/aquatic_demon.lua b/game/modules/tome/data/general/npcs/aquatic_demon.lua index 7d517eb29e0d9efe64c90ae4197f792cfcdf49ed..bb56c898daec64662606f1c707856841da902371 100644 --- a/game/modules/tome/data/general/npcs/aquatic_demon.lua +++ b/game/modules/tome/data/general/npcs/aquatic_demon.lua @@ -32,7 +32,7 @@ newEntity{ stats = { str=12, dex=10, mag=3, con=13 }, energy = { mod=1 }, combat_armor = 1, combat_def = 1, - combat = { dam=resolvers.mbonus(46, 20), atk=15, apr=7, dammod={str=0.7} }, + combat = { dam=resolvers.levelup(resolvers.mbonus(46, 20), 1, 1), atk=15, apr=7, dammod={str=0.7} }, max_life = resolvers.rngavg(100,120), infravision = 20, demon = 1, diff --git a/game/modules/tome/data/general/npcs/bear.lua b/game/modules/tome/data/general/npcs/bear.lua index 055b1b2a0a85469d7344f0026ce1e7b26fa5ffcc..9e05479620f06104ae38272084a11bc18b936e1b 100644 --- a/game/modules/tome/data/general/npcs/bear.lua +++ b/game/modules/tome/data/general/npcs/bear.lua @@ -38,7 +38,7 @@ newEntity{ size_category = 4, combat_armor = 1, combat_def = 1, - combat = { dam=resolvers.rngavg(12,25), atk=10, apr=3, physspeed=2, dammod={str=0.8} }, + combat = { dam=resolvers.levelup(resolvers.rngavg(12, 25), 1, 1), atk=10, apr=3, physspeed=2, dammod={str=0.8} }, life_rating = 12, resolvers.tmasteries{ ["technique/other"]=0.25 }, @@ -72,7 +72,7 @@ newEntity{ base = "BASE_NPC_BEAR", rarity = 3, max_life = resolvers.rngavg(100,110), combat_armor = 9, combat_def = 4, - combat = { dam=resolvers.rngavg(13,17), atk=7, apr=2, physspeed=2 }, + combat = { dam=resolvers.levelup(resolvers.rngavg(13, 17), 1, 1), atk=7, apr=2, physspeed=2 }, resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=2, [Talents.T_KNOCKBACK]=1,}, } @@ -83,7 +83,7 @@ newEntity{ base = "BASE_NPC_BEAR", rarity = 3, max_life = resolvers.rngavg(100,120), combat_armor = 9, combat_def = 4, - combat = { dam=resolvers.rngavg(13,17), atk=10, apr=3, physspeed=2 }, + combat = { dam=resolvers.levelup(resolvers.rngavg(13, 17), 1, 1), atk=10, apr=3, physspeed=2 }, resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=2, [Talents.T_KNOCKBACK]=1, [Talents.T_DISARM]=3,}, } @@ -94,7 +94,7 @@ newEntity{ base = "BASE_NPC_BEAR", rarity = 4, max_life = resolvers.rngavg(110,120), combat_armor = 10, combat_def = 5, - combat = { dam=resolvers.rngavg(15,20), atk=10, apr=3, physspeed=2 }, + combat = { dam=resolvers.levelup(resolvers.rngavg(15, 20), 1, 1), atk=10, apr=3, physspeed=2 }, resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=3, [Talents.T_KNOCKBACK]=2, [Talents.T_DISARM]=3,}, } @@ -105,7 +105,7 @@ newEntity{ base = "BASE_NPC_BEAR", rarity = 6, max_life = resolvers.rngavg(110,120), combat_armor = 10, combat_def = 7, - combat = { dam=resolvers.rngavg(15,20), atk=12, apr=3, physspeed=2 }, + combat = { dam=resolvers.levelup(resolvers.rngavg(15, 20), 1, 1), atk=12, apr=3, physspeed=2 }, resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=3, [Talents.T_KNOCKBACK]=2, [Talents.T_DISARM]=3,}, resists = { [DamageType.COLD] = 100, }, } diff --git a/game/modules/tome/data/general/npcs/bird.lua b/game/modules/tome/data/general/npcs/bird.lua index 6f48f26af98331b8c8cef8b2a119621556672bb1..40018d008c7ba59cfdf0cfbe730cde9b76d717db 100644 --- a/game/modules/tome/data/general/npcs/bird.lua +++ b/game/modules/tome/data/general/npcs/bird.lua @@ -59,7 +59,7 @@ newEntity{ base="BASE_NPC_BIRD", define_as = "NPC_PHOENIX", ai = "tactical", stats = { str=20, dex=60, cun=60, mag=30, con=40, wil=40 }, - combat = { dam=50, atk=50, apr=12, dammod={mag=1.3} }, + combat = { dam=resolvers.levelup(50, 1, 1), atk=50, apr=12, dammod={mag=1.3} }, body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, resolvers.drops{chance=100, nb=1, {unique=true} }, diff --git a/game/modules/tome/data/general/npcs/bone-giant.lua b/game/modules/tome/data/general/npcs/bone-giant.lua index 31e62e32b82157249357f2cbbd3aed1b1b92eb1f..223fd9838e90e5fbcd5445915f74fae70d9b3385 100644 --- a/game/modules/tome/data/general/npcs/bone-giant.lua +++ b/game/modules/tome/data/general/npcs/bone-giant.lua @@ -25,7 +25,7 @@ newEntity{ blood_color = colors.GREY, display = "K", color=colors.WHITE, - combat = { dam=resolvers.mbonus(45, 20), atk=15, apr=10, dammod={str=0.8} }, + combat = { dam=resolvers.levelup(resolvers.mbonus(45, 20), 1, 1), atk=15, apr=10, dammod={str=0.8} }, body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, @@ -62,7 +62,7 @@ newEntity{ base = "BASE_NPC_BONE_GIANT", combat_armor = 20, combat_def = 0, on_melee_hit = {[DamageType.BLIGHT]=resolvers.mbonus(15, 5)}, melee_project = {[DamageType.BLIGHT]=resolvers.mbonus(15, 5)}, - resolvers.talents{ [Talents.T_BONE_ARMOUR]=3, [Talents.T_STUN]=3, }, + resolvers.talents{ [Talents.T_BONE_ARMOUR]={base=3, every=10, max=5}, [Talents.T_STUN]={base=3, every=10, max=5}, }, } newEntity{ base = "BASE_NPC_BONE_GIANT", @@ -76,7 +76,7 @@ newEntity{ base = "BASE_NPC_BONE_GIANT", melee_project = {[DamageType.BLIGHT]=resolvers.mbonus(15, 5)}, autolevel = "warriormage", resists = {all = 50}, - resolvers.talents{ [Talents.T_BONE_ARMOUR]=5, [Talents.T_STUN]=3, [Talents.T_SKELETON_REASSEMBLE]=5, }, + resolvers.talents{ [Talents.T_BONE_ARMOUR]={base=5, every=10, max=7}, [Talents.T_STUN]={base=3, every=10, max=5}, [Talents.T_SKELETON_REASSEMBLE]=5, }, } newEntity{ base = "BASE_NPC_BONE_GIANT", @@ -88,5 +88,5 @@ newEntity{ base = "BASE_NPC_BONE_GIANT", combat_armor = 20, combat_def = 0, on_melee_hit = {[DamageType.BLIGHT]=resolvers.mbonus(15, 5)}, melee_project = {[DamageType.BLIGHT]=resolvers.mbonus(15, 5)}, - resolvers.talents{ [Talents.T_BONE_ARMOUR]=3, [Talents.T_THROW_BONES]=4, [Talents.T_STUN]=3, }, + resolvers.talents{ [Talents.T_BONE_ARMOUR]={base=3, every=10, max=5}, [Talents.T_THROW_BONES]={base=4, every=10, max=7}, [Talents.T_STUN]={base=3, every=10, max=5}, }, } diff --git a/game/modules/tome/data/general/npcs/canine.lua b/game/modules/tome/data/general/npcs/canine.lua index 0c9331d40c09e124e4e58ec48cd26d23e9202173..5b455c1bcbb7133b516c72d35afeb233afadd519 100644 --- a/game/modules/tome/data/general/npcs/canine.lua +++ b/game/modules/tome/data/general/npcs/canine.lua @@ -47,7 +47,7 @@ newEntity{ base = "BASE_NPC_CANINE", rarity = 1, max_life = resolvers.rngavg(40,70), combat_armor = 1, combat_def = 3, - combat = { dam=5, atk=15, apr=3 }, + combat = { dam=resolvers.levelup(5, 1, 0.7), atk=15, apr=3 }, } newEntity{ base = "BASE_NPC_CANINE", @@ -57,7 +57,7 @@ newEntity{ base = "BASE_NPC_CANINE", rarity = 3, max_life = resolvers.rngavg(60,90), combat_armor =2, combat_def = 4, - combat = { dam=6, atk=15, apr=3 }, + combat = { dam=resolvers.levelup(6, 1, 0.8), atk=15, apr=3 }, resolvers.talents{ [Talents.T_HOWL]=1, }, } @@ -68,7 +68,7 @@ newEntity{ base = "BASE_NPC_CANINE", rarity = 3, max_life = resolvers.rngavg(80,110), combat_armor = 3, combat_def = 5, - combat = { dam=9, atk=15, apr=4 }, + combat = { dam=resolvers.levelup(9, 1, 0.9), atk=15, apr=4 }, resolvers.talents{ [Talents.T_HOWL]=1, }, } @@ -79,7 +79,7 @@ newEntity{ base = "BASE_NPC_CANINE", rarity = 3, max_life = resolvers.rngavg(70,100), combat_armor = 3, combat_def = 4, - combat = { dam=8, atk=15, apr=3 }, + combat = { dam=resolvers.levelup(8, 1, 0.9), atk=15, apr=3 }, resolvers.talents{ [Talents.T_HOWL]=2, }, resists = { [DamageType.FIRE] = -50, [DamageType.COLD] = 100 }, @@ -92,7 +92,7 @@ newEntity{ base = "BASE_NPC_CANINE", rarity = 4, max_life = resolvers.rngavg(60,100), combat_armor = 5, combat_def = 7, - combat = { dam=10, atk=17, apr=5 }, + combat = { dam=resolvers.levelup(10, 1, 1), atk=17, apr=5 }, resolvers.talents{ [Talents.T_HOWL]=3, }, } @@ -103,7 +103,7 @@ newEntity{ base = "BASE_NPC_CANINE", rarity = 3, max_life = resolvers.rngavg(40,50), combat_armor = 1, combat_def = 3, - combat = { dam=4, atk=10, apr=3 }, + combat = { dam=resolvers.levelup(4, 1, 0.7), atk=10, apr=3 }, } newEntity{ base = "BASE_NPC_CANINE", @@ -115,7 +115,7 @@ newEntity{ base = "BASE_NPC_CANINE", rarity = 50, max_life = 220, combat_armor = 25, combat_def = 0, - combat = { dam=20, atk=20, apr=16 }, + combat = { dam=resolvers.levelup(20, 1, 1.3), atk=20, apr=16 }, ai = "tactical", diff --git a/game/modules/tome/data/general/npcs/crystal.lua b/game/modules/tome/data/general/npcs/crystal.lua index 1671d31b35d0e48c9a976ed7a1a13fc4731c6099..5ddaf9c2e4bb85786393c9b5a37dc13d8e351538 100644 --- a/game/modules/tome/data/general/npcs/crystal.lua +++ b/game/modules/tome/data/general/npcs/crystal.lua @@ -77,7 +77,7 @@ newEntity{ base = "BASE_NPC_CRYSTAL", rarity = 1, resists = { [DamageType.FIRE] = 100, [DamageType.ICE] = -100 }, resolvers.talents{ - [Talents.T_FLAME]=1, + [Talents.T_FLAME]={base=1, every=7, max=5}, } } @@ -88,7 +88,7 @@ newEntity{ base = "BASE_NPC_CRYSTAL", rarity = 1, resists = { [DamageType.ICE] = 100, [DamageType.FIRE] = -100 }, resolvers.talents{ - [Talents.T_ICE_SHARDS]=1, + [Talents.T_ICE_SHARDS]={base=1, every=7, max=5}, } } @@ -99,7 +99,7 @@ newEntity{ base = "BASE_NPC_CRYSTAL", rarity = 2, resists = { [DamageType.LIGHT] = 100 ,[DamageType.DARKNESS] = -100 }, resolvers.talents{ - [Talents.T_SOUL_ROT]=1, + [Talents.T_SOUL_ROT]={base=1, every=7, max=5}, } } @@ -110,7 +110,7 @@ newEntity{ base = "BASE_NPC_CRYSTAL", rarity = 3, resists = { [DamageType.LIGHT] = -100 }, resolvers.talents{ - [Talents.T_BLOOD_GRASP]=1, + [Talents.T_BLOOD_GRASP]={base=1, every=7, max=5}, } } @@ -121,7 +121,7 @@ newEntity{ base = "BASE_NPC_CRYSTAL", rarity = 4, resists = { [DamageType.ICE] = -100 }, resolvers.talents{ - [Talents.T_TIDAL_WAVE]=3, + [Talents.T_TIDAL_WAVE]={base=3, every=9, max=5}, } } @@ -133,7 +133,7 @@ newEntity{ base = "BASE_NPC_CRYSTAL", rarity = 4, resists = { [DamageType.LIGHT] = 100 }, resolvers.talents{ - [Talents.T_ELEMENTAL_BOLT]=1, + [Talents.T_ELEMENTAL_BOLT]={base=1, every=7, max=5}, }, talent_cd_reduction={ [Talents.T_ELEMENTAL_BOLT]=2, diff --git a/game/modules/tome/data/general/npcs/elven-caster.lua b/game/modules/tome/data/general/npcs/elven-caster.lua index 5fc5136e815ded9564883c99234e9d8972d78432..41eb3c71fd1710ec094ed9d1bdd4f31a44ee8a7b 100644 --- a/game/modules/tome/data/general/npcs/elven-caster.lua +++ b/game/modules/tome/data/general/npcs/elven-caster.lua @@ -62,8 +62,8 @@ newEntity{ base = "BASE_NPC_ELVEN_CASTER", }, combat_armor = 0, combat_def = 0, resolvers.talents{ - [Talents.T_EARTHEN_MISSILES]=2, - [Talents.T_SHOCK]=1, + [Talents.T_EARTHEN_MISSILES]={base=2, every=8, max=6}, + [Talents.T_SHOCK]={base=1, every=8, max=5}, }, } @@ -79,8 +79,8 @@ newEntity{ base = "BASE_NPC_ELVEN_CASTER", }, combat_armor = 0, combat_def = 0, resolvers.talents{ - [Talents.T_LIGHTNING]=2, - [Talents.T_THUNDERSTORM]=1, + [Talents.T_LIGHTNING]={base=2, every=8, max=6}, + [Talents.T_THUNDERSTORM]={base=1, every=8, max=5}, }, resolvers.sustains_at_birth(), } @@ -99,11 +99,11 @@ newEntity{ base = "BASE_NPC_ELVEN_CASTER", }, combat_armor = 0, combat_def = 0, resolvers.talents{ - [Talents.T_DARK_PORTAL]=3, - [Talents.T_SOUL_ROT]=4, - [Talents.T_VIRULENT_DISEASE]=4, - [Talents.T_FLAME_OF_URH_ROK]=3, - [Talents.T_DARK_RITUAL]=3, + [Talents.T_DARK_PORTAL]={base=3, every=7, max=6}, + [Talents.T_SOUL_ROT]={base=4, every=8, max=6}, + [Talents.T_VIRULENT_DISEASE]={base=4, every=8, max=6}, + [Talents.T_FLAME_OF_URH_ROK]={base=3, every=8, max=6}, + [Talents.T_DARK_RITUAL]={base=3, every=8, max=6}, }, resolvers.sustains_at_birth(), resolvers.inscriptions(1, "rune"), @@ -122,11 +122,11 @@ newEntity{ base = "BASE_NPC_ELVEN_CASTER", }, combat_armor = 0, combat_def = 0, resolvers.talents{ - [Talents.T_BLOOD_SPRAY]=4, - [Talents.T_BLOOD_GRASP]=4, - [Talents.T_BLOOD_BOIL]=3, - [Talents.T_BLOOD_FURY]=3, - [Talents.T_BONE_SPEAR]=5, + [Talents.T_BLOOD_SPRAY]={base=4, every=8, max=7}, + [Talents.T_BLOOD_GRASP]={base=4, every=8, max=7}, + [Talents.T_BLOOD_BOIL]={base=3, every=8, max=7}, + [Talents.T_BLOOD_FURY]={base=3, every=8, max=7}, + [Talents.T_BONE_SPEAR]={base=5, every=8, max=8}, }, resolvers.sustains_at_birth(), resolvers.inscriptions(1, "rune"), @@ -148,11 +148,11 @@ newEntity{ base = "BASE_NPC_ELVEN_CASTER", }, combat_armor = 0, combat_def = 0, resolvers.talents{ - [Talents.T_BONE_SHIELD]=2, - [Talents.T_BLOOD_SPRAY]=5, - [Talents.T_SOUL_ROT]=5, - [Talents.T_BLOOD_GRASP]=4, - [Talents.T_BONE_SPEAR]=5, + [Talents.T_BONE_SHIELD]={base=2, every=10, max=5}, + [Talents.T_BLOOD_SPRAY]={base=5, every=10, max=7}, + [Talents.T_SOUL_ROT]={base=5, every=10, max=7}, + [Talents.T_BLOOD_GRASP]={base=4, every=10, max=6}, + [Talents.T_BONE_SPEAR]={base=5, every=10, max=7}, }, resolvers.sustains_at_birth(), resolvers.inscriptions(1, "rune"), diff --git a/game/modules/tome/data/general/npcs/elven-warrior.lua b/game/modules/tome/data/general/npcs/elven-warrior.lua index 9689b58680a0bce959b488ea934ce50d031e796f..d42e9aac4d70fa69d395bd2e1888cf3576c7cbed 100644 --- a/game/modules/tome/data/general/npcs/elven-warrior.lua +++ b/game/modules/tome/data/general/npcs/elven-warrior.lua @@ -42,7 +42,7 @@ newEntity{ open_door = true, resolvers.racial(), - resolvers.talents{ [Talents.T_HEAVY_ARMOUR_TRAINING]=1, }, + resolvers.talents{ [Talents.T_HEAVY_ARMOUR_TRAINING]=1, [Talents.T_WEAPON_COMBAT]={base=1, every=5, max=10}, [Talents.T_WEAPONS_MASTERY]={base=1, every=5, max=10} }, autolevel = "warrior", ai = "dumb_talented_simple", ai_state = { ai_move="move_dmap", talent_in=3, }, @@ -61,7 +61,7 @@ newEntity{ base = "BASE_NPC_ELVEN_WARRIOR", {type="armor", subtype="shield", autoreq=true}, }, combat_armor = 0, combat_def = 6, - resolvers.talents{ [Talents.T_SHIELD_PUMMEL]=1, }, + resolvers.talents{ [Talents.T_SHIELD_PUMMEL]={base=1, every=10, max=5}, }, } newEntity{ base = "BASE_NPC_ELVEN_WARRIOR", @@ -75,7 +75,7 @@ newEntity{ base = "BASE_NPC_ELVEN_WARRIOR", {type="armor", subtype="shield", autoreq=true}, }, combat_armor = 0, combat_def = 6, - resolvers.talents{ [Talents.T_BLEEDING_EDGE]=1, }, + resolvers.talents{ [Talents.T_BLEEDING_EDGE]={base=1, every=10, max=5}, }, } newEntity{ base = "BASE_NPC_ELVEN_WARRIOR", @@ -90,7 +90,7 @@ newEntity{ base = "BASE_NPC_ELVEN_WARRIOR", {type="armor", subtype="heavy", autoreq=true}, }, combat_armor = 0, combat_def = 6, - resolvers.talents{ [Talents.T_SHIELD_PUMMEL]=2, }, + resolvers.talents{ [Talents.T_SHIELD_PUMMEL]={base=2, every=10, max=6}, }, resolvers.inscriptions(1, "rune"), } @@ -110,8 +110,8 @@ newEntity{ base = "BASE_NPC_ELVEN_WARRIOR", }, combat_armor = 0, combat_def = 6, resolvers.talents{ - [Talents.T_SHIELD_PUMMEL]=2, - [Talents.T_ASSAULT]=3, + [Talents.T_SHIELD_PUMMEL]={base=2, every=10, max=7}, + [Talents.T_ASSAULT]={base=3, every=7, max=7}, }, resolvers.inscriptions(1, "rune"), } diff --git a/game/modules/tome/data/general/npcs/faeros.lua b/game/modules/tome/data/general/npcs/faeros.lua index 315b64b5d3caecbcd871a948c8d2c4d1721b697a..0bc89774ba715520ff45bcb5a84f7532e339d7d7 100644 --- a/game/modules/tome/data/general/npcs/faeros.lua +++ b/game/modules/tome/data/general/npcs/faeros.lua @@ -25,7 +25,7 @@ newEntity{ blood_color = colors.ORANGE, display = "E", color=colors.ORANGE, - combat = { dam=resolvers.mbonus(40, 15), atk=15, apr=15, dammod={mag=0.8}, damtype=DamageType.FIRE }, + combat = { dam=resolvers.levelup(resolvers.mbonus(40, 15), 1, 1.2), atk=15, apr=15, dammod={mag=0.8}, damtype=DamageType.FIRE }, body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, lite = 1, @@ -57,7 +57,7 @@ newEntity{ base = "BASE_NPC_FAEROS", on_melee_hit = { [DamageType.FIRE] = resolvers.mbonus(20, 10), }, resolvers.talents{ - [Talents.T_FLAME]=3, + [Talents.T_FLAME]={base=3, every=10, max=7}, }, } @@ -71,8 +71,8 @@ newEntity{ base = "BASE_NPC_FAEROS", on_melee_hit = { [DamageType.FIRE] = resolvers.mbonus(20, 10), }, resolvers.talents{ - [Talents.T_FLAME]=4, - [Talents.T_FIERY_HANDS]=3, + [Talents.T_FLAME]={base=4, every=10, max=8}, + [Talents.T_FIERY_HANDS]={base=3, every=10, max=7}, }, resolvers.sustains_at_birth(), } @@ -90,10 +90,10 @@ newEntity{ base = "BASE_NPC_FAEROS", ai = "tactical", resolvers.talents{ - [Talents.T_FLAME]=4, - [Talents.T_FIERY_HANDS]=3, - [Talents.T_FLAMESHOCK]=3, - [Talents.T_INFERNO]=3, + [Talents.T_FLAME]={base=4, every=7}, + [Talents.T_FIERY_HANDS]={base=3, every=7}, + [Talents.T_FLAMESHOCK]={base=3, every=7}, + [Talents.T_INFERNO]={base=3, every=7}, }, resolvers.sustains_at_birth(), } diff --git a/game/modules/tome/data/general/npcs/ghost.lua b/game/modules/tome/data/general/npcs/ghost.lua index 39149cf76ce9caa78e4fff0c1a6392f2d72d3471..ebeb06101f8d395ff0d33034b7a8ffc6eaeffd99 100644 --- a/game/modules/tome/data/general/npcs/ghost.lua +++ b/game/modules/tome/data/general/npcs/ghost.lua @@ -67,8 +67,8 @@ newEntity{ base = "BASE_NPC_GHOST", combat = { dam=resolvers.mbonus(45, 45), atk=resolvers.mbonus(25, 45), apr=100, dammod={str=0.5, mag=0.5} }, resolvers.talents{ - [Talents.T_BURNING_HEX]=3, - [Talents.T_BLUR_SIGHT]=4, + [Talents.T_BURNING_HEX]={base=3, every=5, max=7}, + [Talents.T_BLUR_SIGHT]={base=4, every=6, max=8}, }, } @@ -91,11 +91,11 @@ newEntity{ base = "BASE_NPC_GHOST", resolvers.talents{ [Talents.T_SUMMON]=1, [Talents.T_PHASE_DOOR]=2, - [Talents.T_BLUR_SIGHT]=4, - [Talents.T_DISPERSE_MAGIC]=3, - [Talents.T_SILENCE]=2, - [Talents.T_MIND_DISRUPTION]=3, - [Talents.T_BURNING_HEX]=5, + [Talents.T_BLUR_SIGHT]={base=4, every=6, max=8}, + [Talents.T_DISPERSE_MAGIC]={base=3, every=7, max=6}, + [Talents.T_SILENCE]={base=2, every=10, max=6}, + [Talents.T_MIND_DISRUPTION]={base=3, every=7, max=8}, + [Talents.T_BURNING_HEX]={base=5, every=6, max=8}, }, } @@ -114,8 +114,8 @@ newEntity{ base = "BASE_NPC_GHOST", resolvers.talents{ [Talents.T_SHRIEK]=4, [Talents.T_PHASE_DOOR]=2, - [Talents.T_BLUR_SIGHT]=3, - [Talents.T_SILENCE]=2, - [Talents.T_MIND_DISRUPTION]=3, + [Talents.T_BLUR_SIGHT]={base=3, every=6, max=6}, + [Talents.T_SILENCE]={base=2, every=10, max=5}, + [Talents.T_MIND_DISRUPTION]={base=3, every=7, max=6}, }, } diff --git a/game/modules/tome/data/general/npcs/ghoul.lua b/game/modules/tome/data/general/npcs/ghoul.lua index 7bcaa544b631888f33acb65301abf5946f7b42ee..b19c8e3b39c652a0f90b43645ef74bd6f6fac586 100644 --- a/game/modules/tome/data/general/npcs/ghoul.lua +++ b/game/modules/tome/data/general/npcs/ghoul.lua @@ -53,10 +53,14 @@ newEntity{ base = "BASE_NPC_GHOUL", rarity = 1, max_life = resolvers.rngavg(90,100), combat_armor = 2, combat_def = 7, - resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=1, [Talents.T_BITE_POISON]=1, [Talents.T_ROTTING_DISEASE]=1, }, + resolvers.talents{ + [Talents.T_STUN]={base=1, every=10, max=5}, + [Talents.T_BITE_POISON]={base=1, every=10, max=5}, + [Talents.T_ROTTING_DISEASE]={base=1, every=10, max=5}, + }, ai_state = { talent_in=4, }, - combat = { dam=10, atk=5, apr=3, dammod={str=0.6} }, + combat = { dam=resolvers.levelup(10, 1, 1), atk=resolvers.levelup(5, 1, 1), apr=3, dammod={str=0.6} }, } newEntity{ base = "BASE_NPC_GHOUL", @@ -68,10 +72,16 @@ newEntity{ base = "BASE_NPC_GHOUL", combat_armor = 2, combat_def = 8, ai_state = { talent_in=3, }, - combat = { dam=17, atk=6, apr=3, dammod={str=0.6} }, + combat = { dam=resolvers.levelup(17, 1, 1.1), atk=resolvers.levelup(6, 1, 1), apr=3, dammod={str=0.6} }, summon = {{type="undead", subtype="ghoul", name="ghoul", number=1, hasxp=false}, }, - resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=2, [Talents.T_BITE_POISON]=2, [Talents.T_SUMMON]=1, [Talents.T_ROTTING_DISEASE]=2, [Talents.T_DECREPITUDE_DISEASE]=2, }, + resolvers.talents{ + [Talents.T_STUN]={base=2, every=9, max=5}, + [Talents.T_BITE_POISON]={base=2, every=9, max=5}, + [Talents.T_SUMMON]=1, + [Talents.T_ROTTING_DISEASE]={base=2, every=9, max=5}, + [Talents.T_DECREPITUDE_DISEASE]={base=2, every=9, max=5}, + }, } newEntity{ base = "BASE_NPC_GHOUL", @@ -88,7 +98,7 @@ newEntity{ base = "BASE_NPC_GHOUL", ai = "tactical", ai_tactic = resolvers.tactic"melee", - combat = { dam=30, atk=8, apr=4, dammod={str=0.6} }, + combat = { dam=resolvers.levelup(30, 1, 1.2), atk=resolvers.levelup(8, 1, 1), apr=4, dammod={str=0.6} }, summon = { {type="undead", subtype="ghoul", name="ghoul", number=1, hasxp=false}, @@ -96,7 +106,11 @@ newEntity{ base = "BASE_NPC_GHOUL", }, resolvers.talents{ - [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=3, [Talents.T_BITE_POISON]=3, [Talents.T_SUMMON]=1, - [Talents.T_ROTTING_DISEASE]=4, [Talents.T_DECREPITUDE_DISEASE]=3, [Talents.T_WEAKNESS_DISEASE]=3, + [Talents.T_STUN]={base=3, every=9, max=7}, + [Talents.T_BITE_POISON]={base=3, every=9, max=7}, + [Talents.T_SUMMON]=1, + [Talents.T_ROTTING_DISEASE]={base=4, every=9, max=7}, + [Talents.T_DECREPITUDE_DISEASE]={base=3, every=9, max=7}, + [Talents.T_WEAKNESS_DISEASE]={base=3, every=9, max=7}, }, } diff --git a/game/modules/tome/data/general/npcs/gwelgoroth.lua b/game/modules/tome/data/general/npcs/gwelgoroth.lua index a413f0f9f71497fe0910d6430372bef37051b07c..bd259407b8bb23df26581198a59d282ad3a84db8 100644 --- a/game/modules/tome/data/general/npcs/gwelgoroth.lua +++ b/game/modules/tome/data/general/npcs/gwelgoroth.lua @@ -25,7 +25,7 @@ newEntity{ blood_color = colors.AQUAMARINE, display = "E", color=colors.AQUAMARINE, - combat = { dam=resolvers.mbonus(40, 15), atk=15, apr=15, dammod={mag=0.8}, damtype=DamageType.LIGHTNING }, + combat = { dam=resolvers.levelup(resolvers.mbonus(40, 15), 1, 1.2), atk=15, apr=15, dammod={mag=0.8}, damtype=DamageType.LIGHTNING }, body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, @@ -56,7 +56,7 @@ newEntity{ base = "BASE_NPC_GWELGOROTH", on_melee_hit = { [DamageType.LIGHTNING] = resolvers.mbonus(20, 10), }, resolvers.talents{ - [Talents.T_LIGHTNING]=3, + [Talents.T_LIGHTNING]={base=3, every=10, max=7}, }, } @@ -70,8 +70,8 @@ newEntity{ base = "BASE_NPC_GWELGOROTH", on_melee_hit = { [DamageType.LIGHTNING] = resolvers.mbonus(20, 10), }, resolvers.talents{ - [Talents.T_LIGHTNING]=4, - [Talents.T_SHOCK]=3, + [Talents.T_LIGHTNING]={base=4, every=10, max=8}, + [Talents.T_SHOCK]={base=3, every=10, max=7}, }, resolvers.sustains_at_birth(), } @@ -89,10 +89,10 @@ newEntity{ base = "BASE_NPC_GWELGOROTH", ai = "tactical", resolvers.talents{ - [Talents.T_LIGHTNING]=5, - [Talents.T_SHOCK]=4, - [Talents.T_HURRICANE]=3, - [Talents.T_CHAIN_LIGHTNING]=4, + [Talents.T_LIGHTNING]={base=4, every=7}, + [Talents.T_SHOCK]={base=4, every=7}, + [Talents.T_HURRICANE]={base=3, every=7}, + [Talents.T_CHAIN_LIGHTNING]={base=3, every=7}, }, resolvers.sustains_at_birth(), } diff --git a/game/modules/tome/data/general/npcs/horror-corrupted.lua b/game/modules/tome/data/general/npcs/horror-corrupted.lua index 5dc0deef0bfef6280519389c8e31b8f9e8fd7268..79c14edd309a0b90078e353eed1026850ecb7534 100644 --- a/game/modules/tome/data/general/npcs/horror-corrupted.lua +++ b/game/modules/tome/data/general/npcs/horror-corrupted.lua @@ -69,7 +69,7 @@ newEntity{ base = "BASE_NPC_CORRUPTED_HORROR", }, resolvers.talents{ - [Talents.T_DWARF_RESILIENCE]=1, + [Talents.T_DWARF_RESILIENCE]={base=1, every=5, max=5}, }, resolvers.sustains_at_birth(), @@ -104,9 +104,8 @@ newEntity{ base = "BASE_NPC_CORRUPTED_HORROR", resolvers.drops{chance=60, nb=1, {type="money"} }, resolvers.talents{ - [Talents.T_CARBON_SPIKES]=3, - [Talents.T_STAMINA_POOL]=1, - [Talents.T_STUN]=1, + [Talents.T_CARBON_SPIKES]={base=3, every=7, max=6}, + [Talents.T_STUN]={base=1, every=10, max=5}, }, resolvers.sustains_at_birth(), @@ -148,9 +147,9 @@ newEntity{ base = "BASE_NPC_CORRUPTED_HORROR", }, resolvers.talents{ - [Talents.T_DWARF_RESILIENCE]=1, - [Talents.T_DREDGE_FRENZY]=3, - [Talents.T_DOMINATE]=1, + [Talents.T_DWARF_RESILIENCE]={base=1, every=5, max=5}, + [Talents.T_DREDGE_FRENZY]={base=3, every=10, max=5}, + [Talents.T_DOMINATE]={base=1, every=5, max=5}, }, resolvers.sustains_at_birth(), @@ -178,9 +177,9 @@ newEntity{ base = "BASE_NPC_CORRUPTED_HORROR", resists = { [DamageType.BLIGHT] = 50, [DamageType.DARKNESS] = 20, [DamageType.LIGHT] = - 20 }, resolvers.talents{ - [Talents.T_SPIT_BLIGHT]=1, - [Talents.T_SHRIEK]=1, - [Talents.T_GLOOM]=1, + [Talents.T_SPIT_BLIGHT]={base=1, every=5, max=5}, + [Talents.T_SHRIEK]={base=1, every=5, max=5}, + [Talents.T_GLOOM]={base=1, every=5, max=5}, }, resolvers.sustains_at_birth(), @@ -191,7 +190,7 @@ newEntity{ base = "BASE_NPC_CORRUPTED_HORROR", desc = "A large sluglike creature that moves slowly, leaving a trail of acid in its wake. Its head has strangely humanoid features.", level_range = {2, nil}, exp_worth = 1, - combat = { dam=5, atk=15, apr=5, damtype=DamageType.ACID }, + combat = { dam=resolvers.levelup(5, 1, 0.6), atk=15, apr=5, damtype=DamageType.ACID }, combat_armor = 6, combat_def = 0, max_life = resolvers.rngavg(40, 60), @@ -203,12 +202,12 @@ newEntity{ base = "BASE_NPC_CORRUPTED_HORROR", energy = { mod=0.8 }, resists = { [DamageType.ACID] = 50, [DamageType.DARKNESS] = 20, [DamageType.LIGHT] = - 20 }, - + clone_on_hit = {min_dam_pct=15, chance=30}, resolvers.talents{ - [Talents.T_CRAWL_ACID]=2, - [Talents.T_ACID_BLOOD]=1, + [Talents.T_CRAWL_ACID]={base=2, every=5, max=5}, + [Talents.T_ACID_BLOOD]={base=1, every=5, max=5}, }, resolvers.sustains_at_birth(), @@ -235,10 +234,10 @@ newEntity{ base = "BASE_NPC_CORRUPTED_HORROR", resists = { [DamageType.DARKNESS] = 50, [DamageType.LIGHT] = - 20 }, resolvers.talents{ - [Talents.T_CALL_SHADOWS]=3, - [Talents.T_CREEPING_DARKNESS]=2, - [Talents.T_DARK_TORRENT]=1, + [Talents.T_CALL_SHADOWS]={base=3, every=6, max=7}, + [Talents.T_CREEPING_DARKNESS]={base=2, every=5, max=5}, + [Talents.T_DARK_TORRENT]={base=1, every=5, max=5}, }, resolvers.sustains_at_birth(), -} \ No newline at end of file +} diff --git a/game/modules/tome/data/general/npcs/horror.lua b/game/modules/tome/data/general/npcs/horror.lua index e01399cc82fdabebb25c1f0e4fe4bb6cd36b8f63..7195236248526c475f1afb71b8a072b5c2daf956 100644 --- a/game/modules/tome/data/general/npcs/horror.lua +++ b/game/modules/tome/data/general/npcs/horror.lua @@ -70,17 +70,17 @@ newEntity{ base = "BASE_NPC_HORROR", }, resolvers.talents{ - [Talents.T_BONE_GRAB]=4, - [Talents.T_DRAIN]=5, - [Talents.T_CORRUPTED_STRENGTH]=3, - [Talents.T_VIRULENT_DISEASE]=3, - [Talents.T_CURSE_OF_DEATH]=5, - [Talents.T_REND]=4, - [Talents.T_BLOODLUST]=3, - [Talents.T_RUIN]=2, - - [Talents.T_WEAPON_COMBAT]=5, - [Talents.T_WEAPONS_MASTERY]=3, + [Talents.T_BONE_GRAB]={base=4, every=10}, + [Talents.T_DRAIN]={base=5, every=12}, + [Talents.T_CORRUPTED_STRENGTH]={base=3, every=15}, + [Talents.T_VIRULENT_DISEASE]={base=3, every=12}, + [Talents.T_CURSE_OF_DEATH]={base=5, every=15}, + [Talents.T_REND]={base=4, every=12}, + [Talents.T_BLOODLUST]={base=3, every=12}, + [Talents.T_RUIN]={base=2, every=12}, + + [Talents.T_WEAPON_COMBAT]={base=5, every=10, max=10}, + [Talents.T_WEAPONS_MASTERY]={base=3, every=10, max=10}, }, resolvers.sustains_at_birth(), @@ -101,18 +101,18 @@ newEntity{ base = "BASE_NPC_HORROR", size_category = 4, autolevel = "caster", combat_armor = 1, combat_def = 0, - combat = {dam=resolvers.mbonus(25, 15), apr=0, atk=resolvers.mbonus(30, 15), dammod={mag=0.6}}, + combat = {dam=resolvers.levelup(resolvers.mbonus(25, 15), 1, 1.1), apr=0, atk=resolvers.mbonus(30, 15), dammod={mag=0.6}}, never_move = 1, resists = {all = 35, [DamageType.LIGHT] = -30}, resolvers.talents{ - [Talents.T_FEATHER_WIND]=5, + [Talents.T_FEATHER_WIND]={base=5, every=10, max=10}, [Talents.T_PHASE_DOOR]=2, - [Talents.T_MIND_DISRUPTION]=4, - [Talents.T_MIND_SEAR]=4, - [Talents.T_TELEKINETIC_BLAST]=4, + [Talents.T_MIND_DISRUPTION]={base=4, every=14, max=7}, + [Talents.T_MIND_SEAR]={base=4, every=14, max=7}, + [Talents.T_TELEKINETIC_BLAST]={base=4, every=14, max=7}, }, resolvers.sustains_at_birth(), @@ -129,7 +129,7 @@ newEntity{ base = "BASE_NPC_HORROR", autolevel = "warriormage", stats = { str=15, dex=20, mag=20, wil=20, con=15 }, combat_armor = 1, combat_def = 10, - combat = { dam=20, atk=20, apr=50, dammod={str=0.6}, damtype=DamageType.DARKNESS}, + combat = { dam=resolvers.levelup(20, 1, 1.1), atk=20, apr=50, dammod={str=0.6}, damtype=DamageType.DARKNESS}, ai = "tactical", ai_state = { ai_target="target_player_radius", sense_radius=40, talent_in=2, }, @@ -141,15 +141,15 @@ newEntity{ base = "BASE_NPC_HORROR", no_breath = 1, resolvers.talents{ - [Talents.T_STALK]=5, - [Talents.T_GLOOM]=3, - [Talents.T_WEAKNESS]=3, - [Talents.T_TORMENT]=3, - [Talents.T_DOMINATE]=3, - [Talents.T_BLINDSIDE]=3, - [Talents.T_LIFE_LEECH]=5, - [Talents.T_SHADOW_BLAST]=4, - [Talents.T_HYMN_OF_SHADOWS]=3, + [Talents.T_STALK]={base=5, every=12, max=8}, + [Talents.T_GLOOM]={base=3, every=12, max=8}, + [Talents.T_WEAKNESS]={base=3, every=12, max=8}, + [Talents.T_TORMENT]={base=3, every=12, max=8}, + [Talents.T_DOMINATE]={base=3, every=12, max=8}, + [Talents.T_BLINDSIDE]={base=3, every=12, max=8}, + [Talents.T_LIFE_LEECH]={base=5, every=12, max=9}, + [Talents.T_SHADOW_BLAST]={base=4, every=8, max=8}, + [Talents.T_HYMN_OF_SHADOWS]={base=3, every=9, max=8}, }, resolvers.sustains_at_birth(), @@ -177,8 +177,8 @@ newEntity{ base = "BASE_NPC_HORROR", --blind= 1, resolvers.talents{ - [Talents.T_MANA_CLASH]=5, - [Talents.T_GRAB]=5, + [Talents.T_MANA_CLASH]={base=4, every=5, max=8}, + [Talents.T_GRAB]={base=4, every=6, max=8}, }, -- Add eyes @@ -376,12 +376,12 @@ newEntity{ base = "BASE_NPC_HORROR", see_invisible = 10, resolvers.talents{ - [Talents.T_CHANT_OF_FORTITUDE]=3, - [Talents.T_SEARING_LIGHT]=3, - [Talents.T_FIREBEAM]=3, - [Talents.T_PROVIDENCE]=3, - [Talents.T_HEALING_LIGHT]=3, - [Talents.T_BARRIER]=3, + [Talents.T_CHANT_OF_FORTITUDE]={base=3, every=10, max=6}, + [Talents.T_SEARING_LIGHT]={base=3, every=10, max=6}, + [Talents.T_FIREBEAM]={base=3, every=10, max=6}, + [Talents.T_PROVIDENCE]={base=3, every=10, max=6}, + [Talents.T_HEALING_LIGHT]={base=3, every=10, max=6}, + [Talents.T_BARRIER]={base=3, every=10, max=6}, }, resolvers.sustains_at_birth(), @@ -410,15 +410,15 @@ newEntity{ base = "BASE_NPC_HORROR", see_invisible = 20, resolvers.talents{ - [Talents.T_CHANT_OF_FORTITUDE]=10, - [Talents.T_CIRCLE_OF_BLAZING_LIGHT]=10, - [Talents.T_SEARING_LIGHT]=10, - [Talents.T_FIREBEAM]=10, - [Talents.T_SUNBURST]=10, - [Talents.T_SUN_FLARE]=10, - [Talents.T_PROVIDENCE]=10, - [Talents.T_HEALING_LIGHT]=10, - [Talents.T_BARRIER]=10, + [Talents.T_CHANT_OF_FORTITUDE]={base=10, every=15}, + [Talents.T_CIRCLE_OF_BLAZING_LIGHT]={base=10, every=15}, + [Talents.T_SEARING_LIGHT]={base=10, every=15}, + [Talents.T_FIREBEAM]={base=10, every=15}, + [Talents.T_SUNBURST]={base=10, every=15}, + [Talents.T_SUN_FLARE]={base=10, every=15}, + [Talents.T_PROVIDENCE]={base=10, every=15}, + [Talents.T_HEALING_LIGHT]={base=10, every=15}, + [Talents.T_BARRIER]={base=10, every=15}, }, resolvers.sustains_at_birth(), @@ -441,14 +441,9 @@ newEntity{ base = "BASE_NPC_HORROR", autolevel = "warrior", max_life = resolvers.rngavg(50, 80), combat_armor = 1, combat_def = 10, - combat = { dam=resolvers.rngavg(20,30), atk=resolvers.rngavg(10,20), apr=5, dammod={str=1} }, + combat = { dam=resolvers.levelup(resolvers.rngavg(20,30), 1, 1.2), atk=resolvers.rngavg(10,20), apr=5, dammod={str=1} }, resists = { [DamageType.TEMPORAL] = 5}, - - resolvers.talents{ - }, - - resolvers.sustains_at_birth(), } newEntity{ base = "BASE_NPC_HORROR", @@ -463,12 +458,12 @@ newEntity{ base = "BASE_NPC_HORROR", autolevel = "warriormage", max_life = resolvers.rngavg(50, 80), combat_armor = 1, combat_def = 10, - combat = { dam=resolvers.rngavg(15,20), atk=resolvers.rngavg(5,15), apr=5, dammod={str=1} }, + combat = { dam=resolvers.levelup(resolvers.rngavg(15,20), 1, 1.1), atk=resolvers.rngavg(5,15), apr=5, dammod={str=1} }, resists = { [DamageType.TEMPORAL] = 5}, resolvers.talents{ - [Talents.T_DUST_TO_DUST]=1, + [Talents.T_DUST_TO_DUST]={base=1, every=7, max=5}, }, resolvers.sustains_at_birth(), @@ -487,13 +482,13 @@ newEntity{ base = "BASE_NPC_HORROR", max_life = resolvers.rngavg(120, 150), energy = { mod=0.7 }, combat_armor = 1, combat_def = 0, - combat = { dam=resolvers.rngavg(25,150), atk=resolvers.rngavg(25,130), apr=1, dammod={str=1.1} }, + combat = { dam=resolvers.levelup(resolvers.rngavg(25,150), 1, 1.2), atk=resolvers.rngavg(25,130), apr=1, dammod={str=1.1} }, resists = {all = 10, [DamageType.TEMPORAL] = 50, [DamageType.PHYSICAL] = 25}, resolvers.talents{ - [Talents.T_STUN]=3, - [Talents.T_SPEED_SAP]=2, + [Talents.T_STUN]={base=3, every=7, max=7}, + [Talents.T_SPEED_SAP]={base=2, every=7, max=6}, }, resolvers.sustains_at_birth(), @@ -520,8 +515,8 @@ newEntity{ base = "BASE_NPC_HORROR", }, resolvers.talents{ - [Talents.T_DREDGE_FRENZY]=5, - [Talents.T_SPEED_SAP]=3, + [Talents.T_DREDGE_FRENZY]={base=5, every=7, max=9}, + [Talents.T_SPEED_SAP]={base=3, every=7, max=9}, }, resolvers.sustains_at_birth(), @@ -539,16 +534,16 @@ newEntity{ base = "BASE_NPC_HORROR", autolevel = "rogue", ai = "dumb_talented_simple", ai_state = { ai_move="move_dmap", talent_in=2, }, combat_armor = 10, combat_def = 10, - combat = { dam=resolvers.rngavg(25,100), atk=resolvers.rngavg(25,100), apr=25, dammod={dex=1.1} }, + combat = { dam=resolvers.levelup(resolvers.rngavg(25,100), 1, 1.2), atk=resolvers.rngavg(25,100), apr=25, dammod={dex=1.1} }, resists = {all = 10, [DamageType.TEMPORAL] = 50}, resolvers.talents{ - [Talents.T_PERFECT_AIM]=3, - [Talents.T_FORESIGHT]=5, - [Talents.T_STEALTH]=3, - [Talents.T_SHADOWSTRIKE]=3, - [Talents.T_UNSEEN_ACTIONS]=3, + [Talents.T_PERFECT_AIM]={base=3, every=7, max=5}, + [Talents.T_FORESIGHT]={base=5, every=7, max=8}, + [Talents.T_STEALTH]={base=3, every=7, max=5}, + [Talents.T_SHADOWSTRIKE]={base=3, every=7, max=5}, + [Talents.T_UNSEEN_ACTIONS]={base=3, every=7, max=5}, }, resolvers.sustains_at_birth(), @@ -571,8 +566,8 @@ newEntity{ base = "BASE_NPC_HORROR", resists = {[DamageType.TEMPORAL] = 50}, resolvers.talents{ - [Talents.T_DISPERSE_MAGIC]=3, - [Talents.T_ENTROPIC_FIELD]=3, + [Talents.T_DISPERSE_MAGIC]={base=3, every=7, max=5}, + [Talents.T_ENTROPIC_FIELD]={base=3, every=7, max=5}, }, -- Random Anomaly on Death on_die = function(self, who) @@ -608,7 +603,7 @@ You can discern a huge round mouth covered in razor-sharp teeth.]], stun_immune = 1, knockback_immune = 1, - combat = { dam=resolvers.mbonus(100, 15), atk=500, apr=0, dammod={str=1.2} }, + combat = { dam=resolvers.levelup(resolvers.mbonus(100, 15), 1, 1), atk=500, apr=0, dammod={str=1.2} }, body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, resolvers.drops{chance=100, nb=1, {unique=true} }, @@ -617,10 +612,10 @@ You can discern a huge round mouth covered in razor-sharp teeth.]], resists = { all=500 }, resolvers.talents{ - [Talents.T_STARFALL]=4, - [Talents.T_MOONLIGHT_RAY]=4, - [Talents.T_PACIFICATION_HEX]=4, - [Talents.T_BURNING_HEX]=4, + [Talents.T_STARFALL]={base=4, every=7}, + [Talents.T_MOONLIGHT_RAY]={base=4, every=7}, + [Talents.T_PACIFICATION_HEX]={base=4, every=7}, + [Talents.T_BURNING_HEX]={base=4, every=7}, }, resolvers.sustains_at_birth(), diff --git a/game/modules/tome/data/general/npcs/lich.lua b/game/modules/tome/data/general/npcs/lich.lua index b4af9141dc5741d7c72cb5f673a9d82f1aa31b00..30b9c8ecca5f987d5edff553fdfae8fa6c0d176f 100644 --- a/game/modules/tome/data/general/npcs/lich.lua +++ b/game/modules/tome/data/general/npcs/lich.lua @@ -28,7 +28,7 @@ newEntity{ combat = { dam=resolvers.rngavg(16,27), atk=16, apr=9, damtype=DamageType.DARKSTUN, dammod={mag=0.9} }, - body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, + body = { INVEN = 10, MAINHAND = 1, OFFHAND = 1, FINGER = 2, NECK = 1, LITE = 1, BODY = 1, HEAD = 1, CLOAK = 1, HANDS = 1, BELT = 1, FEET = 1}, equipment = resolvers.equip{ {type="armor", subtype="cloth", ego_chance=75, autoreq=true}, {type="armor", subtype="head", ego_chance=75, autoreq=true}, diff --git a/game/modules/tome/data/general/npcs/major-demon.lua b/game/modules/tome/data/general/npcs/major-demon.lua index 2d0b5afbe9d5bfc2a4d258667d8fa8ada688712b..be0dd34510832af1aef9845bd1c5bf5242902f0a 100644 --- a/game/modules/tome/data/general/npcs/major-demon.lua +++ b/game/modules/tome/data/general/npcs/major-demon.lua @@ -53,7 +53,7 @@ newEntity{ base = "BASE_NPC_MAJOR_DEMON", rank = 2, autolevel = "warrior", combat_armor = 26, combat_def = 0, - combat = { dam=resolvers.mbonus(56, 30), atk=35, apr=18, dammod={str=1}, damtype=DamageType.ACID }, + combat = { dam=resolvers.levelup(resolvers.mbonus(56, 30), 1, 1), atk=35, apr=18, dammod={str=1}, damtype=DamageType.ACID }, resists={[DamageType.ACID] = resolvers.mbonus(30, 20)}, @@ -61,8 +61,8 @@ newEntity{ base = "BASE_NPC_MAJOR_DEMON", stun_immune = 1, resolvers.talents{ - [Talents.T_ACIDIC_SKIN]=5, - [Talents.T_SLIME_SPIT]=4, + [Talents.T_ACIDIC_SKIN]={base=5, every=5, max=10}, + [Talents.T_SLIME_SPIT]={base=4, every=5, max=8}, }, } @@ -75,7 +75,7 @@ newEntity{ base = "BASE_NPC_MAJOR_DEMON", rank = 2, autolevel = "warrior", combat_armor = 0, combat_def = 26, - combat = { dam=resolvers.mbonus(46, 30), atk=35, apr=18, dammod={str=1}, damtype=DamageType.DARKNESS }, + combat = { dam=resolvers.levelup(resolvers.mbonus(46, 30), 1, 1), atk=35, apr=18, dammod={str=1}, damtype=DamageType.DARKNESS }, resists={[DamageType.DARKNESS] = resolvers.mbonus(30, 20)}, @@ -83,8 +83,8 @@ newEntity{ base = "BASE_NPC_MAJOR_DEMON", disease_immune = 1, resolvers.talents{ - [Talents.T_DARKNESS]=3, - [Talents.T_BLOOD_GRASP]=5, + [Talents.T_DARKNESS]={base=3, every=5, max=8}, + [Talents.T_BLOOD_GRASP]={base=5, every=5, max=10}, }, } @@ -111,12 +111,12 @@ Oh, and it is twice as big, too.]], stun_immune = 1, resolvers.talents{ - [Talents.T_DISARM]=3, - [Talents.T_RUSH]=5, + [Talents.T_DISARM]={base=3, every=7, max=6}, + [Talents.T_RUSH]={base=5, every=15, max=7}, [Talents.T_BATTLE_CALL]=5, - [Talents.T_WEAPON_COMBAT]=8, - [Talents.T_WEAPONS_MASTERY]=10, - [Talents.T_FIRE_STORM]=5, + [Talents.T_WEAPON_COMBAT]={base=8, every=8}, + [Talents.T_WEAPONS_MASTERY]={base=10, every=7}, + [Talents.T_FIRE_STORM]={base=5, every=6, max=10}, }, } @@ -140,13 +140,13 @@ newEntity{ base = "BASE_NPC_MAJOR_DEMON", blind_immune = 1, resolvers.talents{ - [Talents.T_MANATHRUST]=5, - [Talents.T_ICE_STORM]=5, - [Talents.T_BLOOD_GRASP]=5, - [Talents.T_SOUL_ROT]=5, - [Talents.T_SHRIEK]=5, - [Talents.T_SILENCE]=2, - [Talents.T_BONE_SHIELD]=4, + [Talents.T_MANATHRUST]={base=5, every=8, max=8}, + [Talents.T_ICE_STORM]={base=5, every=8, max=8}, + [Talents.T_BLOOD_GRASP]={base=5, every=8, max=8}, + [Talents.T_SOUL_ROT]={base=5, every=8, max=8}, + [Talents.T_SHRIEK]={base=5, every=8, max=8}, + [Talents.T_SILENCE]={base=2, every=12, max=5}, + [Talents.T_BONE_SHIELD]={base=4, every=8, max=8}, }, resolvers.sustains_at_birth(), } @@ -177,14 +177,14 @@ It moves swiftly toward you, casting terrible spells and swinging its weapons at knockback_immune = 1, resolvers.talents{ - [Talents.T_CORRUPTED_STRENGTH]=5, - [Talents.T_DISARM]=5, - [Talents.T_RUSH]=8, - [Talents.T_WEAPON_COMBAT]=8, - [Talents.T_WEAPONS_MASTERY]=7, - [Talents.T_FIRE_STORM]=5, - [Talents.T_FIREBEAM]=5, - [Talents.T_SHADOW_BLAST]=5, - [Talents.T_TWILIGHT_SURGE]=5, + [Talents.T_CORRUPTED_STRENGTH]={base=5, every=8, max=8}, + [Talents.T_DISARM]={base=5, every=8, max=8}, + [Talents.T_RUSH]={base=8, every=8, max=12}, + [Talents.T_WEAPON_COMBAT]={base=8, every=5, max=12}, + [Talents.T_WEAPONS_MASTERY]={base=7, every=8, max=14}, + [Talents.T_FIRE_STORM]={base=5, every=8, max=8}, + [Talents.T_FIREBEAM]={base=5, every=8, max=8}, + [Talents.T_SHADOW_BLAST]={base=5, every=8, max=8}, + [Talents.T_TWILIGHT_SURGE]={base=5, every=8, max=8}, }, } diff --git a/game/modules/tome/data/general/npcs/minor-demon.lua b/game/modules/tome/data/general/npcs/minor-demon.lua index 91dde6ade148592e6ceb249b76ba33263209ebe9..0726cb0e26e448d95967f19469e29a0f093718f0 100644 --- a/game/modules/tome/data/general/npcs/minor-demon.lua +++ b/game/modules/tome/data/general/npcs/minor-demon.lua @@ -57,7 +57,7 @@ newEntity{ base = "BASE_NPC_DEMON", resists={[DamageType.FIRE] = resolvers.mbonus(12, 5)}, resolvers.talents{ - [Talents.T_RITCH_FLAMESPITTER_BOLT]=4, + [Talents.T_RITCH_FLAMESPITTER_BOLT]={base=4, every=8, max=8}, [Talents.T_PHASE_DOOR]=2, }, } @@ -77,8 +77,8 @@ newEntity{ base = "BASE_NPC_DEMON", resolvers.talents{ [Talents.T_RUSH]=6, - [Talents.T_ACID_BLOOD]=3, - [Talents.T_CORROSIVE_VAPOUR]=3, + [Talents.T_ACID_BLOOD]={base=3, every=10, max=6}, + [Talents.T_CORROSIVE_VAPOUR]={base=3, every=10, max=6}, }, make_escort = { @@ -98,10 +98,10 @@ newEntity{ base = "BASE_NPC_DEMON", body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, resolvers.talents{ - [Talents.T_HEAVY_ARMOUR_TRAINING]=1, - [Talents.T_SHIELD_PUMMEL]=2, - [Talents.T_RIPOSTE]=3, - [Talents.T_OVERPOWER]=1, + [Talents.T_HEAVY_ARMOUR_TRAINING]={base=1, every=6, max=5}, + [Talents.T_SHIELD_PUMMEL]={base=2, every=6, max=5}, + [Talents.T_RIPOSTE]={base=3, every=6, max=6}, + [Talents.T_OVERPOWER]={base=1, every=6, max=5}, [Talents.T_RUSH]=6, }, resolvers.equip{ diff --git a/game/modules/tome/data/general/npcs/minotaur.lua b/game/modules/tome/data/general/npcs/minotaur.lua index 0199729fc478d648f512e74e7f551dfc43cae23d..b2f78f16ee222e31a30567f73d672ef8fbb21121 100644 --- a/game/modules/tome/data/general/npcs/minotaur.lua +++ b/game/modules/tome/data/general/npcs/minotaur.lua @@ -58,7 +58,12 @@ newEntity{ base = "BASE_NPC_MINOTAUR", level_range = {10, nil}, exp_worth = 1, rarity = 1, combat_armor = 13, combat_def = 8, - resolvers.talents{ [Talents.T_WARSHOUT]=3, [Talents.T_STUNNING_BLOW]=3, [Talents.T_SUNDER_ARMOUR]=2, [Talents.T_SUNDER_ARMS]=2, }, + resolvers.talents{ + [Talents.T_WARSHOUT]={base=3, every=10, max=6}, + [Talents.T_STUNNING_BLOW]={base=3, every=10, max=6}, + [Talents.T_SUNDER_ARMOUR]={base=2, every=10, max=5}, + [Talents.T_SUNDER_ARMS]={base=2, every=10, max=5}, + }, } newEntity{ base = "BASE_NPC_MINOTAUR", @@ -72,5 +77,8 @@ newEntity{ base = "BASE_NPC_MINOTAUR", autolevel = "caster", resists = { [DamageType.FIRE] = 100 }, max_mana = 100, - resolvers.talents{ [Talents.T_MANA_POOL]=1, [Talents.T_FLAME]=3, [Talents.T_FIREFLASH]=2 }, + resolvers.talents{ + [Talents.T_FLAME]={base=3, every=8, max=6}, + [Talents.T_FIREFLASH]={base=2, every=10, max=6} + }, } diff --git a/game/modules/tome/data/general/npcs/naga.lua b/game/modules/tome/data/general/npcs/naga.lua index db7a493c8e00e6aa784c47dad9d81b4df370e02c..a13e2da826693c5ab3533b097118f89bd066b39d 100644 --- a/game/modules/tome/data/general/npcs/naga.lua +++ b/game/modules/tome/data/general/npcs/naga.lua @@ -60,12 +60,12 @@ Myrmidons are the most devoted warriors of the nagas.]], }, combat_armor = 20, combat_def = 10, resolvers.talents{ - [Talents.T_SPIT_POISON]=5, - [Talents.T_SUNDER_ARMOUR]=4, - [Talents.T_STUNNING_BLOW]=3, + [Talents.T_SPIT_POISON]={base=5, every=10, max=9}, + [Talents.T_SUNDER_ARMOUR]={base=4, every=10, max=8}, + [Talents.T_STUNNING_BLOW]={base=3, every=10, max=7}, [Talents.T_RUSH]=8, - [Talents.T_WEAPON_COMBAT]=6, - [Talents.T_EXOTIC_WEAPONS_MASTERY]=6, + [Talents.T_WEAPON_COMBAT]={base=6, every=6, max=13}, + [Talents.T_EXOTIC_WEAPONS_MASTERY]={base=6, every=6, max=13}, }, } @@ -87,12 +87,12 @@ Tide huntresses wield both magic and hunting skills, making them terrible foes.] ai = "tactical", ai_tactic = resolvers.tactic"ranged", resolvers.talents{ - [Talents.T_SPIT_POISON]=5, - [Talents.T_WATER_JET]=6, - [Talents.T_WATER_BOLT]=7, + [Talents.T_SPIT_POISON]={base=5, every=10, max=10}, + [Talents.T_WATER_JET]={base=6, every=10, max=11}, + [Talents.T_WATER_BOLT]={base=7, every=10, max=12}, [Talents.T_SHOOT]=1, - [Talents.T_WEAPON_COMBAT]=6, - [Talents.T_BOW_MASTERY]=6, + [Talents.T_WEAPON_COMBAT]={base=6, every=6, max=13}, + [Talents.T_BOW_MASTERY]={base=6, every=6, max=13}, }, } @@ -113,9 +113,9 @@ Psyrens are dangerous nagas that can directly assault your mind.]], ai = "tactical", ai_tactic = resolvers.tactic"ranged", resolvers.talents{ - [Talents.T_MIND_DISRUPTION]=4, - [Talents.T_MIND_SEAR]=5, - [Talents.T_SILENCE]=4, - [Talents.T_TELEKINETIC_BLAST]=4, + [Talents.T_MIND_DISRUPTION]={base=4, every=10, max=7}, + [Talents.T_MIND_SEAR]={base=5, every=10, max=8}, + [Talents.T_SILENCE]={base=4, every=10, max=7}, + [Talents.T_TELEKINETIC_BLAST]={base=4, every=10, max=7}, }, } diff --git a/game/modules/tome/data/general/npcs/orc-grushnak.lua b/game/modules/tome/data/general/npcs/orc-grushnak.lua index 480b7e369ab1eb79606e42083bedbfea6ae60745..8f5db0119961d59b16b95d0da92fd9db7e2e88db 100644 --- a/game/modules/tome/data/general/npcs/orc-grushnak.lua +++ b/game/modules/tome/data/general/npcs/orc-grushnak.lua @@ -63,13 +63,13 @@ newEntity{ base = "BASE_NPC_ORC_GRUSHNAK", combat_armor = 0, combat_def = 5, resolvers.talents{ - [Talents.T_MASSIVE_ARMOUR_TRAINING]=1, - [Talents.T_WEAPON_COMBAT]=4, - [Talents.T_WEAPONS_MASTERY]=4, - [Talents.T_RUSH]=3, - [Talents.T_SHIELD_PUMMEL]=3, - [Talents.T_OVERPOWER]=3, - [Talents.T_DISARM]=3, + [Talents.T_MASSIVE_ARMOUR_TRAINING]={base=1, every=5, max=5}, + [Talents.T_WEAPON_COMBAT]={base=4, every=5, max=8}, + [Talents.T_WEAPONS_MASTERY]={base=4, every=5, max=8}, + [Talents.T_RUSH]={base=3, every=9, max=5}, + [Talents.T_SHIELD_PUMMEL]={base=3, every=7, max=6}, + [Talents.T_OVERPOWER]={base=3, every=7, max=6}, + [Talents.T_DISARM]={base=3, every=7, max=6}, }, } @@ -91,16 +91,16 @@ newEntity{ base = "BASE_NPC_ORC_GRUSHNAK", ai_tactic = resolvers.tactic"melee", resolvers.talents{ - [Talents.T_MASSIVE_ARMOUR_TRAINING]=5, - [Talents.T_WEAPON_COMBAT]=8, - [Talents.T_WEAPONS_MASTERY]=6, - [Talents.T_RUSH]=3, - [Talents.T_BATTLE_CALL]=3, - [Talents.T_SHIELD_PUMMEL]=4, - [Talents.T_OVERPOWER]=5, - [Talents.T_ASSAULT]=3, - [Talents.T_BATTLE_SHOUT]=3, - [Talents.T_SHIELD_WALL]=5, + [Talents.T_MASSIVE_ARMOUR_TRAINING]={base=5, every=5, max=8}, + [Talents.T_WEAPON_COMBAT]={base=8, every=5, max=12}, + [Talents.T_WEAPONS_MASTERY]={base=6, every=5, max=12}, + [Talents.T_RUSH]={base=3, every=7, max=6}, + [Talents.T_BATTLE_CALL]={base=3, every=7, max=6}, + [Talents.T_SHIELD_PUMMEL]={base=4, every=7, max=7}, + [Talents.T_OVERPOWER]={base=5, every=7, max=8}, + [Talents.T_ASSAULT]={base=3, every=7, max=6}, + [Talents.T_BATTLE_SHOUT]={base=3, every=7, max=6}, + [Talents.T_SHIELD_WALL]={base=5, every=6, max=8}, }, } @@ -117,12 +117,12 @@ newEntity{ base = "BASE_NPC_ORC_GRUSHNAK", combat_armor = 0, combat_def = 5, resolvers.talents{ - [Talents.T_MASSIVE_ARMOUR_TRAINING]=1, - [Talents.T_WEAPON_COMBAT]=4, - [Talents.T_WEAPONS_MASTERY]=4, - [Talents.T_RUSH]=3, - [Talents.T_STUNNING_BLOW]=3, - [Talents.T_BERSERKER]=3, + [Talents.T_MASSIVE_ARMOUR_TRAINING]={base=1, every=5, max=5}, + [Talents.T_WEAPON_COMBAT]={base=4, every=5, max=8}, + [Talents.T_WEAPONS_MASTERY]={base=4, every=5, max=8}, + [Talents.T_RUSH]={base=3, every=7, max=6}, + [Talents.T_STUNNING_BLOW]={base=3, every=7, max=6}, + [Talents.T_BERSERKER]={base=3, every=7, max=6}, }, } @@ -143,15 +143,15 @@ newEntity{ base = "BASE_NPC_ORC_GRUSHNAK", ai_tactic = resolvers.tactic"melee", resolvers.talents{ - [Talents.T_MASSIVE_ARMOUR_TRAINING]=5, - [Talents.T_WEAPON_COMBAT]=8, - [Talents.T_WEAPONS_MASTERY]=6, - [Talents.T_RUSH]=3, - [Talents.T_BATTLE_CALL]=3, - [Talents.T_STUNNING_BLOW]=4, - [Talents.T_JUGGERNAUT]=5, - [Talents.T_SHATTERING_IMPACT]=5, - [Talents.T_BATTLE_SHOUT]=3, - [Talents.T_BERSERKER]=5, + [Talents.T_MASSIVE_ARMOUR_TRAINING]={base=5, every=5, max=8}, + [Talents.T_WEAPON_COMBAT]={base=8, every=5, max=12}, + [Talents.T_WEAPONS_MASTERY]={base=6, every=5, max=12}, + [Talents.T_RUSH]={base=3, every=7, max=6}, + [Talents.T_BATTLE_CALL]={base=3, every=7, max=6}, + [Talents.T_STUNNING_BLOW]={base=4, every=7, max=7}, + [Talents.T_JUGGERNAUT]={base=5, every=6, max=8}, + [Talents.T_SHATTERING_IMPACT]={base=5, every=6, max=8}, + [Talents.T_BATTLE_SHOUT]={base=3, every=7, max=6}, + [Talents.T_BERSERKER]={base=5, every=6, max=8}, }, } diff --git a/game/modules/tome/data/general/npcs/orc-rak-shor.lua b/game/modules/tome/data/general/npcs/orc-rak-shor.lua index 80783d77f47d3c907f2c68122bfe6531370d55a0..5c2e3eed524939f91fb07aee786ba4d9a7db18d1 100644 --- a/game/modules/tome/data/general/npcs/orc-rak-shor.lua +++ b/game/modules/tome/data/general/npcs/orc-rak-shor.lua @@ -70,7 +70,7 @@ newEntity{ base = "BASE_NPC_ORC_RAK_SHOR", resolvers.talents{ [Talents.T_SUMMON]=1, - [Talents.T_SOUL_ROT]=5, + [Talents.T_SOUL_ROT]={base=5, every=10, max=8}, }, } @@ -90,9 +90,9 @@ newEntity{ base = "BASE_NPC_ORC_RAK_SHOR", talent_cd_reduction={[Talents.T_SOUL_ROT]=2, [Talents.T_BLOOD_GRASP]=4, }, resolvers.talents{ - [Talents.T_SOUL_ROT]=5, - [Talents.T_BLOOD_GRASP]=5, - [Talents.T_CURSE_OF_VULNERABILITY]=5, + [Talents.T_SOUL_ROT]={base=5, every=10, max=8}, + [Talents.T_BLOOD_GRASP]={base=5, every=10, max=8}, + [Talents.T_CURSE_OF_VULNERABILITY]={base=5, every=10, max=8}, }, resolvers.sustains_at_birth(), } @@ -116,11 +116,11 @@ newEntity{ base = "BASE_NPC_ORC_RAK_SHOR", inc_damage = { [DamageType.BLIGHT] = resolvers.mbonus(20, 10) }, resolvers.talents{ - [Talents.T_SOUL_ROT]=5, - [Talents.T_BLOOD_GRASP]=5, - [Talents.T_CURSE_OF_VULNERABILITY]=5, - [Talents.T_BLIGHTZONE]=3, - [Talents.T_BONE_SHIELD]=5, - [Talents.T_BLOOD_SPRAY]=4, + [Talents.T_SOUL_ROT]={base=5, every=10, max=8}, + [Talents.T_BLOOD_GRASP]={base=5, every=10, max=8}, + [Talents.T_CURSE_OF_VULNERABILITY]={base=5, every=10, max=8}, + [Talents.T_BLIGHTZONE]={base=3, every=10, max=6}, + [Talents.T_BONE_SHIELD]={base=5, every=150, max=8}, + [Talents.T_BLOOD_SPRAY]={base=4, every=10, max=8}, }, } diff --git a/game/modules/tome/data/general/npcs/orc-vor.lua b/game/modules/tome/data/general/npcs/orc-vor.lua index 767b8d71b624cc024612fff22cf495fcd24c8963..a46248ba4ab92536fa3a6355018c074371368557 100644 --- a/game/modules/tome/data/general/npcs/orc-vor.lua +++ b/game/modules/tome/data/general/npcs/orc-vor.lua @@ -63,11 +63,11 @@ newEntity{ base = "BASE_NPC_ORC_VOR", combat_armor = 0, combat_def = 5, resolvers.talents{ - [Talents.T_FLAME]=4, - [Talents.T_FLAMESHOCK]=3, - [Talents.T_FIREFLASH]=3, - [Talents.T_SPELL_SHAPING]=3, - [Talents.T_PHASE_DOOR]=1, + [Talents.T_FLAME]={base=4, every=10, max=8}, + [Talents.T_FLAMESHOCK]={base=3, every=10, max=7}, + [Talents.T_FIREFLASH]={base=3, every=10, max=7}, + [Talents.T_SPELL_SHAPING]={base=3, every=10, max=7}, + [Talents.T_PHASE_DOOR]=2, }, } @@ -87,14 +87,15 @@ newEntity{ base = "BASE_NPC_ORC_VOR", rank = 3, resolvers.talents{ - [Talents.T_FLAME]=5, - [Talents.T_FLAMESHOCK]=5, - [Talents.T_FIREFLASH]=5, - [Talents.T_INFERNO]=5, - [Talents.T_BLASTWAVE]=5, - [Talents.T_BURNING_WAKE]=5, + [Talents.T_FLAME]={base=5, every=10, max=9}, + [Talents.T_FLAMESHOCK]={base=5, every=10, max=9}, + [Talents.T_FIREFLASH]={base=5, every=10, max=9}, + [Talents.T_INFERNO]={base=5, every=10, max=9}, + [Talents.T_BLASTWAVE]={base=5, every=10, max=9}, + [Talents.T_BURNING_WAKE]={base=5, every=10, max=9}, [Talents.T_SPELL_SHAPING]=5, - [Talents.T_ESSENCE_OF_SPEED]=1, + [Talents.T_PHASE_DOOR]=2, + [Talents.T_ESSENCE_OF_SPEED]={base=1, every=10, max=5}, }, } @@ -111,11 +112,11 @@ newEntity{ base = "BASE_NPC_ORC_VOR", combat_armor = 0, combat_def = 5, resolvers.talents{ - [Talents.T_FREEZE]=4, - [Talents.T_ICE_STORM]=5, - [Talents.T_TIDAL_WAVE]=3, - [Talents.T_SPELL_SHAPING]=3, - [Talents.T_PHASE_DOOR]=1, + [Talents.T_FREEZE]={base=4, every=10, max=8}, + [Talents.T_ICE_STORM]={base=5, every=10, max=9}, + [Talents.T_TIDAL_WAVE]={base=3, every=10, max=7}, + [Talents.T_SPELL_SHAPING]={base=3, every=10, max=7}, + [Talents.T_PHASE_DOOR]=2, }, } @@ -136,13 +137,13 @@ newEntity{ base = "BASE_NPC_ORC_VOR", ai_tactic = resolvers.tactic"ranged", resolvers.talents{ - [Talents.T_FREEZE]=5, - [Talents.T_ICE_STORM]=5, - [Talents.T_TIDAL_WAVE]=5, - [Talents.T_ICE_SHARDS]=5, - [Talents.T_FROZEN_GROUND]=5, - [Talents.T_SPELL_SHAPING]=5, - [Talents.T_PHASE_DOOR]=1, - [Talents.T_ESSENCE_OF_SPEED]=1, + [Talents.T_FREEZE]={base=5, every=10, max=9}, + [Talents.T_ICE_STORM]={base=5, every=10, max=9}, + [Talents.T_TIDAL_WAVE]={base=5, every=10, max=9}, + [Talents.T_ICE_SHARDS]={base=5, every=10, max=9}, + [Talents.T_FROZEN_GROUND]={base=5, every=10, max=9}, + [Talents.T_SPELL_SHAPING]={base=5, every=10, max=9}, + [Talents.T_PHASE_DOOR]=2, + [Talents.T_ESSENCE_OF_SPEED]={base=1, every=10, max=5}, }, } diff --git a/game/modules/tome/data/general/npcs/orc.lua b/game/modules/tome/data/general/npcs/orc.lua index 84f624effb96b576fbf48561a75ee0804685a0e2..99757e3f324887b277883dc171a754b813cc6ded 100644 --- a/game/modules/tome/data/general/npcs/orc.lua +++ b/game/modules/tome/data/general/npcs/orc.lua @@ -43,6 +43,7 @@ newEntity{ ai = "dumb_talented_simple", ai_state = { ai_move="move_dmap", talent_in=3, }, energy = { mod=1 }, stats = { str=20, dex=8, mag=6, con=16 }, + resolvers.talents{ [Talents.T_WEAPON_COMBAT]={base=1, every=5, max=10}, }, } newEntity{ base = "BASE_NPC_ORC", @@ -58,7 +59,10 @@ newEntity{ base = "BASE_NPC_ORC", }, resolvers.inscriptions(1, "infusion"), combat_armor = 2, combat_def = 0, - resolvers.talents{ [Talents.T_SHIELD_PUMMEL]=1, }, + resolvers.talents{ + [Talents.T_WEAPONS_MASTERY]={base=1, every=5, max=10}, + [Talents.T_SHIELD_PUMMEL]={base=1, every=6, max=5}, + }, resolvers.racial(), } @@ -70,7 +74,10 @@ newEntity{ base = "BASE_NPC_ORC", rarity = 3, max_life = resolvers.rngavg(70,80), combat_armor = 5, combat_def = 1, - resolvers.talents{ [Talents.T_SHOOT]=1, }, + resolvers.talents{ + [Talents.T_BOW_MASTERY]={base=1, every=5, max=10}, + [Talents.T_SHOOT]=1, + }, ai_state = { talent_in=1, }, autolevel = "archer", @@ -94,7 +101,11 @@ newEntity{ base = "BASE_NPC_ORC", define_as = "ORC", }, combat_armor = 2, combat_def = 0, resolvers.inscriptions(1, "infusion"), - resolvers.talents{ [Talents.T_SUNDER_ARMOUR]=2, [Talents.T_CRUSH]=2, }, + resolvers.talents{ + [Talents.T_WEAPONS_MASTERY]={base=1, every=5, max=10}, + [Talents.T_SUNDER_ARMOUR]={base=1, every=7, max=5}, + [Talents.T_CRUSH]={base=1, every=4, max=5}, + }, resolvers.racial(), } @@ -119,9 +130,10 @@ newEntity{ base = "BASE_NPC_ORC", define_as = "ORC_FIRE_WYRMIC", }, resolvers.talents{ - [Talents.T_BELLOWING_ROAR]=2, - [Talents.T_WING_BUFFET]=2, - [Talents.T_FIRE_BREATH]=2, + [Talents.T_WEAPONS_MASTERY]={base=3, every=5, max=10}, + [Talents.T_BELLOWING_ROAR]={base=2, every=6, max=5}, + [Talents.T_WING_BUFFET]={base=2, every=5, max=5}, + [Talents.T_FIRE_BREATH]={base=2, every=5, max=5}, }, resolvers.racial(), } @@ -147,9 +159,10 @@ newEntity{ base = "BASE_NPC_ORC", }, resolvers.talents{ - [Talents.T_ICE_CLAW]=2, - [Talents.T_ICY_SKIN]=2, - [Talents.T_ICE_BREATH]=2, + [Talents.T_WEAPONS_MASTERY]={base=3, every=5, max=10}, + [Talents.T_ICE_CLAW]={base=2, every=6, max=5}, + [Talents.T_ICY_SKIN]={base=2, every=5, max=5}, + [Talents.T_ICE_BREATH]={base=2, every=5, max=5}, }, resolvers.racial(), } @@ -167,9 +180,10 @@ newEntity{ base = "BASE_NPC_ORC", {type="armor", subtype="light", autoreq=true} }, resolvers.talents{ + [Talents.T_KNIFE_MASTERY]={base=3, every=5, max=10}, [Talents.T_STEALTH]=5, [Talents.T_LETHALITY]=4, - [Talents.T_SHADOWSTRIKE]=3, + [Talents.T_SHADOWSTRIKE]={base=3, every=6, max=5}, }, max_life = resolvers.rngavg(80,100), resolvers.inscriptions(1, "infusion"), @@ -197,10 +211,11 @@ newEntity{ base = "BASE_NPC_ORC", ai_tactic = resolvers.tactic"melee", resolvers.inscriptions(1, "infusion"), resolvers.talents{ + [Talents.T_KNIFE_MASTERY]={base=3, every=5, max=10}, [Talents.T_STEALTH]=5, [Talents.T_LETHALITY]=4, [Talents.T_SHADOWSTRIKE]=5, - [Talents.T_HIDE_IN_PLAIN_SIGHT]=2, + [Talents.T_HIDE_IN_PLAIN_SIGHT]={base=2, every=6, max=5}, }, max_life = resolvers.rngavg(80,100), @@ -227,11 +242,12 @@ newEntity{ base = "BASE_NPC_ORC", ai_tactic = resolvers.tactic"melee", resolvers.inscriptions(3, "infusion"), resolvers.talents{ + [Talents.T_KNIFE_MASTERY]={base=3, every=5, max=10}, [Talents.T_STEALTH]=5, - [Talents.T_LETHALITY]=4, + [Talents.T_LETHALITY]={base=4, every=5, max=6}, [Talents.T_SHADOWSTRIKE]=5, - [Talents.T_HIDE_IN_PLAIN_SIGHT]=3, - [Talents.T_UNSEEN_ACTIONS]=3, + [Talents.T_HIDE_IN_PLAIN_SIGHT]={base=3, every=5, max=5}, + [Talents.T_UNSEEN_ACTIONS]={base=3, every=5, max=5}, }, max_life = resolvers.rngavg(80,100), diff --git a/game/modules/tome/data/general/npcs/plant.lua b/game/modules/tome/data/general/npcs/plant.lua index 24e44400048dd5b244f050c1be6997d949a69ab5..57f870952e74a7272103c53a07e8584541c774e8 100644 --- a/game/modules/tome/data/general/npcs/plant.lua +++ b/game/modules/tome/data/general/npcs/plant.lua @@ -43,7 +43,7 @@ newEntity{ newEntity{ base = "BASE_NPC_PLANT", name = "giant venus flytrap", color=colors.GREEN, desc = "This flesh-eating plant has grown to enormous proportions and seeks to quell its hunger", - level_range = {7, nil}, exp_worth = 1, + level_range = {7, 17}, exp_worth = 1, rarity = 1, max_life = resolvers.rngavg(5,9), combat = { dam=5, atk=15, apr=10 }, @@ -56,7 +56,7 @@ newEntity{ base = "BASE_NPC_PLANT", rarity = 2, max_life = resolvers.rngavg(100,130), life_rating = 15, - combat = { dam=resolvers.rngavg(8,13), atk=15, apr=5 }, + combat = { dam=resolvers.levelup(resolvers.rngavg(8,13), 1, 1.2), atk=15, apr=5 }, never_move = 0, rank = 2, size_category = 5, @@ -77,7 +77,7 @@ newEntity{ base = "BASE_NPC_PLANT", newEntity{ base = "BASE_NPC_PLANT", name = "honey tree", color=colors.UMBER, desc = "As you approach it, you hear a high-pitched buzzing sound.", - level_range = {10, nil}, exp_worth = 1, + level_range = {10, 24}, exp_worth = 1, rarity = 3, max_life = resolvers.rngavg(100,130), life_rating = 15, diff --git a/game/modules/tome/data/general/npcs/ritch.lua b/game/modules/tome/data/general/npcs/ritch.lua index 2c74cd8e6f6b9c2ea8bd5515d55593f0b193f517..473b1051fa555ba20baf21a199f1c8efe0c3b7ea 100644 --- a/game/modules/tome/data/general/npcs/ritch.lua +++ b/game/modules/tome/data/general/npcs/ritch.lua @@ -27,7 +27,7 @@ newEntity{ desc = [[Ritchs are giant insects native to the arid wastes of the southern parts of the Far East. Vicious predators, they inject corrupting diseases into their foes, and their sharp claws cut through most armours.]], - combat = { dam=resolvers.rngavg(30,35), atk=16, apr=70, damtype=DamageType.BLIGHT, dammod={dex=1.2} }, + combat = { dam=resolvers.levelup(resolvers.rngavg(30,35), 1, 1), atk=16, apr=70, damtype=DamageType.BLIGHT, dammod={dex=1.2} }, body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, @@ -56,7 +56,7 @@ newEntity{ base = "BASE_NPC_RITCH", combat_armor = 5, combat_def = 5, resolvers.talents{ - [Talents.T_ROTTING_DISEASE]=3, + [Talents.T_ROTTING_DISEASE]={base=3, every=7, max=6}, [Talents.T_SHRIEK]=1, }, } @@ -72,9 +72,9 @@ newEntity{ base = "BASE_NPC_RITCH", combat_armor = 12, combat_def = 5, resolvers.talents{ - [Talents.T_ROTTING_DISEASE]=4, + [Talents.T_ROTTING_DISEASE]={base=4, every=7, max=8}, [Talents.T_RUSH]=5, - [Talents.T_FLAME]=5, + [Talents.T_FLAME]={base=5, every=7, max=9}, [Talents.T_SHRIEK]=3, }, @@ -102,8 +102,8 @@ newEntity{ base = "BASE_NPC_RITCH", }, resolvers.talents{ - [Talents.T_ROTTING_DISEASE]=5, - [Talents.T_FLAME]=5, + [Talents.T_ROTTING_DISEASE]={base=5, every=7, max=9}, + [Talents.T_FLAME]={base=5, every=7, max=9}, [Talents.T_SUMMON]=1, [Talents.T_SHRIEK]=4, }, diff --git a/game/modules/tome/data/general/npcs/sandworm.lua b/game/modules/tome/data/general/npcs/sandworm.lua index 794aff145640cdee53702dbd9753e5a923222472..b4ce7474344cc7ed7ca2ab62ccf3769bd604456a 100644 --- a/game/modules/tome/data/general/npcs/sandworm.lua +++ b/game/modules/tome/data/general/npcs/sandworm.lua @@ -26,7 +26,7 @@ newEntity{ level_range = {7, nil}, body = { INVEN = 10 }, - combat = { dam=resolvers.mbonus(25, 15), atk=15, apr=0, dammod={str=0.7} }, + combat = { dam=resolvers.levelup(resolvers.mbonus(25, 15), 1, 1), atk=15, apr=0, dammod={str=0.7} }, infravision = 20, max_life = 40, life_rating = 5, @@ -58,9 +58,8 @@ newEntity{ base = "BASE_NPC_SANDWORM", rarity = 3, resolvers.talents{ - [Talents.T_STAMINA_POOL]=1, - [Talents.T_STUN]=2, - [Talents.T_KNOCKBACK]=2, + [Talents.T_STUN]={base=2, every=10, max=5}, + [Talents.T_KNOCKBACK]={base=2, every=10, max=5}, }, } @@ -76,9 +75,8 @@ newEntity{ base = "BASE_NPC_SANDWORM", ai_tactic = resolvers.tactic"melee", resolvers.talents{ - [Talents.T_STAMINA_POOL]=1, - [Talents.T_SAND_BREATH]=3, - [Talents.T_KNOCKBACK]=2, + [Talents.T_SAND_BREATH]={base=3, every=5, max=7}, + [Talents.T_KNOCKBACK]={base=2, every=10, max=5}, }, } @@ -90,7 +88,7 @@ newEntity{ base = "BASE_NPC_SANDWORM", size_category = 4, max_life = 120, life_rating = 13, combat_armor = 1, combat_def = 0, - combat = { dam=resolvers.mbonus(55, 15), atk=15, apr=0, dammod={str=1} }, + combat = { dam=resolvers.levelup(resolvers.mbonus(55, 15), 1, 1), atk=15, apr=0, dammod={str=1} }, ai = "dumb_talented_simple", ai_state = { ai_target="target_player_radius", sense_radius=40, talent_in=2, }, stats = { str=30, dex=7, mag=3, con=3 }, @@ -101,8 +99,8 @@ newEntity{ base = "BASE_NPC_SANDWORM", move_project = {[DamageType.DIG]=1}, resolvers.talents{ - [Talents.T_RUSH]=5, - [Talents.T_GRAB]=5, + [Talents.T_RUSH]={base=5, every=10, max=8}, + [Talents.T_GRAB]={base=5, every=10, max=8}, }, } @@ -114,15 +112,15 @@ newEntity{ base = "BASE_NPC_SANDWORM", size_category = 4, max_life = 100, life_rating = 14, combat_armor = 1, combat_def = 0, - combat = { dam=resolvers.mbonus(45, 15), atk=15, apr=0, dammod={str=1} }, + combat = { dam=resolvers.levelup(resolvers.mbonus(45, 15), 1, 0.9), atk=15, apr=0, dammod={str=1} }, stats = { str=20, dex=7, mag=30, con=3 }, autolevel = "warriormage", resolvers.talents{ - [Talents.T_GRAVITY_WELL]=3, - [Talents.T_GRAVITY_SPIKE]=5, - [Talents.T_DAMAGE_SMEARING]=5, + [Talents.T_GRAVITY_WELL]={base=3, every=10, max=6}, + [Talents.T_GRAVITY_SPIKE]={base=5, every=10, max=8}, + [Talents.T_DAMAGE_SMEARING]={base=5, every=10, max=8}, }, } @@ -134,7 +132,7 @@ newEntity{ base = "BASE_NPC_SANDWORM", size_category = 4, max_life = 80, life_rating = 10, combat_armor = 1, combat_def = 0, - combat = { dam=resolvers.mbonus(55, 15), atk=15, apr=50, damtype=DamageType.ACID, dammod={str=1} }, + combat = { dam=resolvers.levelup(resolvers.mbonus(55, 15), 1, 1), atk=15, apr=50, damtype=DamageType.ACID, dammod={str=1} }, resists={[DamageType.ACID] = 100}, stats = { str=30, dex=7, mag=3, con=3 }, @@ -145,7 +143,7 @@ newEntity{ base = "BASE_NPC_SANDWORM", move_project = {[DamageType.DIG]=1}, resolvers.talents{ - [Talents.T_ACID_BLOOD]=3, + [Talents.T_ACID_BLOOD]={base=3, every=10, max=6}, }, on_die = function(self, src) diff --git a/game/modules/tome/data/general/npcs/skeleton.lua b/game/modules/tome/data/general/npcs/skeleton.lua index 48fc50aabbf3591fb3dc614891e37aeccda68716..615a589a215328d21c8b571ad6053be8b5c3c783 100644 --- a/game/modules/tome/data/general/npcs/skeleton.lua +++ b/game/modules/tome/data/general/npcs/skeleton.lua @@ -67,7 +67,7 @@ newEntity{ base = "BASE_NPC_SKELETON", max_life = resolvers.rngavg(90,100), combat_armor = 5, combat_def = 1, resolvers.equip{ {type="weapon", subtype="greatsword", autoreq=true} }, - resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUNNING_BLOW]=1, }, + resolvers.talents{ [Talents.T_STUNNING_BLOW]={base=1, every=7, max=5}, [Talents.T_WEAPON_COMBAT]={base=1, every=7, max=10}, [Talents.T_WEAPONS_MASTERY]={base=1, every=7, max=10}, }, ai_state = { talent_in=1, }, } @@ -79,7 +79,7 @@ newEntity{ base = "BASE_NPC_SKELETON", max_mana = resolvers.rngavg(70,80), combat_armor = 3, combat_def = 1, stats = { str=10, dex=12, cun=14, mag=14, con=10 }, - resolvers.talents{ [Talents.T_MANA_POOL]=1, [Talents.T_FLAME]=2, [Talents.T_MANATHRUST]=3 }, + resolvers.talents{ [Talents.T_FLAME]={base=1, every=7, max=5}, [Talents.T_MANATHRUST]={base=2, every=7, max=5} }, resolvers.equip{ {type="weapon", subtype="staff", autoreq=true} }, @@ -93,7 +93,7 @@ newEntity{ base = "BASE_NPC_SKELETON", rarity = 3, max_life = resolvers.rngavg(70,80), combat_armor = 5, combat_def = 1, - resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_SHOOT]=1, }, + resolvers.talents{ [Talents.T_BOW_MASTERY]={base=1, every=7, max=10}, [Talents.T_WEAPON_COMBAT]={base=1, every=7, max=10}, [Talents.T_SHOOT]=1, }, ai_state = { talent_in=1, }, autolevel = "archer", @@ -106,7 +106,7 @@ newEntity{ base = "BASE_NPC_SKELETON", rarity = 5, max_life = resolvers.rngavg(70,80), combat_armor = 5, combat_def = 1, - resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_SHOOT]=1, [Talents.T_PINNING_SHOT]=3, [Talents.T_CRIPPLING_SHOT]=3, }, + resolvers.talents{ [Talents.T_BOW_MASTERY]={base=1, every=7, max=10}, [Talents.T_WEAPON_COMBAT]={base=1, every=7, max=10}, [Talents.T_SHOOT]=1, [Talents.T_PINNING_SHOT]=3, [Talents.T_CRIPPLING_SHOT]=3, }, ai_state = { talent_in=1, }, rank = 3, @@ -130,11 +130,13 @@ newEntity{ base = "BASE_NPC_SKELETON", resolvers.inscriptions(1, "rune"), resolvers.talents{ - [Talents.T_HEAVY_ARMOUR_TRAINING]=1, - [Talents.T_SHIELD_PUMMEL]=1, - [Talents.T_RIPOSTE]=3, - [Talents.T_OVERPOWER]=1, - [Talents.T_DISARM]=3, + [Talents.T_WEAPON_COMBAT]={base=1, every=7, max=10}, + [Talents.T_WEAPONS_MASTERY]={base=1, every=7, max=10}, + [Talents.T_HEAVY_ARMOUR_TRAINING]={base=1, every=7, max=5}, + [Talents.T_SHIELD_PUMMEL]={base=1, every=7, max=5}, + [Talents.T_RIPOSTE]={base=3, every=7, max=7}, + [Talents.T_OVERPOWER]={base=1, every=7, max=5}, + [Talents.T_DISARM]={base=3, every=7, max=7}, }, resolvers.equip{ {type="weapon", subtype="longsword", autoreq=true}, {type="armor", subtype="shield", autoreq=true}, {type="armor", subtype="heavy", autoreq=true} }, ai_state = { talent_in=1, }, diff --git a/game/modules/tome/data/general/npcs/snake.lua b/game/modules/tome/data/general/npcs/snake.lua index 234c68402e3ae1c491a340833e6b91e6ffb40d8e..1be5e5b08774ee981d130237115a0f50d5773de9 100644 --- a/game/modules/tome/data/general/npcs/snake.lua +++ b/game/modules/tome/data/general/npcs/snake.lua @@ -45,7 +45,7 @@ newEntity{ base = "BASE_NPC_SNAKE", rarity = 1, max_life = resolvers.rngavg(20,30), combat_armor = 1, combat_def = 3, - combat = { dam=2, atk=30, apr=10 }, + combat = { dam=resolvers.levelup(2, 1, 0.7), atk=30, apr=10 }, } newEntity{ base = "BASE_NPC_SNAKE", @@ -55,7 +55,7 @@ newEntity{ base = "BASE_NPC_SNAKE", rarity = 1, max_life = resolvers.rngavg(20,30), combat_armor = 1, combat_def = 3, - combat = { dam=2, atk=30, apr=10 }, + combat = { dam=resolvers.levelup(2, 1, 0.7), atk=30, apr=10 }, } newEntity{ base = "BASE_NPC_SNAKE", @@ -65,7 +65,7 @@ newEntity{ base = "BASE_NPC_SNAKE", rarity = 1, max_life = resolvers.rngavg(30,40), combat_armor = 2, combat_def = 5, - combat = { dam=3, atk=30, apr=10 }, + combat = { dam=resolvers.levelup(3, 1, 0.7), atk=30, apr=10 }, resolvers.talents{ [Talents.T_BITE_POISON]=1 }, } @@ -77,7 +77,7 @@ newEntity{ base = "BASE_NPC_SNAKE", rarity = 1, max_life = resolvers.rngavg(30,50), combat_armor = 2, combat_def = 8, - combat = { dam=5, atk=30, apr=10 }, + combat = { dam=resolvers.levelup(5, 1, 0.7), atk=30, apr=10 }, resolvers.talents{ [Talents.T_BITE_POISON]=1 }, } @@ -89,7 +89,7 @@ newEntity{ base = "BASE_NPC_SNAKE", rarity = 4, max_life = resolvers.rngavg(40,70), combat_armor = 3, combat_def = 11, - combat = { dam=7, atk=30, apr=10 }, + combat = { dam=resolvers.levelup(7, 1, 0.7), atk=30, apr=10 }, resolvers.talents{ [Talents.T_BITE_POISON]=2 }, } @@ -101,7 +101,7 @@ newEntity{ base = "BASE_NPC_SNAKE", rarity = 4, max_life = resolvers.rngavg(50,80), combat_armor = 4, combat_def = 12, - combat = { dam=10, atk=30, apr=10 }, + combat = { dam=resolvers.levelup(10, 1, 0.7), atk=30, apr=10 }, resolvers.talents{ [Talents.T_BITE_POISON]=3 }, } @@ -114,7 +114,7 @@ newEntity{ base = "BASE_NPC_SNAKE", rank = 3, max_life = resolvers.rngavg(100,120), combat_armor = 14, combat_def = 5, - combat = { dam=12, atk=10, apr=10 }, + combat = { dam=resolvers.levelup(12, 1, 0.7), atk=10, apr=10 }, energy = { mod=0.8 }, resolvers.talents{ [Talents.T_CONSTRICT]=5 }, diff --git a/game/modules/tome/data/general/npcs/snow-giant.lua b/game/modules/tome/data/general/npcs/snow-giant.lua index f9d0a35d072cc406c0990f63bc0cfc0e2c8aeae6..b2c1db06d5d119888dc5586d04d883540ebffe42 100644 --- a/game/modules/tome/data/general/npcs/snow-giant.lua +++ b/game/modules/tome/data/general/npcs/snow-giant.lua @@ -24,7 +24,7 @@ newEntity{ type = "giant", subtype = "ice", display = "P", color=colors.WHITE, - combat = { dam=resolvers.mbonus(50, 10), atk=15, apr=15, dammod={str=0.8} }, + combat = { dam=resolvers.levelup(resolvers.mbonus(50, 10), 1, 1), atk=15, apr=15, dammod={str=0.8} }, body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, resolvers.drops{chance=100, nb=1, {type="money"} }, @@ -58,7 +58,7 @@ newEntity{ base = "BASE_NPC_SNOW_GIANT", combat_armor = 0, combat_def = 0, on_melee_hit = {[DamageType.COLD]=resolvers.mbonus(15, 5)}, melee_project = {[DamageType.COLD]=resolvers.mbonus(15, 5)}, - resolvers.talents{ [Talents.T_MIND_DISRUPTION]=2, }, + resolvers.talents{ [Talents.T_MIND_DISRUPTION]={base=2, every=10, max=5}, }, } newEntity{ base = "BASE_NPC_SNOW_GIANT", @@ -71,7 +71,7 @@ newEntity{ base = "BASE_NPC_SNOW_GIANT", on_melee_hit = {[DamageType.COLD]=resolvers.mbonus(15, 5)}, melee_project = {[DamageType.COLD]=resolvers.mbonus(15, 5)}, autolevel = "warriormage", - resolvers.talents{ [Talents.T_LIGHTNING]=3, [Talents.T_CHAIN_LIGHTNING]=3, }, + resolvers.talents{ [Talents.T_LIGHTNING]={base=3, every=6, max=6}, [Talents.T_CHAIN_LIGHTNING]={base=3, every=6, max=6}, }, } newEntity{ base = "BASE_NPC_SNOW_GIANT", @@ -83,7 +83,7 @@ newEntity{ base = "BASE_NPC_SNOW_GIANT", combat_armor = 0, combat_def = 0, on_melee_hit = {[DamageType.COLD]=resolvers.mbonus(15, 5)}, melee_project = {[DamageType.COLD]=resolvers.mbonus(15, 5)}, - resolvers.talents{ [Talents.T_THROW_BOULDER]=3, }, + resolvers.talents{ [Talents.T_THROW_BOULDER]={base=3, every=6, max=6}, }, } newEntity{ base = "BASE_NPC_SNOW_GIANT", @@ -96,7 +96,7 @@ newEntity{ base = "BASE_NPC_SNOW_GIANT", combat_armor = 12, combat_def = 12, on_melee_hit = {[DamageType.COLD]=resolvers.mbonus(15, 10)}, melee_project = {[DamageType.COLD]=resolvers.mbonus(15, 10)}, - resolvers.talents{ [Talents.T_KNOCKBACK]=3, [Talents.T_STUN]=3, }, + resolvers.talents{ [Talents.T_KNOCKBACK]={base=3, every=6, max=6}, [Talents.T_STUN]={base=3, every=6, max=6}, }, make_escort = { {type="giant", subtype="ice", number=3}, }, diff --git a/game/modules/tome/data/general/npcs/spider.lua b/game/modules/tome/data/general/npcs/spider.lua index 3e5d1b32d0fc8a00ec5f619c8f6d26f11c742b43..8d89e82a868d911dec0f0cba823764691f4fb767 100644 --- a/game/modules/tome/data/general/npcs/spider.lua +++ b/game/modules/tome/data/general/npcs/spider.lua @@ -25,7 +25,7 @@ newEntity{ display = "S", color=colors.WHITE, desc = [[Arachnophobia...]], - combat = { dam=resolvers.mbonus(40, 70), atk=16, apr=9, damtype=DamageType.NATURE, dammod={dex=1.2} }, + combat = { dam=resolvers.levelup(resolvers.mbonus(40, 70), 1, 0.9), atk=16, apr=9, damtype=DamageType.NATURE, dammod={dex=1.2} }, body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, @@ -58,8 +58,8 @@ newEntity{ base = "BASE_NPC_SPIDER", combat_armor = 5, combat_def = 5, resolvers.talents{ - [Talents.T_SPIDER_WEB]=1, - [Talents.T_LAY_WEB]=1, + [Talents.T_SPIDER_WEB]={base=1, every=10, max=5}, + [Talents.T_LAY_WEB]={base=1, every=10, max=5}, }, } @@ -75,9 +75,9 @@ newEntity{ base = "BASE_NPC_SPIDER", combat_armor = 5, combat_def = 10, resolvers.talents{ - [Talents.T_SPIDER_WEB]=3, - [Talents.T_SPIT_POISON]=3, - [Talents.T_LAY_WEB]=3, + [Talents.T_SPIDER_WEB]={base=3, every=10, max=6}, + [Talents.T_SPIT_POISON]={base=3, every=10, max=6}, + [Talents.T_LAY_WEB]={base=3, every=10, max=6}, }, } @@ -93,8 +93,8 @@ newEntity{ base = "BASE_NPC_SPIDER", combat_armor = 10, combat_def = 14, resolvers.talents{ - [Talents.T_SPIDER_WEB]=3, - [Talents.T_LAY_WEB]=3, + [Talents.T_SPIDER_WEB]={base=3, every=10, max=6}, + [Talents.T_LAY_WEB]={base=3, every=10, max=6}, }, } @@ -114,12 +114,12 @@ newEntity{ base = "BASE_NPC_SPIDER", resolvers.tmasteries{ ["cunning/stealth"]=0.3}, resolvers.talents{ - [Talents.T_RUSH]=5, - [Talents.T_SPIDER_WEB]=5, - [Talents.T_LAY_WEB]=5, - [Talents.T_STEALTH]=5, - [Talents.T_SHADOWSTRIKE]=4, - [Talents.T_STUN]=2, + [Talents.T_RUSH]={base=4, every=6, max=7}, + [Talents.T_SPIDER_WEB]={base=4, every=6, max=7}, + [Talents.T_LAY_WEB]={base=4, every=6, max=7}, + [Talents.T_STEALTH]={base=4, every=6, max=7}, + [Talents.T_SHADOWSTRIKE]={base=4, every=6, max=7}, + [Talents.T_STUN]={base=2, every=6, max=5}, }, } @@ -138,13 +138,13 @@ newEntity{ base = "BASE_NPC_SPIDER", resolvers.tmasteries{ ["wild-gift/slime"]=0.3, ["spell/water"]=0.3 }, resolvers.talents{ - [Talents.T_RUSH]=5, - [Talents.T_SPIDER_WEB]=5, - [Talents.T_LAY_WEB]=5, - [Talents.T_ACIDIC_SKIN]=5, - [Talents.T_CORROSIVE_VAPOUR]=5, - [Talents.T_CRAWL_ACID]=3, - [Talents.T_STUN]=2, + [Talents.T_RUSH]={base=5, every=6, max=8}, + [Talents.T_SPIDER_WEB]={base=5, every=6, max=8}, + [Talents.T_LAY_WEB]={base=5, every=6, max=8}, + [Talents.T_ACIDIC_SKIN]={base=5, every=6, max=8}, + [Talents.T_CORROSIVE_VAPOUR]={base=5, every=6, max=8}, + [Talents.T_CRAWL_ACID]={base=3, every=6, max=6}, + [Talents.T_STUN]={base=2, every=6, max=7}, }, } @@ -167,14 +167,14 @@ newEntity{ base = "BASE_NPC_SPIDER", resolvers.tmasteries{ ["spell/phantasm"]=0.3, ["spell/water"]=0.3, ["spell/arcane"]=0.3 }, resolvers.talents{ - [Talents.T_SPIDER_WEB]=5, - [Talents.T_LAY_WEB]=5, - [Talents.T_PHANTASMAL_SHIELD]=5, - [Talents.T_PHASE_DOOR]=5, - [Talents.T_MANATHRUST]=5, - [Talents.T_MANAFLOW]=5, - [Talents.T_DISRUPTION_SHIELD]=3, - [Talents.T_ARCANE_POWER]=3, + [Talents.T_SPIDER_WEB]={base=5, every=6, max=8}, + [Talents.T_LAY_WEB]={base=5, every=6, max=8}, + [Talents.T_PHANTASMAL_SHIELD]={base=5, every=6, max=8}, + [Talents.T_PHASE_DOOR]={base=5, every=6, max=8}, + [Talents.T_MANATHRUST]={base=5, every=6, max=8}, + [Talents.T_MANAFLOW]={base=5, every=6, max=8}, + [Talents.T_DISRUPTION_SHIELD]={base=3, every=6, max=6}, + [Talents.T_ARCANE_POWER]={base=3, every=6, max=6}, }, } @@ -197,13 +197,13 @@ newEntity{ base = "BASE_NPC_SPIDER", resolvers.tmasteries{ ["spell/nature"]=0.9 }, resolvers.talents{ - [Talents.T_SPIDER_WEB]=5, - [Talents.T_LAY_WEB]=5, - [Talents.T_REGENERATION]=5, - [Talents.T_BITE_POISON]=5, - [Talents.T_DARKNESS]=5, -- new spell, will create a zone of darkness that not even a lantern can penetrate (only the phial of Galadrial can), also turns lit squares dark in its radius. + [Talents.T_SPIDER_WEB]={base=5, every=6, max=8}, + [Talents.T_LAY_WEB]={base=5, every=6, max=8}, + [Talents.T_REGENERATION]={base=5, every=6, max=8}, + [Talents.T_BITE_POISON]={base=5, every=6, max=8}, + [Talents.T_DARKNESS]={base=5, every=6, max=8}, [Talents.T_RUSH]=5, - [Talents.T_STUN]=3, + [Talents.T_STUN]={base=3, every=6, max=6}, }, } @@ -225,14 +225,14 @@ newEntity{ base = "BASE_NPC_SPIDER", resolvers.tmasteries{ ["spell/enhancement"]=0.7, ["wild-gift/cold-drake"]=0.7, ["spell/water"]=0.7 }, resolvers.talents{ - [Talents.T_RUSH]=5, - [Talents.T_SPIDER_WEB]=5, - [Talents.T_LAY_WEB]=5, - [Talents.T_FREEZE]=5, - [Talents.T_ICY_SKIN]=5, - [Talents.T_TIDAL_WAVE]=3, - [Talents.T_ICE_STORM]=2, - [Talents.T_FROST_HANDS]=5, + [Talents.T_RUSH]={base=5, every=6, max=8}, + [Talents.T_SPIDER_WEB]={base=5, every=6, max=8}, + [Talents.T_LAY_WEB]={base=5, every=6, max=8}, + [Talents.T_FREEZE]={base=5, every=6, max=8}, + [Talents.T_ICY_SKIN]={base=5, every=6, max=8}, + [Talents.T_TIDAL_WAVE]={base=3, every=6, max=6}, + [Talents.T_ICE_STORM]={base=2, every=6, max=6}, + [Talents.T_FROST_HANDS]={base=5, every=6, max=8}, }, } diff --git a/game/modules/tome/data/general/npcs/swarm.lua b/game/modules/tome/data/general/npcs/swarm.lua index 83464917e8bbc451dc59d550818dc00afb42d115..67956dda37c9ea8546ddba8cce48d30adc016d60 100644 --- a/game/modules/tome/data/general/npcs/swarm.lua +++ b/game/modules/tome/data/general/npcs/swarm.lua @@ -78,5 +78,5 @@ newEntity{ base = "BASE_NPC_INSECT", combat = { dam=10, atk=15, apr=20 }, can_multiply = 4, - resolvers.talents{ [Talents.T_BITE_POISON]=3 }, + resolvers.talents{ [Talents.T_BITE_POISON]={base=3, every=10, max=8} }, } diff --git a/game/modules/tome/data/general/npcs/telugoroth.lua b/game/modules/tome/data/general/npcs/telugoroth.lua index 360db81851577c578b1783e9d57b6241f448d5cd..f38276dbcad0ce018d5f595d135897ffc6b08d77 100644 --- a/game/modules/tome/data/general/npcs/telugoroth.lua +++ b/game/modules/tome/data/general/npcs/telugoroth.lua @@ -25,7 +25,7 @@ newEntity{ blood_color = colors.PURPLE, display = "E", color=colors.YELLOW, - combat = { dam=resolvers.mbonus(40, 15), atk=15, apr=15, dammod={mag=0.8}, damtype=DamageType.TEMPORAL }, + combat = { dam=resolvers.levelup(resolvers.mbonus(40, 15), 1, 1.2), atk=15, apr=15, dammod={mag=0.8}, damtype=DamageType.TEMPORAL }, body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, @@ -56,7 +56,7 @@ newEntity{ base = "BASE_NPC_TELUGOROTH", on_melee_hit = { [DamageType.TEMPORAL] = resolvers.mbonus(20, 10), }, resolvers.talents{ - [Talents.T_TURN_BACK_THE_CLOCK]=3, + [Talents.T_TURN_BACK_THE_CLOCK]={base=3, every=10, max=7}, }, } @@ -70,8 +70,8 @@ newEntity{ base = "BASE_NPC_TELUGOROTH", on_melee_hit = { [DamageType.TEMPORAL] = resolvers.mbonus(20, 10), }, resolvers.talents{ - [Talents.T_TURN_BACK_THE_CLOCK]=4, - [Talents.T_ECHOES_FROM_THE_PAST]=3, + [Talents.T_TURN_BACK_THE_CLOCK]={base=4, every=10, max=8}, + [Talents.T_ECHOES_FROM_THE_PAST]={base=3, every=10, max=7}, }, resolvers.sustains_at_birth(), } @@ -89,10 +89,10 @@ newEntity{ base = "BASE_NPC_TELUGOROTH", ai = "tactical", resolvers.talents{ - [Talents.T_TURN_BACK_THE_CLOCK]=5, - [Talents.T_ECHOES_FROM_THE_PAST]=4, - [Talents.T_RETHREAD]=3, - [Talents.T_STOP]=4, + [Talents.T_TURN_BACK_THE_CLOCK]={base=5, every=7}, + [Talents.T_ECHOES_FROM_THE_PAST]={base=4, every=7}, + [Talents.T_RETHREAD]={base=3, every=7}, + [Talents.T_STOP]={base=4, every=7}, }, resolvers.sustains_at_birth(), } @@ -114,7 +114,7 @@ newEntity{ base = "BASE_NPC_TELUGOROTH", resolvers.talents{ [Talents.T_ANOMALY_REARRANGE]=1, - [Talents.T_TEMPORAL_WAKE]=3, + [Talents.T_TEMPORAL_WAKE]={base=3, every=10, max=7}, }, resolvers.sustains_at_birth(), } @@ -135,9 +135,9 @@ newEntity{ base = "BASE_NPC_TELUGOROTH", pin_immune = 1, resolvers.talents{ - [Talents.T_DIMENSIONAL_STEP]=5, + [Talents.T_DIMENSIONAL_STEP]={base=5, every=10, max=9}, [Talents.T_ANOMALY_REARRANGE]=1, - [Talents.T_TEMPORAL_WAKE]=4, + [Talents.T_TEMPORAL_WAKE]={base=4, every=10, max=8}, }, resolvers.sustains_at_birth(), } @@ -161,10 +161,10 @@ newEntity{ base = "BASE_NPC_TELUGOROTH", resolvers.talents{ [Talents.T_ANOMALY_TEMPORAL_STORM]=1, - [Talents.T_QUANTUM_SPIKE]=5, - [Talents.T_DIMENSIONAL_STEP]=5, + [Talents.T_QUANTUM_SPIKE]={base=5, every=7}, + [Talents.T_DIMENSIONAL_STEP]={base=5, every=7}, [Talents.T_ANOMALY_REARRANGE]=1, - [Talents.T_TEMPORAL_WAKE]=4, + [Talents.T_TEMPORAL_WAKE]={base=4, every=7}, }, resolvers.sustains_at_birth(), } diff --git a/game/modules/tome/data/general/npcs/thieve.lua b/game/modules/tome/data/general/npcs/thieve.lua index da806ba4b89e30a04b64bc1ba96481fcd6d21ca8..a4c94b190911cf982254abb0ef6d33179471ffa5 100644 --- a/game/modules/tome/data/general/npcs/thieve.lua +++ b/game/modules/tome/data/general/npcs/thieve.lua @@ -53,7 +53,7 @@ newEntity{ stats = { str=8, dex=15, mag=6, cun=15, con=7 }, resolvers.tmasteries{ ["technique/other"]=0.3, ["cunning/stealth"]=1, ["cunning/dirty"]=0.3, ["technique/dualweapon-training"]=0.3 }, - resolvers.talents{ [Talents.T_LETHALITY]=1, }, + resolvers.talents{ [Talents.T_LETHALITY]={base=1, every=6, max=5}, }, } newEntity{ base = "BASE_NPC_THIEF", @@ -72,7 +72,7 @@ newEntity{ base = "BASE_NPC_THIEF", level_range = {2, nil}, exp_worth = 1, rarity = 1, combat_armor = 2, combat_def = 5, - resolvers.talents{ [Talents.T_STEALTH]=1, }, + resolvers.talents{ [Talents.T_STEALTH]={base=1, every=6, max=5}, }, max_life = resolvers.rngavg(70,90), } @@ -82,7 +82,7 @@ newEntity{ base = "BASE_NPC_THIEF", level_range = {3, nil}, exp_worth = 1, rarity = 1, combat_armor = 3, combat_def = 5, - resolvers.talents{ [Talents.T_STEALTH]=2, [Talents.T_DISARM]=2, }, + resolvers.talents{ [Talents.T_STEALTH]={base=2, every=6, max=6}, [Talents.T_DISARM]={base=2, every=6, max=6}, }, max_life = resolvers.rngavg(70,90), } @@ -92,7 +92,7 @@ newEntity{ base = "BASE_NPC_THIEF", define_as = "THIEF_BANDIT", level_range = {5, nil}, exp_worth = 1, rarity = 2, combat_armor = 4, combat_def = 6, - resolvers.talents{ [Talents.T_STEALTH]=3, [Talents.T_LETHALITY]=2, }, + resolvers.talents{ [Talents.T_STEALTH]={base=3, every=6, max=7}, [Talents.T_LETHALITY]={base=2, every=6, max=6}, }, max_life = resolvers.rngavg(80,100), } @@ -115,7 +115,7 @@ newEntity{ base = "BASE_NPC_THIEF", {type="humanoid", subtype="human", name="thief", number=1, hasxp=false}, {type="humanoid", subtype="human", name="rogue", number=2, hasxp=false}, }, - resolvers.talents{ [Talents.T_STEALTH]=3, [Talents.T_SUMMON]=1, [Talents.T_LETHALITY]=3, }, + resolvers.talents{ [Talents.T_STEALTH]={base=3, every=6, max=7}, [Talents.T_SUMMON]=1, [Talents.T_LETHALITY]={base=3, every=6, max=6}, }, } newEntity{ base = "BASE_NPC_THIEF", define_as = "THIEF_ASSASSIN", @@ -124,7 +124,17 @@ newEntity{ base = "BASE_NPC_THIEF", define_as = "THIEF_ASSASSIN", level_range = {12, nil}, exp_worth = 1, rarity = 3, combat_armor = 3, combat_def = 10, - resolvers.talents{ [Talents.T_STEALTH]=3, [Talents.T_PRECISION]=3, [Talents.T_DUAL_WEAPON_TRAINING]=2, [Talents.T_DUAL_WEAPON_DEFENSE]=2, [Talents.T_DUAL_STRIKE]=1, [Talents.T_SWEEP]=1, [Talents.T_SHADOWSTRIKE]=2, [Talents.T_LETHALITY]=5, [Talents.T_DISARM]=3, }, + resolvers.talents{ + [Talents.T_STEALTH]={base=3, every=6, max=7}, + [Talents.T_PRECISION]={base=3, every=6, max=7}, + [Talents.T_DUAL_WEAPON_TRAINING]={base=2, every=6, max=6}, + [Talents.T_DUAL_WEAPON_DEFENSE]={base=2, every=6, max=6}, + [Talents.T_DUAL_STRIKE]={base=1, every=6, max=6}, + [Talents.T_SWEEP]={base=1, every=6, max=6}, + [Talents.T_SHADOWSTRIKE]={base=2, every=6, max=6}, + [Talents.T_LETHALITY]={base=5, every=6, max=8}, + [Talents.T_DISARM]={base=3, every=6, max=6}, + }, max_life = resolvers.rngavg(70,90), resolvers.sustains_at_birth(), diff --git a/game/modules/tome/data/general/npcs/troll.lua b/game/modules/tome/data/general/npcs/troll.lua index 4c7b022595620c5af66f85d88199b1946f74d572..92af49e4d94d948c1b413ef10a31e4230f1b767a 100644 --- a/game/modules/tome/data/general/npcs/troll.lua +++ b/game/modules/tome/data/general/npcs/troll.lua @@ -24,7 +24,7 @@ newEntity{ type = "giant", subtype = "troll", display = "T", color=colors.UMBER, - combat = { dam=resolvers.mbonus(45, 10), atk=2, apr=6, physspeed=2, dammod={str=0.8} }, + combat = { dam=resolvers.levelup(resolvers.mbonus(45, 10), 1, 1), atk=2, apr=6, physspeed=2, dammod={str=0.8} }, body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, resolvers.drops{chance=20, nb=1, {} }, @@ -67,7 +67,7 @@ newEntity{ base = "BASE_NPC_TROLL", rarity = 1, max_life = resolvers.rngavg(120,140), combat_armor = 7, combat_def = 0, - resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=1, [Talents.T_KNOCKBACK]=1, }, + resolvers.talents{ [Talents.T_STUN]={base=1, every=7, max=5}, [Talents.T_KNOCKBACK]={base=1, every=7, max=5}, }, } newEntity{ base = "BASE_NPC_TROLL", @@ -77,7 +77,7 @@ newEntity{ base = "BASE_NPC_TROLL", rarity = 2, max_life = resolvers.rngavg(120,140), combat_armor = 9, combat_def = 3, - resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=1, [Talents.T_KNOCKBACK]=1, [Talents.T_KNOCKBACK]=2, }, + resolvers.talents{ [Talents.T_STUN]={base=1, every=7, max=5}, [Talents.T_KNOCKBACK]={base=1, every=7, max=5}, [Talents.T_KNOCKBACK]={base=2, every=7, max=5}, }, } newEntity{ base = "BASE_NPC_TROLL", @@ -87,7 +87,7 @@ newEntity{ base = "BASE_NPC_TROLL", rarity = 3, max_life = resolvers.rngavg(120,140), combat_armor = 12, combat_def = 4, - resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=3, [Talents.T_KNOCKBACK]=3, [Talents.T_RUSH]=3, [Talents.T_DISARM]=3, }, + resolvers.talents{ [Talents.T_STUN]={base=3, every=7, max=8}, [Talents.T_KNOCKBACK]={base=3, every=7, max=8}, [Talents.T_RUSH]={base=3, every=7, max=8}, [Talents.T_DISARM]={base=3, every=7, max=8}, }, } newEntity{ base = "BASE_NPC_TROLL", @@ -103,8 +103,9 @@ newEntity{ base = "BASE_NPC_TROLL", ai = "tactical", resolvers.inscriptions(1, "rune"), resolvers.talents{ - [Talents.T_STUN]=4, [Talents.T_KNOCKBACK]=3, - [Talents.T_LIGHTNING]=4, - [Talents.T_THUNDERSTORM]=3, + [Talents.T_STUN]={base=4, every=6, max=8}, + [Talents.T_KNOCKBACK]={base=3, every=7, max=8}, + [Talents.T_LIGHTNING]={base=4, every=7, max=8}, + [Talents.T_THUNDERSTORM]={base=3, every=7, max=8}, }, } diff --git a/game/modules/tome/data/general/npcs/vampire.lua b/game/modules/tome/data/general/npcs/vampire.lua index 5d8c6bfafeac4d4ac9867d17edc66a3a8f000374..02afa9e6aa99877124b4f298bd66600f2a82bae6 100644 --- a/game/modules/tome/data/general/npcs/vampire.lua +++ b/game/modules/tome/data/general/npcs/vampire.lua @@ -42,7 +42,7 @@ newEntity{ display = "V", color=colors.WHITE, desc = [[These ancient cursed beings often take the form of a bat and attack their prey.]], - combat = { dam=resolvers.mbonus(30, 10), atk=10, apr=9, damtype=DamageType.DRAINLIFE, dammod={str=1.9} }, + combat = { dam=resolvers.levelup(resolvers.mbonus(30, 10), 1, 0.8), atk=10, apr=9, damtype=DamageType.DRAINLIFE, dammod={str=1.9} }, body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, drops = resolvers.drops{chance=20, nb=1, {} }, @@ -80,7 +80,7 @@ newEntity{ base = "BASE_NPC_VAMPIRE", max_life = resolvers.rngavg(40,50), combat_armor = 7, combat_def = 6, - resolvers.talents{ [Talents.T_STUN]=1 }, + resolvers.talents{ [Talents.T_STUN]={base=1, every=7, max=5} }, } newEntity{ base = "BASE_NPC_VAMPIRE", @@ -91,7 +91,7 @@ newEntity{ base = "BASE_NPC_VAMPIRE", max_life = resolvers.rngavg(70,80), combat_armor = 9, combat_def = 6, - resolvers.talents{ [Talents.T_STUN]=1, [Talents.T_BLUR_SIGHT]=1, [Talents.T_ROTTING_DISEASE]=1, }, + resolvers.talents{ [Talents.T_STUN]={base=1, every=7, max=5}, [Talents.T_BLUR_SIGHT]={base=1, every=7, max=5}, [Talents.T_ROTTING_DISEASE]={base=1, every=7, max=5}, }, } newEntity{ base = "BASE_NPC_VAMPIRE", @@ -102,7 +102,7 @@ newEntity{ base = "BASE_NPC_VAMPIRE", max_life = resolvers.rngavg(80,90), combat_armor = 10, combat_def = 8, ai = "dumb_talented_simple", ai_state = { talent_in=6, }, - resolvers.talents{ [Talents.T_STUN]=1, [Talents.T_BLUR_SIGHT]=2, [Talents.T_PHANTASMAL_SHIELD]=1, [Talents.T_ROTTING_DISEASE]=2, }, + resolvers.talents{ [Talents.T_STUN]={base=1, every=7, max=5}, [Talents.T_BLUR_SIGHT]={base=2, every=7, max=5}, [Talents.T_PHANTASMAL_SHIELD]={base=1, every=7, max=5}, [Talents.T_ROTTING_DISEASE]={base=2, every=7, max=5}, }, } newEntity{ base = "BASE_NPC_VAMPIRE", @@ -117,7 +117,7 @@ It can summon the very shades of its victims from beyond the grave to come ensla ai = "tactical", ai_state = { talent_in=4, }, resolvers.inscriptions(1, "rune"), summon = {{type="undead", number=1, hasxp=false}, }, - resolvers.talents{ [Talents.T_STUN]=2, [Talents.T_SUMMON]=1, [Talents.T_BLUR_SIGHT]=3, [Talents.T_PHANTASMAL_SHIELD]=2, [Talents.T_ROTTING_DISEASE]=3, }, + resolvers.talents{ [Talents.T_STUN]={base=2, every=7, max=6}, [Talents.T_SUMMON]=1, [Talents.T_BLUR_SIGHT]={base=3, every=7, max=7}, [Talents.T_PHANTASMAL_SHIELD]={base=2, every=7, max=6}, [Talents.T_ROTTING_DISEASE]={base=3, every=7, max=7}, }, } newEntity{ base = "BASE_NPC_VAMPIRE", @@ -131,7 +131,7 @@ newEntity{ base = "BASE_NPC_VAMPIRE", ai = "tactical", ai_state = { talent_in=3, }, resolvers.inscriptions(1, "rune"), summon = {{type="undead", number=1, hasxp=false}, }, - resolvers.talents{ [Talents.T_STUN]=4, [Talents.T_SUMMON]=1, [Talents.T_BLUR_SIGHT]=4, [Talents.T_PHANTASMAL_SHIELD]=5, [Talents.T_ROTTING_DISEASE]=5, }, + resolvers.talents{ [Talents.T_STUN]={base=4, every=7, max=8}, [Talents.T_SUMMON]=1, [Talents.T_BLUR_SIGHT]={base=4, every=7, max=8}, [Talents.T_PHANTASMAL_SHIELD]={base=5, every=7, max=8}, [Talents.T_ROTTING_DISEASE]={base=5, every=7, max=8}, }, make_escort = { {type="undead", number=resolvers.mbonus(2, 2)}, }, diff --git a/game/modules/tome/data/general/npcs/wight.lua b/game/modules/tome/data/general/npcs/wight.lua index cb265a1d444f17f4720ddeb6189be49c0c602aad..6b8f904963b8a5c02a16842652fbdaa8f499e387 100644 --- a/game/modules/tome/data/general/npcs/wight.lua +++ b/game/modules/tome/data/general/npcs/wight.lua @@ -69,8 +69,8 @@ newEntity{ base = "BASE_NPC_WIGHT", combat_armor = 7, combat_def = 6, resolvers.talents{ - [Talents.T_FLAMESHOCK]=1, [Talents.T_LIGHTNING]=1, [Talents.T_CORROSIVE_VAPOUR]=1, - [Talents.T_MIND_DISRUPTION]=1, + [Talents.T_FLAMESHOCK]={base=1, every=5, max=5}, [Talents.T_LIGHTNING]={base=1, every=5, max=5}, [Talents.T_CORROSIVE_VAPOUR]={base=1, every=5, max=5}, + [Talents.T_MIND_DISRUPTION]={base=1, every=5, max=5}, }, } @@ -82,8 +82,8 @@ newEntity{ base = "BASE_NPC_WIGHT", max_life = resolvers.rngavg(70,80), combat_armor = 9, combat_def = 6, - resolvers.talents{ [Talents.T_MANA_POOL]=1, [Talents.T_FLAMESHOCK]=2, [Talents.T_LIGHTNING]=2, [Talents.T_CORROSIVE_VAPOUR]=2, - [Talents.T_MIND_DISRUPTION]=2, + resolvers.talents{ [Talents.T_FLAMESHOCK]={base=2, every=5, max=6}, [Talents.T_LIGHTNING]={base=2, every=5, max=6}, [Talents.T_CORROSIVE_VAPOUR]={base=2, every=5, max=6}, + [Talents.T_MIND_DISRUPTION]={base=2, every=5, max=6}, }, } @@ -95,8 +95,8 @@ newEntity{ base = "BASE_NPC_WIGHT", max_life = resolvers.rngavg(80,90), combat_armor = 10, combat_def = 8, - resolvers.talents{ [Talents.T_MANA_POOL]=1, [Talents.T_FLAMESHOCK]=3, [Talents.T_LIGHTNING]=3, [Talents.T_CORROSIVE_VAPOUR]=3, - [Talents.T_MIND_DISRUPTION]=3, + resolvers.talents{ [Talents.T_FLAMESHOCK]={base=3, every=5, max=7}, [Talents.T_LIGHTNING]={base=3, every=5, max=7}, [Talents.T_CORROSIVE_VAPOUR]={base=3, every=5, max=7}, + [Talents.T_MIND_DISRUPTION]={base=3, every=5, max=7}, }, } @@ -115,7 +115,7 @@ newEntity{ base = "BASE_NPC_WIGHT", make_escort = { {type="undead", subtype="wight", number=resolvers.mbonus(2, 2)}, }, - resolvers.talents{ [Talents.T_MANA_POOL]=3, [Talents.T_FLAMESHOCK]=3, [Talents.T_LIGHTNING]=4, [Talents.T_CORROSIVE_VAPOUR]=3, [Talents.T_THUNDERSTORM]=2, - [Talents.T_MIND_DISRUPTION]=4, + resolvers.talents{ [Talents.T_FLAMESHOCK]={base=3, every=5, max=7}, [Talents.T_LIGHTNING]={base=4, every=5, max=8}, [Talents.T_CORROSIVE_VAPOUR]={base=3, every=5, max=7}, [Talents.T_THUNDERSTORM]={base=2, every=5, max=7}, + [Talents.T_MIND_DISRUPTION]={base=4, every=5, max=8}, }, } diff --git a/game/modules/tome/data/general/npcs/xorn.lua b/game/modules/tome/data/general/npcs/xorn.lua index a8c49247691f0597a4ec1074bab975b32ca41586..54f620675773f5d6104b20e160d20466a910dd7a 100644 --- a/game/modules/tome/data/general/npcs/xorn.lua +++ b/game/modules/tome/data/general/npcs/xorn.lua @@ -25,7 +25,7 @@ newEntity{ display = "X", color=colors.UMBER, blood_color = colors.UMBER, - combat = { dam=resolvers.mbonus(46, 15), atk=15, apr=15, dammod={str=0.8} }, + combat = { dam=resolvers.levelup(resolvers.mbonus(46, 15), 1, 0.8), atk=15, apr=15, dammod={str=0.8} }, body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, resolvers.drops{chance=100, nb=1, {type="money"} }, @@ -61,7 +61,7 @@ newEntity{ base = "BASE_NPC_XORN", max_life = resolvers.rngavg(100,120), combat_armor = 12, combat_def = 0, move_project = {[DamageType.DIG]=1}, - resolvers.talents{ [Talents.T_MIND_DISRUPTION]=2, }, + resolvers.talents{ [Talents.T_MIND_DISRUPTION]={base=2, every=5, max=6}, }, } newEntity{ base = "BASE_NPC_XORN", @@ -72,7 +72,7 @@ newEntity{ base = "BASE_NPC_XORN", max_life = resolvers.rngavg(130,140), combat_armor = 15, combat_def = 10, combat = { damtype=DamageType.ACID }, - resolvers.talents{ [Talents.T_CONSTRICT]=4, }, + resolvers.talents{ [Talents.T_CONSTRICT]={base=4, every=7, max=8}, }, } newEntity{ base = "BASE_NPC_XORN", @@ -83,7 +83,7 @@ newEntity{ base = "BASE_NPC_XORN", max_life = resolvers.rngavg(130,140), combat_armor = 15, combat_def = 10, combat = { damtype=DamageType.ACID }, - resolvers.talents{ [Talents.T_CONSTRICT]=4, [Talents.T_RUSH]=2, }, + resolvers.talents{ [Talents.T_CONSTRICT]={base=4, every=7, max=8}, [Talents.T_RUSH]=2, }, } newEntity{ base = "BASE_NPC_XORN", @@ -176,14 +176,14 @@ newEntity{ base = "BASE_NPC_XORN", define_as = "FULL_HARKOR_ZUN", ai_tactic = resolvers.tactic"melee", resolvers.talents{ - [Talents.T_CONSTRICT]=4, + [Talents.T_CONSTRICT]={base=4, every=7, max=8}, [Talents.T_RUSH]=4, - [Talents.T_STONE_SKIN]=4, - [Talents.T_STRIKE]=4, - [Talents.T_EARTHQUAKE]=5, - [Talents.T_EARTHEN_MISSILES]=5, - [Talents.T_CRYSTALLINE_FOCUS]=5, - [Talents.T_STONE_SKIN]=5, + [Talents.T_STONE_SKIN]={base=4, every=7, max=8}, + [Talents.T_STRIKE]={base=4, every=7, max=8}, + [Talents.T_EARTHQUAKE]={base=5, every=7, max=9}, + [Talents.T_EARTHEN_MISSILES]={base=4, every=7, max=8}, + [Talents.T_CRYSTALLINE_FOCUS]={base=4, every=7, max=8}, + [Talents.T_STONE_SKIN]={base=4, every=7, max=8}, }, resolvers.sustains_at_birth(), diff --git a/game/modules/tome/data/general/npcs/yaech.lua b/game/modules/tome/data/general/npcs/yaech.lua index e926b2c3952fa035f6a5fce982d85c2f168d780d..65b21322eccd80bde545fb68c35826ce3ab719c6 100644 --- a/game/modules/tome/data/general/npcs/yaech.lua +++ b/game/modules/tome/data/general/npcs/yaech.lua @@ -69,8 +69,8 @@ newEntity{ base = "BASE_NPC_YAECH", {type="weapon", subtype="trident", autoreq=true, special_rarity="trident_rarity"}, }, resolvers.talents{ - [Talents.T_MINDHOOK]=1, - [Talents.T_PERFECT_CONTROL]=2, + [Talents.T_MINDHOOK]={base=1, every=7, max=5}, + [Talents.T_PERFECT_CONTROL]={base=2, every=7, max=5}, }, } @@ -84,10 +84,10 @@ newEntity{ base = "BASE_NPC_YAECH", {type="weapon", subtype="trident", autoreq=true, special_rarity="trident_rarity"}, }, resolvers.talents{ - [Talents.T_KINETIC_AURA]=1, - [Talents.T_CHARGED_AURA]=1, - [Talents.T_KINETIC_SHIELD]=2, - [Talents.T_EXOTIC_WEAPONS_MASTERY]=1, + [Talents.T_KINETIC_AURA]={base=1, every=7, max=5}, + [Talents.T_CHARGED_AURA]={base=1, every=7, max=5}, + [Talents.T_KINETIC_SHIELD]={base=2, every=7, max=5}, + [Talents.T_EXOTIC_WEAPONS_MASTERY]={base=1, every=7, max=10}, }, } @@ -101,8 +101,8 @@ newEntity{ base = "BASE_NPC_YAECH", {type="weapon", subtype="trident", autoreq=true, special_rarity="trident_rarity"}, }, resolvers.talents{ - [Talents.T_REACH]=3, - [Talents.T_PYROKINESIS]=2, - [Talents.T_MINDLASH]=1, + [Talents.T_REACH]={base=3, every=7, max=5}, + [Talents.T_PYROKINESIS]={base=2, every=7, max=5}, + [Talents.T_MINDLASH]={base=1, every=7, max=5}, }, } diff --git a/game/modules/tome/data/general/npcs/ziguranth.lua b/game/modules/tome/data/general/npcs/ziguranth.lua index 150ca0801d3be4660f5823604d42941e84864872..d2f072ccd2c3a74e0cd98b367ac7beda2b5f0c81 100644 --- a/game/modules/tome/data/general/npcs/ziguranth.lua +++ b/game/modules/tome/data/general/npcs/ziguranth.lua @@ -65,12 +65,12 @@ newEntity{ base = "BASE_NPC_ZIGURANTH", }, combat_armor = 10, combat_def = 6, resolvers.talents{ - [Talents.T_RESOLVE]=4, - [Talents.T_AURA_OF_SILENCE]=4, - [Talents.T_WEAPON_COMBAT]=4, - [Talents.T_WEAPONS_MASTERY]=4, - [Talents.T_SHIELD_PUMMEL]=4, - [Talents.T_RUSH]=4, + [Talents.T_RESOLVE]={base=4, every=5, max=8}, + [Talents.T_AURA_OF_SILENCE]={base=4, every=5, max=8}, + [Talents.T_WEAPON_COMBAT]={base=4, every=5, max=8}, + [Talents.T_WEAPONS_MASTERY]={base=4, every=5, max=8}, + [Talents.T_SHIELD_PUMMEL]={base=4, every=5, max=8}, + [Talents.T_RUSH]={base=4, every=5, max=8}, }, } @@ -93,15 +93,15 @@ newEntity{ base = "BASE_NPC_ZIGURANTH", ai = "dumb_talented_simple", ai_state = { ai_move="move_dmap", talent_in=1, }, resolvers.talents{ - [Talents.T_RESOLVE]=4, - [Talents.T_MANA_CLASH]=3, - [Talents.T_RESILIENCE]=4, - [Talents.T_RITCH_FLAMESPITTER]=4, - [Talents.T_HYDRA]=4, - [Talents.T_WAR_HOUND]=4, - [Talents.T_MINOTAUR]=4, - [Talents.T_FIRE_DRAKE]=4, - [Talents.T_SPIDER]=4, + [Talents.T_RESOLVE]={base=4, every=5, max=8}, + [Talents.T_MANA_CLASH]={base=3, every=5, max=7}, + [Talents.T_RESILIENCE]={base=4, every=5, max=8}, + [Talents.T_RITCH_FLAMESPITTER]={base=4, every=5, max=8}, + [Talents.T_HYDRA]={base=4, every=5, max=8}, + [Talents.T_WAR_HOUND]={base=4, every=5, max=8}, + [Talents.T_MINOTAUR]={base=4, every=5, max=8}, + [Talents.T_FIRE_DRAKE]={base=4, every=5, max=8}, + [Talents.T_SPIDER]={base=4, every=5, max=8}, }, } @@ -124,13 +124,13 @@ newEntity{ base = "BASE_NPC_ZIGURANTH", ai = "tactical", resolvers.talents{ - [Talents.T_RESOLVE]=4, - [Talents.T_ANTIMAGIC_SHIELD]=3, - [Talents.T_FIRE_BREATH]=4, - [Talents.T_ICE_BREATH]=4, - [Talents.T_LIGHTNING_BREATH]=4, - [Talents.T_ICY_SKIN]=4, - [Talents.T_LIGHTNING_SPEED]=4, - [Talents.T_TORNADO]=4, + [Talents.T_RESOLVE]={base=4, every=5, max=8}, + [Talents.T_ANTIMAGIC_SHIELD]={base=3, every=5, max=8}, + [Talents.T_FIRE_BREATH]={base=4, every=5, max=8}, + [Talents.T_ICE_BREATH]={base=4, every=5, max=8}, + [Talents.T_LIGHTNING_BREATH]={base=4, every=5, max=8}, + [Talents.T_ICY_SKIN]={base=4, every=5, max=8}, + [Talents.T_LIGHTNING_SPEED]={base=4, every=5, max=8}, + [Talents.T_TORNADO]={base=4, every=5, max=8}, }, } diff --git a/game/modules/tome/resolvers.lua b/game/modules/tome/resolvers.lua index 7aa1284ccb890f04d5899082c44789cb53402bdc..49d83b6f51cc9760beb5b8265a04bf2f435c0fe1 100644 --- a/game/modules/tome/resolvers.lua +++ b/game/modules/tome/resolvers.lua @@ -223,7 +223,7 @@ function resolvers.calc.chatfeature(t, e) end --- Random bonus based on level (sets the mbonus max level, we use 60 instead of 50 to get some forced randomness at high level) -resolvers.mbonus_max_level = 60 +resolvers.mbonus_max_level = 90 --- Random bonus based on level and material quality resolvers.current_level = 1