@v12-engine/engine 0.1.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (951) hide show
  1. package/dist/abilities/amounts.d.ts +28 -0
  2. package/dist/abilities/amounts.js +74 -0
  3. package/dist/abilities/amounts.js.map +1 -0
  4. package/dist/abilities/buffs.d.ts +106 -6
  5. package/dist/abilities/buffs.js +443 -0
  6. package/dist/abilities/buffs.js.map +1 -0
  7. package/dist/abilities/castTold.d.ts +2 -0
  8. package/dist/abilities/castTold.js +66 -0
  9. package/dist/abilities/castTold.js.map +1 -0
  10. package/dist/abilities/chance.d.ts +38 -0
  11. package/dist/abilities/chance.js +77 -0
  12. package/dist/abilities/chance.js.map +1 -0
  13. package/dist/abilities/charges.d.ts +18 -0
  14. package/dist/abilities/charges.js +101 -0
  15. package/dist/abilities/charges.js.map +1 -0
  16. package/dist/abilities/control.d.ts +28 -0
  17. package/dist/abilities/control.js +113 -0
  18. package/dist/abilities/control.js.map +1 -0
  19. package/dist/abilities/dispel.js +51 -0
  20. package/dist/abilities/dispel.js.map +1 -0
  21. package/dist/abilities/effectFields.d.ts +1 -1
  22. package/dist/abilities/effectFields.js +676 -0
  23. package/dist/abilities/effectFields.js.map +1 -0
  24. package/dist/abilities/effectIndex.d.ts +27 -0
  25. package/dist/abilities/effectIndex.js +64 -0
  26. package/dist/abilities/effectIndex.js.map +1 -0
  27. package/dist/abilities/effects/buff.d.ts +9 -3
  28. package/dist/abilities/effects/buff.js +84 -0
  29. package/dist/abilities/effects/buff.js.map +1 -0
  30. package/dist/abilities/effects/conditions.d.ts +2 -0
  31. package/dist/abilities/effects/conditions.js +41 -0
  32. package/dist/abilities/effects/conditions.js.map +1 -0
  33. package/dist/abilities/effects/core.js +54 -0
  34. package/dist/abilities/effects/core.js.map +1 -0
  35. package/dist/abilities/effects/damage.d.ts +1 -1
  36. package/dist/abilities/effects/damage.js +43 -0
  37. package/dist/abilities/effects/damage.js.map +1 -0
  38. package/dist/abilities/effects/heal.d.ts +2 -2
  39. package/dist/abilities/effects/heal.js +51 -0
  40. package/dist/abilities/effects/heal.js.map +1 -0
  41. package/dist/abilities/effects/missile.d.ts +13 -1
  42. package/dist/abilities/effects/missile.js +104 -0
  43. package/dist/abilities/effects/missile.js.map +1 -0
  44. package/dist/abilities/effects/morph.d.ts +5 -0
  45. package/dist/abilities/effects/morph.js +43 -0
  46. package/dist/abilities/effects/morph.js.map +1 -0
  47. package/dist/abilities/effects/moves.d.ts +16 -4
  48. package/dist/abilities/effects/moves.js +212 -0
  49. package/dist/abilities/effects/moves.js.map +1 -0
  50. package/dist/abilities/effects/passives.d.ts +19 -9
  51. package/dist/abilities/effects/passives.js +131 -0
  52. package/dist/abilities/effects/passives.js.map +1 -0
  53. package/dist/abilities/effects/proxy.d.ts +5 -0
  54. package/dist/abilities/effects/proxy.js +60 -0
  55. package/dist/abilities/effects/proxy.js.map +1 -0
  56. package/dist/abilities/effects/sight.d.ts +2 -2
  57. package/dist/abilities/effects/sight.js +39 -0
  58. package/dist/abilities/effects/sight.js.map +1 -0
  59. package/dist/abilities/effects/spawn.d.ts +5 -2
  60. package/dist/abilities/effects/spawn.js +40 -0
  61. package/dist/abilities/effects/spawn.js.map +1 -0
  62. package/dist/abilities/effects/timed.d.ts +2 -2
  63. package/dist/abilities/effects/timed.js +96 -0
  64. package/dist/abilities/effects/timed.js.map +1 -0
  65. package/dist/abilities/effects/trade.d.ts +1 -1
  66. package/dist/abilities/effects/trade.js +25 -0
  67. package/dist/abilities/effects/trade.js.map +1 -0
  68. package/dist/abilities/effects.d.ts +97 -23
  69. package/dist/abilities/effects.js +860 -0
  70. package/dist/abilities/effects.js.map +1 -0
  71. package/dist/abilities/land.d.ts +38 -4
  72. package/dist/abilities/land.js +189 -0
  73. package/dist/abilities/land.js.map +1 -0
  74. package/dist/abilities/recast.d.ts +45 -0
  75. package/dist/abilities/recast.js +118 -0
  76. package/dist/abilities/recast.js.map +1 -0
  77. package/dist/abilities/scaled.js +40 -0
  78. package/dist/abilities/scaled.js.map +1 -0
  79. package/dist/abilities/screen.d.ts +6 -0
  80. package/dist/abilities/screen.js +83 -0
  81. package/dist/abilities/screen.js.map +1 -0
  82. package/dist/abilities/shapes.d.ts +66 -0
  83. package/dist/abilities/shapes.js +122 -0
  84. package/dist/abilities/shapes.js.map +1 -0
  85. package/dist/abilities/text.d.ts +14 -2
  86. package/dist/abilities/text.js +204 -0
  87. package/dist/abilities/text.js.map +1 -0
  88. package/dist/abilities/triggers.d.ts +98 -0
  89. package/dist/abilities/triggers.js +351 -0
  90. package/dist/abilities/triggers.js.map +1 -0
  91. package/dist/abilityChanges.d.ts +131 -0
  92. package/dist/abilityChanges.js +345 -0
  93. package/dist/abilityChanges.js.map +1 -0
  94. package/dist/ai/area.d.ts +4 -1
  95. package/dist/ai/brain.d.ts +4 -1
  96. package/dist/ai/brain.js +844 -0
  97. package/dist/ai/brain.js.map +1 -0
  98. package/dist/ai/budget.js +74 -0
  99. package/dist/ai/budget.js.map +1 -0
  100. package/dist/ai/checks.d.ts +9 -1
  101. package/dist/ai/checks.js +242 -0
  102. package/dist/ai/checks.js.map +1 -0
  103. package/dist/ai/computer.d.ts +11 -4
  104. package/dist/ai/computer.js +251 -0
  105. package/dist/ai/computer.js.map +1 -0
  106. package/dist/ai/defence.d.ts +4 -0
  107. package/dist/ai/defence.js +430 -0
  108. package/dist/ai/defence.js.map +1 -0
  109. package/dist/ai/define.d.ts +3 -2
  110. package/dist/ai/define.js +31 -0
  111. package/dist/ai/define.js.map +1 -0
  112. package/dist/ai/economy.d.ts +10 -7
  113. package/dist/ai/economy.js +780 -0
  114. package/dist/ai/economy.js.map +1 -0
  115. package/dist/ai/geometry.js +38 -0
  116. package/dist/ai/geometry.js.map +1 -0
  117. package/dist/ai/goals.d.ts +1 -0
  118. package/dist/ai/goals.js +560 -0
  119. package/dist/ai/goals.js.map +1 -0
  120. package/dist/ai/knowledge.d.ts +72 -7
  121. package/dist/ai/knowledge.js +804 -0
  122. package/dist/ai/knowledge.js.map +1 -0
  123. package/dist/ai/lanes.d.ts +10 -2
  124. package/dist/ai/lanes.js +715 -0
  125. package/dist/ai/lanes.js.map +1 -0
  126. package/dist/ai/melee/build.js +264 -0
  127. package/dist/ai/melee/build.js.map +1 -0
  128. package/dist/ai/melee/goals.d.ts +7 -0
  129. package/dist/ai/melee/goals.js +720 -0
  130. package/dist/ai/melee/goals.js.map +1 -0
  131. package/dist/ai/melee/heroes.js +68 -0
  132. package/dist/ai/melee/heroes.js.map +1 -0
  133. package/dist/ai/melee/index.d.ts +1 -1
  134. package/dist/ai/melee/index.js +51 -0
  135. package/dist/ai/melee/index.js.map +1 -0
  136. package/dist/ai/melee/production.js +29 -0
  137. package/dist/ai/melee/production.js.map +1 -0
  138. package/dist/ai/melee/surrender.js +64 -0
  139. package/dist/ai/melee/surrender.js.map +1 -0
  140. package/dist/ai/micro.d.ts +9 -0
  141. package/dist/ai/micro.js +1316 -0
  142. package/dist/ai/micro.js.map +1 -0
  143. package/dist/ai/mission.d.ts +9 -2
  144. package/dist/ai/mission.js +538 -0
  145. package/dist/ai/mission.js.map +1 -0
  146. package/dist/ai/missionRules.d.ts +1 -1
  147. package/dist/ai/missionRules.js +26 -0
  148. package/dist/ai/missionRules.js.map +1 -0
  149. package/dist/ai/module.d.ts +6 -2
  150. package/dist/ai/module.js +37 -0
  151. package/dist/ai/module.js.map +1 -0
  152. package/dist/ai/options.d.ts +3 -3
  153. package/dist/ai/plans/build.d.ts +20 -1
  154. package/dist/ai/plans/build.js +608 -0
  155. package/dist/ai/plans/build.js.map +1 -0
  156. package/dist/ai/plans/placement.d.ts +4 -1
  157. package/dist/ai/plans/placement.js +295 -0
  158. package/dist/ai/plans/placement.js.map +1 -0
  159. package/dist/ai/plans/plans.d.ts +9 -0
  160. package/dist/ai/plans/plans.js +110 -0
  161. package/dist/ai/plans/plans.js.map +1 -0
  162. package/dist/ai/plans/production.d.ts +14 -2
  163. package/dist/ai/plans/production.js +434 -0
  164. package/dist/ai/plans/production.js.map +1 -0
  165. package/dist/ai/plans/purse.d.ts +6 -3
  166. package/dist/ai/plans/purse.js +139 -0
  167. package/dist/ai/plans/purse.js.map +1 -0
  168. package/dist/ai/plans/tech.d.ts +6 -0
  169. package/dist/ai/plans/tech.js +122 -0
  170. package/dist/ai/plans/tech.js.map +1 -0
  171. package/dist/ai/profiles.d.ts +4 -4
  172. package/dist/{profiles-B3NS9jwk.js → ai/profiles.js} +3 -98
  173. package/dist/ai/profiles.js.map +1 -0
  174. package/dist/ai/reach.js +54 -0
  175. package/dist/ai/reach.js.map +1 -0
  176. package/dist/ai/report.d.ts +8 -0
  177. package/dist/ai/report.js +87 -0
  178. package/dist/ai/report.js.map +1 -0
  179. package/dist/ai/roles.d.ts +4 -0
  180. package/dist/ai/roles.js +207 -0
  181. package/dist/ai/roles.js.map +1 -0
  182. package/dist/ai/rules.d.ts +8 -2
  183. package/dist/ai/rules.js +416 -0
  184. package/dist/ai/rules.js.map +1 -0
  185. package/dist/ai/scouting.d.ts +6 -0
  186. package/dist/ai/scouting.js +324 -0
  187. package/dist/ai/scouting.js.map +1 -0
  188. package/dist/ai/settings.js +99 -0
  189. package/dist/ai/settings.js.map +1 -0
  190. package/dist/ai/squads.d.ts +21 -2
  191. package/dist/ai/squads.js +916 -0
  192. package/dist/ai/squads.js.map +1 -0
  193. package/dist/ai/strength.js +320 -0
  194. package/dist/ai/strength.js.map +1 -0
  195. package/dist/ai/task.d.ts +3 -1
  196. package/dist/ai/task.js +17 -0
  197. package/dist/ai/task.js.map +1 -0
  198. package/dist/ai/tasks/attack.js +24 -0
  199. package/dist/ai/tasks/attack.js.map +1 -0
  200. package/dist/ai/tasks/capture.d.ts +3 -3
  201. package/dist/ai/tasks/capture.js +37 -0
  202. package/dist/ai/tasks/capture.js.map +1 -0
  203. package/dist/ai/tasks/creep.js +29 -0
  204. package/dist/ai/tasks/creep.js.map +1 -0
  205. package/dist/ai/tasks/defend.js +61 -0
  206. package/dist/ai/tasks/defend.js.map +1 -0
  207. package/dist/ai/tasks/drop.js +81 -0
  208. package/dist/ai/tasks/drop.js.map +1 -0
  209. package/dist/ai/tasks/escort.js +59 -0
  210. package/dist/ai/tasks/escort.js.map +1 -0
  211. package/dist/ai/tasks/gather.js +48 -0
  212. package/dist/ai/tasks/gather.js.map +1 -0
  213. package/dist/ai/tasks/harass.js +39 -0
  214. package/dist/ai/tasks/harass.js.map +1 -0
  215. package/dist/ai/tasks/hold.js +32 -0
  216. package/dist/ai/tasks/hold.js.map +1 -0
  217. package/dist/ai/tasks/index.js +34 -0
  218. package/dist/ai/tasks/index.js.map +1 -0
  219. package/dist/ai/tasks/move.js +26 -0
  220. package/dist/ai/tasks/move.js.map +1 -0
  221. package/dist/ai/tasks/patrol.js +59 -0
  222. package/dist/ai/tasks/patrol.js.map +1 -0
  223. package/dist/ai/tasks/retreat.js +28 -0
  224. package/dist/ai/tasks/retreat.js.map +1 -0
  225. package/dist/ai/tasks/scout.js +73 -0
  226. package/dist/ai/tasks/scout.js.map +1 -0
  227. package/dist/ai/tasks/shared.d.ts +1 -1
  228. package/dist/ai/tasks/shared.js +137 -0
  229. package/dist/ai/tasks/shared.js.map +1 -0
  230. package/dist/ai/team.d.ts +18 -1
  231. package/dist/ai/team.js +492 -0
  232. package/dist/ai/team.js.map +1 -0
  233. package/dist/ai/threat.d.ts +6 -0
  234. package/dist/ai/threat.js +206 -0
  235. package/dist/ai/threat.js.map +1 -0
  236. package/dist/ai/view.d.ts +21 -7
  237. package/dist/ai/view.js +677 -0
  238. package/dist/ai/view.js.map +1 -0
  239. package/dist/ai/waves.d.ts +6 -0
  240. package/dist/ai/waves.js +410 -0
  241. package/dist/ai/waves.js.map +1 -0
  242. package/dist/ai.js +54 -6239
  243. package/dist/aiTesting.d.ts +6 -3
  244. package/dist/aiTesting.js +229 -0
  245. package/dist/aiTesting.js.map +1 -0
  246. package/dist/areas.d.ts +4 -1
  247. package/dist/areas.js +295 -0
  248. package/dist/areas.js.map +1 -0
  249. package/dist/attacks.d.ts +3 -3
  250. package/dist/attacks.js +127 -0
  251. package/dist/attacks.js.map +1 -0
  252. package/dist/burning.d.ts +267 -0
  253. package/dist/burning.js +795 -0
  254. package/dist/burning.js.map +1 -0
  255. package/dist/bytes.js +21 -0
  256. package/dist/bytes.js.map +1 -0
  257. package/dist/callings.d.ts +71 -0
  258. package/dist/callings.js +157 -0
  259. package/dist/callings.js.map +1 -0
  260. package/dist/cameraOrders.d.ts +78 -0
  261. package/dist/cameraOrders.js +114 -0
  262. package/dist/cameraOrders.js.map +1 -0
  263. package/dist/camps.d.ts +70 -4
  264. package/dist/camps.js +501 -0
  265. package/dist/camps.js.map +1 -0
  266. package/dist/capture.d.ts +15 -3
  267. package/dist/capture.js +304 -0
  268. package/dist/capture.js.map +1 -0
  269. package/dist/cellLayers.d.ts +78 -13
  270. package/dist/cellLayers.js +275 -0
  271. package/dist/cellLayers.js.map +1 -0
  272. package/dist/cellPatches.d.ts +24 -0
  273. package/dist/cellPatches.js +73 -0
  274. package/dist/cellPatches.js.map +1 -0
  275. package/dist/cinematics.d.ts +10 -5
  276. package/dist/cinematics.js +161 -0
  277. package/dist/cinematics.js.map +1 -0
  278. package/dist/clock.d.ts +2 -2
  279. package/dist/clock.js +78 -0
  280. package/dist/clock.js.map +1 -0
  281. package/dist/commands.d.ts +36 -4
  282. package/dist/commands.js +636 -0
  283. package/dist/commands.js.map +1 -0
  284. package/dist/components.d.ts +31 -10
  285. package/dist/components.js +74 -0
  286. package/dist/components.js.map +1 -0
  287. package/dist/computers.d.ts +4 -4
  288. package/dist/computers.js +194 -0
  289. package/dist/computers.js.map +1 -0
  290. package/dist/concealment.d.ts +25 -2
  291. package/dist/concealment.js +409 -0
  292. package/dist/concealment.js.map +1 -0
  293. package/dist/coreComponents.js +130 -0
  294. package/dist/coreComponents.js.map +1 -0
  295. package/dist/createGame.d.ts +306 -0
  296. package/dist/createGame.js +405 -0
  297. package/dist/createGame.js.map +1 -0
  298. package/dist/dashing.d.ts +18 -2
  299. package/dist/dashing.js +41 -0
  300. package/dist/dashing.js.map +1 -0
  301. package/dist/debug.d.ts +8 -0
  302. package/dist/debug.js +5 -3
  303. package/dist/debug2.js +76 -0
  304. package/dist/debug2.js.map +1 -0
  305. package/dist/debugCommands.d.ts +6 -6
  306. package/dist/debugCommands.js +537 -0
  307. package/dist/debugCommands.js.map +1 -0
  308. package/dist/debugging.d.ts +1 -0
  309. package/dist/defaultSets.d.ts +183 -0
  310. package/dist/defaultSets.js +216 -0
  311. package/dist/defaultSets.js.map +1 -0
  312. package/dist/definitions.d.ts +6 -0
  313. package/dist/definitions.js +78 -0
  314. package/dist/definitions.js.map +1 -0
  315. package/dist/defs.d.ts +1895 -165
  316. package/dist/defs.js +380 -0
  317. package/dist/defs.js.map +1 -0
  318. package/dist/denying.d.ts +4 -4
  319. package/dist/denying.js +106 -0
  320. package/dist/denying.js.map +1 -0
  321. package/dist/destructibles.d.ts +2 -2
  322. package/dist/destructibles.js +36 -0
  323. package/dist/destructibles.js.map +1 -0
  324. package/dist/determinism.d.ts +4 -4
  325. package/dist/determinism.js +247 -0
  326. package/dist/determinism.js.map +1 -0
  327. package/dist/dialog.d.ts +17 -2
  328. package/dist/dialog.js +108 -0
  329. package/dist/dialog.js.map +1 -0
  330. package/dist/effectRefs.js +28 -0
  331. package/dist/effectRefs.js.map +1 -0
  332. package/dist/effects.d.ts +27 -11
  333. package/dist/effects.js +110 -0
  334. package/dist/effects.js.map +1 -0
  335. package/dist/endings.d.ts +1 -1
  336. package/dist/endings.js +78 -0
  337. package/dist/endings.js.map +1 -0
  338. package/dist/engagement.d.ts +40 -6
  339. package/dist/engagement.js +530 -0
  340. package/dist/engagement.js.map +1 -0
  341. package/dist/engineEvents.d.ts +72 -9
  342. package/dist/engineEvents.js +520 -0
  343. package/dist/engineEvents.js.map +1 -0
  344. package/dist/entity.d.ts +275 -26
  345. package/dist/entity.js +441 -0
  346. package/dist/entity.js.map +1 -0
  347. package/dist/entityIndex.d.ts +10 -3
  348. package/dist/entityIndex.js +149 -0
  349. package/dist/entityIndex.js.map +1 -0
  350. package/dist/errors.d.ts +6 -2
  351. package/dist/errors.js +59 -0
  352. package/dist/errors.js.map +1 -0
  353. package/dist/events.d.ts +11 -5
  354. package/dist/events.js +158 -0
  355. package/dist/events.js.map +1 -0
  356. package/dist/exactMath.js +273 -0
  357. package/dist/exactMath.js.map +1 -0
  358. package/dist/features.d.ts +1 -1
  359. package/dist/features.js +127 -0
  360. package/dist/features.js.map +1 -0
  361. package/dist/fields.d.ts +25 -5
  362. package/dist/fields.js +140 -0
  363. package/dist/fields.js.map +1 -0
  364. package/dist/fixture.d.ts +3 -3
  365. package/dist/fixture.js +512 -0
  366. package/dist/fixture.js.map +1 -0
  367. package/dist/fog.d.ts +26 -3
  368. package/dist/fog.js +333 -0
  369. package/dist/fog.js.map +1 -0
  370. package/dist/foliage.d.ts +476 -0
  371. package/dist/foliage.js +1478 -0
  372. package/dist/foliage.js.map +1 -0
  373. package/dist/foliageDebug.d.ts +57 -0
  374. package/dist/foliageDebug.js +172 -0
  375. package/dist/foliageDebug.js.map +1 -0
  376. package/dist/foliageRegrowth.d.ts +20 -0
  377. package/dist/foliageRegrowth.js +332 -0
  378. package/dist/foliageRegrowth.js.map +1 -0
  379. package/dist/formState.d.ts +67 -0
  380. package/dist/formState.js +65 -0
  381. package/dist/formState.js.map +1 -0
  382. package/dist/formation.d.ts +46 -8
  383. package/dist/formation.js +297 -0
  384. package/dist/formation.js.map +1 -0
  385. package/dist/forms.d.ts +58 -0
  386. package/dist/forms.js +146 -0
  387. package/dist/forms.js.map +1 -0
  388. package/dist/friendlyFire.d.ts +2 -2
  389. package/dist/friendlyFire.js +37 -0
  390. package/dist/friendlyFire.js.map +1 -0
  391. package/dist/game.d.ts +141 -48
  392. package/dist/game.js +834 -0
  393. package/dist/game.js.map +1 -0
  394. package/dist/gameData.d.ts +96 -22
  395. package/dist/gameData.js +1690 -0
  396. package/dist/gameData.js.map +1 -0
  397. package/dist/gameFiles.d.ts +3 -3
  398. package/dist/gameFiles.js +14 -0
  399. package/dist/gameFiles.js.map +1 -0
  400. package/dist/gates.js +92 -0
  401. package/dist/gates.js.map +1 -0
  402. package/dist/generate.d.ts +28 -1
  403. package/dist/generate.js +1062 -0
  404. package/dist/generate.js.map +1 -0
  405. package/dist/generateWorker.d.ts +7 -3
  406. package/dist/generateWorker.js +86 -0
  407. package/dist/generateWorker.js.map +1 -0
  408. package/dist/grid.d.ts +9 -0
  409. package/dist/grid.js +102 -0
  410. package/dist/grid.js.map +1 -0
  411. package/dist/ground.d.ts +17 -1
  412. package/dist/ground.js +375 -0
  413. package/dist/ground.js.map +1 -0
  414. package/dist/groundObjects.d.ts +70 -0
  415. package/dist/groundObjects.js +371 -0
  416. package/dist/groundObjects.js.map +1 -0
  417. package/dist/groundSpeed.d.ts +20 -3
  418. package/dist/groundSpeed.js +117 -0
  419. package/dist/groundSpeed.js.map +1 -0
  420. package/dist/hero.d.ts +126 -10
  421. package/dist/hero.js +432 -0
  422. package/dist/hero.js.map +1 -0
  423. package/dist/holds.d.ts +94 -0
  424. package/dist/holds.js +305 -0
  425. package/dist/holds.js.map +1 -0
  426. package/dist/home.d.ts +1 -1
  427. package/dist/home.js +30 -0
  428. package/dist/home.js.map +1 -0
  429. package/dist/hooks.d.ts +339 -57
  430. package/dist/hooks.js +105 -0
  431. package/dist/hooks.js.map +1 -0
  432. package/dist/hotReload.d.ts +6 -5
  433. package/dist/hotReload.js +145 -0
  434. package/dist/hotReload.js.map +1 -0
  435. package/dist/ids.d.ts +3 -3
  436. package/dist/ids.js +30 -0
  437. package/dist/ids.js.map +1 -0
  438. package/dist/idsFile.d.ts +36 -0
  439. package/dist/idsFile.js +134 -0
  440. package/dist/idsFile.js.map +1 -0
  441. package/dist/index.d.ts +105 -68
  442. package/dist/index.js +194 -4701
  443. package/dist/inspect.d.ts +29 -2
  444. package/dist/{inspect-D9dWHmZ0.js → inspect.js} +21 -12
  445. package/dist/inspect.js.map +1 -0
  446. package/dist/inventory.d.ts +14 -1
  447. package/dist/inventory.js +84 -0
  448. package/dist/inventory.js.map +1 -0
  449. package/dist/items.d.ts +136 -8
  450. package/dist/items.js +585 -0
  451. package/dist/items.js.map +1 -0
  452. package/dist/lanes.d.ts +12 -3
  453. package/dist/lanes.js +496 -0
  454. package/dist/lanes.js.map +1 -0
  455. package/dist/life.d.ts +6 -2
  456. package/dist/life.js +287 -0
  457. package/dist/life.js.map +1 -0
  458. package/dist/log.d.ts +26 -3
  459. package/dist/log.js +192 -0
  460. package/dist/log.js.map +1 -0
  461. package/dist/manaBurn.d.ts +2 -2
  462. package/dist/manaBurn.js +75 -0
  463. package/dist/manaBurn.js.map +1 -0
  464. package/dist/map/file.d.ts +56 -3
  465. package/dist/map/file.js +264 -0
  466. package/dist/map/file.js.map +1 -0
  467. package/dist/map/images.js +61 -0
  468. package/dist/map/images.js.map +1 -0
  469. package/dist/map/look.d.ts +1 -1
  470. package/dist/map/look.js +30 -0
  471. package/dist/map/look.js.map +1 -0
  472. package/dist/map/pathProfile.js +183 -0
  473. package/dist/map/pathProfile.js.map +1 -0
  474. package/dist/map/resize.d.ts +4 -0
  475. package/dist/map/resize.js +136 -0
  476. package/dist/map/resize.js.map +1 -0
  477. package/dist/map/schema.js +257 -0
  478. package/dist/map/schema.js.map +1 -0
  479. package/dist/map/terrain.js +214 -0
  480. package/dist/map/terrain.js.map +1 -0
  481. package/dist/map/types.d.ts +92 -13
  482. package/dist/map/types.js +251 -0
  483. package/dist/map/types.js.map +1 -0
  484. package/dist/mapCheck/cells.js +94 -0
  485. package/dist/mapCheck/cells.js.map +1 -0
  486. package/dist/mapCheck/rules/foliage.d.ts +9 -0
  487. package/dist/mapCheck/rules/foliage.js +83 -0
  488. package/dist/mapCheck/rules/foliage.js.map +1 -0
  489. package/dist/mapCheck/rules/names.js +39 -0
  490. package/dist/mapCheck/rules/names.js.map +1 -0
  491. package/dist/mapCheck/rules/objects.d.ts +1 -1
  492. package/dist/mapCheck/rules/objects.js +56 -0
  493. package/dist/mapCheck/rules/objects.js.map +1 -0
  494. package/dist/mapCheck/rules/paths.js +32 -0
  495. package/dist/mapCheck/rules/paths.js.map +1 -0
  496. package/dist/mapCheck/rules/players.js +20 -0
  497. package/dist/mapCheck/rules/players.js.map +1 -0
  498. package/dist/mapCheck/rules/races.js +56 -0
  499. package/dist/mapCheck/rules/races.js.map +1 -0
  500. package/dist/mapCheck/rules/random.js +47 -0
  501. package/dist/mapCheck/rules/random.js.map +1 -0
  502. package/dist/mapCheck/rules/regions.js +30 -0
  503. package/dist/mapCheck/rules/regions.js.map +1 -0
  504. package/dist/mapCheck/rules/targets.js +31 -0
  505. package/dist/mapCheck/rules/targets.js.map +1 -0
  506. package/dist/mapCheck/rules/walking.js +45 -0
  507. package/dist/mapCheck/rules/walking.js.map +1 -0
  508. package/dist/mapCheck.d.ts +2 -2
  509. package/dist/mapCheck.js +63 -0
  510. package/dist/mapCheck.js.map +1 -0
  511. package/dist/mapFields.d.ts +25 -2
  512. package/dist/mapFields.js +134 -0
  513. package/dist/mapFields.js.map +1 -0
  514. package/dist/mapFile.js +176 -0
  515. package/dist/mapFile.js.map +1 -0
  516. package/dist/mapMeasure.d.ts +8 -0
  517. package/dist/mapMeasure.js +283 -0
  518. package/dist/mapMeasure.js.map +1 -0
  519. package/dist/mapMerge.d.ts +1 -0
  520. package/dist/mapMerge.js +172 -0
  521. package/dist/mapMerge.js.map +1 -0
  522. package/dist/mapObjectives.js +138 -0
  523. package/dist/mapObjectives.js.map +1 -0
  524. package/dist/mapObjects.js +80 -0
  525. package/dist/mapObjects.js.map +1 -0
  526. package/dist/math.d.ts +37 -7
  527. package/dist/math.js +155 -0
  528. package/dist/math.js.map +1 -0
  529. package/dist/messages.d.ts +71 -4
  530. package/dist/messages.js +29 -0
  531. package/dist/messages.js.map +1 -0
  532. package/dist/missionRules.d.ts +10 -2
  533. package/dist/{missionRules-C-bGxm0Q.js → missionRules.js} +30 -150
  534. package/dist/missionRules.js.map +1 -0
  535. package/dist/mods.d.ts +39 -20
  536. package/dist/mods.js +271 -0
  537. package/dist/mods.js.map +1 -0
  538. package/dist/moves.d.ts +87 -0
  539. package/dist/moves.js +539 -0
  540. package/dist/moves.js.map +1 -0
  541. package/dist/names.d.ts +7 -0
  542. package/dist/names.js +122 -0
  543. package/dist/names.js.map +1 -0
  544. package/dist/navigation/agentParams.js +14 -0
  545. package/dist/navigation/agentParams.js.map +1 -0
  546. package/dist/navigation/air.d.ts +7 -3
  547. package/dist/navigation/air.js +401 -0
  548. package/dist/navigation/air.js.map +1 -0
  549. package/dist/navigation/builds.d.ts +34 -2
  550. package/dist/navigation/builds.js +287 -0
  551. package/dist/navigation/builds.js.map +1 -0
  552. package/dist/navigation/groundAreas.d.ts +59 -1
  553. package/dist/navigation/groundAreas.js +407 -0
  554. package/dist/navigation/groundAreas.js.map +1 -0
  555. package/dist/navigation/navigation.d.ts +98 -9
  556. package/dist/navigation/recast.d.ts +194 -18
  557. package/dist/navigation/recast.js +1379 -0
  558. package/dist/navigation/recast.js.map +1 -0
  559. package/dist/navigation/sidePaths.d.ts +8 -3
  560. package/dist/navigation/sidePaths.js +241 -0
  561. package/dist/navigation/sidePaths.js.map +1 -0
  562. package/dist/navigation/sized.js +243 -0
  563. package/dist/navigation/sized.js.map +1 -0
  564. package/dist/nearest.js +32 -0
  565. package/dist/nearest.js.map +1 -0
  566. package/dist/noise.js +59 -0
  567. package/dist/noise.js.map +1 -0
  568. package/dist/objectives.d.ts +12 -3
  569. package/dist/objectives.js +144 -0
  570. package/dist/objectives.js.map +1 -0
  571. package/dist/orders/basic.d.ts +5 -5
  572. package/dist/orders/basic.js +417 -0
  573. package/dist/orders/basic.js.map +1 -0
  574. package/dist/orders/build.js +278 -0
  575. package/dist/orders/build.js.map +1 -0
  576. package/dist/orders/cast.d.ts +13 -3
  577. package/dist/orders/cast.js +558 -0
  578. package/dist/orders/cast.js.map +1 -0
  579. package/dist/orders/facts.js +16 -0
  580. package/dist/orders/facts.js.map +1 -0
  581. package/dist/orders/harvest.d.ts +21 -5
  582. package/dist/orders/harvest.js +540 -0
  583. package/dist/orders/harvest.js.map +1 -0
  584. package/dist/orders/idle.d.ts +3 -1
  585. package/dist/orders/idle.js +234 -0
  586. package/dist/orders/idle.js.map +1 -0
  587. package/dist/orders/items.js +92 -0
  588. package/dist/orders/items.js.map +1 -0
  589. package/dist/orders/queue.js +108 -0
  590. package/dist/orders/queue.js.map +1 -0
  591. package/dist/orders/waiting.d.ts +39 -0
  592. package/dist/orders/waiting.js +149 -0
  593. package/dist/orders/waiting.js.map +1 -0
  594. package/dist/pack.schema.js +13 -0
  595. package/dist/pack.schema.js.map +1 -0
  596. package/dist/pack.schema.json +7622 -841
  597. package/dist/packs/director/index.d.ts +13 -5
  598. package/dist/packs/director/index.js +204 -0
  599. package/dist/packs/director/index.js.map +1 -0
  600. package/dist/packs/heroes/campaign.d.ts +3 -2
  601. package/dist/packs/heroes/campaign.js +241 -0
  602. package/dist/packs/heroes/campaign.js.map +1 -0
  603. package/dist/packs/heroes/carry.d.ts +6 -0
  604. package/dist/packs/heroes/carry.js +112 -0
  605. package/dist/packs/heroes/carry.js.map +1 -0
  606. package/dist/packs/heroes/commands.js +115 -0
  607. package/dist/packs/heroes/commands.js.map +1 -0
  608. package/dist/packs/heroes/fallen.d.ts +43 -0
  609. package/dist/packs/heroes/fallen.js +61 -0
  610. package/dist/packs/heroes/fallen.js.map +1 -0
  611. package/dist/packs/heroes/hire.js +60 -0
  612. package/dist/packs/heroes/hire.js.map +1 -0
  613. package/dist/packs/heroes/index.d.ts +7 -6
  614. package/dist/packs/heroes/index.js +130 -0
  615. package/dist/packs/heroes/index.js.map +1 -0
  616. package/dist/packs/heroes/loop.d.ts +95 -0
  617. package/dist/packs/heroes/loop.js +250 -0
  618. package/dist/packs/heroes/loop.js.map +1 -0
  619. package/dist/packs/heroes/making.d.ts +6 -3
  620. package/dist/packs/heroes/making.js +55 -0
  621. package/dist/packs/heroes/making.js.map +1 -0
  622. package/dist/packs/heroes/respawn.d.ts +3 -3
  623. package/dist/packs/heroes/respawn.js +87 -0
  624. package/dist/packs/heroes/respawn.js.map +1 -0
  625. package/dist/packs/heroes/sets.d.ts +32 -0
  626. package/dist/packs/heroes/sets.js +51 -0
  627. package/dist/packs/heroes/sets.js.map +1 -0
  628. package/dist/packs/heroes/spells.d.ts +16 -0
  629. package/dist/packs/heroes/spells.js +269 -0
  630. package/dist/packs/heroes/spells.js.map +1 -0
  631. package/dist/packs/items/defaults.d.ts +43 -0
  632. package/dist/packs/items/defaults.js +1504 -0
  633. package/dist/packs/items/defaults.js.map +1 -0
  634. package/dist/packs/items/index.d.ts +27 -0
  635. package/dist/packs/items/index.js +214 -0
  636. package/dist/packs/items/index.js.map +1 -0
  637. package/dist/packs/moba/index.d.ts +3 -3
  638. package/dist/packs/moba/index.js +174 -0
  639. package/dist/packs/moba/index.js.map +1 -0
  640. package/dist/packs/pack.d.ts +15 -15
  641. package/dist/packs/pack.js +14 -0
  642. package/dist/packs/pack.js.map +1 -0
  643. package/dist/packs.d.ts +15 -7
  644. package/dist/packs.js +222 -0
  645. package/dist/packs.js.map +1 -0
  646. package/dist/paths.d.ts +2 -0
  647. package/dist/paths.js +109 -0
  648. package/dist/paths.js.map +1 -0
  649. package/dist/plain.js +57 -0
  650. package/dist/plain.js.map +1 -0
  651. package/dist/player.d.ts +33 -10
  652. package/dist/player.js +159 -0
  653. package/dist/player.js.map +1 -0
  654. package/dist/portals.d.ts +1 -1
  655. package/dist/portals.js +194 -0
  656. package/dist/portals.js.map +1 -0
  657. package/dist/prefabs.d.ts +25 -2
  658. package/dist/prefabs.js +239 -0
  659. package/dist/prefabs.js.map +1 -0
  660. package/dist/presetBuildings.js +58 -0
  661. package/dist/presetBuildings.js.map +1 -0
  662. package/dist/presetFoliage.d.ts +27 -0
  663. package/dist/presetFoliage.js +98 -0
  664. package/dist/presetFoliage.js.map +1 -0
  665. package/dist/presetGround.js +65 -0
  666. package/dist/presetGround.js.map +1 -0
  667. package/dist/proxies.d.ts +12 -0
  668. package/dist/proxies.js +79 -0
  669. package/dist/proxies.js.map +1 -0
  670. package/dist/query.d.ts +56 -0
  671. package/dist/query.js +88 -0
  672. package/dist/query.js.map +1 -0
  673. package/dist/races.d.ts +15 -14
  674. package/dist/races.js +172 -0
  675. package/dist/races.js.map +1 -0
  676. package/dist/randomGroups.js +91 -0
  677. package/dist/randomGroups.js.map +1 -0
  678. package/dist/registry.d.ts +117 -53
  679. package/dist/registry.js +323 -0
  680. package/dist/registry.js.map +1 -0
  681. package/dist/remains.d.ts +11 -9
  682. package/dist/remains.js +188 -0
  683. package/dist/remains.js.map +1 -0
  684. package/dist/replication.d.ts +12 -7
  685. package/dist/replication.js +100 -0
  686. package/dist/replication.js.map +1 -0
  687. package/dist/rng.d.ts +2 -0
  688. package/dist/rng.js +40 -0
  689. package/dist/rng.js.map +1 -0
  690. package/dist/rules.d.ts +186 -99
  691. package/dist/rules.js +179 -0
  692. package/dist/rules.js.map +1 -0
  693. package/dist/rulesCheck.d.ts +5 -4
  694. package/dist/rulesCheck.js +693 -0
  695. package/dist/rulesCheck.js.map +1 -0
  696. package/dist/runes.d.ts +2 -2
  697. package/dist/runes.js +80 -0
  698. package/dist/runes.js.map +1 -0
  699. package/dist/save.d.ts +37 -12
  700. package/dist/save.js +532 -0
  701. package/dist/save.js.map +1 -0
  702. package/dist/scenario.d.ts +2 -2
  703. package/dist/scenario.js +99 -0
  704. package/dist/scenario.js.map +1 -0
  705. package/dist/scheduler.d.ts +3 -0
  706. package/dist/scheduler.js +156 -0
  707. package/dist/scheduler.js.map +1 -0
  708. package/dist/score.d.ts +19 -19
  709. package/dist/score.js +709 -0
  710. package/dist/score.js.map +1 -0
  711. package/dist/sequences.d.ts +10 -6
  712. package/dist/sequences.js +206 -0
  713. package/dist/sequences.js.map +1 -0
  714. package/dist/server/doorman.js +154 -0
  715. package/dist/server/doorman.js.map +1 -0
  716. package/dist/server/gameServer.d.ts +16 -1
  717. package/dist/server/gameServer.js +643 -0
  718. package/dist/server/gameServer.js.map +1 -0
  719. package/dist/server/index.d.ts +1 -1
  720. package/dist/server/lobby.js +199 -0
  721. package/dist/server/lobby.js.map +1 -0
  722. package/dist/server/log.js +18 -0
  723. package/dist/server/log.js.map +1 -0
  724. package/dist/server/match.js +267 -0
  725. package/dist/server/match.js.map +1 -0
  726. package/dist/server/mode.d.ts +18 -9
  727. package/dist/server/mode.js +220 -0
  728. package/dist/server/mode.js.map +1 -0
  729. package/dist/{navigation-worker.js → server/navigation-worker.js} +1 -1
  730. package/dist/server/navigation-worker.js.map +1 -0
  731. package/dist/server/navigation.js +39 -0
  732. package/dist/server/navigation.js.map +1 -0
  733. package/dist/server/ops.d.ts +4 -0
  734. package/dist/server/ops.js +137 -0
  735. package/dist/server/ops.js.map +1 -0
  736. package/dist/server/packs.d.ts +3 -3
  737. package/dist/server/packs.js +32 -0
  738. package/dist/server/packs.js.map +1 -0
  739. package/dist/server/ratings.d.ts +5 -0
  740. package/dist/server/ratings.js +104 -0
  741. package/dist/server/ratings.js.map +1 -0
  742. package/dist/server/relay.d.ts +12 -2
  743. package/dist/server/relay.js +144 -0
  744. package/dist/server/relay.js.map +1 -0
  745. package/dist/server/rooms.d.ts +9 -2
  746. package/dist/server/rooms.js +442 -0
  747. package/dist/server/rooms.js.map +1 -0
  748. package/dist/server/seat.js +116 -0
  749. package/dist/server/seat.js.map +1 -0
  750. package/dist/server/seatSettings.d.ts +3 -3
  751. package/dist/server/seatSettings.js +63 -0
  752. package/dist/server/seatSettings.js.map +1 -0
  753. package/dist/server/secret.js +13 -0
  754. package/dist/server/secret.js.map +1 -0
  755. package/dist/server/start.d.ts +13 -6
  756. package/dist/server/start.js +76 -0
  757. package/dist/server/start.js.map +1 -0
  758. package/dist/server/websocket.d.ts +9 -1
  759. package/dist/server/websocket.js +306 -0
  760. package/dist/server/websocket.js.map +1 -0
  761. package/dist/server.js +15 -2861
  762. package/dist/session/can.js +26 -0
  763. package/dist/session/can.js.map +1 -0
  764. package/dist/session/commandReplay.d.ts +8 -2
  765. package/dist/session/commandReplay.js +293 -0
  766. package/dist/session/commandReplay.js.map +1 -0
  767. package/dist/session/debug.js +151 -0
  768. package/dist/session/debug.js.map +1 -0
  769. package/dist/session/delay.js +62 -0
  770. package/dist/session/delay.js.map +1 -0
  771. package/dist/session/delta.d.ts +14 -1
  772. package/dist/session/delta.js +407 -0
  773. package/dist/session/delta.js.map +1 -0
  774. package/dist/session/entityState.js +415 -0
  775. package/dist/session/entityState.js.map +1 -0
  776. package/dist/session/local.d.ts +47 -5
  777. package/dist/session/local.js +670 -0
  778. package/dist/session/local.js.map +1 -0
  779. package/dist/session/memory.d.ts +20 -2
  780. package/dist/session/memory.js +131 -0
  781. package/dist/session/memory.js.map +1 -0
  782. package/dist/session/protocol.d.ts +325 -31
  783. package/dist/session/protocol.js +55 -0
  784. package/dist/session/protocol.js.map +1 -0
  785. package/dist/session/remote.d.ts +74 -12
  786. package/dist/session/remote.js +1394 -0
  787. package/dist/session/remote.js.map +1 -0
  788. package/dist/session/replay.d.ts +11 -2
  789. package/dist/session/replay.js +160 -0
  790. package/dist/session/replay.js.map +1 -0
  791. package/dist/session/seed.js +12 -0
  792. package/dist/session/seed.js.map +1 -0
  793. package/dist/session/share.d.ts +5 -1
  794. package/dist/session/share.js +94 -0
  795. package/dist/session/share.js.map +1 -0
  796. package/dist/session/socket.d.ts +1 -1
  797. package/dist/session/socket.js +29 -0
  798. package/dist/session/socket.js.map +1 -0
  799. package/dist/session/wire.d.ts +5 -0
  800. package/dist/session/wire.js +84 -0
  801. package/dist/session/wire.js.map +1 -0
  802. package/dist/session/worker.d.ts +77 -12
  803. package/dist/session/worker.js +499 -0
  804. package/dist/session/worker.js.map +1 -0
  805. package/dist/shared.d.ts +31 -5
  806. package/dist/shared.js +166 -0
  807. package/dist/shared.js.map +1 -0
  808. package/dist/sides.d.ts +9 -3
  809. package/dist/sides.js +149 -0
  810. package/dist/sides.js.map +1 -0
  811. package/dist/sight.js +85 -0
  812. package/dist/sight.js.map +1 -0
  813. package/dist/simulate-worker.js +1 -1
  814. package/dist/simulate.d.ts +12 -8
  815. package/dist/{simulate-oXBiw1Ff.js → simulate.js} +10 -11
  816. package/dist/simulate.js.map +1 -0
  817. package/dist/smart.js +77 -0
  818. package/dist/smart.js.map +1 -0
  819. package/dist/spatial.d.ts +32 -16
  820. package/dist/spatial.js +234 -0
  821. package/dist/spatial.js.map +1 -0
  822. package/dist/spawning.d.ts +1 -0
  823. package/dist/spawning.js +224 -0
  824. package/dist/spawning.js.map +1 -0
  825. package/dist/stances.d.ts +6 -3
  826. package/dist/stances.js +169 -0
  827. package/dist/stances.js.map +1 -0
  828. package/dist/start.d.ts +10 -10
  829. package/dist/start.js +75 -0
  830. package/dist/start.js.map +1 -0
  831. package/dist/stats.d.ts +42 -16
  832. package/dist/stats.js +290 -0
  833. package/dist/stats.js.map +1 -0
  834. package/dist/summoned.d.ts +52 -0
  835. package/dist/summoned.js +38 -0
  836. package/dist/summoned.js.map +1 -0
  837. package/dist/summons.d.ts +10 -13
  838. package/dist/summons.js +271 -0
  839. package/dist/summons.js.map +1 -0
  840. package/dist/systems/abilities.js +224 -0
  841. package/dist/systems/abilities.js.map +1 -0
  842. package/dist/systems/combat.d.ts +35 -1
  843. package/dist/systems/combat.js +677 -0
  844. package/dist/systems/combat.js.map +1 -0
  845. package/dist/systems/combatTold.d.ts +3 -1
  846. package/dist/systems/combatTold.js +85 -0
  847. package/dist/systems/combatTold.js.map +1 -0
  848. package/dist/systems/construction.js +80 -0
  849. package/dist/systems/construction.js.map +1 -0
  850. package/dist/systems/economy.d.ts +0 -6
  851. package/dist/systems/economy.js +128 -0
  852. package/dist/systems/economy.js.map +1 -0
  853. package/dist/systems/fog.d.ts +1 -1
  854. package/dist/systems/fog.js +120 -0
  855. package/dist/systems/fog.js.map +1 -0
  856. package/dist/systems/life.js +32 -0
  857. package/dist/systems/life.js.map +1 -0
  858. package/dist/systems/movement.d.ts +24 -12
  859. package/dist/systems/movement.js +1247 -0
  860. package/dist/systems/movement.js.map +1 -0
  861. package/dist/systems/orders.js +64 -0
  862. package/dist/systems/orders.js.map +1 -0
  863. package/dist/systems/production.js +322 -0
  864. package/dist/systems/production.js.map +1 -0
  865. package/dist/systems/productionQueue.js +120 -0
  866. package/dist/systems/productionQueue.js.map +1 -0
  867. package/dist/systems/victory.d.ts +1 -1
  868. package/dist/systems/victory.js +56 -0
  869. package/dist/systems/victory.js.map +1 -0
  870. package/dist/talk.d.ts +6 -6
  871. package/dist/talk.js +153 -0
  872. package/dist/talk.js.map +1 -0
  873. package/dist/targeting.d.ts +142 -0
  874. package/dist/targeting.js +49 -0
  875. package/dist/targeting.js.map +1 -0
  876. package/dist/tech.d.ts +20 -3
  877. package/dist/tech.js +239 -0
  878. package/dist/tech.js.map +1 -0
  879. package/dist/techTree.d.ts +7 -0
  880. package/dist/techTree.js +90 -0
  881. package/dist/techTree.js.map +1 -0
  882. package/dist/terrain.d.ts +59 -7
  883. package/dist/terrain.js +389 -0
  884. package/dist/terrain.js.map +1 -0
  885. package/dist/terrainSave.d.ts +6 -0
  886. package/dist/terrainSave.js +74 -0
  887. package/dist/terrainSave.js.map +1 -0
  888. package/dist/testing.d.ts +8 -7
  889. package/dist/testing.js +13 -739
  890. package/dist/testing.js.map +1 -1
  891. package/dist/tiles.d.ts +1 -1
  892. package/dist/tiles.js +43 -0
  893. package/dist/tiles.js.map +1 -0
  894. package/dist/timers.d.ts +29 -4
  895. package/dist/timers.js +242 -0
  896. package/dist/timers.js.map +1 -0
  897. package/dist/tomes.d.ts +4 -4
  898. package/dist/tomes.js +94 -0
  899. package/dist/tomes.js.map +1 -0
  900. package/dist/trade.js +103 -0
  901. package/dist/trade.js.map +1 -0
  902. package/dist/transport.d.ts +6 -1
  903. package/dist/transport.js +281 -0
  904. package/dist/transport.js.map +1 -0
  905. package/dist/tunables.d.ts +10 -3
  906. package/dist/tunables.js +56 -0
  907. package/dist/tunables.js.map +1 -0
  908. package/dist/unitResources.d.ts +67 -0
  909. package/dist/unitResources.js +266 -0
  910. package/dist/unitResources.js.map +1 -0
  911. package/dist/upkeep.d.ts +6 -1
  912. package/dist/upkeep.js +26 -0
  913. package/dist/upkeep.js.map +1 -0
  914. package/dist/veterancy.d.ts +8 -3
  915. package/dist/veterancy.js +131 -0
  916. package/dist/veterancy.js.map +1 -0
  917. package/dist/vision.d.ts +36 -0
  918. package/dist/vision.js +133 -0
  919. package/dist/vision.js.map +1 -0
  920. package/dist/walls.d.ts +1 -1
  921. package/dist/walls.js +278 -0
  922. package/dist/walls.js.map +1 -0
  923. package/dist/world.d.ts +606 -88
  924. package/dist/world.js +1263 -0
  925. package/dist/world.js.map +1 -0
  926. package/package.json +2 -2
  927. package/dist/ai.js.map +0 -1
  928. package/dist/attributes.d.ts +0 -66
  929. package/dist/brain-BvVdUhX8.js +0 -7659
  930. package/dist/brain-BvVdUhX8.js.map +0 -1
  931. package/dist/builds-C6LfgvEU.js +0 -460
  932. package/dist/builds-C6LfgvEU.js.map +0 -1
  933. package/dist/coreComponents-syuh2fPG.js +0 -5149
  934. package/dist/coreComponents-syuh2fPG.js.map +0 -1
  935. package/dist/debugCommands-CzjrSm66.js +0 -14739
  936. package/dist/debugCommands-CzjrSm66.js.map +0 -1
  937. package/dist/determinism-BCymQwiE.js +0 -518
  938. package/dist/determinism-BCymQwiE.js.map +0 -1
  939. package/dist/game-DiJEN-Ks.js +0 -5800
  940. package/dist/game-DiJEN-Ks.js.map +0 -1
  941. package/dist/index.js.map +0 -1
  942. package/dist/inspect-D9dWHmZ0.js.map +0 -1
  943. package/dist/local-Dkovq42k.js +0 -1379
  944. package/dist/local-Dkovq42k.js.map +0 -1
  945. package/dist/missionRules-C-bGxm0Q.js.map +0 -1
  946. package/dist/navigation-worker.js.map +0 -1
  947. package/dist/packs-g5thvmGn.js +0 -3199
  948. package/dist/packs-g5thvmGn.js.map +0 -1
  949. package/dist/profiles-B3NS9jwk.js.map +0 -1
  950. package/dist/server.js.map +0 -1
  951. package/dist/simulate-oXBiw1Ff.js.map +0 -1
@@ -0,0 +1,134 @@
1
+ //#region src/idsFile.ts
2
+ var record = (value) => typeof value === "object" && value !== null && !Array.isArray(value) ? value : {};
3
+ var strings = (value) => Array.isArray(value) ? value.filter((each) => typeof each === "string" && each !== "") : [];
4
+ /** A word as the start of a type's name: `my-game` is `MyGame`, `warden` is `Warden` */
5
+ function pascal(game) {
6
+ const name = game.split(/[^A-Za-z0-9]+/).filter(Boolean).map((word) => word[0].toUpperCase() + word.slice(1)).join("");
7
+ return /^[0-9]/.test(name) || !name ? `Game${name}` : name;
8
+ }
9
+ /** A name as TypeScript writes text, in single quotes */
10
+ var quoted = (name) => `'${JSON.stringify(name).slice(1, -1).replace(/\\"/g, "\"").replace(/'/g, "\\'")}'`;
11
+ /**
12
+ * The ids the game's files name, by what they are the ids of: the unit types (the data's and the looks'), abilities,
13
+ * items, upgrades, resources (`rules.resources` and what any cost is paid in), speakers (of the cinematics' dialog),
14
+ * cinematics, effects and sounds. Each sorted and without repeats; what the data `removed` is not there
15
+ *
16
+ * @beta
17
+ */
18
+ function gameIds(sources) {
19
+ const data = record(sources.data);
20
+ const removed = record(data.removed);
21
+ const kind = (name) => Object.keys(record(data[name])).filter((id) => !strings(removed[name]).includes(id));
22
+ const resources = /* @__PURE__ */ new Set();
23
+ for (const resource of Array.isArray(record(data.rules).resources) ? record(data.rules).resources : []) if (typeof record(resource).id === "string") resources.add(record(resource).id);
24
+ for (const name of [
25
+ "units",
26
+ "abilities",
27
+ "items",
28
+ "upgrades"
29
+ ]) for (const entry of Object.values(record(data[name]))) for (const id of Object.keys(record(record(entry).cost))) resources.add(id);
30
+ const speakers = /* @__PURE__ */ new Set();
31
+ const cinematics = /* @__PURE__ */ new Set();
32
+ for (const { file, data: cinematic } of sources.cinematics ?? []) {
33
+ const body = record(cinematic);
34
+ cinematics.add(typeof body.id === "string" && body.id ? body.id : file);
35
+ for (const lane of Array.isArray(body.lanes) ? body.lanes : []) for (const item of Array.isArray(record(lane).items) ? record(lane).items : []) if (typeof record(item).speaker === "string" && record(item).speaker) speakers.add(record(item).speaker);
36
+ for (const line of Array.isArray(body.lines) ? body.lines : []) if (typeof record(line).speaker === "string" && record(line).speaker) speakers.add(record(line).speaker);
37
+ }
38
+ const sorted = (ids) => [...new Set(ids)].sort();
39
+ return {
40
+ unit: sorted([...kind("units"), ...Object.keys(record(sources.looks))]),
41
+ ability: sorted(kind("abilities")),
42
+ item: sorted(kind("items")),
43
+ upgrade: sorted(kind("upgrades")),
44
+ resource: sorted(resources),
45
+ speaker: sorted(speakers),
46
+ cinematic: sorted(cinematics),
47
+ fx: sorted(Object.keys(record(sources.fx))),
48
+ sound: sorted(Object.keys(record(sources.sounds)))
49
+ };
50
+ }
51
+ /** The package the written file imports from: the text of the game's code, not an import of this one (the engine imports no package of the library) */
52
+ var ENGINE_PACKAGE = ["@v12-engine", "engine"].join("/");
53
+ /** What each list is called, with the words that say what it is */
54
+ var LISTS = [
55
+ [
56
+ "unit",
57
+ "UNIT",
58
+ "Unit",
59
+ "The unit types: the data's, and those the looks give a look"
60
+ ],
61
+ [
62
+ "ability",
63
+ "ABILITY",
64
+ "Ability",
65
+ "The abilities the data defines or tunes"
66
+ ],
67
+ [
68
+ "item",
69
+ "ITEM",
70
+ "Item",
71
+ "The items the data defines or tunes"
72
+ ],
73
+ [
74
+ "upgrade",
75
+ "UPGRADE",
76
+ "Upgrade",
77
+ "The upgrades the data defines or tunes"
78
+ ],
79
+ [
80
+ "resource",
81
+ "RESOURCE",
82
+ "Resource",
83
+ "What costs are paid in: the rules' resources and the keys of every cost"
84
+ ],
85
+ [
86
+ "speaker",
87
+ "SPEAKER",
88
+ "Speaker",
89
+ "Who speaks in the cinematics' dialog"
90
+ ],
91
+ [
92
+ "cinematic",
93
+ "CINEMATIC",
94
+ "Cinematic",
95
+ "The cinematics, by the id the rules play them by"
96
+ ],
97
+ [
98
+ "fx",
99
+ "FX",
100
+ "Fx",
101
+ "The effects tuned in the game's fx.json"
102
+ ],
103
+ [
104
+ "sound",
105
+ "SOUND",
106
+ "Sound",
107
+ "The sounds the game's sounds.json plays"
108
+ ]
109
+ ];
110
+ /**
111
+ * The ids of a game as TypeScript, for its code to use: `UNIT.footman`, and `WardenUnit` for `GameView<WardenUnit>`.
112
+ * The editor writes it as `<game>.ids.ts` next to the game's files, anew with every change of the files it reads
113
+ *
114
+ * @beta
115
+ */
116
+ function gameIdsSource(game, sources) {
117
+ const ids = gameIds(sources);
118
+ const type = pascal(game);
119
+ return [
120
+ `// Written by the editor from ${game}'s data, looks, effects, sounds and cinematics, anew with every change: not to be changed by hand`,
121
+ `import { defineIds, type IdOf } from '${ENGINE_PACKAGE}'`,
122
+ ...LISTS.flatMap(([key, constant, name, what]) => [
123
+ "",
124
+ `/** ${what} */`,
125
+ ids[key].length ? `export const ${constant} = defineIds(\n${ids[key].map((id) => `\t${quoted(id)}`).join(",\n")}\n)` : `export const ${constant} = defineIds<never>()`,
126
+ `export type ${type}${name} = IdOf<typeof ${constant}>`
127
+ ]),
128
+ ""
129
+ ].join("\n");
130
+ }
131
+ //#endregion
132
+ export { gameIds, gameIdsSource };
133
+
134
+ //# sourceMappingURL=idsFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idsFile.js","names":[],"sources":["../src/idsFile.ts"],"sourcesContent":["/*\n * The ids of a game, written from its data files (CG1): the editor writes `<game>.ids.ts` next to the game's files as it\n * writes a map's `.names.ts`, anew with every change of the data, the looks, the effects, the sounds or a cinematic,\n * and the game's code takes its ids from it (`UNIT.footman`, `GameView<WardenUnit>`) as it does from a hand-written\n * `defineIds` list. Nothing here reads a file: the editor's plugin hands over what the files say.\n */\n\n/**\n * What the game's files say, as the editor reads them: every part is optional, and what is not the shape described is\n * passed over (a file written by hand may be wrong; it is the game's loader that says so)\n *\n * @beta\n */\nexport interface GameIdSources {\n\t/** The `data.json`: definitions by kind (`units`, `abilities`, `items`, `upgrades`), the `removed` ids, `rules.resources` */\n\tdata?: unknown\n\t/** The `looks.json`: a look by unit type id */\n\tlooks?: unknown\n\t/** The `fx.json`: effects by id */\n\tfx?: unknown\n\t/** The `sounds.json`: how each sound is played, by id */\n\tsounds?: unknown\n\t/** The cinematics: each file's `id` and its lanes (the speakers of its dialog); `file` is its name without `.json`, the id of one that says none */\n\tcinematics?: readonly { file: string; data: unknown }[]\n}\n\nconst record = (value: unknown): Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null && !Array.isArray(value) ? (value as Record<string, unknown>) : {}\nconst strings = (value: unknown): string[] =>\n\tArray.isArray(value) ? value.filter((each): each is string => typeof each === 'string' && each !== '') : []\n\n/** A word as the start of a type's name: `my-game` is `MyGame`, `warden` is `Warden` */\nfunction pascal(game: string): string {\n\tconst name = game\n\t\t.split(/[^A-Za-z0-9]+/)\n\t\t.filter(Boolean)\n\t\t.map((word) => word[0].toUpperCase() + word.slice(1))\n\t\t.join('')\n\treturn /^[0-9]/.test(name) || !name ? `Game${name}` : name\n}\n\n/** A name as TypeScript writes text, in single quotes */\nconst quoted = (name: string) => `'${JSON.stringify(name).slice(1, -1).replace(/\\\\\"/g, '\"').replace(/'/g, \"\\\\'\")}'`\n\n/**\n * The ids the game's files name, by what they are the ids of: the unit types (the data's and the looks'), abilities,\n * items, upgrades, resources (`rules.resources` and what any cost is paid in), speakers (of the cinematics' dialog),\n * cinematics, effects and sounds. Each sorted and without repeats; what the data `removed` is not there\n *\n * @beta\n */\nexport function gameIds(\n\tsources: GameIdSources\n): Record<'unit' | 'ability' | 'item' | 'upgrade' | 'resource' | 'speaker' | 'cinematic' | 'fx' | 'sound', string[]> {\n\tconst data = record(sources.data)\n\tconst removed = record(data.removed)\n\tconst kind = (name: string) => Object.keys(record(data[name])).filter((id) => !strings(removed[name]).includes(id))\n\tconst resources = new Set<string>()\n\tfor (const resource of Array.isArray(record(data.rules).resources) ? (record(data.rules).resources as unknown[]) : [])\n\t\tif (typeof record(resource).id === 'string') resources.add(record(resource).id as string)\n\t// a cost is paid in resources: the data names them as it prices things\n\tfor (const name of ['units', 'abilities', 'items', 'upgrades'])\n\t\tfor (const entry of Object.values(record(data[name]))) {\n\t\t\tfor (const id of Object.keys(record(record(entry).cost))) resources.add(id)\n\t\t}\n\tconst speakers = new Set<string>()\n\tconst cinematics = new Set<string>()\n\tfor (const { file, data: cinematic } of sources.cinematics ?? []) {\n\t\tconst body = record(cinematic)\n\t\tcinematics.add(typeof body.id === 'string' && body.id ? body.id : file)\n\t\tfor (const lane of Array.isArray(body.lanes) ? body.lanes : [])\n\t\t\tfor (const item of Array.isArray(record(lane).items) ? (record(lane).items as unknown[]) : [])\n\t\t\t\tif (typeof record(item).speaker === 'string' && record(item).speaker) speakers.add(record(item).speaker as string)\n\t\tfor (const line of Array.isArray(body.lines) ? body.lines : [])\n\t\t\tif (typeof record(line).speaker === 'string' && record(line).speaker) speakers.add(record(line).speaker as string)\n\t}\n\tconst sorted = (ids: Iterable<string>) => [...new Set(ids)].sort()\n\treturn {\n\t\tunit: sorted([...kind('units'), ...Object.keys(record(sources.looks))]),\n\t\tability: sorted(kind('abilities')),\n\t\titem: sorted(kind('items')),\n\t\tupgrade: sorted(kind('upgrades')),\n\t\tresource: sorted(resources),\n\t\tspeaker: sorted(speakers),\n\t\tcinematic: sorted(cinematics),\n\t\tfx: sorted(Object.keys(record(sources.fx))),\n\t\tsound: sorted(Object.keys(record(sources.sounds)))\n\t}\n}\n\n/** The package the written file imports from: the text of the game's code, not an import of this one (the engine imports no package of the library) */\nconst ENGINE_PACKAGE = ['@v12-engine', 'engine'].join('/')\n\n/** What each list is called, with the words that say what it is */\nconst LISTS = [\n\t['unit', 'UNIT', 'Unit', \"The unit types: the data's, and those the looks give a look\"],\n\t['ability', 'ABILITY', 'Ability', 'The abilities the data defines or tunes'],\n\t['item', 'ITEM', 'Item', 'The items the data defines or tunes'],\n\t['upgrade', 'UPGRADE', 'Upgrade', 'The upgrades the data defines or tunes'],\n\t['resource', 'RESOURCE', 'Resource', \"What costs are paid in: the rules' resources and the keys of every cost\"],\n\t['speaker', 'SPEAKER', 'Speaker', \"Who speaks in the cinematics' dialog\"],\n\t['cinematic', 'CINEMATIC', 'Cinematic', 'The cinematics, by the id the rules play them by'],\n\t['fx', 'FX', 'Fx', \"The effects tuned in the game's fx.json\"],\n\t['sound', 'SOUND', 'Sound', \"The sounds the game's sounds.json plays\"]\n] as const\n\n/**\n * The ids of a game as TypeScript, for its code to use: `UNIT.footman`, and `WardenUnit` for `GameView<WardenUnit>`.\n * The editor writes it as `<game>.ids.ts` next to the game's files, anew with every change of the files it reads\n *\n * @beta\n */\nexport function gameIdsSource(game: string, sources: GameIdSources): string {\n\tconst ids = gameIds(sources)\n\tconst type = pascal(game)\n\treturn [\n\t\t`// Written by the editor from ${game}'s data, looks, effects, sounds and cinematics, anew with every change: not to be changed by hand`,\n\t\t`import { defineIds, type IdOf } from '${ENGINE_PACKAGE}'`,\n\t\t...LISTS.flatMap(([key, constant, name, what]) => [\n\t\t\t'',\n\t\t\t`/** ${what} */`,\n\t\t\tids[key].length\n\t\t\t\t? `export const ${constant} = defineIds(\\n${ids[key].map((id) => `\\t${quoted(id)}`).join(',\\n')}\\n)`\n\t\t\t\t: `export const ${constant} = defineIds<never>()`,\n\t\t\t`export type ${type}${name} = IdOf<typeof ${constant}>`\n\t\t]),\n\t\t''\n\t].join('\\n')\n}\n"],"mappings":";AA0BA,IAAM,UAAU,UACf,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,IAAK,QAAoC,CAAC;AAC9G,IAAM,WAAW,UAChB,MAAM,QAAQ,KAAK,IAAI,MAAM,QAAQ,SAAyB,OAAO,SAAS,YAAY,SAAS,EAAE,IAAI,CAAC;;AAG3G,SAAS,OAAO,MAAsB;CACrC,MAAM,OAAO,KACX,MAAM,eAAe,CAAC,CACtB,OAAO,OAAO,CAAC,CACf,KAAK,SAAS,KAAK,EAAE,CAAC,YAAY,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACpD,KAAK,EAAE;CACT,OAAO,SAAS,KAAK,IAAI,KAAK,CAAC,OAAO,OAAO,SAAS;AACvD;;AAGA,IAAM,UAAU,SAAiB,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,QAAQ,QAAQ,IAAG,CAAC,CAAC,QAAQ,MAAM,KAAK,EAAE;;;;;;;;AASjH,SAAgB,QACf,SACoH;CACpH,MAAM,OAAO,OAAO,QAAQ,IAAI;CAChC,MAAM,UAAU,OAAO,KAAK,OAAO;CACnC,MAAM,QAAQ,SAAiB,OAAO,KAAK,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,QAAQ,QAAQ,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;CAClH,MAAM,4BAAY,IAAI,IAAY;CAClC,KAAK,MAAM,YAAY,MAAM,QAAQ,OAAO,KAAK,KAAK,CAAC,CAAC,SAAS,IAAK,OAAO,KAAK,KAAK,CAAC,CAAC,YAA0B,CAAC,GACnH,IAAI,OAAO,OAAO,QAAQ,CAAC,CAAC,OAAO,UAAU,UAAU,IAAI,OAAO,QAAQ,CAAC,CAAC,EAAY;CAEzF,KAAK,MAAM,QAAQ;EAAC;EAAS;EAAa;EAAS;CAAU,GAC5D,KAAK,MAAM,SAAS,OAAO,OAAO,OAAO,KAAK,KAAK,CAAC,GACnD,KAAK,MAAM,MAAM,OAAO,KAAK,OAAO,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,EAAE;CAE5E,MAAM,2BAAW,IAAI,IAAY;CACjC,MAAM,6BAAa,IAAI,IAAY;CACnC,KAAK,MAAM,EAAE,MAAM,MAAM,eAAe,QAAQ,cAAc,CAAC,GAAG;EACjE,MAAM,OAAO,OAAO,SAAS;EAC7B,WAAW,IAAI,OAAO,KAAK,OAAO,YAAY,KAAK,KAAK,KAAK,KAAK,IAAI;EACtE,KAAK,MAAM,QAAQ,MAAM,QAAQ,KAAK,KAAK,IAAI,KAAK,QAAQ,CAAC,GAC5D,KAAK,MAAM,QAAQ,MAAM,QAAQ,OAAO,IAAI,CAAC,CAAC,KAAK,IAAK,OAAO,IAAI,CAAC,CAAC,QAAsB,CAAC,GAC3F,IAAI,OAAO,OAAO,IAAI,CAAC,CAAC,YAAY,YAAY,OAAO,IAAI,CAAC,CAAC,SAAS,SAAS,IAAI,OAAO,IAAI,CAAC,CAAC,OAAiB;EACnH,KAAK,MAAM,QAAQ,MAAM,QAAQ,KAAK,KAAK,IAAI,KAAK,QAAQ,CAAC,GAC5D,IAAI,OAAO,OAAO,IAAI,CAAC,CAAC,YAAY,YAAY,OAAO,IAAI,CAAC,CAAC,SAAS,SAAS,IAAI,OAAO,IAAI,CAAC,CAAC,OAAiB;CACnH;CACA,MAAM,UAAU,QAA0B,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK;CACjE,OAAO;EACN,MAAM,OAAO,CAAC,GAAG,KAAK,OAAO,GAAG,GAAG,OAAO,KAAK,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC;EACtE,SAAS,OAAO,KAAK,WAAW,CAAC;EACjC,MAAM,OAAO,KAAK,OAAO,CAAC;EAC1B,SAAS,OAAO,KAAK,UAAU,CAAC;EAChC,UAAU,OAAO,SAAS;EAC1B,SAAS,OAAO,QAAQ;EACxB,WAAW,OAAO,UAAU;EAC5B,IAAI,OAAO,OAAO,KAAK,OAAO,QAAQ,EAAE,CAAC,CAAC;EAC1C,OAAO,OAAO,OAAO,KAAK,OAAO,QAAQ,MAAM,CAAC,CAAC;CAClD;AACD;;AAGA,IAAM,iBAAiB,CAAC,eAAe,QAAQ,CAAC,CAAC,KAAK,GAAG;;AAGzD,IAAM,QAAQ;CACb;EAAC;EAAQ;EAAQ;EAAQ;CAA6D;CACtF;EAAC;EAAW;EAAW;EAAW;CAAyC;CAC3E;EAAC;EAAQ;EAAQ;EAAQ;CAAqC;CAC9D;EAAC;EAAW;EAAW;EAAW;CAAwC;CAC1E;EAAC;EAAY;EAAY;EAAY;CAAyE;CAC9G;EAAC;EAAW;EAAW;EAAW;CAAsC;CACxE;EAAC;EAAa;EAAa;EAAa;CAAkD;CAC1F;EAAC;EAAM;EAAM;EAAM;CAAyC;CAC5D;EAAC;EAAS;EAAS;EAAS;CAAyC;AACtE;;;;;;;AAQA,SAAgB,cAAc,MAAc,SAAgC;CAC3E,MAAM,MAAM,QAAQ,OAAO;CAC3B,MAAM,OAAO,OAAO,IAAI;CACxB,OAAO;EACN,iCAAiC,KAAK;EACtC,yCAAyC,eAAe;EACxD,GAAG,MAAM,SAAS,CAAC,KAAK,UAAU,MAAM,UAAU;GACjD;GACA,OAAO,KAAK;GACZ,IAAI,IAAI,CAAC,SACN,gBAAgB,SAAS,iBAAiB,IAAI,IAAI,CAAC,KAAK,OAAO,KAAK,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,OAC9F,gBAAgB,SAAS;GAC5B,eAAe,OAAO,KAAK,iBAAiB,SAAS;EACtD,CAAC;EACD;CACD,CAAC,CAAC,KAAK,IAAI;AACZ"}
package/dist/index.d.ts CHANGED
@@ -5,23 +5,24 @@
5
5
  * What is not listed here is the engine's own business and can change at any time. Tests may reach
6
6
  * further in; nothing else should, and the architecture tests check that.
7
7
  */
8
- export type { CreateWorldOptions, GameModule, GameResult, LobbySetting, MapWorldOptions, ServerHooks, ServerSeat } from './game';
9
- export { spawnStart, type StartCode, type StartData, type StartDef, startingBase } from './start';
8
+ export type { CreateWorldOptions, Rules, GameNavigationOptions, GameResult, LobbySetting, MapWorldOptions, ServerHooks, ServerSeat } from './game';
9
+ export { spawnStartingBase, type StartingBaseCode, type StartingBaseData, type StartingBase, placeStartingBase } from './start';
10
10
  export type { LoadWorldOptions } from './game';
11
11
  export type { Collection, GameBuilder, ModDef } from './mods';
12
- export { composeGame, defineMod, isMadeOf, ModError, recompose, satisfies } from './mods';
12
+ export { composeGame, isMadeOf, ModError, recompose, satisfies } from './mods';
13
13
  export { type AssembledGame, assembleGame, coreSystems, createRegistry, createWorld, createWorldFromMap, loadWorld, maxPlayersOf } from './game';
14
14
  export type { EntitySave, SaveHeader, SaveMigration, SaveMissing, SaveRefusal, SaveRules, WorldSave } from './save';
15
15
  export { type TerrainSave } from './terrainSave';
16
16
  export { decodeSave, encodeSave, SAVE_FORMAT, SaveError, saveHeader, saveProblem, saveWorld, type SaveWorldOptions, updateSave } from './save';
17
17
  export { applyTerrainPatch, type GroundBase, type GroundChanges, type GroundLayer, groundDifference, groundHash, isGroundChanges, type SavedGround, terrainPatch, type TerrainPatch, terrainPatchProblem } from './ground';
18
- export type { CampRules, FogRules, GameRules, HudShareRule, HudSharing, QueuedUnit, RulesInit } from './rules';
19
- export { defaultRules } from './rules';
18
+ export type { CampSettings, FogSettings, ItemSettings, ShopSettings, RuleSettings, HudShareRule, HudSharing, QueuedUnit, RuleSettingsInit } from './rules';
19
+ export { defaultSettings } from './rules';
20
20
  export type { EngineMessages, Message, MessageParams, MessageRef } from './messages';
21
21
  export { engineMessage, toMessage } from './messages';
22
22
  export type { OrderBehavior, OrderFact, OrderInit, OrderStatus, System, SystemDef, SystemOver, SystemPhase } from './registry';
23
23
  export type { NoState, OrderInitOf, OrderInits, OrderParams, OrderStateOf, OrderStates } from './registry';
24
24
  export type { AdvanceState, AlongPath, AttackGroundState, AttackState, FollowState, HoldState, PatrolState } from './orders/basic';
25
+ export { holdOff, waitBy, type WaitState } from './orders/waiting';
25
26
  export type { BuildState, RepairState, WorkState } from './orders/build';
26
27
  export type { CastChannel, CastState } from './orders/cast';
27
28
  export type { HarvestGathering, HarvestKept, HarvestState, HarvestToDropOff, HarvestToResource } from './orders/harvest';
@@ -29,10 +30,10 @@ export type { ItemOrderState } from './orders/items';
29
30
  export type { BoardState, LoadState, UnloadState } from './transport';
30
31
  export type { SystemTiming } from './scheduler';
31
32
  export { PHASES, Scheduler } from './scheduler';
32
- export type { Available, CanHarvest, AfterCast, AfterDamage, BeforeBuff, BeforeCast, BeforeDamage, BeforeDeath, BeforeHeal, BeforeOrder, BeforePause, BeforeSurrender, SupplyCap, BeforeProduce, BuffEnd, CanPlace, Death, FromMap, FromMapCamp, FromMapObject, FallenHero, FromMapRegion, Morphed, AnyHook, HookDef, HookEvents, HookHandler, HookKey, HookName, Idle, Hooks, ProductionKind, TargetScore, MakeWay, Detour, Formation } from './hooks';
33
- export { defineHook, defineHookType } from './hooks';
33
+ export type { Available, CanHarvest, AfterCast, AfterDamage, BeforeBuff, BeforeCast, BeforeEffect, EffectLanded, BeforeDamage, BeforeDeath, BeforeHeal, BeforeOrder, BeforePause, BeforeSurrender, SupplyCap, BeforeProduce, BuffEnd, CanPlace, Death, FromMap, FromMapCamp, FromMapObject, FallenHero, FromMapRegion, Morphed, AnyHook, HookDef, HookEvents, HookHandler, HookKey, HookName, Idle, Hooks, ProductionKind, TargetScore, MakeWay, Detour, Formation } from './hooks';
34
+ export { type Cancellable, defineHook, defineHookType, refusalOf } from './hooks';
34
35
  export type { EventAudience, EventKey, ListenerDef } from './events';
35
- export { type ReplicatedEvent, replicateEvent, type SessionEventOf, SessionView, type SnapshotPart } from './replication';
36
+ export { type ReplicatedEvent, replicateEvent, type SessionEventOf, SessionView, type SnapshotField } from './replication';
36
37
  export { defineEvent, defineListener } from './events';
37
38
  /** The engine's events, a key each (design review E7) */
38
39
  export * from './engineEvents';
@@ -55,71 +56,91 @@ export { Dialog, talk } from './dialog';
55
56
  export type { CinematicChoice, CinematicCue, CinematicCueSent, CinematicEnded, CinematicOptions, CinematicOutcome, CinematicWait } from './cinematics';
56
57
  export type { DeathCause, DeathReason, PlayerRelation } from './world';
57
58
  export { cinematic, cinematicCue, cueCinematic, playCinematic, regionCinematic } from './cinematics';
58
- export type { EffectCue, EffectOptions } from './effects';
59
- export { playEffect, stopEffect } from './effects';
59
+ export type { CameraOrder, CameraRect, SeatCamera } from './cameraOrders';
60
+ export { cameraFor, cameraStep } from './cameraOrders';
61
+ export type { FxCue, FxOptions } from './effects';
62
+ export { playFx, stopFx } from './effects';
60
63
  export { coreHooks } from './features';
61
64
  export { Registry, UnlistedError } from './registry';
62
- export type { DamageOptions, Delayed, MessageKind, Missile, Projectile, Reveal, SpawnOptions, WorldEvents, WorldChecks, WorldOptions, WorldWatcher, Zone } from './world';
65
+ export type { DamageOptions, Delayed, MessageKind, Missile, Projectile, Reveal, SpawnAt, SpawnOptions, WorldEvents, WorldChecks, WorldOptions, WorldWatcher, Zone } from './world';
63
66
  export { World } from './world';
64
- export type { Camp, CampMember } from './camps';
65
- export { campLayout, campMember, campNamed, camps, respawnCamp, spawnCamp } from './camps';
67
+ export type { Camp, CampAggro, CampMember } from './camps';
68
+ export { aggroCamp, campLayout, campMember, campNamed, camps, campTarget, resetCamp, respawnCamp, RETURN_GRACE, spawnCamp } from './camps';
66
69
  export type { MapInfo, MapPlayerInfo } from './names';
67
70
  export { WorldMap } from './names';
68
71
  export type { Spot } from './paths';
69
72
  export { Path } from './paths';
70
73
  export { mapFileStem, mapNamesSource, mapText } from './mapFile';
74
+ export type { GameIdSources } from './idsFile';
75
+ export { gameIds, gameIdsSource } from './idsFile';
71
76
  export { type MapMerge, mergeMaps } from './mapMerge';
72
77
  export type { MapEditorDef, MapEraseKind, MapFieldDef, MapFieldKind, MapFieldOption, MapPaletteGroup, MapProblem, MapRef, MapRefTarget, MapRefUse, MapTarget, MapThing } from './mapFields';
73
78
  export type { TileDef } from './tiles';
74
79
  export { defineTile, MAX_TILES } from './tiles';
75
- export { type CellLayerDef, cellLayerValues, cellsIn, defineCellLayer } from './cellLayers';
80
+ export { type CellLayerDef, type CellLayerValue, cellLayerValues, cellsIn, dataCellLayersProblem, type DataCellLayer, type DataCellLayerValue, defineCellLayer, layCellLayerData, rememberedCells } from './cellLayers';
81
+ export { burningCells, clearFoliage, extinguish, firebreak, FOLIAGE, FOLIAGE_STATE, foliageAt, foliageBurnt, type FoliageCause, type FoliageCell, type FoliageConceal, type FoliageFire, foliageFireOut, type FoliageIgnite, foliageIgnite, foliageIgnited, foliageLayerOfState, type FoliageLayerOptions, foliageLayers, type FoliageOptions, foliagePack, foliageRegrown, type FoliageRuin, foliageRuined, type FoliageState, foliageStateLayer, foliageStateOf, foliageStyle, type FoliageStyleDef, foliageStyleProblem, type FoliageWhere, gust, ignite, regrow, ruin, setFoliage, stopFire, type WindGust } from './foliage';
82
+ export { BURNING, type BurnCause, type BurningInfo, burningOf, type BurningOptions, burningPack, type BurningSpread, burningThings, type BurnsDef, burnPutOut, burnStart, type BurnStart, burnStarted, burnt, canBurn, type FireShown, isBurning, onFire, putOut, setAlight } from './burning';
76
83
  export { presetBlight, presetTiles } from './presetGround';
84
+ export { growOnTiles, presetFoliageStyles } from './presetFoliage';
77
85
  export { type MarketRate, presetFountain, presetMarket, type PresetMarketOptions } from './presetBuildings';
78
- export { type ConcealmentOptions, patchAt, withConcealment } from './concealment';
86
+ export { type ConcealmentOptions, patchAt, concealmentPack } from './concealment';
87
+ export { patchCells, type PatchCellsOptions } from './cellPatches';
79
88
  export { homeOf } from './home';
80
- export { recallAbility, type RespawnOptions, withRespawn } from './packs/heroes/respawn';
81
- export { DEFAULT_STANCE, stance, stanceCommand, type StanceDef, stanceOf, STANCES, type StancesOptions, withStances } from './stances';
82
- export { CAPTURE_FIELDS, CAPTURE_KIND, captured, captureOf, type CaptureOptions, capturePoint, type CapturePoint, captures, capturesOf, type CaptureState, capturing, type Contested, withCapture } from './capture';
83
- export { FRIENDLY_FIRE, type FriendlyFireOptions, withFriendlyFire } from './friendlyFire';
84
- export { denying, type DenyOptions, type LastHitOptions, lastHitsOf, mayDeny, withLastHits } from './denying';
85
- export { checkLanes, coreVictory, defaultWave, heroStrike, type LaneWave, laneMinion, type LanesOptions, sendWave, wavesSent, withLanes, LANE_SPAWNER_KIND, LANE_SPAWNERS, type Lane, type LaneEnd, lanesOf, mapLanes } from './lanes';
89
+ export { recallAbility, type RespawnOptions, respawnPack } from './packs/heroes/respawn';
90
+ export { DEFAULT_STANCE, stance, stanceCommand, type StanceDef, stanceOf, STANCES, type StancesOptions, stancesPack } from './stances';
91
+ export { CAPTURE_FIELDS, CAPTURE_KIND, captured, captureOf, type CaptureOptions, capturePoint, type CapturePoint, captures, capturesOf, type CaptureState, capturing, type Contested, capturePack } from './capture';
92
+ export { FRIENDLY_FIRE, type FriendlyFireOptions, friendlyFirePack } from './friendlyFire';
93
+ export { denying, type DenyOptions, type LastHitOptions, lastHitsOf, mayDeny, lastHitsPack } from './denying';
94
+ export { checkLanes, coreVictory, defaultWave, heroStrike, type LaneWave, laneMinion, type LanesOptions, sendWave, wavesSent, lanesPack, LANE_SPAWNER_KIND, LANE_SPAWNERS, type Lane, type LaneEnd, lanesOf, mapLanes } from './lanes';
86
95
  export { campFields, DEFAULT_HEIGHTS, defineMapField, fieldOptions, mapFields, mapThings, objectFields, playerFields, regionFields } from './mapFields';
87
96
  export type { IdOf } from './ids';
88
97
  export { defineIds } from './ids';
89
98
  export type { Audience, Component, ComponentFieldDef, ComponentOptions, SavedRefs, SnapshotView } from './components';
90
99
  export { defineComponent, snapshotOf } from './components';
91
- export type { AbilityState, BuffInstance, CombatState, ConstructionState, Dash, EntityId, HarvesterState, ItemInstance, MovementState, MoveStatus, Order, Placed, PlayerId, ProductionItem, ProductionState, RallyPoint, ResourceState, StockState } from './entity';
100
+ export type { AbilityState, RecastWindow, BuffInstance, CombatState, ConstructionState, Dash, EntityId, HarvesterState, ItemInstance, Likeness, MovementState, MoveStatus, Order, Placed, PlayerId, ProductionItem, ProductionState, RallyPoint, ResourceState, StockState } from './entity';
92
101
  export { deposit, detection, distanceToEdge, edgeDistance, Entity, exposure, fighting, moving } from './entity';
93
- export { dashing } from './dashing';
102
+ export type { OrderOptions } from './entity';
103
+ export { dashing, type DashSight } from './dashing';
94
104
  export { orderSays } from './orders/facts';
95
105
  export { type DebugAsk, type GameHostMessage, type HostToPlayer, type LobbyServerMessage, type ServerToPlayer } from './session/wire';
96
106
  export { defineGameFile, type GameFileDef } from './gameFiles';
97
107
  export type { PlayerInit } from './player';
98
108
  export type { Purse } from './player';
99
109
  export { currencyOf, earn, giveBack, pay, Player, refund, shortOf, spend, type SpentOn } from './player';
100
- export { defineStat, engineStats, presetScore, type PresetScoreOptions, Score, type ScoreAudience, type ScoreCount, type ScoreCounted, scoreData, type ScoreData, type ScoreFormat, type ScoreKind, type ScoreLineState, scoreOn, type ScoreRules, type ScoreSource, type ScoreState, type ScoreStatDef, type ResolvedScore } from './score';
110
+ export { defineStat, engineStats, presetScore, type PresetScoreOptions, Score, type ScoreAudience, type ScoreCount, type ScoreCounted, scoreData, type ScoreData, type ScoreFormat, type ScoreKind, type ScoreLineState, scoreOn, type ScoreSettings, type ScoreSource, type ScoreState, type ScoreStatDef, type ResolvedScore } from './score';
101
111
  export type { Command, CommandDef, Commands, DefinedCommand, IssuedCommand, ModCommand } from './commands';
102
- export { coreCommands, defineCommand, stopCommand } from './commands';
112
+ export { steerCommand, coreCommands, defineCommand, stopCommand } from './commands';
103
113
  export type { Check, Checked, Fields } from './fields';
104
114
  export { bool, id, ids, index, Invalid, isObject, list, number, object, oneOf, optional, point, rgb, seconds, string, text } from './fields';
105
- export type { AbilityDef, AbilityTarget, AimShape, AttackDef, AttackStats, BuffDef, Cost, DamageType, DayCycle, AnyEffect, EffectCommon, EffectDef, EffectFields, EffectOf, EffectTypes, EntityKind, HeroDef, ItemDef, ItemTier, Layer, ResourceDef, ResourceKind, Scaled, ScaledStatChange, Scaling, StatChange, StatDef, StatKey, Stats, CoreStats, StatSource, UnitTypeDef, UpgradeDef, UpgradeEffect, UpkeepTier } from './defs';
106
- export { aimOf, at, baseStats, footprintOf, upgradesOf, hourOf, isNight, noStats, anyEffect } from './defs';
107
- export { attackTiming, cooldownOf, mitigation, refreshVitals, type StatPart, type StatSum, statsOf, swingTiming } from './stats';
115
+ export type { AbilityDef, AbilityTarget, AbilityRecast, AbilityTargetings, AimShape, AttackDef, AttackStats, BuffBreak, BuffControl, BuffDef, Cleave, ControlKind, Cost, DamageType, DayCycle, EffectValue, EffectValueContext, AmountFormula, AnyEffect, EffectCommon, EffectDef, EffectFields, EffectMoment, EffectShape, ProxyOrigin, KnockbackDirection, UnitCondition, UnitConditionCheck, GroundTrigger, GroundUse, PoolDef, PoolThreshold, HoldDef, SpawnLine, EffectOf, EffectTypes, EntityKind, FormCooldowns, HeroDef, HeroForm, ItemDef, ItemRefill, ItemTier, TagDef, Layer, MorphBack, ResourceDef, ResourceId, Scaled, ScaledStatChange, Scaling, StatChange, StatDef, StatKey, Stats, CoreStats, StatSource, UnitTypeDef, UpgradeDef, UpgradeEffect, UpkeepTier } from './defs';
116
+ export { aimOf, at, declaredAt, baseStats, footprintOf, upgradesOf, hourOf, isNight, noStats, anyEffect, lowerChain, EFFECT_MOMENTS, MAIN_SUPPLY, supplyOf, supplyPoolsOf, supplyGivenOf, supplyPoolsGivenOf } from './defs';
117
+ export { attackTiming, cooldownOf, damageScale, healingScale, INCOMING_DAMAGE, mitigation, refreshVitals, type StatField, type StatSum, statsOf, swingTiming } from './stats';
108
118
  export { casterFacts, scaled } from './abilities/scaled';
109
- export { AURA_LINGER, applyBuff, avoids, hasBuff, isRooted, isSilenced, isSpellImmune, isStunned, layerOf, removeBuff, shieldOf, silences } from './abilities/buffs';
110
- export type { EffectContext, EffectHandler, EffectKind } from './abilities/effects';
111
- export { defineEffect, type EffectKindOptions, effectTargets, startDash } from './abilities/effects';
112
- export { buffEnded } from './abilities/land';
113
- export { restoreCharges } from './abilities/charges';
119
+ export { effectAmount, valueOf } from './abilities/amounts';
120
+ export { AURA_LINGER, applyBuff, avoids, controlOf, hasBuff, holdsUp, isCleansable, isControlled, isGrounded, isPhasing, buffsTagged, healthPerMana, overheal, isUnstoppable, isRooted, isSilenced, isSpellImmune, isInvulnerable, isUntargetable, healthFloor, isStunned, layerOf, removeBuff, shieldOf, silences } from './abilities/buffs';
121
+ export type { EffectContext, EffectHandler, EffectType } from './abilities/effects';
122
+ export { AIM_KINDS, type AimKind, aimKind, type AimPiece, type AimView, type CastAim, type CastAimed, defineTargeting, type Targeting, targetingOf } from './targeting';
123
+ export { defineEffect, type EffectTypeOptions, effectTargets, endZone, mayReach, removeMissile, splitMissile, startDash, steerMissile } from './abilities/effects';
124
+ export { launchMissile } from './abilities/effects/missile';
125
+ export { buffEnded, effectOrigin, landEffects, runEffects } from './abilities/land';
126
+ export { areaReach, type EffectArea, effectArea, effectHeading, inArea } from './abilities/shapes';
127
+ export { effectAt, effectIndex, effectOfList } from './abilities/effectIndex';
128
+ export { reduceCooldown, restoreCharges, setCooldown } from './abilities/charges';
129
+ export { type AttackModifier, attacksCounted, breakBuffs, bySlot, removeStacks, type TriggerType } from './abilities/triggers';
130
+ export { byChance, conditionHolds, hasTag, unitMatches } from './abilities/chance';
131
+ export { queryWorld, sortTargets, type WorldQuery } from './query';
132
+ export type { TargetOrder } from './defs';
133
+ export { abilityAsCast, endRecast, markedBy } from './abilities/recast';
134
+ export { controlled } from './abilities/control';
114
135
  export { castRange, castTimeOf, isSpell, notReady, validTarget } from './orders/cast';
115
- export { attackReaches, canAttack, fireOnTheMove, shootsUphill } from './systems/combat';
136
+ export { attackReaches, canAttack, cleaveOf, type CleaveNow, fireOnTheMove, shootsUphill } from './systems/combat';
116
137
  export { attackStat, defaultPickAttack, farthestAcquisition, farthestReach, groundAttack, pickAttack, rangeAgainst, reaches, tooNear } from './attacks';
117
138
  export type { EngageLayer } from './engagement';
118
- export { attackersOf, bandOf, defaultEngageLayer, defaultEngageRoom, engagedLike, engagedWith, engageLayer, engageWith, isBlocked, isCrowded, isShunned, release, roomFor, SHUN_TIME, shun, spotFor } from './engagement';
139
+ export { attackersOf, bandOf, defaultEngageLayer, defaultEngageRoom, defaultQueueDistance, engagedLike, engagedWith, engageLayer, engageWith, freeSpot, isBlocked, isCrowded, isShunned, queuePoint, release, roomFor, SHUN_TIME, shun, spotFor } from './engagement';
119
140
  export type { MoveOptions } from './systems/movement';
120
141
  export { faceTowards, halt, lookAhead, makeWay, moveTo, moveToEntity, REPATH_SPREAD, setAnchored, setGhost, standsInWay, stepAside } from './systems/movement';
121
- export type { FormationContext, FormationDef } from './formation';
122
- export { circleFormation, coreFormations, fitToPlaces, FORMATION_GAP, formationPoints, noneFormation, rowsFormation, squareFormation } from './formation';
142
+ export type { FormationContext, FormationDef, FormationUnit } from './formation';
143
+ export { circleFormation, coreFormations, fitToPlaces, FORMATION_GAP, formationPoints, formationPreview, noneFormation, rowsFormation, squareFormation } from './formation';
123
144
  export { expose } from './systems/fog';
124
145
  export { lastTeamStanding } from './systems/victory';
125
146
  export { canPlaceStructure, canRepair, placementCells, placementProblem, siteOf } from './orders/build';
@@ -130,39 +151,48 @@ export { builtSoFar, constructionSite, underConstruction } from './systems/const
130
151
  export type { PlayerFacts, ReadyFacts, Relation, TargetFacts } from './shared';
131
152
  export { abilityReach, abilityRefusal, chargesLeft, costRefusal, availableTo, availableToPlayer, gathers, requirementRefusal, sellValue, targetRefusal, trainRefusal } from './shared';
132
153
  export { targetFacts } from './orders/cast';
133
- export { canLearn, grantXp, HEROES, heroesOf, heroOf, heroOfState, heroState, learn, levelNeeded, maxLevelOf, respawnIn, reviveCost, reviveHero, setHeroLevel, xpWorth } from './hero';
134
- export type { HeroesPack, HeroRules, HeroSent, HeroState } from './hero';
154
+ export { canLearn, boughtBack, grantXp, heroAssisted, heroKillWorth, heroShutdown, killStreak, innateLevel, keepInnate, HEROES, heroesOf, heroOf, heroOfState, heroState, learn, levelNeeded, maxLevelOf, respawnIn, reviveCost, reviveHero, setHeroLevel, xpWorth } from './hero';
155
+ export type { HeroesPack, HeroSettings, HeroSent, HeroState } from './hero';
135
156
  export { hasPack, type GamePack } from './packs/pack';
136
- export { withHeroes } from './packs/heroes';
137
- export { cinematicPlayingCommand, DIRECTOR, DIRECTOR_ACTIONS, DIRECTOR_ORDERS, type DirectorAction, directorCommand, directorInvulnerable, type DirectorOptions, directing, withDirector } from './packs/director';
138
- export { MOBA_STATS, type MobaStatsOptions, penetratingMitigation, withMobaStats } from './packs/moba';
157
+ export { heroesPack } from './packs/heroes';
158
+ export { defaultHeroSpellBuffs, defaultHeroSpells } from './packs/heroes/spells';
159
+ export { defaultCallingSet, defaultHeroSpellSet } from './packs/heroes/sets';
160
+ export { type CallingDef, callingsOf, type CallingStrength, callingStrength, defaultCallings, heroCallings, withCallings } from './callings';
161
+ export { fallen, fallenHeroes, type FallenRecord } from './packs/heroes/fallen';
162
+ export { type AssistLog, assistLog, buyBack, buybackRefusal, foundAssists, heroAssists, heroBehind, type HeroTally, heroTally, settleHeroKill } from './packs/heroes/loop';
163
+ export { cinematicPlayingCommand, DIRECTOR, DIRECTOR_ACTIONS, DIRECTOR_ORDERS, type DirectorAction, directorCommand, directorInvulnerable, type DirectorOptions, directing, directorPack } from './packs/director';
164
+ export { MOBA_STATS, type MobaStatsOptions, penetratingMitigation, mobaStatsPack } from './packs/moba';
165
+ export { DEFAULT_ITEMS, defaultItemAbilities, defaultItemBuffs, defaultItems, defaultItemSet, defaultItemsPack, defaultItemTags, defaultItemUnits } from './packs/items';
166
+ export { type AnySetChoice, type ChosenDefaults, chooseSet, type DataSetChoice, type DeepPart, type DefaultSet, overChoice, dataDefaultsProblem, type SetChoice, type SetKind, type SetPick, type SetUses, useDefaults } from './defaultSets';
139
167
  export { makeHero } from './packs/heroes/making';
140
- export type { GroundItem } from './items';
141
- export { freeSlot, inventorySlots, slotsOf } from './inventory';
142
- export { atShop, buy, createItem, dropOnGround, findItem, giveItem, pickUp, priceOf, sell, shopNear, spendCharge, takeItem, shopStock } from './items';
143
- export { meets, missing, morph, techOf, unlocked, unlockRefusal } from './tech';
168
+ export type { GroundItem, Purchase } from './items';
169
+ export { carriedPassives, freeSlot, inventorySlots, slotsOf } from './inventory';
170
+ export { atShop, buy, carryRefusal, createItem, groupLimitOf, groupRefusal, itemTier, itemsTagged, hasRoomFor, dropOnGround, findItem, giveItem, pickUp, priceOf, sell, shopNear, spendCharge, takeItem, shopStock, purchases, undoable, undoBuy, undoRefusal } from './items';
171
+ export { meets, missing, morph, type MorphOptions, techOf, unlocked, unlockRefusal } from './tech';
172
+ export { type FormOptions, formSystem, leaveForm, takeForm } from './forms';
173
+ export { type Form, type FormSent, form, formOf, learnsOf } from './formState';
144
174
  export { type TechEdge, type TechNode, techTree } from './techTree';
145
175
  export { canHarvest, gathering, harvesterOf } from './orders/harvest';
146
176
  export { checkRaces, defineRace, isAvailable, RANDOM_RACE, type RaceDef, type RaceHookDef, raceOf, setRace } from './races';
147
177
  export type { Upkeep } from './upkeep';
148
178
  export { upkeepOf } from './upkeep';
149
179
  export { plain as plainData } from './plain';
150
- export type { CellRect, GameMap, MapResize, MapResizer, MapSides, MapCamp, MapFile, MapMigration, MapCamera, MapDay, MapForce, MapItemTable, MapItemTableEntry, MapRandomGroup, MapDoodad, MapDetail, MapDetailLevel, MapDoodadDetail, MapEnvironment, MapObject, MapObjectOrder, MapPath, PathProfile, MapPlayer, MapPoint, MapRegion, MapRegionCinematic, MapDoodadLight, NewMapOptions } from './map';
180
+ export type { CellRect, GameMap, MapResize, MapResizer, MapSides, MapCamp, MapFile, LazyMaps, MapMigration, MapCamera, MapDay, MapForce, MapItemTable, MapItemTableEntry, MapRandomGroup, MapDoodad, MapDetail, MapDetailLevel, MapDoodadDetail, MapEnvironment, MapObject, MapObjectOrder, MapPath, PathProfile, MapPlayer, MapPoint, MapRegion, MapRegionCinematic, MapDoodadLight, NewMapOptions } from './map';
151
181
  export { cloneMap, createMap, withoutEditor, MAP_CREEPS, MAP_NEUTRAL, mapTerrain, blockByDoodads, BLOCKS_BUILD, BLOCKS_WALK, type MapTile, mapTileIds, playTileset, heightsFromPixels, heightsToPixels, MAX_MAP_SIZE, resizeMap, MAX_LEVEL, MAX_MAP_PLAYERS, adoptTileset, mapsFrom, migrateMap, parseMap, PLAYER_COLORS, PROFILE_SMOOTH, profileReach, playerSlot, serializeMap, updateMapTerrain } from './map';
152
182
  export type { PlateauSpec, RampSpec, TerrainGenOptions, TerrainMesh, TerrainSurface } from './terrain';
153
183
  export { generateTerrain, Terrain, WATER_DEEP, WATER_NONE, WATER_SHALLOW } from './terrain';
154
184
  export { FogOfWar } from './fog';
155
- export type { AgentSave, NavDebugGeometry, Navigation } from './navigation/navigation';
185
+ export type { AgentSave, CellArea, NavDebugGeometry, Navigation } from './navigation/navigation';
156
186
  export type { AvoidanceLevel, AvoidanceParams, RecastNavigationOptions } from './navigation/recast';
157
- export { AVOIDANCE_LEVELS } from './navigation/recast';
158
- export type { AbilityInfo, SharedAbility, CampInfo, GameKindListing, GameListing, MineInfo, CarriedItem, GatheringInfo, ProductionInfo, InventoryInfo, EntityState, FogState, GameSession, CorpseState, GroundItemState, XpInfo, HeroSummary, LearnableInfo, MissileState, Outcome, OwnEntityState, PlayerCommand, PlayerState, ProjectileState, QueueItemState, RevealState, SessionEvent, SessionEvents, SessionCan, SessionDebug, SessionPace, SessionSaves, SessionTiming, SessionComputer, Snapshot, StockInfo } from './session/protocol';
187
+ export { AVOIDANCE_LEVELS, SOFT_WALLS } from './navigation/recast';
188
+ export type { AbilityInfo, SharedAbility, CampInfo, GameKindListing, GameListing, MineInfo, CarriedItem, GatheringInfo, ProductionInfo, InventoryInfo, EntityState, FogState, GameSession, CorpseState, GroundItemState, XpInfo, HeroSummary, LearnableInfo, MissileState, AreaState, Outcome, OwnEntityState, PlayerCommand, PlayerState, ProjectileState, QueueItemState, RevealState, SessionEvent, SessionEvents, SessionCan, SessionDebug, SessionPace, SessionSaves, SessionTiming, SessionComputer, Snapshot, StockInfo, PurchaseInfo } from './session/protocol';
159
189
  export { isCommand, PROTOCOL_VERSION } from './session/protocol';
160
190
  export { LocalSession } from './session/local';
161
- export { type TeamMemory } from './session/memory';
191
+ export { CellMemory, type TeamMemory } from './session/memory';
162
192
  export type { ConnectOptions, HostTiming, LoopbackEnd, LoopbackOptions, SessionHostOptions, Transport } from './session/remote';
163
193
  export { connect, loopback, RemoteSession, SessionHost, SessionRefused } from './session/remote';
164
194
  export { delayed } from './session/delay';
165
- export { type ServeWorldOptions, serveWorld, type WorkerGame, WorkerSession, workerSession, type WorkerSessionOptions, type WorldPort, type WorldWorkerLike } from './session/worker';
195
+ export { type ServeWorldOptions, serveWorld, type WorkerGame, type WorkerGameContext, WorkerSession, workerSession, type WorkerSessionOptions, type WorldPort, type WorldWorkerLike } from './session/worker';
166
196
  export { openSocket } from './session/socket';
167
197
  export { type RelayNotice, type SharedGame, shareGame, type ShareOptions } from './session/share';
168
198
  export type { Delta, EntityChange, FogMessage, Frame, WirePatch } from './session/delta';
@@ -186,31 +216,39 @@ export type { EntityRow, InspectedSection, Inspection, InspectTarget, LoggedEven
186
216
  export type { WaitingTimer } from './timers';
187
217
  export { checkMap, MAP_RULES, type MapCheckContext, mapCells, type MapRule } from './mapCheck';
188
218
  export { checkRules, editDistance, type RulesProblem } from './rulesCheck';
189
- export { grantVeterancy, rankedUp, rankOf, veterancy, VETERANCY_RANKS, type VeterancyOptions, type VeterancyRank, type VeterancyState, withVeterancy } from './veterancy';
190
- export { ATTRIBUTE_KEYS, type Attribute, ATTRIBUTES, attributesOf, type AttributesOptions, primaryAttribute, CLASSIC_ATTRIBUTES, withAttributes } from './attributes';
191
- export { burnMana, type BurnOptions, MANA_BURN, withManaBurn } from './manaBurn';
192
- export { DESTRUCTIBLES, type DestructiblesOptions, withDestructibles } from './destructibles';
193
- export { portal, PORTALS, portalUsed, setWaygate, townPortal, waygate, waygateTarget, withPortals } from './portals';
194
- export { RUNES, type RunesOptions, usePowerUp, withRunes } from './runes';
195
- export { gainedStats, gainStats, type GainedStats, TOMES, withTomes } from './tomes';
196
- export { pileOf, pileTaken, pileType, type RemainsOptions, type RemainsSpec, rubbleType, withRemains } from './remains';
197
- export { buildLineCommand, setWallGate, wallGate, wallGateChanged, wallGateCommand, wallJoined, wallLine, type WallShape, withWalls } from './walls';
219
+ export { grantVeterancy, rankedUp, rankOf, veterancy, VETERANCY_RANKS, type VeterancyOptions, type VeterancyRank, type VeterancyState, veterancyPack } from './veterancy';
220
+ export { burnMana, type BurnOptions, MANA_BURN, manaBurnPack } from './manaBurn';
221
+ export { DESTRUCTIBLES, type DestructiblesOptions, destructiblesPack } from './destructibles';
222
+ export { GROUND_OBJECTS, groundObject, type GroundObjectState, groundObjectsPack, type MadeBy, madeBy, useObject } from './groundObjects';
223
+ export { ABILITY_CHANGES, abilityChangesPack, type AbilityGrant, abilityGrants, type Converted, converted, grantAbility, type GrantOptions, type GrantSent, removeAbility, swapAbility, upgradeAbility, upgradeAbilityCommand } from './abilityChanges';
224
+ export { type Aiming, aimAt, aimCommand, aiming, heldShare, HOLDS, holdsPack, releaseCommand, releaseHold, walkingChannel } from './holds';
225
+ export { changePool, poolCosts, poolOf, pools, RESOURCES, resourcesPack, type UnitPools } from './unitResources';
226
+ export { letGo, MOVES, type Moved, movedBy, movesPack, type Riding, riding } from './moves';
227
+ export { proxiesOf } from './proxies';
228
+ export { camouflageOf, revealUnit, VISION, visionPack } from './vision';
229
+ export { portal, PORTALS, portalUsed, setWaygate, townPortal, waygate, waygateTarget, portalsPack } from './portals';
230
+ export { RUNES, type RunesOptions, usePowerUp, runesPack } from './runes';
231
+ export { gainedStats, gainStats, type GainedStats, TOMES, tomesPack } from './tomes';
232
+ export { pileOf, pileTaken, pileType, type RemainsOptions, type RemainsSpec, rubbleType, remainsPack } from './remains';
233
+ export { buildLineCommand, setWallGate, wallGate, wallGateChanged, wallGateCommand, wallJoined, wallLine, type WallShape, wallsPack } from './walls';
198
234
  export { BUILD_REACH, type GameMeasure, type MapReport, measureMap, type StartMeasure, walkBetween, type Walk, walkingTime } from './mapMeasure';
199
- export { defineTunable, type TunableDef, tunableChanged, tuneCommand, withTuning } from './tunables';
235
+ export { defineTunable, type TunableDef, tunableChanged, tuneCommand, layTuning } from './tunables';
200
236
  export { buildNavigationData, memoryNavigationCache, type NavigationBuild, type NavigationBuildConfig, type NavigationBuilder, type NavigationBuilds, type NavigationSpeeds, type NavigationCache, type NavigationPort, navigationWorker, type NavigationWorkerLike, serveNavigationBuilds } from './navigation/builds';
201
- export { DATA_KINDS, type DataDefs, type DataField, type DataKind, type DataValue, type DataValues, COPY_OF, copyDefinition, type FieldValue, definitionChanged, definitionIn, definitionsIn, type EditableData, type EditableField, type EditableFields, editableFields, blankDefinition, effectFields, effectTypesOf, editableValues, fitValue, type GameData, mergeValues, nested, NEW_DEFINITION, redefineIn, redefinitions, removeDefinition, REQUIRED_FIELDS, valueAt, withData, withValues } from './gameData';
237
+ export { DATA_KINDS, type DataDefs, type DataField, type DataKind, type DataValue, type DataValues, COPY_OF, copyDefinition, type FieldValue, definitionChanged, definitionIn, definitionsIn, type EditableData, type EditableField, type EditableFields, editableFields, blankDefinition, effectFields, effectTypesOf, editableValues, fitValue, type GameData, mergeValues, nested, NEW_DEFINITION, redefineIn, redefinitions, removeDefinition, REQUIRED_FIELDS, valueAt, layData, layValues } from './gameData';
202
238
  export { checkPack, checkPackSchema, PackError, packFromJson, packsOf } from './packs';
203
- export type { DataRules } from './gameData';
204
- export { dataRulesProblem } from './gameData';
239
+ export type { DataCalling, DataRules, DataTag } from './gameData';
240
+ export { dataEntriesProblem, dataRulesProblem } from './gameData';
205
241
  export type { PackFile, PackMod } from './packs';
206
242
  export { readScenario, SCENARIO_FORMAT, type ScenarioFile, scenarioOfMap, scenarioOfWorld, scenarioWorld } from './scenario';
207
243
  export { gateChanged, isGateOpen, setGate } from './gates';
208
244
  export { gameReloaded, type HotContext, hotMod, hotRules, onNewGameVersion, onNewModVersion, reloadGame, replaceIn } from './hotReload';
245
+ export { createGame, type Game, type GameInit, type GameMaps, type GameStart, type GameStartContext, type HandlerOptions, hotGame, isGame, type Mission, rulesOf, startOf } from './createGame';
209
246
  export { applyHeroRecord, heroFromRecord, type HeroItem, heroRecord, type HeroRecord, readHeroRecord } from './packs/heroes/carry';
210
247
  export { type CampaignProgress, carryIn, carryOut, carryResearch, carryResources, carryUnits, giveResearch, giveResources, type MissionResult, missionWon, newCampaignProgress, placeUnits, readCampaignProgress, type UnitRecord } from './packs/heroes/campaign';
211
248
  export { board, canBoard, type Cargo, cargo, roomIn, unload } from './transport';
212
249
  export { hire } from './packs/heroes/hire';
213
- export { allowed, chat, type ChatAudience, ping, PING_KINDS, pingKinds, type PingKind as PlayerPingKind } from './talk';
250
+ export { allowed, chat, type ChatAudience, ping, PING_KINDS, pingKinds, type PingId as PlayerPingKind } from './talk';
251
+ export { type Summoned, type SummonAggro, summonsOf } from './summoned';
214
252
  export { type Corpse, corpses, illusion, summoned, takeCorpses, worthless } from './summons';
215
253
  export { dispelBuffs } from './abilities/dispel';
216
254
  export { exchange, give, shareWith } from './trade';
@@ -219,9 +257,8 @@ export { type FramesReplay, type RecordOptions, type Replay, type ReplayPlayer,
219
257
  export { type CommandRecorder, type CommandReplay, recordCommands, REPLAY_SLICE, runReplay } from './session/commandReplay';
220
258
  export { type Apart, type Difference, saveDifference } from './determinism';
221
259
  export type { AbilityTextContext, AbilityValue, AbilityValueDef, CasterFacts, TextSegment, ValuePart } from './abilities/text';
222
- export { abilityText, abilityValues, describeAbility, formatNumber, STAT_WORDS, valueText } from './abilities/text';
260
+ export { abilityText, abilityValues, describeAbility, formatNumber, STAT_WORDS, valueFor, valueText } from './abilities/text';
223
261
  export { consoleSink, createLogRing, errorFields, LOG_LEVELS, type LogContext, type LogEntry, Logger, type LoggerOptions, type LogLevel, logLine, type LogRing, type LogSink, rootConsole, rootLogger } from './log';
224
262
  export { type ErrorAnswer, type ErrorPolicy, type ErrorSite, type RejectedKind, siteWords, type WorldFailure } from './errors';
225
263
  /** The engine's orders that go along a path of the map, for a game's own to be made of (`followRoad` of the tower defense) */
226
- export { checkDamageTable, type DamageTable, damageMultiplier } from './rules';
227
264
  export { groundSpeedAt, groundSpeedOfCell } from './groundSpeed';