mirror of
https://github.com/vcmi/vcmi.git
synced 2026-06-19 22:57:37 +02:00
879 lines
27 KiB
JSON
879 lines
27 KiB
JSON
{
|
|
"factions" :
|
|
[
|
|
"config/factions/castle.json",
|
|
"config/factions/rampart.json",
|
|
"config/factions/tower.json",
|
|
"config/factions/necropolis.json",
|
|
"config/factions/inferno.json",
|
|
"config/factions/dungeon.json",
|
|
"config/factions/stronghold.json",
|
|
"config/factions/fortress.json",
|
|
"config/factions/conflux.json",
|
|
"config/factions/neutral.json"
|
|
],
|
|
|
|
"creatures" :
|
|
[
|
|
"config/creatures/castle.json",
|
|
"config/creatures/rampart.json",
|
|
"config/creatures/tower.json",
|
|
|
|
"config/creatures/necropolis.json",
|
|
"config/creatures/inferno.json",
|
|
"config/creatures/dungeon.json",
|
|
|
|
"config/creatures/stronghold.json",
|
|
"config/creatures/fortress.json",
|
|
"config/creatures/conflux.json",
|
|
|
|
"config/creatures/neutral.json",
|
|
"config/creatures/special.json"
|
|
],
|
|
|
|
"heroes" :
|
|
[
|
|
"config/heroes/castle.json",
|
|
"config/heroes/rampart.json",
|
|
"config/heroes/tower.json",
|
|
"config/heroes/necropolis.json",
|
|
"config/heroes/inferno.json",
|
|
"config/heroes/dungeon.json",
|
|
"config/heroes/stronghold.json",
|
|
"config/heroes/fortress.json",
|
|
"config/heroes/conflux.json",
|
|
"config/heroes/special.json",
|
|
"config/heroes/portraits.json"
|
|
],
|
|
|
|
"objects" :
|
|
[
|
|
"config/objects/cartographer.json",
|
|
"config/objects/coverOfDarkness.json",
|
|
"config/objects/creatureBanks.json",
|
|
"config/objects/dwellings.json",
|
|
"config/objects/generic.json",
|
|
"config/objects/lighthouse.json",
|
|
"config/objects/magicSpring.json",
|
|
"config/objects/magicWell.json",
|
|
"config/objects/markets.json",
|
|
"config/objects/moddables.json",
|
|
"config/objects/observatory.json",
|
|
"config/objects/pyramid.json",
|
|
"config/objects/rewardableBonusing.json",
|
|
"config/objects/rewardableOncePerHero.json",
|
|
"config/objects/rewardableOncePerWeek.json",
|
|
"config/objects/rewardableOnceVisitable.json",
|
|
"config/objects/rewardablePickable.json",
|
|
"config/objects/scholar.json",
|
|
"config/objects/shrine.json",
|
|
"config/objects/witchHut.json"
|
|
],
|
|
|
|
"biomes" :
|
|
[
|
|
"config/biomes.json"
|
|
],
|
|
|
|
"artifacts" :
|
|
[
|
|
"config/artifacts.json"
|
|
],
|
|
|
|
"heroClasses" :
|
|
[
|
|
"config/heroClasses.json"
|
|
],
|
|
|
|
"bonuses" :
|
|
[
|
|
"config/bonuses.json"
|
|
],
|
|
"spells" :
|
|
[
|
|
"config/spells/adventure.json",
|
|
"config/spells/offensive.json",
|
|
"config/spells/other.json",
|
|
"config/spells/timed.json",
|
|
"config/spells/ability.json",
|
|
"config/spells/vcmiAbility.json",
|
|
"config/spells/moats.json"
|
|
],
|
|
"spellSchools" :
|
|
[
|
|
"config/spellSchools.json"
|
|
],
|
|
"skills" :
|
|
[
|
|
"config/skills.json"
|
|
],
|
|
"terrains":
|
|
[
|
|
"config/terrains.json"
|
|
],
|
|
"resources" :
|
|
[
|
|
"config/resources.json"
|
|
],
|
|
"roads":
|
|
[
|
|
"config/roads.json"
|
|
],
|
|
"rivers":
|
|
[
|
|
"config/rivers.json"
|
|
],
|
|
"battlefields":
|
|
[
|
|
"config/battlefields.json"
|
|
],
|
|
"obstacles":
|
|
[
|
|
"config/obstacles.json"
|
|
],
|
|
"campaignRegions" :
|
|
[
|
|
"config/campaignRegions.json"
|
|
],
|
|
"mapLayers":
|
|
[
|
|
"config/mapLayers.json"
|
|
],
|
|
|
|
|
|
"settings":
|
|
{
|
|
// Number of entries of each type to load from Heroes III text files
|
|
"textData" :
|
|
{
|
|
"heroClass" : 18,
|
|
"artifact" : 144,
|
|
"creature" : 150,
|
|
"faction" : 9,
|
|
"hero" : 156,
|
|
"spell" : 81,
|
|
"object" : 256,
|
|
"terrain" : 10,
|
|
"river" : 5,
|
|
"road" : 4
|
|
},
|
|
|
|
"mapFormat" : {
|
|
"restorationOfErathia" : {
|
|
"supported" : true,
|
|
"iconIndex" : 0,
|
|
"settings": {
|
|
"spells": {
|
|
"tomesGrantBannedSpells" : true
|
|
}
|
|
},
|
|
"buildingsCommon": {
|
|
"townHall" : 0,
|
|
"cityHall" : 1,
|
|
"capitol" : 2,
|
|
|
|
"fort" : 3,
|
|
"citadel" : 4,
|
|
"castle" : 5,
|
|
|
|
"tavern" : 6,
|
|
"blacksmith" : 7,
|
|
"marketplace" : 8,
|
|
"resourceSilo" : 9,
|
|
|
|
"mageGuild1" : 11,
|
|
"mageGuild2" : 12,
|
|
"mageGuild3" : 13,
|
|
"mageGuild4" : 14,
|
|
"mageGuild5" : 15,
|
|
|
|
"shipyard" : 16,
|
|
"grail" : 17,
|
|
|
|
"dwellingLvl1" : 22,
|
|
"dwellingUpLvl1" : 23,
|
|
"horde1" : 24,
|
|
"dwellingLvl2" : 25,
|
|
"dwellingUpLvl2" : 26,
|
|
"horde2" : 27,
|
|
"dwellingLvl3" : 28,
|
|
"dwellingUpLvl3" : 29,
|
|
"horde3" : 30,
|
|
"dwellingLvl4" : 31,
|
|
"dwellingUpLvl4" : 32,
|
|
"horde4" : 33,
|
|
"dwellingLvl5" : 34,
|
|
"dwellingUpLvl5" : 35,
|
|
"horde5" : 36,
|
|
|
|
"dwellingLvl6" : 37,
|
|
"dwellingUpLvl6" : 38,
|
|
"dwellingLvl7" : 39,
|
|
"dwellingUpLvl7" : 40
|
|
},
|
|
"buildings" : {
|
|
"castle" : {
|
|
"special1" : 18, // lighthouse
|
|
"special2" : 20, // stables
|
|
"special3" : 19 // brotherhoodOfSword
|
|
},
|
|
"rampart" : {
|
|
"special1" : 18, // mysticPond
|
|
"special2" : 19, // fountainOfFortune
|
|
"special3" : 20 // treasury
|
|
},
|
|
"tower" : {
|
|
"special1" : 10, // artifactMerchants
|
|
"special2" : 20, // lookoutTower
|
|
"special3" : 18, // library
|
|
"special4" : 19 // wallOfKnowledge
|
|
},
|
|
"inferno" : {
|
|
"special2" : 18, // brimstoneStormclouds
|
|
"special3" : 19, // castleGate
|
|
"special4" : 20 // orderOfFire
|
|
},
|
|
"necropolis" : {
|
|
"special1" : 18, // coverOfDarkness
|
|
"special2" : 19, // necromancyAmplifier
|
|
"special3" : 20 // skeletonTransformer
|
|
},
|
|
"dungeon" : {
|
|
"special1" : 10, // artifactMerchants
|
|
"special2" : 18, // manaVortex
|
|
"special3" : 19, // portalOfSummoning
|
|
"special4" : 20 // battleScholarAcademy
|
|
},
|
|
"stronghold" : {
|
|
"special1" : 18, // escapeTunnel
|
|
"special2" : 19, // freelancersGuild
|
|
"special3" : 20, // ballistaYard
|
|
"special4" : 21 // hallOfValhalla
|
|
},
|
|
"fortress" : {
|
|
"special1" : 20, // cageOfWarlords
|
|
"special2" : 19, // bloodObelisk
|
|
"special3" : 18 // glyphsOfFear
|
|
}
|
|
},
|
|
"portraits" : {
|
|
"catherine" : 128, // In "RoE" Catherine only has portrait
|
|
"portraitGeneralKendal" : 129
|
|
},
|
|
"campaignRegions" : {
|
|
|
|
"good1" : 1, // Long Live the Queen
|
|
"good2" : 2, // Liberation
|
|
"good3" : 3, // Song for the Father
|
|
"evil1" : 4, // Dungeons and devils
|
|
"evil2" : 5, // Long Live the King
|
|
"neutral1" : 6, // Spoils of War
|
|
"secret1" : 7 // Seeds Of Discontent
|
|
},
|
|
"campaignMusic" : {
|
|
"CampainMusic01" : 0,
|
|
"CampainMusic02" : 1,
|
|
"CampainMusic03" : 2,
|
|
"CampainMusic04" : 3,
|
|
"CampainMusic05" : 4,
|
|
"CampainMusic06" : 5,
|
|
"CampainMusic07" : 6,
|
|
"CampainMusic08" : 7,
|
|
"CampainMusic09" : 8,
|
|
"AiTheme0" : 9,
|
|
"AiTheme1" : 10,
|
|
"AiTheme2" : 11,
|
|
"Combat01" : 12,
|
|
"Combat02" : 13,
|
|
"Combat03" : 14,
|
|
"Combat04" : 15,
|
|
"CstleTown" : 16,
|
|
"TowerTown" : 17,
|
|
"Rampart" : 18,
|
|
"InfernoTown" : 19,
|
|
"NecroTown" : 20,
|
|
"Dungeon" : 21,
|
|
"Stronghold" : 22,
|
|
"FortressTown" : 23,
|
|
"ElemTown" : 24,
|
|
"Dirt" : 25,
|
|
"Sand" : 26,
|
|
"Grass" : 27,
|
|
"Snow" : 28,
|
|
"Swamp" : 29,
|
|
"Rough" : 30,
|
|
"Underground" : 31,
|
|
"Lava" : 32,
|
|
"Water" : 33,
|
|
"GoodTheme" : 34,
|
|
"NeutralTheme" : 35,
|
|
"EvilTheme" : 36,
|
|
"SecretTheme" : 37,
|
|
"LoopLepr" : 38,
|
|
"MainMenu" : 39,
|
|
"Win Scenario" : 40
|
|
},
|
|
"campaignVideo" : {
|
|
"GOOD1A.SMK" : 0,
|
|
"GOOD1B.SMK" : 1,
|
|
"GOOD1C.SMK" : 2,
|
|
"EVIL1A.SMK" : 3,
|
|
"EVIL1B.SMK" : 4,
|
|
"EVIL1C.SMK" : 5,
|
|
"NEUTRALA.SMK" : 6,
|
|
"NEUTRALB.SMK" : 7,
|
|
"NEUTRALC.SMK" : 8,
|
|
"GOOD2A.SMK" : 9,
|
|
"GOOD2B.SMK" : 10,
|
|
"GOOD2C.SMK" : 11,
|
|
"GOOD2D.SMK" : 12,
|
|
"EVIL2A.SMK" : 13,
|
|
"EVIL2AP1.SMK" : 14,
|
|
"EVIL2AP2.SMK" : 14, // looped
|
|
"EVIL2B.SMK" : 15,
|
|
"EVIL2C.SMK" : 16,
|
|
"EVIL2D.SMK" : 17,
|
|
"GOOD3A.SMK" : 18,
|
|
"GOOD3B.SMK" : 19,
|
|
"GOOD3C.SMK" : 20,
|
|
"SECRETA.SMK" : 21,
|
|
"SECRETB.SMK" : 22,
|
|
"SECRETC.SMK" : 23
|
|
}
|
|
},
|
|
"armageddonsBlade" : {
|
|
"supported" : true,
|
|
"iconIndex" : 1,
|
|
"buildings" : {
|
|
"conflux" : {
|
|
"special1" : 10, // artifactMerchants
|
|
"special2" : 18 // magicUniversity
|
|
}
|
|
},
|
|
"portraits" : {
|
|
"pasis" : 128,
|
|
"thunar" : 129,
|
|
"portraitGeneralKendal" : 156,
|
|
"portraitYoungCristian" : 157,
|
|
"portraitOrdwald" : 158
|
|
},
|
|
"campaignRegions" : {
|
|
"dragonSlayer" : 8,
|
|
"foolhardyWaywardness" : 9,
|
|
"festivalOfLife" : 10,
|
|
"dragonsBlood" : 11,
|
|
"playingWithFire" : 12,
|
|
"armageddonsBlade" : 13
|
|
},
|
|
"campaignMusic" : {
|
|
"CampainMusic10" : 41,
|
|
"BladeABCampaign" : 42,
|
|
"BladeDBCampaign" : 43,
|
|
"BladeDSCampaign" : 44,
|
|
"BladeFLCampaign" : 45,
|
|
"BladeFWCampaign" : 46,
|
|
"BladePFCampaign" : 47
|
|
},
|
|
"campaignVideo" : {
|
|
"H3ABab1.smk" : 24,
|
|
"H3ABab2.smk" : 25,
|
|
"H3ABab3.smk" : 26,
|
|
"H3ABab4.smk" : 27,
|
|
"H3ABab5.smk" : 28,
|
|
"H3ABab6.smk" : 29,
|
|
"H3ABab7.smk" : 30,
|
|
"H3ABab8.smk" : 31,
|
|
"H3ABab9.smk" : 32,
|
|
"H3ABdb1.smk" : 33,
|
|
"H3ABdb2.smk" : 34,
|
|
"H3ABdb3.smk" : 35,
|
|
"H3ABdb4.smk" : 36,
|
|
"H3ABdb4b.smk" : 36, // looped
|
|
"H3ABdb5.smk" : 37,
|
|
"H3ABds1.smk" : 38,
|
|
"H3ABds2.smk" : 39,
|
|
"H3ABds3.smk" : 40,
|
|
"H3ABds4.smk" : 41,
|
|
"H3ABds5.smk" : 42,
|
|
"H3ABfl1.smk" : 43,
|
|
"H3ABfl2.smk" : 44,
|
|
"H3ABfl3.smk" : 45,
|
|
"H3ABfl4.smk" : 46,
|
|
"H3ABfl5.smk" : 47,
|
|
"H3ABfw1.smk" : 48,
|
|
"H3ABfw2.smk" : 49,
|
|
"H3ABfw3.smk" : 50,
|
|
"H3ABfw4.smk" : 51,
|
|
"H3ABfw5.smk" : 52,
|
|
"H3ABpf1.smk" : 53,
|
|
"H3ABpf2.smk" : 54,
|
|
"H3ABpf3.smk" : 55,
|
|
"H3ABpf4.smk" : 56
|
|
}
|
|
},
|
|
"shadowOfDeath" : {
|
|
"supported" : true,
|
|
"iconIndex" : 2,
|
|
"portraits" : {
|
|
"portraitGeneralKendal" : 156,
|
|
"portraitYoungCristian" : 157,
|
|
"portraitOrdwald" : 158,
|
|
"portraitFinneas" : 159,
|
|
"portraitYoungGem" : 160,
|
|
"portraitYoungSandro" : 161,
|
|
"portraitYoungYog" : 162
|
|
},
|
|
"campaignRegions" : {
|
|
"hackAndSlash" : 14,
|
|
"birthOfBarbarian" : 15,
|
|
"newBeginning" : 16,
|
|
"elixirOfLife" : 17,
|
|
"riseOfTheNecromancer" : 18,
|
|
"unholyAlliance" : 19,
|
|
"spectreOfPower" : 20
|
|
},
|
|
"campaignMusic" : {
|
|
"CampainMusic11" : 48
|
|
},
|
|
"campaignVideo" : {
|
|
"H3x2_BBa.smk" : 57,
|
|
"H3x2_BBb.smk" : 58,
|
|
"H3x2_BBc.smk" : 59,
|
|
"H3x2_BBd.smk" : 60,
|
|
"H3x2_BBe.smk" : 61,
|
|
"H3x2_BBf.smk" : 62,
|
|
"H3x2_Ela.smk" : 63,
|
|
"H3x2_Elb.smk" : 64,
|
|
"H3x2_Elc.smk" : 65,
|
|
"H3x2_Eld.smk" : 66,
|
|
"H3x2_Ele.smk" : 67,
|
|
"H3x2_HSa.smk" : 68,
|
|
"EVIL2C.SMK" : 69,
|
|
"H3x2_HSc.smk" : 70,
|
|
"H3x2_HSd.smk" : 71,
|
|
"H3x2_HSe.smk" : 72,
|
|
"H3x2_NBa.smk" : 73,
|
|
"H3x2_NBb.smk" : 74,
|
|
"H3x2_Nbc.smk" : 75,
|
|
"H3x2_Nbd.smk" : 76,
|
|
"H3x2_Nbe.smk" : 77,
|
|
"H3x2_RNa.smk" : 78,
|
|
"H3x2_RNb.smk" : 79,
|
|
"H3x2_RNc.smk" : 80,
|
|
"H3x2_RNd.smk" : 81,
|
|
"H3x2_RNe1.smk": 82,
|
|
"H3x2_RNe2.smk": 82, // looped
|
|
"H3x2_SPa.smk" : 83,
|
|
"H3x2_SPb.smk" : 84,
|
|
"H3x2_SPc.smk" : 85,
|
|
"H3x2_SPd.smk" : 86,
|
|
"H3x2_SPe.smk" : 87,
|
|
"H3x2_UAa.smk" : 88,
|
|
"H3x2_UAb.smk" : 89,
|
|
"H3x2_UAc.smk" : 90,
|
|
"H3x2_UAd.smk" : 91,
|
|
"H3x2_UAe.smk" : 92,
|
|
"H3x2_UAf.smk" : 93,
|
|
"H3x2_UAg.smk" : 94,
|
|
"H3x2_UAh.smk" : 95,
|
|
"H3x2_UAi.smk" : 96,
|
|
"H3x2_UAj.smk" : 97,
|
|
"H3x2_UAk.smk" : 98,
|
|
"H3x2_UAl.smk" : 99,
|
|
"H3x2_UAm.smk" : 100 //H3x2_UAm.bik?
|
|
}
|
|
},
|
|
"chronicles" : {
|
|
"supported" : false,
|
|
"iconIndex" : 2
|
|
},
|
|
"jsonVCMI" : {
|
|
"supported" : true,
|
|
"iconIndex" : 3
|
|
},
|
|
"hornOfTheAbyss" : {
|
|
"supported" : false,
|
|
"settings": {
|
|
"spells": {
|
|
"tomesGrantBannedSpells" : false
|
|
}
|
|
}
|
|
},
|
|
"inTheWakeOfGods" : {
|
|
"supported" : false
|
|
}
|
|
},
|
|
|
|
"heroes" :
|
|
{
|
|
// number of heroes that player can have active on map at the same time
|
|
"perPlayerOnMapCap" : 8,
|
|
// number of heroes that player can have in total, including garrisoned
|
|
"perPlayerTotalCap" : 9999,
|
|
// if enabled, hero that wins a battle without any non-summoned troops left will retreat and become available in tavern instead of being lost
|
|
"retreatOnWinWithoutTroops" : true,
|
|
// Chances for a hero with default army to receive corresponding stack out of his predefined starting troops
|
|
"startingStackChances": [ 100, 88, 25],
|
|
// number of artifacts that can fit in a backpack. -1 is unlimited.
|
|
"backpackSize" : -1,
|
|
// if heroes are invitable in tavern
|
|
"tavernInvite" : false,
|
|
// minimal primary skills for heroes
|
|
"minimalPrimarySkills": [ 0, 0, 1, 1],
|
|
|
|
/// minimal movement cost from one tile to another while offroad. Also see BASE_TILE_MOVEMENT_COST bonus type
|
|
/// Also affects cost of Town Portal spell and movement cost when using Fly spell
|
|
"movementCostBase" : 100,
|
|
/// movement points hero can get on start of the turn when on land, depending on speed of slowest creature (0-based list)
|
|
"movementPointsLand" : [ 1500, 1500, 1500, 1500, 1560, 1630, 1700, 1760, 1830, 1900, 1960, 2000 ],
|
|
/// movement points hero can get on start of the turn when on sea, depending on speed of slowest creature (0-based list)
|
|
"movementPointsSea" : [ 1500 ],
|
|
|
|
/// maximal secondary skills per hero
|
|
"skillPerHero" : 8,
|
|
|
|
/// Base scouting range for hero without any range modifiers
|
|
"baseScoutingRange" : 5,
|
|
|
|
/// Strength of generic secondary skill specialties ( "secondary" : "skillName" ) per level
|
|
"specialtySecondarySkillGrowth" : 5,
|
|
/// Strength of generic creature specialties ( "creature" : "creatureName" ) per level
|
|
"specialtyCreatureGrowth" : 5,
|
|
|
|
/// Maximum amount of skills that can be offered to hero on levelup
|
|
"levelupTotalSkillsAmount" : 2,
|
|
/// Maximum amount of advanced or expert skills that can be offered to hero on levelup
|
|
"levelupUpgradedSkillsAmount" : 1
|
|
},
|
|
|
|
"towns":
|
|
{
|
|
// How many new building can be built in a town per day
|
|
"buildingsPerTurnCap" : 1,
|
|
// Chances for a town with default buildings to receive corresponding dwelling level built in start
|
|
"startingDwellingChances": [100, 50],
|
|
// Enable spell research in mage guild
|
|
"spellResearch": false,
|
|
// Cost for an spell research (array index is spell tier)
|
|
"spellResearchCost": [
|
|
{ "gold": 1000, "mercury": 2, "sulfur": 2, "crystal": 2, "gems": 2 },
|
|
{ "gold": 1000, "mercury": 3, "sulfur": 3, "crystal": 3, "gems": 3 },
|
|
{ "gold": 1000, "mercury": 4, "sulfur": 4, "crystal": 4, "gems": 4 },
|
|
{ "gold": 1000, "mercury": 5, "sulfur": 5, "crystal": 5, "gems": 5 },
|
|
{ "gold": 1000, "mercury": 6, "sulfur": 6, "crystal": 6, "gems": 6 }
|
|
],
|
|
// How much researchs/skips per day are possible? (array index is spell tier)
|
|
"spellResearchPerDay": [ 2, 2, 2, 2, 1 ],
|
|
// Multiplier for increasing/decreasing cost for each accept/reroll on 2nd/3rd etc. slot after accepting spell on the previous slot (factor 1 disables this; array index is spell tier)
|
|
"spellResearchCostMultiplierPerResearch": [ 1, 1, 1, 1, 1 ],
|
|
// Multiplier for increasing/decreasing cost of research actions after each reroll - resets on accepting spell (factor 1 disables this; array index is spell tier)
|
|
"spellResearchCostMultiplierPerReroll": [ 1, 1, 1, 1, 1 ],
|
|
|
|
// Base scouting range for town without any range modifiers
|
|
"baseScoutingRange" : 5
|
|
},
|
|
|
|
"combat":
|
|
{
|
|
// defines bias used for percentage-based ability rolls, such Death Blow of Dread Knight
|
|
// If bias is set to 0, then all rolls will be completely independent - it is possible to get lucky and roll ability with 10% chance
|
|
// multiple times in a row, or be unlucky and not roll 50% ability multiple times in a row
|
|
// If bias is non-zero, game will adjust probability based on previous rolls while keeping average chance at desired value
|
|
// So matter what value is used for bias, actual probability for large (1000+) number of rolls is same as stated in description
|
|
// However, non-zero bias allows to prevent long streaks of "bad" rolls, and enforce actual probabilities even for small (10-20) number of rolls
|
|
// Recommended value is ~10-25. Excessively large values, like 100 can make rolls very predictable, for example rolling 20% ability every 5th roll
|
|
"abilityBias" : 25,
|
|
|
|
// defines dice chance and dice size of a morale roll, based on creature's morale.
|
|
// Resulting chance is chanceValue / diceSize. If list contains 0 values, option will be disabled
|
|
"goodMoraleChance" : [ 1, 2, 3 ],
|
|
"badMoraleChance" : [ 2, 4, 6],
|
|
"moraleDiceSize" : 24,
|
|
// Bias for morale rolls. See abilityBias for detailed description
|
|
// Recommended value is around moraleDiceSize / 4
|
|
"moraleBias" : 8,
|
|
|
|
// defines dice chance and dice size of a luck roll, based on creature's luck
|
|
"goodLuckChance" : [ 1, 2, 3 ],
|
|
"badLuckChance" : [],
|
|
"luckDiceSize" : 24,
|
|
// Bias for luck rolls. See abilityBias for detailed description
|
|
// Recommended value is around luckDiceSize / 4
|
|
"luckBias" : 8,
|
|
|
|
|
|
// every 1 attack point damage influence in battle when attack points > defense points during creature attack
|
|
"attackPointDamageFactor": 0.05,
|
|
// limit of damage increase that can be achieved by overpowering attack points
|
|
"attackPointDamageFactorCap": 4.0,
|
|
// every 1 defense point damage influence in battle when defense points > attack points during creature attack
|
|
"defensePointDamageFactor": 0.025,
|
|
// limit of damage reduction that can be achieved by overpowering defense points
|
|
"defensePointDamageFactorCap": 0.7,
|
|
// If set to true, double-wide creatures will trigger obstacle effect when moving one tile forward or backwards
|
|
"oneHexTriggersObstacles": false,
|
|
// Allow area shooters with SPELL_LIKE_ATTACK bonus such as liches or magogs to target empty hexes
|
|
"areaShotCanTargetEmptyHex" : false,
|
|
// Amount of first rounds since battle start which disallow fleeing/surrendering as attacker after casting spell - part of established H3 PvP standard rules, HotA default is 1
|
|
"noSpellHitAndRunRounds" : 0,
|
|
|
|
// Positions of units on start of the combat
|
|
// If battle does not defines specific configuration, 'default' configuration will be used
|
|
// Configuration must define either 'attackerUnits' list of 7 elements or both 'attackerUnitsLoose' and 'attackerUnitsTight' lists of 7 elements, 1..7 elements each
|
|
// Similarly, for defender configuration must have either 'defenderUnits' or both 'defenderUnitsLoose' and 'defenderUnitsTight'
|
|
"layouts" : {
|
|
"default" : {
|
|
"tacticsAllowed" : true,
|
|
"obstaclesAllowed" : true,
|
|
"attackerCommander" : 88,
|
|
"defenderCommander" : 98,
|
|
"attackerWarMachines" : [ 52, 18, 154, 120 ],
|
|
"defenderWarMachines" : [ 66, 32, 168, 134 ],
|
|
"attackerUnitsLoose": [
|
|
[ 86 ],
|
|
[ 35, 137 ],
|
|
[ 35, 86, 137 ],
|
|
[ 1, 69, 103, 171 ],
|
|
[ 1, 35, 86, 137, 171 ],
|
|
[ 1, 35, 69, 103, 137, 171 ],
|
|
[ 1, 35, 69, 86, 103, 137, 171 ]
|
|
],
|
|
"defenderUnitsLoose": [
|
|
[ 100 ],
|
|
[ 49, 151 ],
|
|
[ 49, 100, 151 ],
|
|
[ 15, 83, 117, 185 ],
|
|
[ 15, 49, 100, 151, 185 ],
|
|
[ 15, 49, 83, 117, 151, 185 ],
|
|
[ 15, 49, 83, 100, 117, 151, 185 ]
|
|
],
|
|
"attackerUnitsTight": [
|
|
[ 86 ],
|
|
[ 69, 103 ],
|
|
[ 69, 86, 103 ],
|
|
[ 35, 69, 103, 137 ],
|
|
[ 35, 69, 86, 103, 137 ],
|
|
[ 1, 35, 69, 103, 137, 171 ],
|
|
[ 1, 35, 69, 86, 103, 137, 171 ]
|
|
],
|
|
"defenderUnitsTight": [
|
|
[ 100 ],
|
|
[ 83, 117 ],
|
|
[ 83, 100, 117 ],
|
|
[ 49, 83, 117, 151 ],
|
|
[ 49, 83, 100, 117, 151 ],
|
|
[ 15, 49, 83, 117, 151, 185 ],
|
|
[ 15, 49, 83, 100, 117, 151, 185 ]
|
|
]
|
|
},
|
|
// Configuration for creature banks with single-tile enemies
|
|
"creatureBankNarrow" : {
|
|
"tacticsAllowed" : false,
|
|
"obstaclesAllowed" : false,
|
|
"attackerCommander" : 94,
|
|
"defenderCommander" : 8,
|
|
"attackerUnits": [ 57, 61, 90, 93, 96, 125, 129 ],
|
|
"defenderUnits": [ 15, 185, 172, 2, 100, 87, 8 ]
|
|
},
|
|
// Configuration for creature banks with double-wide enemies
|
|
"creatureBankWide" : {
|
|
"tacticsAllowed" : false,
|
|
"obstaclesAllowed" : false,
|
|
"attackerCommander" : 94,
|
|
"defenderCommander" : 8,
|
|
"attackerUnits": [ 57, 61, 90, 93, 96, 125, 129 ],
|
|
"defenderUnits": [ 15, 185, 171, 1, 100, 86, 8 ]
|
|
}
|
|
}
|
|
},
|
|
|
|
"creatures":
|
|
{
|
|
// creatures on map will grow by specified percentage each week
|
|
"weeklyGrowthPercent" : 10,
|
|
// creatures on map will not grow if their quantity is greater than this value
|
|
"weeklyGrowthCap" : 4000,
|
|
// additional growth applied during special growth weeks
|
|
"additionalWeeklyGrowthSpecialWeek" : 5,
|
|
// probability (in percent) for double growth month
|
|
"monthDoubleGrowthProbability" : 40,
|
|
// probability (in percent) for plague month
|
|
"monthPlagueProbability" : 10,
|
|
// probability (in percent) for special week
|
|
"weekSpecialProbability" : 25,
|
|
// if stack experience is on, creatures on map will get specified amount of experience daily
|
|
"dailyStackExperience" : 100,
|
|
// if enabled, double growth, plague and creature weeks can happen randomly. Has no effect on weeks by "Deity of Fire"
|
|
// NOTE: on HotA maps, this setting has no effect. Value provided in map will be used instead.
|
|
"allowRandomSpecialWeeks" : true,
|
|
// if enabled, every creature can get double growth month, ignoring predefined list
|
|
"allowAllForDoubleMonth" : false,
|
|
// if enabled creatures may join player for free, disabling it removes free joining globally unless creature is set to join in map editor
|
|
"allowJoiningForFree" : true,
|
|
// percent of stack amount that joins player per each successful join (does not decrease cost when joining for gold), if 0 or lower creatures never join for free or gold
|
|
// NOTE: on HotA maps this setting has no effect on units placed in map editor, preset value from h3m will be used instead
|
|
"joiningPercentage" : 100
|
|
},
|
|
|
|
"dwellings" :
|
|
{
|
|
// if enabled, neutral dwellings will accumulate creatures
|
|
"accumulateWhenNeutral" : false,
|
|
// if enabled, dwellings owned by players will accumulate creatures
|
|
"accumulateWhenOwned" : false,
|
|
// if enabled, game will attempt to merge slots in army on recruit if all slots in hero army are in use
|
|
"mergeOnRecruit" : true
|
|
},
|
|
|
|
"mapObjects" :
|
|
{
|
|
// Allow behavior that emulates h3 bug where quest from Seer Hut or Border Guard can take entire army from hero
|
|
// WARNING: handling of heroes without armies is not tested and may lead to bugs or crashes! Use at own risk!
|
|
// If this option is off, quests will only allow taking entire army if quest reward also gives creatures
|
|
"h3BugQuestTakesEntireArmy" : false
|
|
},
|
|
|
|
"markets" :
|
|
{
|
|
// period between restocking of "Black Market" object found on adventure map
|
|
"blackMarketRestockPeriod" : 0,
|
|
|
|
// Cost in gold of buying skill in on-map University or in University of Magic in Conflux
|
|
"universityGoldCost" : 2000
|
|
},
|
|
|
|
"banks" :
|
|
{
|
|
// show guards composition when visiting creature banks
|
|
"showGuardsComposition" : true
|
|
},
|
|
|
|
"modules":
|
|
{
|
|
// if enabled, creatures may collect experience (WoG feature)
|
|
"stackExperience": false,
|
|
// if enabled, certain artifacts can be granted to creatures (WoG feature)
|
|
"stackArtifact": false,
|
|
// if enabled, all heroes gain commander creature in battle (WoG feature)
|
|
"commanders": false
|
|
},
|
|
|
|
"pathfinder" :
|
|
{
|
|
// if enabled, pathfinder will build path through locations guarded by wandering monsters
|
|
"ignoreGuards" : false,
|
|
// if enabled, pathfinder will take use of any available boats
|
|
"useBoat" : true,
|
|
// if enabled, pathfinder will take use of any bidirectional monoliths
|
|
"useMonolithTwoWay" : true,
|
|
// if enabled, pathfinder will take use of one-way monolith that only have one known exit
|
|
"useMonolithOneWayUnique" : false,
|
|
// if enabled, pathfinder will take use of one-way monoliths with multiple exits.
|
|
"useMonolithOneWayRandom" : false,
|
|
// if enabled and hero has whirlpool protection effect, pathfinder will take use of whirpools
|
|
"useWhirlpool" : true,
|
|
// if enabled flying will work like in original game, otherwise nerf similar to HotA flying is applied
|
|
"originalFlyRules" : true
|
|
},
|
|
|
|
"resources" : {
|
|
// H3 mechanics - AI receives bonus (or malus, on easy) to his resource income
|
|
// AI will receive specified values as percentage of his weekly income
|
|
// So, "gems" : 200 will give AI player 200% of his daily income of gems over week, or, in other words,
|
|
// giving AI player 2 additional gems per week for every owned Gem Pond
|
|
"weeklyBonusesAI" : {
|
|
"pawn" : { "gold" : -175 },
|
|
"knight": {},
|
|
"rook" : {},
|
|
"queen" : { "wood" : 275 , "mercury" : 100, "ore" : 275, "sulfur" : 100, "crystal" : 100, "gems" : 100, "gold" : 175},
|
|
"king" : { "wood" : 375 , "mercury" : 200, "ore" : 375, "sulfur" : 200, "crystal" : 200, "gems" : 200, "gold" : 350}
|
|
}
|
|
},
|
|
|
|
"spells":
|
|
{
|
|
// if enabled, dimension door will initiate a fight upon landing on tile adjacent to neutral creature
|
|
"dimensionDoorTriggersGuards" : false,
|
|
// if enabled, SPELLS_OF_SCHOOL bonus (Tomes of Water/Air/Earth/Fire Magic)
|
|
// and SPELLS_OF_LEVEL bonus (Spellbinder Hat) will grant spells that are banned on map (SoD behavior)
|
|
// NOTE: this value only affects random maps and .vmap's. For h3m's value is loaded from map format configuration
|
|
"tomesGrantBannedSpells" : false
|
|
},
|
|
|
|
"bonuses" :
|
|
{
|
|
"global" :
|
|
{
|
|
"spellDamage" :
|
|
{
|
|
"type" : "SPELL_DAMAGE",
|
|
"subtype" : "spellSchool.any",
|
|
"val" : 100,
|
|
"valueType" : "BASE_NUMBER"
|
|
},
|
|
"wisdom" :
|
|
{
|
|
"type" : "MAX_LEARNABLE_SPELL_LEVEL", //Hero can always learn level 1 and 2 spells
|
|
"val" : 2,
|
|
"valueType" : "BASE_NUMBER"
|
|
},
|
|
"spellCastsPerTurn" :
|
|
{
|
|
"type" : "HERO_SPELL_CASTS_PER_COMBAT_TURN", //1 spell can be cast by hero per turn during combat
|
|
"val" : 1,
|
|
"valueType" : "BASE_NUMBER"
|
|
}
|
|
},
|
|
"perHero":
|
|
{
|
|
"manaRegeneration" :
|
|
{
|
|
"type" : "MANA_REGENERATION", //default mana regeneration
|
|
"val" : 1,
|
|
"valueType" : "BASE_NUMBER"
|
|
},
|
|
"experienceGain" :
|
|
{
|
|
"type" : "HERO_EXPERIENCE_GAIN_PERCENT", //default hero xp
|
|
"val" : 100,
|
|
"valueType" : "BASE_NUMBER"
|
|
},
|
|
"manaPerKnowledge" :
|
|
{
|
|
"type" : "MANA_PER_KNOWLEDGE_PERCENTAGE", //1000% mana per knowledge
|
|
"val" : 1000,
|
|
"valueType" : "BASE_NUMBER"
|
|
}
|
|
}
|
|
},
|
|
|
|
"interface" :
|
|
{
|
|
// Color transform to make color of brown DIBOX.PCX texture match color of specified player
|
|
"playerColoredBackground" :
|
|
{
|
|
"red" : [ 0.25, 0, 0, 1.25, 0.00, 0.00 ],
|
|
"blue" : [ 0, 0, 0, 0.45, 1.20, 4.50 ],
|
|
"tan" : [ 0.40, 0.27, 0.23, 1.10, 1.20, 1.15 ],
|
|
"green" : [ -0.27, 0.10, -0.27, 0.70, 1.70, 0.70 ],
|
|
"orange" : [ 0.47, 0.17, -0.27, 1.60, 1.20, 0.70 ],
|
|
"purple" : [ 0.12, -0.1, 0.25, 1.15, 1.20, 2.20 ],
|
|
"teal" : [ -0.13, 0.23, 0.23, 0.90, 1.20, 2.20 ],
|
|
"pink" : [ 0.44, 0.15, 0.25, 1.00, 1.00, 1.75 ]
|
|
}
|
|
},
|
|
|
|
"campaign" :
|
|
{
|
|
// Unlock all campaigns
|
|
"unlockAll" : false
|
|
},
|
|
|
|
"cheats" :
|
|
{
|
|
// build town cheat without grail
|
|
"buildWithoutGrail" : false
|
|
}
|
|
}
|
|
}
|