gameConfig.json 27 KB

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