diff --git a/config/heroes/dungeon.json b/config/heroes/dungeon.json index 3e3b93ab3..cb5a71814 100644 --- a/config/heroes/dungeon.json +++ b/config/heroes/dungeon.json @@ -9,10 +9,38 @@ { "skill" : "scouting", "level": "basic" }, { "skill" : "leadership", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 72 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "harpy", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 6, 2 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 5, 2 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "arlach": { @@ -24,10 +52,38 @@ { "skill" : "artillery", "level": "basic" }, { "skill" : "offence", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 146 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "ballista", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 10, 5 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 10, 5 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "dace": { @@ -39,10 +95,38 @@ { "skill" : "tactics", "level": "basic" }, { "skill" : "offence", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 78 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "minotaur", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 14, 5 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 12, 5 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "ajit": { @@ -54,10 +138,38 @@ { "skill" : "leadership", "level": "basic" }, { "skill" : "resistance", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 74 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "beholder", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 9, 3 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 7, 3 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "damacon": { @@ -68,10 +180,15 @@ [ { "skill" : "offence", "level": "advanced" } ], - "specialties": - [ - { "type":10, "val": 350, "subtype": 6, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "gold" : { + "subtype" : "resource.gold", + "type" : "GENERATE_RESOURCE", + "val" : 350 + } + } + } }, "gunnar": { @@ -83,10 +200,19 @@ { "skill" : "logistics", "level": "basic" }, { "skill" : "tactics", "level": "basic" } ], - "specialties": - [ - { "type":2, "val": 5, "subtype": 2, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "logistics" : { + "subtype" : "skill.logistics", + "type" : "SECONDARY_SKILL_PREMY", + "updater" : { + "parameters" : [ 100 ], + "type" : "GROWS_WITH_LEVEL" + }, + "valueType" : "PERCENT_TO_BASE" + } + } + } }, "synca": { @@ -98,10 +224,38 @@ { "skill" : "leadership", "level": "basic" }, { "skill" : "scholar", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 80 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "manticore", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 15, 6 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 13, 6 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "shakti": { @@ -113,10 +267,38 @@ { "skill" : "tactics", "level": "basic" }, { "skill" : "offence", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 70 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "troglodyte", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 4 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 3 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "alamar": { @@ -129,10 +311,15 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "scholar", "level": "basic" } ], - "specialties": - [ - { "type":3, "val": 3, "subtype": 38, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "resurrection" : { + "subtype" : "spell.resurrection", + "type" : "SPECIAL_SPELL_LEV", + "val" : 3 + } + } + } }, "jaegar": { @@ -145,10 +332,19 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "mysticism", "level": "basic" } ], - "specialties": - [ - { "type":2, "val": 5, "subtype": 8, "info": 1 } - ] + "specialty" : { + "bonuses" : { + "mysticism" : { + "subtype" : "skill.mysticism", + "type" : "SECONDARY_SKILL_PREMY", + "updater" : { + "parameters" : [ 100 ], + "type" : "GROWS_WITH_LEVEL" + }, + "valueType" : "PERCENT_TO_BASE" + } + } + } }, "malekith": { @@ -161,10 +357,19 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "sorcery", "level": "basic" } ], - "specialties": - [ - { "type":2, "val": 5, "subtype": 25, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "sorcery" : { + "subtype" : "skill.sorcery", + "type" : "SECONDARY_SKILL_PREMY", + "updater" : { + "parameters" : [ 100 ], + "type" : "GROWS_WITH_LEVEL" + }, + "valueType" : "PERCENT_TO_BASE" + } + } + } }, "jeddite": { @@ -176,10 +381,15 @@ [ { "skill" : "wisdom", "level": "advanced" } ], - "specialties": - [ - { "type":3, "val": 3, "subtype": 38, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "resurrection" : { + "subtype" : "spell.resurrection", + "type" : "SPECIAL_SPELL_LEV", + "val" : 3 + } + } + } }, "geon": { @@ -192,10 +402,19 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "eagleEye", "level": "basic" } ], - "specialties": - [ - { "type":2, "val": 5, "subtype": 11, "info": 1 } - ] + "specialty" : { + "bonuses" : { + "eagleEye" : { + "subtype" : "skill.eagleEye", + "type" : "SECONDARY_SKILL_PREMY", + "updater" : { + "parameters" : [ 100 ], + "type" : "GROWS_WITH_LEVEL" + }, + "valueType" : "PERCENT_TO_BASE" + } + } + } }, "deemer": { @@ -208,10 +427,15 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "scouting", "level": "advanced" } ], - "specialties": - [ - { "type":3, "val": 3, "subtype": 23, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "meteorShower" : { + "subtype" : "spell.meteorShower", + "type" : "SPECIAL_SPELL_LEV", + "val" : 3 + } + } + } }, "sephinroth": { @@ -224,10 +448,15 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "intelligence", "level": "basic" } ], - "specialties": - [ - { "type":10, "val": 1, "subtype": 4, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "crystal" : { + "subtype" : "resource.crystal", + "type" : "GENERATE_RESOURCE", + "val" : 1 + } + } + } }, "darkstorn": { @@ -240,9 +469,14 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "learning", "level": "basic" } ], - "specialties": - [ - { "type":8, "val": 0, "subtype": 46, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "stoneSkin" : { + "addInfo" : 0, + "subtype" : "spell.stoneSkin", + "type" : "SPECIAL_PECULIAR_ENCHANT" + } + } + } } } diff --git a/config/heroes/stronghold.json b/config/heroes/stronghold.json index a02ef9366..b93a47380 100644 --- a/config/heroes/stronghold.json +++ b/config/heroes/stronghold.json @@ -9,10 +9,38 @@ { "skill" : "offence", "level": "basic" }, { "skill" : "ballistics", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 94 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "cyclop", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 15, 6 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 12, 6 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "gurnisson": { @@ -24,10 +52,38 @@ { "skill" : "offence", "level": "basic" }, { "skill" : "artillery", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 146 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "ballista", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 10, 5 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 10, 5 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "jabarkas": { @@ -39,10 +95,38 @@ { "skill" : "offence", "level": "basic" }, { "skill" : "archery", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 88 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "orc", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 8, 3 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 4, 3 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "shiva": { @@ -54,10 +138,38 @@ { "skill" : "offence", "level": "basic" }, { "skill" : "scouting", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 92 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "roc", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 13, 5 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 11, 5 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "gretchin": { @@ -69,10 +181,38 @@ { "skill" : "offence", "level": "basic" }, { "skill" : "pathfinding", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 84 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "goblin", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 4 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 2 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "krellion": { @@ -84,10 +224,38 @@ { "skill" : "offence", "level": "basic" }, { "skill" : "resistance", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 90 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "ogre", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 13, 4 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 7, 4 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "cragHack": { @@ -98,10 +266,19 @@ [ { "skill" : "offence", "level": "advanced" } ], - "specialties": - [ - { "type":2, "val": 5, "subtype": 22, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "offence" : { + "subtype" : "skill.offence", + "type" : "SECONDARY_SKILL_PREMY", + "updater" : { + "parameters" : [ 100 ], + "type" : "GROWS_WITH_LEVEL" + }, + "valueType" : "PERCENT_TO_BASE" + } + } + } }, "tyraxor": { @@ -113,10 +290,38 @@ { "skill" : "offence", "level": "basic" }, { "skill" : "tactics", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 86 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "goblinWolfRider", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 7, 2 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 5, 2 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "gird": { @@ -129,10 +334,19 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "sorcery", "level": "basic" } ], - "specialties": - [ - { "type":2, "val": 5, "subtype": 25, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "sorcery" : { + "subtype" : "skill.sorcery", + "type" : "SECONDARY_SKILL_PREMY", + "updater" : { + "parameters" : [ 100 ], + "type" : "GROWS_WITH_LEVEL" + }, + "valueType" : "PERCENT_TO_BASE" + } + } + } }, "vey": { @@ -145,10 +359,38 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "leadership", "level": "basic" } ], - "specialties": - [ - { "type":1, "val": 0, "subtype": 0, "info": 90 } - ] + "specialty" : { + "base" : { + "limiters" : [ + { + "parameters" : [ "ogre", true ], + "type" : "CREATURE_TYPE_LIMITER" + } + ] + }, + "bonuses" : { + "attack" : { + "subtype" : "primSkill.attack", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 13, 4 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "defence" : { + "subtype" : "primSkill.defence", + "type" : "PRIMARY_SKILL", + "updater" : { + "parameters" : [ 7, 4 ], + "type" : "GROWS_WITH_LEVEL" + } + }, + "speed" : { + "type" : "STACKS_SPEED", + "val" : 1 + } + } + } }, "dessa": { @@ -161,10 +403,19 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "logistics", "level": "basic" } ], - "specialties": - [ - { "type":2, "val": 5, "subtype": 2, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "logistics" : { + "subtype" : "skill.logistics", + "type" : "SECONDARY_SKILL_PREMY", + "updater" : { + "parameters" : [ 100 ], + "type" : "GROWS_WITH_LEVEL" + }, + "valueType" : "PERCENT_TO_BASE" + } + } + } }, "terek": { @@ -177,10 +428,15 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "tactics", "level": "basic" } ], - "specialties": - [ - { "type":8, "val": 0, "subtype": 53, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "haste" : { + "addInfo" : 0, + "subtype" : "spell.haste", + "type" : "SPECIAL_PECULIAR_ENCHANT" + } + } + } }, "zubin": { @@ -193,10 +449,15 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "artillery", "level": "basic" } ], - "specialties": - [ - { "type":8, "val": 0, "subtype": 44, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "precision" : { + "addInfo" : 0, + "subtype" : "spell.precision", + "type" : "SPECIAL_PECULIAR_ENCHANT" + } + } + } }, "gundula": { @@ -209,10 +470,19 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "offence", "level": "basic" } ], - "specialties": - [ - { "type":2, "val": 5, "subtype": 25, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "sorcery" : { + "subtype" : "skill.sorcery", + "type" : "SECONDARY_SKILL_PREMY", + "updater" : { + "parameters" : [ 100 ], + "type" : "GROWS_WITH_LEVEL" + }, + "valueType" : "PERCENT_TO_BASE" + } + } + } }, "oris": { @@ -225,10 +495,19 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "eagleEye", "level": "basic" } ], - "specialties": - [ - { "type":2, "val": 5, "subtype": 11, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "eagleEye" : { + "subtype" : "skill.eagleEye", + "type" : "SECONDARY_SKILL_PREMY", + "updater" : { + "parameters" : [ 100 ], + "type" : "GROWS_WITH_LEVEL" + }, + "valueType" : "PERCENT_TO_BASE" + } + } + } }, "saurug": { @@ -241,9 +520,14 @@ { "skill" : "wisdom", "level": "basic" }, { "skill" : "resistance", "level": "basic" } ], - "specialties": - [ - { "type":10, "val": 1, "subtype": 5, "info": 0 } - ] + "specialty" : { + "bonuses" : { + "gems" : { + "subtype" : "resource.gems", + "type" : "GENERATE_RESOURCE", + "val" : 1 + } + } + } } }