gameConfig.json 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828
  1. {
  2. "factions" :
  3. [
  4. "config/factions/castle.json",
  5. "config/factions/rampart.json",
  6. "config/factions/tower.json",
  7. "config/factions/necropolis.json",
  8. "config/factions/inferno.json",
  9. "config/factions/dungeon.json",
  10. "config/factions/stronghold.json",
  11. "config/factions/fortress.json",
  12. "config/factions/conflux.json",
  13. "config/factions/neutral.json"
  14. ],
  15. "creatures" :
  16. [
  17. "config/creatures/castle.json",
  18. "config/creatures/rampart.json",
  19. "config/creatures/tower.json",
  20. "config/creatures/necropolis.json",
  21. "config/creatures/inferno.json",
  22. "config/creatures/dungeon.json",
  23. "config/creatures/stronghold.json",
  24. "config/creatures/fortress.json",
  25. "config/creatures/conflux.json",
  26. "config/creatures/neutral.json",
  27. "config/creatures/special.json"
  28. ],
  29. "heroes" :
  30. [
  31. "config/heroes/castle.json",
  32. "config/heroes/rampart.json",
  33. "config/heroes/tower.json",
  34. "config/heroes/necropolis.json",
  35. "config/heroes/inferno.json",
  36. "config/heroes/dungeon.json",
  37. "config/heroes/stronghold.json",
  38. "config/heroes/fortress.json",
  39. "config/heroes/conflux.json",
  40. "config/heroes/special.json",
  41. "config/heroes/portraits.json"
  42. ],
  43. "objects" :
  44. [
  45. "config/objects/cartographer.json",
  46. "config/objects/coverOfDarkness.json",
  47. "config/objects/creatureBanks.json",
  48. "config/objects/dwellings.json",
  49. "config/objects/generic.json",
  50. "config/objects/lighthouse.json",
  51. "config/objects/magicSpring.json",
  52. "config/objects/magicWell.json",
  53. "config/objects/markets.json",
  54. "config/objects/moddables.json",
  55. "config/objects/observatory.json",
  56. "config/objects/pyramid.json",
  57. "config/objects/rewardableBonusing.json",
  58. "config/objects/rewardableOncePerHero.json",
  59. "config/objects/rewardableOncePerWeek.json",
  60. "config/objects/rewardableOnceVisitable.json",
  61. "config/objects/rewardablePickable.json",
  62. "config/objects/scholar.json",
  63. "config/objects/shrine.json",
  64. "config/objects/witchHut.json"
  65. ],
  66. "biomes" :
  67. [
  68. "config/biomes.json"
  69. ],
  70. "artifacts" :
  71. [
  72. "config/artifacts.json"
  73. ],
  74. "heroClasses" :
  75. [
  76. "config/heroClasses.json"
  77. ],
  78. "bonuses" :
  79. [
  80. "config/bonuses.json"
  81. ],
  82. "spells" :
  83. [
  84. "config/spells/adventure.json",
  85. "config/spells/offensive.json",
  86. "config/spells/other.json",
  87. "config/spells/timed.json",
  88. "config/spells/ability.json",
  89. "config/spells/vcmiAbility.json",
  90. "config/spells/moats.json"
  91. ],
  92. "spellSchools" :
  93. [
  94. "config/spellSchools.json"
  95. ],
  96. "skills" :
  97. [
  98. "config/skills.json"
  99. ],
  100. "terrains":
  101. [
  102. "config/terrains.json"
  103. ],
  104. "roads":
  105. [
  106. "config/roads.json"
  107. ],
  108. "rivers":
  109. [
  110. "config/rivers.json"
  111. ],
  112. "battlefields":
  113. [
  114. "config/battlefields.json"
  115. ],
  116. "obstacles":
  117. [
  118. "config/obstacles.json"
  119. ],
  120. "campaignRegions" :
  121. [
  122. "config/campaignRegions.json"
  123. ],
  124. "settings":
  125. {
  126. // Number of entries of each type to load from Heroes III text files
  127. "textData" :
  128. {
  129. "heroClass" : 18,
  130. "artifact" : 144,
  131. "creature" : 150,
  132. "faction" : 9,
  133. "hero" : 156,
  134. "spell" : 81,
  135. "object" : 256,
  136. "terrain" : 10,
  137. "river" : 5,
  138. "road" : 4
  139. },
  140. "mapFormat" : {
  141. "restorationOfErathia" : {
  142. "supported" : true,
  143. "iconIndex" : 0,
  144. "buildingsCommon": {
  145. "townHall" : 0,
  146. "cityHall" : 1,
  147. "capitol" : 2,
  148. "fort" : 3,
  149. "citadel" : 4,
  150. "castle" : 5,
  151. "tavern" : 6,
  152. "blacksmith" : 7,
  153. "marketplace" : 8,
  154. "resourceSilo" : 9,
  155. "mageGuild1" : 11,
  156. "mageGuild2" : 12,
  157. "mageGuild3" : 13,
  158. "mageGuild4" : 14,
  159. "mageGuild5" : 15,
  160. "shipyard" : 16,
  161. "grail" : 17,
  162. "dwellingLvl1" : 22,
  163. "dwellingUpLvl1" : 23,
  164. "horde1" : 24,
  165. "dwellingLvl2" : 25,
  166. "dwellingUpLvl2" : 26,
  167. "horde2" : 27,
  168. "dwellingLvl3" : 28,
  169. "dwellingUpLvl3" : 29,
  170. "horde3" : 30,
  171. "dwellingLvl4" : 31,
  172. "dwellingUpLvl4" : 32,
  173. "horde4" : 33,
  174. "dwellingLvl5" : 34,
  175. "dwellingUpLvl5" : 35,
  176. "horde5" : 36,
  177. "dwellingLvl6" : 37,
  178. "dwellingUpLvl6" : 38,
  179. "dwellingLvl7" : 39,
  180. "dwellingUpLvl7" : 40
  181. },
  182. "buildings" : {
  183. "castle" : {
  184. "special1" : 18, // lighthouse
  185. "special2" : 20, // stables
  186. "special3" : 19 // brotherhoodOfSword
  187. },
  188. "rampart" : {
  189. "special1" : 18, // mysticPond
  190. "special2" : 19, // fountainOfFortune
  191. "special3" : 20 // treasury
  192. },
  193. "tower" : {
  194. "special1" : 10, // artifactMerchants
  195. "special2" : 20, // lookoutTower
  196. "special3" : 18, // library
  197. "special4" : 19 // wallOfKnowledge
  198. },
  199. "inferno" : {
  200. "special2" : 18, // brimstoneStormclouds
  201. "special3" : 19, // castleGate
  202. "special4" : 20 // orderOfFire
  203. },
  204. "necropolis" : {
  205. "special1" : 18, // coverOfDarkness
  206. "special2" : 19, // necromancyAmplifier
  207. "special3" : 20 // skeletonTransformer
  208. },
  209. "dungeon" : {
  210. "special1" : 10, // artifactMerchants
  211. "special2" : 18, // manaVortex
  212. "special3" : 19, // portalOfSummoning
  213. "special4" : 20 // battleScholarAcademy
  214. },
  215. "stronghold" : {
  216. "special1" : 18, // escapeTunnel
  217. "special2" : 19, // freelancersGuild
  218. "special3" : 20, // ballistaYard
  219. "special4" : 21 // hallOfValhalla
  220. },
  221. "fortress" : {
  222. "special1" : 20, // cageOfWarlords
  223. "special2" : 19, // bloodObelisk
  224. "special3" : 18 // glyphsOfFear
  225. }
  226. },
  227. "portraits" : {
  228. "catherine" : 128, // In "RoE" Catherine only has portrait
  229. "portraitGeneralKendal" : 129
  230. },
  231. "campaignRegions" : {
  232. "good1" : 1, // Long Live the Queen
  233. "good2" : 2, // Liberation
  234. "good3" : 3, // Song for the Father
  235. "evil1" : 4, // Dungeons and devils
  236. "evil2" : 5, // Long Live the King
  237. "neutral1" : 6, // Spoils of War
  238. "secret1" : 7 // Seeds Of Discontent
  239. },
  240. "campaignMusic" : {
  241. "CampainMusic01" : 0,
  242. "CampainMusic02" : 1,
  243. "CampainMusic03" : 2,
  244. "CampainMusic04" : 3,
  245. "CampainMusic05" : 4,
  246. "CampainMusic06" : 5,
  247. "CampainMusic07" : 6,
  248. "CampainMusic08" : 7,
  249. "CampainMusic09" : 8,
  250. "AiTheme0" : 9,
  251. "AiTheme1" : 10,
  252. "AiTheme2" : 11,
  253. "Combat01" : 12,
  254. "Combat02" : 13,
  255. "Combat03" : 14,
  256. "Combat04" : 15,
  257. "CstleTown" : 16,
  258. "TowerTown" : 17,
  259. "Rampart" : 18,
  260. "InfernoTown" : 19,
  261. "NecroTown" : 20,
  262. "Dungeon" : 21,
  263. "Stronghold" : 22,
  264. "FortressTown" : 23,
  265. "ElemTown" : 24,
  266. "Dirt" : 25,
  267. "Sand" : 26,
  268. "Grass" : 27,
  269. "Snow" : 28,
  270. "Swamp" : 29,
  271. "Rough" : 30,
  272. "Underground" : 31,
  273. "Lava" : 32,
  274. "Water" : 33,
  275. "GoodTheme" : 34,
  276. "NeutralTheme" : 35,
  277. "EvilTheme" : 36,
  278. "SecretTheme" : 37,
  279. "LoopLepr" : 38,
  280. "MainMenu" : 39,
  281. "Win Scenario" : 40
  282. },
  283. "campaignVideo" : {
  284. "GOOD1A.SMK" : 0,
  285. "GOOD1B.SMK" : 1,
  286. "GOOD1C.SMK" : 2,
  287. "EVIL1A.SMK" : 3,
  288. "EVIL1B.SMK" : 4,
  289. "EVIL1C.SMK" : 5,
  290. "NEUTRALA.SMK" : 6,
  291. "NEUTRALB.SMK" : 7,
  292. "NEUTRALC.SMK" : 8,
  293. "GOOD2A.SMK" : 9,
  294. "GOOD2B.SMK" : 10,
  295. "GOOD2C.SMK" : 11,
  296. "GOOD2D.SMK" : 12,
  297. "EVIL2A.SMK" : 13,
  298. "EVIL2AP1.SMK" : 14,
  299. "EVIL2B.SMK" : 15,
  300. "EVIL2C.SMK" : 16,
  301. "EVIL2D.SMK" : 17,
  302. "GOOD3A.SMK" : 18,
  303. "GOOD3B.SMK" : 19,
  304. "GOOD3C.SMK" : 20,
  305. "SECRETA.SMK" : 21,
  306. "SECRETB.SMK" : 22,
  307. "SECRETC.SMK" : 23
  308. }
  309. },
  310. "armageddonsBlade" : {
  311. "supported" : true,
  312. "iconIndex" : 1,
  313. "buildings" : {
  314. "conflux" : {
  315. "special1" : 10, // artifactMerchants
  316. "special2" : 18 // magicUniversity
  317. }
  318. },
  319. "portraits" : {
  320. "pasis" : 128,
  321. "thunar" : 129,
  322. "portraitGeneralKendal" : 156,
  323. "portraitYoungCristian" : 157,
  324. "portraitOrdwald" : 158
  325. },
  326. "campaignRegions" : {
  327. "dragonSlayer" : 8,
  328. "foolhardyWaywardness" : 9,
  329. "festivalOfLife" : 10,
  330. "dragonsBlood" : 11,
  331. "playingWithFire" : 12,
  332. "armageddonsBlade" : 13
  333. },
  334. "campaignMusic" : {
  335. "CampainMusic10" : 41,
  336. "BladeABCampaign" : 42,
  337. "BladeDBCampaign" : 43,
  338. "BladeDSCampaign" : 44,
  339. "BladeFLCampaign" : 45,
  340. "BladeFWCampaign" : 46,
  341. "BladePFCampaign" : 47
  342. },
  343. "campaignVideo" : {
  344. "H3ABab1.smk" : 24,
  345. "H3ABab2.smk" : 25,
  346. "H3ABab3.smk" : 26,
  347. "H3ABab4.smk" : 27,
  348. "H3ABab5.smk" : 28,
  349. "H3ABab6.smk" : 29,
  350. "H3ABab7.smk" : 30,
  351. "H3ABab8.smk" : 31,
  352. "H3ABab9.smk" : 32,
  353. "H3ABdb1.smk" : 33,
  354. "H3ABdb2.smk" : 34,
  355. "H3ABdb3.smk" : 35,
  356. "H3ABdb4.smk" : 36,
  357. "H3ABdb5.smk" : 37,
  358. "H3ABds1.smk" : 38,
  359. "H3ABds2.smk" : 39,
  360. "H3ABds3.smk" : 40,
  361. "H3ABds4.smk" : 41,
  362. "H3ABds5.smk" : 42,
  363. "H3ABfl1.smk" : 43,
  364. "H3ABfl2.smk" : 44,
  365. "H3ABfl3.smk" : 45,
  366. "H3ABfl4.smk" : 46,
  367. "H3ABfl5.smk" : 47,
  368. "H3ABfw1.smk" : 48,
  369. "H3ABfw2.smk" : 49,
  370. "H3ABfw3.smk" : 50,
  371. "H3ABfw4.smk" : 51,
  372. "H3ABfw5.smk" : 52,
  373. "H3ABpf1.smk" : 53,
  374. "H3ABpf2.smk" : 54,
  375. "H3ABpf3.smk" : 55,
  376. "H3ABpf4.smk" : 56
  377. }
  378. },
  379. "shadowOfDeath" : {
  380. "supported" : true,
  381. "iconIndex" : 2,
  382. "portraits" : {
  383. "portraitGeneralKendal" : 156,
  384. "portraitYoungCristian" : 157,
  385. "portraitOrdwald" : 158,
  386. "portraitFinneas" : 159,
  387. "portraitYoungGem" : 160,
  388. "portraitYoungSandro" : 161,
  389. "portraitYoungYog" : 162
  390. },
  391. "campaignRegions" : {
  392. "hackAndSlash" : 14,
  393. "birthOfBarbarian" : 15,
  394. "newBeginning" : 16,
  395. "elixirOfLife" : 17,
  396. "riseOfTheNecromancer" : 18,
  397. "unholyAlliance" : 19,
  398. "spectreOfPower" : 20
  399. },
  400. "campaignMusic" : {
  401. "CampainMusic11" : 48
  402. },
  403. "campaignVideo" : {
  404. "H3x2_BBa.smk" : 57,
  405. "H3x2_BBb.smk" : 58,
  406. "H3x2_BBc.smk" : 59,
  407. "H3x2_BBd.smk" : 60,
  408. "H3x2_BBe.smk" : 61,
  409. "H3x2_BBf.smk" : 62,
  410. "H3x2_Ela.smk" : 63,
  411. "H3x2_Elb.smk" : 64,
  412. "H3x2_Elc.smk" : 65,
  413. "H3x2_Eld.smk" : 66,
  414. "H3x2_Ele.smk" : 67,
  415. "H3x2_HSa.smk" : 68,
  416. "EVIL2C.SMK" : 69,
  417. "H3x2_HSc.smk" : 70,
  418. "H3x2_HSd.smk" : 71,
  419. "H3x2_HSe.smk" : 72,
  420. "H3x2_NBa.smk" : 73,
  421. "H3x2_NBb.smk" : 74,
  422. "H3x2_Nbc.smk" : 75,
  423. "H3x2_Nbd.smk" : 76,
  424. "H3x2_Nbe.smk" : 77,
  425. "H3x2_RNa.smk" : 78,
  426. "H3x2_RNb.smk" : 79,
  427. "H3x2_RNc.smk" : 80,
  428. "H3x2_RNd.smk" : 81,
  429. "H3x2_RNe1.smk": 82,
  430. "H3x2_SPa.smk" : 83,
  431. "H3x2_SPb.smk" : 84,
  432. "H3x2_SPc.smk" : 85,
  433. "H3x2_SPd.smk" : 86,
  434. "H3x2_SPe.smk" : 87,
  435. "H3x2_UAa.smk" : 88,
  436. "H3x2_UAb.smk" : 89,
  437. "H3x2_UAc.smk" : 90,
  438. "H3x2_UAd.smk" : 91,
  439. "H3x2_UAe.smk" : 92,
  440. "H3x2_UAf.smk" : 93,
  441. "H3x2_UAg.smk" : 94,
  442. "H3x2_UAh.smk" : 95,
  443. "H3x2_UAi.smk" : 96,
  444. "H3x2_UAj.smk" : 97,
  445. "H3x2_UAk.smk" : 98,
  446. "H3x2_UAl.smk" : 99,
  447. "H3x2_UAm.smk" : 100 //H3x2_UAm.bik?
  448. }
  449. },
  450. "chronicles" : {
  451. "supported" : false,
  452. "iconIndex" : 2
  453. },
  454. "jsonVCMI" : {
  455. "supported" : true,
  456. "iconIndex" : 3
  457. },
  458. "hornOfTheAbyss" : {
  459. "supported" : false
  460. },
  461. "inTheWakeOfGods" : {
  462. "supported" : false
  463. }
  464. },
  465. "heroes" :
  466. {
  467. // number of heroes that player can have active on map at the same time
  468. "perPlayerOnMapCap" : 8,
  469. // number of heroes that player can have in total, including garrisoned
  470. "perPlayerTotalCap" : 9999,
  471. // if enabled, hero that wins a battle without any non-summoned troops left will retreat and become available in tavern instead of being lost
  472. "retreatOnWinWithoutTroops" : true,
  473. // Chances for a hero with default army to receive corresponding stack out of his predefined starting troops
  474. "startingStackChances": [ 100, 88, 25],
  475. // number of artifacts that can fit in a backpack. -1 is unlimited.
  476. "backpackSize" : -1,
  477. // if heroes are invitable in tavern
  478. "tavernInvite" : false,
  479. // minimal primary skills for heroes
  480. "minimalPrimarySkills": [ 0, 0, 1, 1],
  481. /// minimal movement cost from one tile to another while offroad. Also see BASE_TILE_MOVEMENT_COST bonus type
  482. /// Also affects cost of Town Portal spell and movement cost when using Fly spell
  483. "movementCostBase" : 100,
  484. /// movement points hero can get on start of the turn when on land, depending on speed of slowest creature (0-based list)
  485. "movementPointsLand" : [ 1500, 1500, 1500, 1500, 1560, 1630, 1700, 1760, 1830, 1900, 1960, 2000 ],
  486. /// movement points hero can get on start of the turn when on sea, depending on speed of slowest creature (0-based list)
  487. "movementPointsSea" : [ 1500 ],
  488. /// maximal secondary skills per hero
  489. "skillPerHero" : 8,
  490. /// Base scouting range for hero without any range modifiers
  491. "baseScoutingRange" : 5,
  492. /// Strength of generic secondary skill specialties ( "secondary" : "skillName" ) per level
  493. "specialtySecondarySkillGrowth" : 5,
  494. /// Strength of generic creature specialties ( "creature" : "creatureName" ) per level
  495. "specialtyCreatureGrowth" : 5
  496. },
  497. "towns":
  498. {
  499. // How many new building can be built in a town per day
  500. "buildingsPerTurnCap" : 1,
  501. // Chances for a town with default buildings to receive corresponding dwelling level built in start
  502. "startingDwellingChances": [100, 50],
  503. // Enable spell research in mage guild
  504. "spellResearch": false,
  505. // Cost for an spell research (array index is spell tier)
  506. "spellResearchCost": [
  507. { "gold": 1000, "wood" : 2, "mercury": 2, "ore": 2, "sulfur": 2, "crystal": 2, "gems": 2 },
  508. { "gold": 1000, "wood" : 4, "mercury": 4, "ore": 4, "sulfur": 4, "crystal": 4, "gems": 4 },
  509. { "gold": 1000, "wood" : 6, "mercury": 6, "ore": 6, "sulfur": 6, "crystal": 6, "gems": 6 },
  510. { "gold": 1000, "wood" : 8, "mercury": 8, "ore": 8, "sulfur": 8, "crystal": 8, "gems": 8 },
  511. { "gold": 1000, "wood" : 10, "mercury": 10, "ore": 10, "sulfur": 10, "crystal": 10, "gems": 10 }
  512. ],
  513. // How much researchs/skips per day are possible? (array index is spell tier)
  514. "spellResearchPerDay": [ 2, 2, 2, 2, 1 ],
  515. // Exponent for increasing cost for each research (factor 1 disables this; array index is spell tier)
  516. "spellResearchCostExponentPerResearch": [ 1.25, 1.25, 1.25, 1.25, 1.25 ],
  517. // Base scouting range for town without any range modifiers
  518. "baseScoutingRange" : 5
  519. },
  520. "combat":
  521. {
  522. // defines bias used for percentage-based ability rolls, such Death Blow of Dread Knight
  523. // 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
  524. // multiple times in a row, or be unlucky and not roll 50% ability multiple times in a row
  525. // If bias is non-zero, game will adjust probability based on previous rolls while keeping average chance at desired value
  526. // So matter what value is used for bias, actual probability for large (1000+) number of rolls is same as stated in description
  527. // However, non-zero bias allows to prevent long streaks of "bad" rolls, and enforce actual probabilities even for small (10-20) number of rolls
  528. // Recommended value is ~10-25. Excessively large values, like 100 can make rolls very predictable, for example rolling 20% ability every 5th roll
  529. "abilityBias" : 25,
  530. // defines dice chance and dice size of a morale roll, based on creature's morale.
  531. // Resulting chance is chanceValue / diceSize. If list contains 0 values, option will be disabled
  532. "goodMoraleChance" : [ 1, 2, 3 ],
  533. "badMoraleChance" : [ 2, 4, 6],
  534. "moraleDiceSize" : 24,
  535. // Bias for morale rolls. See abilityBias for detailed description
  536. // Recommended value is around moraleDiceSize / 4
  537. "moraleBias" : 8,
  538. // defines dice chance and dice size of a luck roll, based on creature's luck
  539. "goodLuckChance" : [ 1, 2, 3 ],
  540. "badLuckChance" : [],
  541. "luckDiceSize" : 24,
  542. // Bias for luck rolls. See abilityBias for detailed description
  543. // Recommended value is around luckDiceSize / 4
  544. "luckBias" : 8,
  545. // every 1 attack point damage influence in battle when attack points > defense points during creature attack
  546. "attackPointDamageFactor": 0.05,
  547. // limit of damage increase that can be achieved by overpowering attack points
  548. "attackPointDamageFactorCap": 4.0,
  549. // every 1 defense point damage influence in battle when defense points > attack points during creature attack
  550. "defensePointDamageFactor": 0.025,
  551. // limit of damage reduction that can be achieved by overpowering defense points
  552. "defensePointDamageFactorCap": 0.7,
  553. // If set to true, double-wide creatures will trigger obstacle effect when moving one tile forward or backwards
  554. "oneHexTriggersObstacles": false,
  555. // Allow area shooters with SPELL_LIKE_ATTACK bonus such as liches or magogs to target empty hexes
  556. "areaShotCanTargetEmptyHex" : false,
  557. // Positions of units on start of the combat
  558. // If battle does not defines specific configuration, 'default' configuration will be used
  559. // Configuration must define either 'attackerUnits' list of 7 elements or both 'attackerUnitsLoose' and 'attackerUnitsTight' lists of 7 elements, 1..7 elements each
  560. // Similarly, for defender configuration must have either 'defenderUnits' or both 'defenderUnitsLoose' and 'defenderUnitsTight'
  561. "layouts" : {
  562. "default" : {
  563. "tacticsAllowed" : true,
  564. "obstaclesAllowed" : true,
  565. "attackerCommander" : 88,
  566. "defenderCommander" : 98,
  567. "attackerWarMachines" : [ 52, 18, 154, 120 ],
  568. "defenderWarMachines" : [ 66, 32, 168, 134 ],
  569. "attackerUnitsLoose": [
  570. [ 86 ],
  571. [ 35, 137 ],
  572. [ 35, 86, 137 ],
  573. [ 1, 69, 103, 171 ],
  574. [ 1, 35, 86, 137, 171 ],
  575. [ 1, 35, 69, 103, 137, 171 ],
  576. [ 1, 35, 69, 86, 103, 137, 171 ]
  577. ],
  578. "defenderUnitsLoose": [
  579. [ 100 ],
  580. [ 49, 151 ],
  581. [ 49, 100, 151 ],
  582. [ 15, 83, 117, 185 ],
  583. [ 15, 49, 100, 151, 185 ],
  584. [ 15, 49, 83, 117, 151, 185 ],
  585. [ 15, 49, 83, 100, 117, 151, 185 ]
  586. ],
  587. "attackerUnitsTight": [
  588. [ 86 ],
  589. [ 69, 103 ],
  590. [ 69, 86, 103 ],
  591. [ 35, 69, 103, 137 ],
  592. [ 35, 69, 86, 103, 137 ],
  593. [ 1, 35, 69, 103, 137, 171 ],
  594. [ 1, 35, 69, 86, 103, 137, 171 ]
  595. ],
  596. "defenderUnitsTight": [
  597. [ 100 ],
  598. [ 83, 117 ],
  599. [ 83, 100, 117 ],
  600. [ 49, 83, 117, 151 ],
  601. [ 49, 83, 100, 117, 151 ],
  602. [ 15, 49, 83, 117, 151, 185 ],
  603. [ 15, 49, 83, 100, 117, 151, 185 ]
  604. ]
  605. },
  606. // Configuration for creature banks with single-tile enemies
  607. "creatureBankNarrow" : {
  608. "tacticsAllowed" : false,
  609. "obstaclesAllowed" : false,
  610. "attackerCommander" : 95,
  611. "defenderCommander" : 8,
  612. "attackerUnits": [ 57, 61, 90, 93, 96, 125, 129 ],
  613. "defenderUnits": [ 15, 185, 172, 2, 100, 87, 8 ]
  614. },
  615. // Configuration for creature banks with double-wide enemies
  616. "creatureBankWide" : {
  617. "tacticsAllowed" : false,
  618. "obstaclesAllowed" : false,
  619. "attackerCommander" : 95,
  620. "defenderCommander" : 8,
  621. "attackerUnits": [ 57, 61, 90, 93, 96, 125, 129 ],
  622. "defenderUnits": [ 15, 185, 171, 1, 100, 86, 8 ]
  623. }
  624. }
  625. },
  626. "creatures":
  627. {
  628. // creatures on map will grow by specified percentage each week
  629. "weeklyGrowthPercent" : 10,
  630. // creatures on map will not grow if their quantity is greater than this value
  631. "weeklyGrowthCap" : 4000,
  632. // if stack experience is on, creatures on map will get specified amount of experience daily
  633. "dailyStackExperience" : 100,
  634. // if enabled, double growth, plague and creature weeks can happen randomly. Has no effect on weeks by "Deity of Fire"
  635. // NOTE: on HotA maps, this setting has no effect. Value provided in map will be used instead.
  636. "allowRandomSpecialWeeks" : true,
  637. // if enabled, every creature can get double growth month, ignoring predefined list
  638. "allowAllForDoubleMonth" : false,
  639. // if enabled creatures may join player for free, disabling it removes free joining globally unless creature is set to join in map editor
  640. "allowJoiningForFree" : true,
  641. // 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
  642. "joiningPercentage" : 100
  643. },
  644. "dwellings" :
  645. {
  646. // if enabled, neutral dwellings will accumulate creatures
  647. "accumulateWhenNeutral" : false,
  648. // if enabled, dwellings owned by players will accumulate creatures
  649. "accumulateWhenOwned" : false,
  650. // if enabled, game will attempt to merge slots in army on recruit if all slots in hero army are in use
  651. "mergeOnRecruit" : true
  652. },
  653. "mapObjects" :
  654. {
  655. // Allow behavior that emulates h3 bug where quest from Seer Hut or Border Guard can take entire army from hero
  656. // WARNING: handling of heroes without armies is not tested and may lead to bugs or crashes! Use at own risk!
  657. // If this option is off, quests will only allow taking entire army if quest reward also gives creatures
  658. "h3BugQuestTakesEntireArmy" : false
  659. },
  660. "markets" :
  661. {
  662. // period between restocking of "Black Market" object found on adventure map
  663. "blackMarketRestockPeriod" : 0
  664. },
  665. "banks" :
  666. {
  667. // show guards composition when visiting creature banks
  668. "showGuardsComposition" : true
  669. },
  670. "modules":
  671. {
  672. // if enabled, creatures may collect experience (WoG feature)
  673. "stackExperience": false,
  674. // if enabled, certain artifacts can be granted to creatures (WoG feature)
  675. "stackArtifact": false,
  676. // if enabled, all heroes gain commander creature in battle (WoG feature)
  677. "commanders": false
  678. },
  679. "pathfinder" :
  680. {
  681. // if enabled, pathfinder will build path through locations guarded by wandering monsters
  682. "ignoreGuards" : false,
  683. // if enabled, pathfinder will take use of any available boats
  684. "useBoat" : true,
  685. // if enabled, pathfinder will take use of any bidirectional monoliths
  686. "useMonolithTwoWay" : true,
  687. // if enabled, pathfinder will take use of one-way monolith that only have one known exit
  688. "useMonolithOneWayUnique" : false,
  689. // if enabled, pathfinder will take use of one-way monoliths with multiple exits.
  690. "useMonolithOneWayRandom" : false,
  691. // if enabled and hero has whirlpool protection effect, pathfinder will take use of whirpools
  692. "useWhirlpool" : true,
  693. // if enabled flying will work like in original game, otherwise nerf similar to HotA flying is applied
  694. "originalFlyRules" : true
  695. },
  696. "resources" : {
  697. // H3 mechanics - AI receives bonus (or malus, on easy) to his resource income
  698. // AI will receive specified values as percentage of his weekly income
  699. // So, "gems" : 200 will give AI player 200% of his daily income of gems over week, or, in other words,
  700. // giving AI player 2 additional gems per week for every owned Gem Pond
  701. "weeklyBonusesAI" : {
  702. "pawn" : { "gold" : -175 },
  703. "knight": {},
  704. "rook" : {},
  705. "queen" : { "wood" : 275 , "mercury" : 100, "ore" : 275, "sulfur" : 100, "crystal" : 100, "gems" : 100, "gold" : 175},
  706. "king" : { "wood" : 375 , "mercury" : 200, "ore" : 375, "sulfur" : 200, "crystal" : 200, "gems" : 200, "gold" : 350}
  707. }
  708. },
  709. "spells":
  710. {
  711. // if enabled, dimension work doesn't work into tiles under Fog of War
  712. "dimensionDoorOnlyToUncoveredTiles" : false,
  713. // if enabled, dimension door will hint regarding tile being incompatible terrain type, unlike H3 (water/land)
  714. "dimensionDoorExposesTerrainType" : false,
  715. // if enabled, attempt to use dimension door on incompatible terrain (water/land) will result in spending of mana, movement and casts per day (H3 behavior)
  716. "dimensionDoorFailureSpendsPoints" : true,
  717. // if enabled, dimension door will initiate a fight upon landing on tile adjacent to neutral creature
  718. "dimensionDoorTriggersGuards" : false,
  719. // if enabled, dimension door can be used 1x per day, exception being 2x per day for XL+U or bigger maps (41472 tiles) + hero having expert air magic
  720. "dimensionDoorTournamentRulesLimit" : false
  721. },
  722. "bonuses" :
  723. {
  724. "global" :
  725. {
  726. "spellDamage" :
  727. {
  728. "type" : "SPELL_DAMAGE",
  729. "subtype" : "spellSchool.any",
  730. "val" : 100,
  731. "valueType" : "BASE_NUMBER"
  732. },
  733. "wisdom" :
  734. {
  735. "type" : "MAX_LEARNABLE_SPELL_LEVEL", //Hero can always learn level 1 and 2 spells
  736. "val" : 2,
  737. "valueType" : "BASE_NUMBER"
  738. }
  739. },
  740. "perHero":
  741. {
  742. "manaRegeneration" :
  743. {
  744. "type" : "MANA_REGENERATION", //default mana regeneration
  745. "val" : 1,
  746. "valueType" : "BASE_NUMBER"
  747. },
  748. "experienceGain" :
  749. {
  750. "type" : "HERO_EXPERIENCE_GAIN_PERCENT", //default hero xp
  751. "val" : 100,
  752. "valueType" : "BASE_NUMBER"
  753. },
  754. "manaPerKnowledge" :
  755. {
  756. "type" : "MANA_PER_KNOWLEDGE_PERCENTAGE", //1000% mana per knowledge
  757. "val" : 1000,
  758. "valueType" : "BASE_NUMBER"
  759. },
  760. "spellCastsPerTurn" :
  761. {
  762. "type" : "HERO_SPELL_CASTS_PER_COMBAT_TURN", //1 spell can be cast by hero per turn during combat
  763. "val" : 1,
  764. "valueType" : "BASE_NUMBER"
  765. }
  766. }
  767. },
  768. "interface" :
  769. {
  770. // Color transform to make color of brown DIBOX.PCX texture match color of specified player
  771. "playerColoredBackground" :
  772. {
  773. "red" : [ 0.25, 0, 0, 1.25, 0.00, 0.00 ],
  774. "blue" : [ 0, 0, 0, 0.45, 1.20, 4.50 ],
  775. "tan" : [ 0.40, 0.27, 0.23, 1.10, 1.20, 1.15 ],
  776. "green" : [ -0.27, 0.10, -0.27, 0.70, 1.70, 0.70 ],
  777. "orange" : [ 0.47, 0.17, -0.27, 1.60, 1.20, 0.70 ],
  778. "purple" : [ 0.12, -0.1, 0.25, 1.15, 1.20, 2.20 ],
  779. "teal" : [ -0.13, 0.23, 0.23, 0.90, 1.20, 2.20 ],
  780. "pink" : [ 0.44, 0.15, 0.25, 1.00, 1.00, 1.75 ]
  781. }
  782. }
  783. }
  784. }