@v12-engine/engine 0.1.1 → 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
@@ -1,10 +1,12 @@
1
+ import type { CameraOrder, SeatCamera } from '#engine/cameraOrders';
1
2
  import type { SystemTiming } from '#engine/scheduler';
2
3
  import type { DataKind, DataValues } from '#engine/gameData';
3
4
  import type { Logger } from '#engine/log';
4
5
  import type { Command, ModCommand } from '#engine/commands';
5
- import type { ChatAudience, PingKind } from '#engine/talk';
6
- import type { Cost, DamageType, ResourceKind, Stats } from '#engine/defs';
7
- import type { PlayerId } from '#engine/entity';
6
+ import type { ChatAudience, PingId } from '#engine/talk';
7
+ import type { Cost, DamageType, EffectShape, ResourceId, Stats } from '#engine/defs';
8
+ import type { EntityId, PlayerId } from '#engine/entity';
9
+ import type { FormationUnit } from '#engine/formation';
8
10
  import type { Vec2 } from '#engine/math';
9
11
  import type { SaidLine } from '#engine/dialog';
10
12
  import type { Message } from '#engine/messages';
@@ -27,16 +29,28 @@ import type { ScoreLineState, ScoreState } from '#engine/score';
27
29
  * simulation runs on a server, and nothing on the client has to change for that.
28
30
  * Everything in here is plain data for that reason: it has to survive being sent.
29
31
  */
30
- /** @beta */
32
+ /**
33
+ * An item in a building's production queue, as the screen is told of it
34
+ *
35
+ * @beta
36
+ */
31
37
  export interface QueueItemState {
38
+ /** What the item is: a unit being trained, an upgrade researched, a hero revived or a morph into another type */
32
39
  kind: 'unit' | 'upgrade' | 'revive' | 'morph';
40
+ /** The id of the unit type, upgrade or hero the item makes */
33
41
  id: string;
34
42
  /** 0..1 */
35
43
  progress: number;
36
44
  }
37
- /** @beta */
45
+ /**
46
+ * An ability of the player's own unit as the owner's screen is told of it: level, cooldown, charges and autocast
47
+ *
48
+ * @beta
49
+ */
38
50
  export interface AbilityInfo {
51
+ /** The ability's id */
39
52
  id: string;
53
+ /** The ability's level, from 1 */
40
54
  level: number;
41
55
  /** Seconds until it can be used again */
42
56
  cooldown: number;
@@ -44,15 +58,29 @@ export interface AbilityInfo {
44
58
  charges?: number;
45
59
  /** Seconds until the next use is back, while it holds fewer than it can */
46
60
  refill?: number;
61
+ /** Whether the ability is set to cast by itself */
47
62
  autocast: boolean;
48
63
  /**
49
64
  * What the game's `canCast` hook decided, where it is not what the declared costs say: a reason it cannot be used
50
65
  * now, or null for one it can be used for all that ("free while Clearcasting"). Left out when there is nothing to add
51
66
  */
52
67
  decided?: Message | null;
68
+ /** The game's own state of the ability (`AbilityState.data`), where it has any */
69
+ data?: Record<string, unknown>;
70
+ /**
71
+ * Its window to be cast again, while it is open (`AbilityDef.recast`): seconds `left` of `total`, and how many
72
+ * recasts are left in it (`count`)
73
+ *
74
+ * @beta
75
+ */
76
+ recast?: {
77
+ left: number;
78
+ total: number;
79
+ count: number;
80
+ };
53
81
  }
54
82
  /**
55
- * An ability of a unit as everyone who sees it may be told (`GameRules.hud.shareAbilities`): what it is and its
83
+ * An ability of a unit as everyone who sees it may be told (`RuleSettings.hud.shareAbilities`): what it is and its
56
84
  * level, and how much of its cooldown is left where the rules share that too
57
85
  *
58
86
  * @beta
@@ -76,7 +104,9 @@ export interface SharedAbility {
76
104
  export interface CarriedItem {
77
105
  /** Which one of the unit's items, for commands */
78
106
  id: number;
107
+ /** The item type's id */
79
108
  item: string;
109
+ /** Uses left of the item */
80
110
  charges: number;
81
111
  /** Seconds until it can be used again */
82
112
  cooldown: number;
@@ -107,7 +137,7 @@ export interface GatheringInfo {
107
137
  /** How much of it */
108
138
  carrying: number;
109
139
  /** What it is that it carries, or last gathered. Null for a worker that has not gathered anything yet */
110
- kind: ResourceKind | null;
140
+ kind: ResourceId | null;
111
141
  }
112
142
  /**
113
143
  * What a building's owner and their allies are told of what it makes (`productionQueue`'s snapshot): its queue and where
@@ -131,27 +161,52 @@ export interface ProductionInfo {
131
161
  * @beta
132
162
  */
133
163
  export interface GroundItemState {
164
+ /** The ground item's id, which a pick-up order names */
134
165
  id: number;
166
+ /** The item type's id */
135
167
  item: string;
168
+ /** Where it lies, east-west */
136
169
  x: number;
170
+ /** Where it lies, north-south */
137
171
  z: number;
138
172
  }
139
- /** @beta */
173
+ /**
174
+ * One item type a shop has for sale, with how many are left and how far the next is
175
+ *
176
+ * @beta
177
+ */
140
178
  export interface StockInfo {
179
+ /** The item type's id */
141
180
  item: string;
142
181
  /** How many are left. Left out for what a shop never runs out of */
143
182
  count?: number;
144
183
  /** 0..1 towards the next one, when the shop is not full */
145
184
  restock: number;
146
185
  }
186
+ /**
187
+ * A purchase of a hero's that its player may still undo (`purchases`, `undoBuy`), with the seconds left to
188
+ *
189
+ * @beta
190
+ */
191
+ export interface PurchaseInfo {
192
+ /** The purchase's id, what the `undoBuy` command names it by */
193
+ id: number;
194
+ /** The item type's id */
195
+ item: string;
196
+ /** Whole seconds left to undo it */
197
+ left: number;
198
+ }
147
199
  /**
148
200
  * An ability a hero can put points into
149
201
  *
150
202
  * @beta
151
203
  */
152
204
  export interface LearnableInfo {
205
+ /** The ability's id */
153
206
  id: string;
207
+ /** The level it is at now, 0 when not learned */
154
208
  level: number;
209
+ /** The highest level the ability can be taken to */
155
210
  maxLevel: number;
156
211
  /** Hero level needed for the next level of the ability */
157
212
  needs: number;
@@ -177,17 +232,23 @@ export interface XpInfo {
177
232
  * @beta
178
233
  */
179
234
  export interface HeroSummary {
235
+ /** The hero's entity id */
180
236
  id: number;
237
+ /** The hero's unit type id */
181
238
  type: string;
239
+ /** The hero's level */
182
240
  level: number;
241
+ /** Whether the hero is alive; a fallen one is in the row all the same */
183
242
  alive: boolean;
184
243
  /** 0..1 */
185
- hp: number;
244
+ health: number;
245
+ /** The hero's mana now */
186
246
  mana: number;
247
+ /** Skill points the hero has not spent */
187
248
  points: number;
188
- /** 0..1 while being brought back: at an altar, or coming back by itself (`withRespawn`) */
249
+ /** 0..1 while being brought back: at an altar, or coming back by itself (`respawnPack`) */
189
250
  reviving?: number;
190
- /** Seconds until it comes back by itself, while it waits to (`withRespawn`) */
251
+ /** Seconds until it comes back by itself, while it waits to (`respawnPack`) */
191
252
  respawnIn?: number;
192
253
  /** What bringing it back would cost */
193
254
  reviveCost?: Cost;
@@ -208,23 +269,37 @@ export interface OwnEntityState {
208
269
  build?: string;
209
270
  /** Orders in the queue, the current one included */
210
271
  orders: number;
272
+ /** Whether the unit is set not to fight back or chase (passive stance) */
211
273
  passive: boolean;
274
+ /** Whether the unit is in a fight now */
212
275
  fighting: boolean;
213
276
  /** Where it is walking to right now */
214
277
  goal?: Vec2;
215
278
  /** Destinations of the orders waiting in the queue: none while nothing waits */
216
279
  waypoints?: Vec2[];
280
+ /** The unit's abilities with their cooldowns and charges, for its owner's command card */
217
281
  abilities?: AbilityInfo[];
218
282
  }
219
- /** @beta */
283
+ /**
284
+ * A unit, building, resource or other entity as the screen is told of it
285
+ *
286
+ * @beta
287
+ */
220
288
  export interface EntityState {
289
+ /** The entity's id, which commands and orders name it by */
221
290
  id: number;
291
+ /** The id of its unit type */
222
292
  type: string;
293
+ /** The player who owns it */
223
294
  owner: PlayerId;
295
+ /** Where it stands, east-west, in world units */
224
296
  x: number;
297
+ /** Where it stands, north-south, in world units */
225
298
  z: number;
299
+ /** The way it faces, in radians; 0 is along +z */
226
300
  facing: number;
227
- hp: number;
301
+ /** Its health now */
302
+ health: number;
228
303
  /** The stats that are not what its type starts with. Whoever sees a unit can tell what it is capable of */
229
304
  stats?: Partial<Stats>;
230
305
  /** What its shields still hold */
@@ -238,8 +313,10 @@ export interface EntityState {
238
313
  /** False for a structure that is out of sight and shown the way it was last seen */
239
314
  visible: boolean;
240
315
  /** Left out when it is what the unit type says */
241
- maxHp?: number;
316
+ maxHealth?: number;
317
+ /** Its mana now; left out when it has none */
242
318
  mana?: number;
319
+ /** Its largest mana when that is not what its type says */
243
320
  maxMana?: number;
244
321
  /** Ids of the buffs on it */
245
322
  buffs?: string[];
@@ -248,14 +325,14 @@ export interface EntityState {
248
325
  /**
249
326
  * Seconds left of each of its `buffs`, in their order (whole seconds, rounded up, from a host: the plate counts
250
327
  * down between); -1 for one kept up by an aura or a passive (`BuffInstance.kept`) or that lasts until it is
251
- * taken off. Where the rules share them (`GameRules.hud.shareBuffTimes`)
328
+ * taken off. Where the rules share them (`RuleSettings.hud.shareBuffTimes`)
252
329
  *
253
330
  * @beta
254
331
  */
255
332
  buffTimes?: number[];
256
333
  /**
257
334
  * The abilities it has learned, for whoever sees it, its side's or not, where the rules share them
258
- * (`GameRules.hud.shareAbilities`). Its side has them in `own.abilities` all the same
335
+ * (`RuleSettings.hud.shareAbilities`). Its side has them in `own.abilities` all the same
259
336
  *
260
337
  * @beta
261
338
  */
@@ -266,34 +343,58 @@ export interface EntityState {
266
343
  on?: number;
267
344
  /** Doing nothing until woken, like a creep sleeping through the night */
268
345
  asleep?: boolean;
346
+ /**
347
+ * It has an order to carry out: left out while it stands idle. What a cinematic's waits go by (`arrived`), for any
348
+ * unit it directs; anyone in sight of it can see it walk or swing
349
+ */
350
+ busy?: boolean;
269
351
  /** How big it is drawn, when that is not 1 */
270
352
  scale?: number;
271
353
  /** Which of the models of its type it is drawn with, when the map says */
272
354
  look?: string;
355
+ /** Drawn as this type, in this owner's colour, while it is what its own type and owner say (`SpawnOptions.looksLike`) */
356
+ likeness?: {
357
+ type: string;
358
+ owner: PlayerId;
359
+ };
273
360
  /** Seconds left and seconds in all, for what is gone by itself after a while, like a ward */
274
361
  lifetime?: {
275
362
  left: number;
276
363
  total: number;
277
364
  };
278
- /** Invisible to enemies right now. Whoever gets this sees it all the same: it is theirs, or they found it */
365
+ /**
366
+ * Invisible to enemies right now, or camouflaged (`BuffDef.camouflage`: seen by them only from near). Whoever gets this
367
+ * sees it all the same: it is theirs, or they found it, or they are near
368
+ */
279
369
  unseen?: boolean;
280
370
  /** Components of game modules and mods that are sent to this player (see `Component.replicate`), by id */
281
371
  components?: Record<string, unknown>;
282
372
  /** The name the map or the rules gave it (`world.named`), for whoever knows of it: "the gate", "the hero" */
283
373
  name?: string;
374
+ /** What only its owner and their allies are told of it */
284
375
  own?: OwnEntityState;
285
376
  }
286
- /** @beta */
377
+ /**
378
+ * A player as the screen is told of them: name, team, colour, resources and their standing to the player it is for
379
+ *
380
+ * @beta
381
+ */
287
382
  export interface PlayerState {
383
+ /** The player's id */
288
384
  id: PlayerId;
385
+ /** The name shown for the player */
289
386
  name: string;
387
+ /** The player's team number; players on one team are allies */
290
388
  team: number;
389
+ /** The player's colour as RGB, each 0..1 */
291
390
  color: [number, number, number];
391
+ /** Whether the player is a neutral one, owner of mines and the like */
292
392
  neutral: boolean;
293
393
  /** Whether they are the creeps: hostile to everyone, but no one's rival */
294
394
  creeps?: boolean;
295
395
  /** The race they play (`raceOf`): left out in a game without races */
296
396
  race?: string;
397
+ /** Whether the player is out of the game */
297
398
  defeated: boolean;
298
399
  /** What they are to the player the snapshot is for: by their teams, or as the rules set it (`setRelation`) */
299
400
  relation: 'self' | 'ally' | 'enemy' | 'neutral';
@@ -308,10 +409,10 @@ export interface PlayerState {
308
409
  /** Only filled in for the player the snapshot is for */
309
410
  own?: {
310
411
  /** What the player has of each resource, by resource id */
311
- resources: Record<ResourceKind, number>;
412
+ resources: Record<ResourceId, number>;
312
413
  supplyUsed: number;
313
414
  supplyCap: number;
314
- /** The game's other pools of supply, by name (`GameRules.supply.pools`): left out in a game with none */
415
+ /** The game's other pools of supply, by name (`RuleSettings.supply.pools`): left out in a game with none */
315
416
  supplies?: Record<string, {
316
417
  used: number;
317
418
  cap: number;
@@ -343,15 +444,25 @@ export interface PlayerState {
343
444
  availability?: Record<string, boolean>;
344
445
  };
345
446
  }
346
- /** @beta */
447
+ /**
448
+ * A projectile in flight as the screen is told of it: where it is, who shot it and what kind of damage it carries
449
+ *
450
+ * @beta
451
+ */
347
452
  export interface ProjectileState {
453
+ /** The projectile's id */
348
454
  id: number;
455
+ /** Where it is, east-west, in world units */
349
456
  x: number;
457
+ /** Where it is, north-south, in world units */
350
458
  z: number;
351
459
  /** The type of what shot it, known even when the shooter is out of sight: what it looks like */
352
460
  kind: string;
461
+ /** The player whose unit shot it */
353
462
  owner: PlayerId;
463
+ /** Whether the hit it carries is a critical one */
354
464
  crit: boolean;
465
+ /** The type of damage it deals on landing */
355
466
  damageType: DamageType;
356
467
  /** A look the rules gave it (see `Projectile.look`) */
357
468
  look?: string;
@@ -361,6 +472,7 @@ export interface ProjectileState {
361
472
  target?: number;
362
473
  /** Where it was fired from and where it comes down, for shots that are lobbed at a spot */
363
474
  from?: Vec2;
475
+ /** Where a lobbed shot comes down */
364
476
  to?: Vec2;
365
477
  }
366
478
  /**
@@ -369,13 +481,19 @@ export interface ProjectileState {
369
481
  * @beta
370
482
  */
371
483
  export interface MissileState {
484
+ /** The missile's id */
372
485
  id: number;
486
+ /** The id of the ability that sent it */
373
487
  ability: string;
488
+ /** The level of the ability when it was sent */
374
489
  level: number;
375
490
  /** Entity that sent it, when that one is known to the player */
376
491
  source?: number;
492
+ /** Where it is, east-west, in world units */
377
493
  x: number;
494
+ /** Where it is, north-south, in world units */
378
495
  z: number;
496
+ /** How far from its centre it hits things, in world units */
379
497
  radius: number;
380
498
  /** The way it is heading, in radians */
381
499
  heading: number;
@@ -385,6 +503,61 @@ export interface MissileState {
385
503
  progress?: number;
386
504
  /** How high above the ground its arc carries it now, for what is thrown in one (`EffectFields.arc`) */
387
505
  arc?: number;
506
+ /** On its way back to the caster (`EffectFields.returns`): what is drawn of it may face the way it went out */
507
+ returning?: boolean;
508
+ /** Its owner turns it as it flies (`EffectFields.steer`): told to its side alone, whose screen steers it (the `steer` command) */
509
+ steered?: boolean;
510
+ /**
511
+ * Which effect of the ability it is, by its place there (`effectIndex`): what the screen draws it with
512
+ * (`AbilityLook.effects`). Left out for one not written in the ability
513
+ *
514
+ * @beta
515
+ */
516
+ effect?: number;
517
+ }
518
+ /**
519
+ * An area of an ability on the ground the player is told of (`Snapshot.areas`): a zone for its life, or a delayed blast
520
+ * until it goes off (a telegraph), with its shape (`EffectArea`), its place and the seconds left
521
+ *
522
+ * @beta
523
+ */
524
+ export interface AreaState {
525
+ /** A zone (`zone`), or effects that wait to go off there (`after`): `delayed` */
526
+ kind: 'zone' | 'delayed';
527
+ /** A zone's id, the same as long as it lasts. None for a delayed blast */
528
+ id?: number;
529
+ /** The ability whose it is */
530
+ ability: string;
531
+ /** The ability's level */
532
+ level: number;
533
+ /** Which effect of the ability it is (the `zone`, the `after`), by its place there (`effectIndex`) */
534
+ effect?: number;
535
+ /** Who cast it, where the player knows them */
536
+ source?: number;
537
+ /** Its shape: circle, cone, line, rect, ring, arc or cross (`EffectCommon.shape`) */
538
+ shape: EffectShape;
539
+ /** Where it is laid: its middle (circle, ring, rect, cross), or where it goes off from (cone, line, arc) */
540
+ x: number;
541
+ /** Where it is laid along z */
542
+ z: number;
543
+ /** The way it faces, radians as a unit's `facing` */
544
+ heading: number;
545
+ /** Of a circle, a ring and an arc: how far out it reaches */
546
+ radius: number;
547
+ /** Of a cone, a line, a rect and a cross: how long it is */
548
+ length?: number;
549
+ /** Of a line, a rect and a cross: how far out on either side; of a ring and an arc, how thick */
550
+ width?: number;
551
+ /** Of a cone and an arc: how wide it opens, in radians */
552
+ angle?: number;
553
+ /** Seconds left: of a zone, until it ends; of a delayed blast, until it goes off */
554
+ left: number;
555
+ /** Of the player's side */
556
+ ours?: boolean;
557
+ /** The unit a zone goes with (`follow`) */
558
+ follows?: number;
559
+ /** The name a delayed blast's arrival goes by (`impact`) */
560
+ impact?: string;
388
561
  }
389
562
  /**
390
563
  * What the players are told happened during a tick, which cannot be read from the state afterwards: each kind by its
@@ -420,13 +593,17 @@ export interface SessionEvents {
420
593
  /**
421
594
  * Cells of one of the game's layers (`Terrain.cells`) were set to `value` (`world.setCells`): the session's ground has
422
595
  * it already, for the screen to draw again. Told where the player's team sees the cells, and as they come into its sight
423
- * where it does not (`TeamMemory.cells`): an observer is told of all
596
+ * where it does not (`TeamMemory.cells`): an observer is told of all. `over`: the seconds it eases into the value
597
+ * over, where the rules said (grass growing back); not said as cells come into sight. `seen`: they came into sight
598
+ * as they are, changed out of it before (a fire that burnt there a while): not as they change now
424
599
  */
425
600
  cells: {
426
601
  type: 'cells';
427
602
  layer: string;
428
603
  at: number[];
429
604
  value: number;
605
+ over?: number;
606
+ seen?: true;
430
607
  };
431
608
  /**
432
609
  * A part of the ground was reshaped (`world.reshapeGround`, the editor's Play here): the session's ground has it
@@ -449,6 +626,22 @@ export interface SessionEvents {
449
626
  z: number;
450
627
  entered?: boolean;
451
628
  };
629
+ /**
630
+ * A gust of wind the rules blew at a place the player sees (`gust`, `WindGust`): where, how far around, how hard,
631
+ * which way (outwards from its middle when left out) and for how long. For the screen to bend the grass and bushes
632
+ * there (`client.gust`)
633
+ *
634
+ * @beta
635
+ */
636
+ gust: {
637
+ type: 'gust';
638
+ x: number;
639
+ z: number;
640
+ radius: number;
641
+ strength: number;
642
+ around?: number;
643
+ lasts?: number;
644
+ };
452
645
  /** What the map looks like beyond its ground, as it is now (`world.setEnvironment`), and the seconds to ease into it over */
453
646
  environment: {
454
647
  type: 'environment';
@@ -473,6 +666,11 @@ export interface SessionEvents {
473
666
  target?: number;
474
667
  weapon?: number;
475
668
  };
669
+ /** An attack called off before its blow, of a unit the player sees (`swingCancelled`): the screen cuts it to the walk */
670
+ attackCancelled: {
671
+ type: 'attackCancelled';
672
+ id: number;
673
+ };
476
674
  /** Damage dealt to an entity the player sees: by whom when the player sees that too, with what, how much */
477
675
  damage: {
478
676
  type: 'damage';
@@ -669,6 +867,12 @@ export interface SessionEvents {
669
867
  z: number;
670
868
  duration: number;
671
869
  };
870
+ /** A wind-up called off before it went off (stunned, killed, ordered elsewhere): what it showed goes. `ability` where known */
871
+ castCancelled: {
872
+ type: 'castCancelled';
873
+ id: number;
874
+ ability?: string;
875
+ };
672
876
  /** `id`: the caster, where the player sees it (not where only the spot is seen). `charged`: it went off charged, see `charge` on the ability */
673
877
  cast: {
674
878
  type: 'cast';
@@ -681,7 +885,10 @@ export interface SessionEvents {
681
885
  radius?: number;
682
886
  charged?: boolean;
683
887
  };
684
- /** What an ability set off arrived somewhere: a missile hit, a rush ended, the time was up. `id`: the caster, where the player sees it */
888
+ /**
889
+ * What an ability set off arrived somewhere: a missile hit, a rush ended, the time was up. `id`: the caster, where the
890
+ * player sees it. `from`: where it went off from, when not the caster (a ball, a shadow: `EffectContext.origin`)
891
+ */
685
892
  strike: {
686
893
  type: 'strike';
687
894
  id?: number;
@@ -692,6 +899,12 @@ export interface SessionEvents {
692
899
  target?: number;
693
900
  radius?: number;
694
901
  impact?: string;
902
+ from?: {
903
+ x: number;
904
+ z: number;
905
+ };
906
+ /** Which effect of the ability arrived (a missile, a delay, a zone at its end), by its place there (`effectIndex`) */
907
+ effect?: number;
695
908
  };
696
909
  /** Something to tell the player. The client finds the words for it, see `Message` */
697
910
  message: {
@@ -736,8 +949,12 @@ export interface SessionEvents {
736
949
  cue: string;
737
950
  params?: Record<string, unknown>;
738
951
  };
952
+ /** The rules pan or shake this player's camera (see `cameraFor`) */
953
+ camera: {
954
+ type: 'camera';
955
+ } & Pick<CameraOrder, 'pan' | 'shake'>;
739
956
  /**
740
- * One of the view's effects plays, as the rules said (`world.effect`): `id` is the rules' handle on it, `fx` its name,
957
+ * One of the view's effects plays, as the rules said (`world.fx`): `id` is the rules' handle on it, `fx` its name,
741
958
  * at a place (`x`, `y`, `z`) or on an entity (`on`, at a `point`), its knobs, the seed of its random parts
742
959
  */
743
960
  fx: {
@@ -752,8 +969,14 @@ export interface SessionEvents {
752
969
  params?: Record<string, unknown>;
753
970
  seed: number;
754
971
  overFog?: boolean;
972
+ /** The other end, for one drawn between two (`FxOptions.toward`): an entity, where the player knows it */
973
+ toward?: number;
974
+ /** Or a place, east-west */
975
+ tx?: number;
976
+ /** And north-south */
977
+ tz?: number;
755
978
  };
756
- /** An effect the rules played stops (`world.stopEffect`) */
979
+ /** An effect the rules played stops (`world.stopFx`) */
757
980
  fxStop: {
758
981
  type: 'fxStop';
759
982
  id: number;
@@ -766,7 +989,7 @@ export interface SessionEvents {
766
989
  player: PlayerId;
767
990
  x: number;
768
991
  z: number;
769
- kind: PingKind;
992
+ kind: PingId;
770
993
  to: ChatAudience;
771
994
  by?: string;
772
995
  };
@@ -804,6 +1027,7 @@ export type Outcome = 'playing' | 'victory' | 'defeat';
804
1027
  * @beta
805
1028
  */
806
1029
  export interface Snapshot {
1030
+ /** The tick number the snapshot was taken at */
807
1031
  tick: number;
808
1032
  /**
809
1033
  * The switches of the debug tools as they stand, for a player who may use them (`world.debugPlayers`): `explored`,
@@ -818,29 +1042,44 @@ export interface Snapshot {
818
1042
  };
819
1043
  /** Hour of the day, 0..24, in a game with days and nights */
820
1044
  hour?: number;
1045
+ /** How the game stands for the player: still playing, a victory or a defeat */
821
1046
  outcome: Outcome;
1047
+ /** The entities the player may know of, as of this tick */
822
1048
  entities: EntityState[];
1049
+ /** Every player of the game, with what the receiving player may know of each */
823
1050
  players: PlayerState[];
1051
+ /** Projectiles in flight the player can see */
824
1052
  projectiles: ProjectileState[];
1053
+ /** Missiles in flight the player can see */
825
1054
  missiles: MissileState[];
826
1055
  /** Items on the ground, where the player can see the ground */
827
1056
  items: GroundItemState[];
828
1057
  /** Spots someone sees for a while. Everyone can tell, not only whoever it is */
829
1058
  reveals: RevealState[];
1059
+ /**
1060
+ * The areas of abilities on the ground the player is told of: zones and delayed blasts, their side's and others' where
1061
+ * they see them. None when left out
1062
+ *
1063
+ * @beta
1064
+ */
1065
+ areas?: AreaState[];
830
1066
  /** Corpses where the player can see the ground, by the id of who died there (see `raiseDead`). None when left out */
831
1067
  corpses?: CorpseState[];
1068
+ /** What happened since the last snapshot that the player is told of, oldest first */
832
1069
  events: SessionEvent[];
833
- /** What the game tells the player about itself, see `GameModule.report` */
1070
+ /** What the rules said of the player's camera that lasts, a part of the map it stays in (see `cameraFor`). None when they said none */
1071
+ camera?: SeatCamera;
1072
+ /** What the game tells the player about itself, see `Rules.report` */
834
1073
  report?: Record<string, unknown>;
835
1074
  /**
836
- * The score of the players the player is told of (`GameRules.score`: `live`, then `end`), told again at most once
1075
+ * The score of the players the player is told of (`RuleSettings.score`: `live`, then `end`), told again at most once
837
1076
  * in `refresh` seconds. None in a game that counts nothing
838
1077
  *
839
1078
  * @beta
840
1079
  */
841
1080
  score?: ScoreState;
842
1081
  /**
843
- * The score's timeline, of the same players: told again at each point of it (`ScoreRules.every`)
1082
+ * The score's timeline, of the same players: told again at each point of it (`ScoreSettings.every`)
844
1083
  *
845
1084
  * @beta
846
1085
  */
@@ -852,16 +1091,28 @@ export interface Snapshot {
852
1091
  * @beta
853
1092
  */
854
1093
  export interface CorpseState {
1094
+ /** The id the unit had when alive */
855
1095
  id: number;
1096
+ /** The unit type it was */
856
1097
  type: string;
1098
+ /** Where it lies, east-west */
857
1099
  x: number;
1100
+ /** Where it lies, north-south */
858
1101
  z: number;
859
1102
  }
860
- /** @beta */
1103
+ /**
1104
+ * A spot revealed to a team for a while, as the screen is told of it
1105
+ *
1106
+ * @beta
1107
+ */
861
1108
  export interface RevealState {
1109
+ /** The reveal's id */
862
1110
  id: number;
1111
+ /** Centre of the revealed spot, east-west */
863
1112
  x: number;
1113
+ /** Centre of the revealed spot, north-south */
864
1114
  z: number;
1115
+ /** How far from the centre it reveals, in world units */
865
1116
  radius: number;
866
1117
  /** Seconds it goes on */
867
1118
  left: number;
@@ -875,14 +1126,24 @@ export interface RevealState {
875
1126
  * @beta
876
1127
  */
877
1128
  export interface MineInfo {
1129
+ /** The mine's entity id */
878
1130
  id: number;
1131
+ /** Where it stands, east-west */
879
1132
  x: number;
1133
+ /** Where it stands, north-south */
880
1134
  z: number;
881
1135
  }
882
- /** @beta */
1136
+ /**
1137
+ * A camp of creeps as the player knows it: where, how strong and whether it is cleared
1138
+ *
1139
+ * @beta
1140
+ */
883
1141
  export interface CampInfo {
1142
+ /** The camp's id */
884
1143
  id: number;
1144
+ /** Where its middle is, east-west */
885
1145
  x: number;
1146
+ /** Where its middle is, north-south */
886
1147
  z: number;
887
1148
  /** Levels of its creeps added up */
888
1149
  level: number;
@@ -895,13 +1156,17 @@ export interface CampInfo {
895
1156
  * @beta
896
1157
  */
897
1158
  export interface FogState {
1159
+ /** Cells across the map, east-west */
898
1160
  width: number;
1161
+ /** Cells across the map, north-south */
899
1162
  depth: number;
900
1163
  /** Changes whenever the arrays did */
901
1164
  version: number;
902
1165
  /** The whole map is lit, a debug switch */
903
1166
  revealed: boolean;
1167
+ /** Per cell, row by row: non-zero where the team sees the cell now */
904
1168
  visible: Uint8Array;
1169
+ /** Per cell, row by row: non-zero where the team has seen the cell at some time */
905
1170
  explored: Uint8Array;
906
1171
  }
907
1172
  type WithoutPlayer<T> = T extends unknown ? Omit<T, 'player'> : never;
@@ -1039,7 +1304,9 @@ export interface SessionComputer {
1039
1304
  * @beta
1040
1305
  */
1041
1306
  export interface GameSession {
1307
+ /** The player this seat plays, or watches from the side of */
1042
1308
  readonly playerId: PlayerId;
1309
+ /** The team of that player */
1043
1310
  readonly team: number;
1044
1311
  /** The map and the game data are the same for everyone and known up front */
1045
1312
  readonly terrain: Terrain;
@@ -1056,7 +1323,9 @@ export interface GameSession {
1056
1323
  readonly cameras: readonly MapCamera[];
1057
1324
  /** The paths of the map (a road), for the screen: a cinematic's camera on a rail along one (see `MapPath`) */
1058
1325
  readonly paths: readonly MapPath[];
1326
+ /** The definitions of the game the session runs, the same for everyone */
1059
1327
  readonly registry: Registry;
1328
+ /** Simulation ticks per second */
1060
1329
  readonly tickRate: number;
1061
1330
  /**
1062
1331
  * What the game says about what it does (`World.log`), where the session has it: a game played in the page. A
@@ -1078,7 +1347,9 @@ export interface GameSession {
1078
1347
  update(dt: number): Snapshot[];
1079
1348
  /** Sends a command, to be carried out at the next tick. What it gives is told back with how it went (a `command` event) */
1080
1349
  send(command: PlayerCommand): number;
1350
+ /** The player's team's fog now, per cell */
1081
1351
  fog(): FogState;
1352
+ /** The creep camps the player knows of, with whether each is cleared */
1082
1353
  camps(): readonly CampInfo[];
1083
1354
  /** Whether the player could build this here, as far as they can tell */
1084
1355
  canPlace(unitType: string, point: Vec2): boolean;
@@ -1088,6 +1359,15 @@ export interface GameSession {
1088
1359
  * the session does not say @beta
1089
1360
  */
1090
1361
  placeCells?(unitType: string, point: Vec2): readonly boolean[] | undefined;
1362
+ /**
1363
+ * Where a group of units would stand if sent to a point in a formation, turned to face a way (`facing`: the way a
1364
+ * right-click was dragged): the ghosts of that drag. By the formation's id, or the one the rules would pick (the
1365
+ * session's own where it knows the rules, `rows` where not). Worked out from what the player's screen knows, over the
1366
+ * ground the player knows; the `formation` hook does not run in it @beta
1367
+ */
1368
+ formationPlaces?(units: readonly (FormationUnit & {
1369
+ readonly flying?: boolean;
1370
+ })[], point: Vec2, facing?: number, formation?: string): Map<EntityId, Vec2>;
1091
1371
  /** Route a unit would take, over the ground the player knows */
1092
1372
  findPath(from: Vec2, to: Vec2, flying?: boolean): Vec2[] | null;
1093
1373
  /**
@@ -1099,6 +1379,7 @@ export interface GameSession {
1099
1379
  readonly observer?: boolean;
1100
1380
  /** Milliseconds a message takes to the simulation and back, where it runs elsewhere. Nothing in the page */
1101
1381
  readonly ping?: number;
1382
+ /** Stops the session and lets go of what it holds */
1102
1383
  dispose(): void;
1103
1384
  }
1104
1385
  /**
@@ -1118,15 +1399,23 @@ export declare const PROTOCOL_VERSION = 13;
1118
1399
  * @beta
1119
1400
  */
1120
1401
  export interface GameListing {
1402
+ /** The room name to connect to (`ws://host:port/<room>`); empty for a server of one game */
1121
1403
  room: string;
1404
+ /** The id of the game module the room runs */
1122
1405
  game: string;
1406
+ /** The id of the mode the game runs */
1123
1407
  mode: string;
1408
+ /** Where the game is: in its lobby, on, or ended */
1124
1409
  phase: 'lobby' | 'game' | 'ended';
1125
1410
  /** Seats players hold, seats nobody holds a player could, seats the computer plays */
1126
1411
  players: number;
1412
+ /** Seats nobody holds that a player could take */
1127
1413
  free: number;
1414
+ /** Seats the computer plays */
1128
1415
  computer: number;
1416
+ /** Connections watching without a seat */
1129
1417
  watchers: number;
1418
+ /** The game's settings now, by name, such as the map */
1130
1419
  settings: Record<string, string>;
1131
1420
  /** Whether it takes no new games: stopping */
1132
1421
  draining: boolean;
@@ -1140,12 +1429,17 @@ export interface GameListing {
1140
1429
  * @beta
1141
1430
  */
1142
1431
  export interface GameKindListing {
1432
+ /** The kind's id, which `POST /games` is asked for as `kind` */
1143
1433
  id: string;
1434
+ /** What the kind is called for players */
1144
1435
  name: string;
1145
1436
  /** Where to wait to be matched with others for it (`ws://host:port/<queue>`), and how many wait now, of how many it takes. None without matchmaking */
1146
1437
  queue?: string;
1438
+ /** How many players wait in the queue for this kind now */
1147
1439
  waiting?: number;
1440
+ /** How many players it takes to make a room of this kind */
1148
1441
  needed?: number;
1442
+ /** The settings the kind offers by name, each with its label, its options and its default */
1149
1443
  settings: Record<string, {
1150
1444
  label: string;
1151
1445
  options: string[];