@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,39 @@
1
+ import { detection, distanceToEdge } from "../../entity.js";
2
+ import { valueOf } from "../amounts.js";
3
+ import { defineEffect } from "../effects.js";
4
+ //#region src/abilities/effects/sight.ts
5
+ /**
6
+ * Sight: the engine's effects that show a spot (`EffectTypes.reveal`) and find what is invisible (`detect`)
7
+ */
8
+ var near = [];
9
+ /** The caster's team sees the spot for a while, with nothing standing there */
10
+ var revealEffect = defineEffect({
11
+ type: "reveal",
12
+ run: (context, effect) => {
13
+ const { world, caster, point } = context;
14
+ world.reveal(world.player(caster.owner).team, point, valueOf(context, effect.radius, void 0, 8), valueOf(context, effect.duration, void 0, 5));
15
+ },
16
+ fields: ["duration"]
17
+ });
18
+ /** Finds what is invisible around the spot: the caster's team sees it for as long as `duration` says */
19
+ var detectEffect = defineEffect({
20
+ type: "detect",
21
+ run: (context, effect) => {
22
+ const { world, caster, point } = context;
23
+ const team = world.player(caster.owner).team;
24
+ const radius = valueOf(context, effect.radius, void 0, 10);
25
+ const seconds = valueOf(context, effect.duration, void 0, 8);
26
+ for (const entity of world.spatial.query(point.x, point.z, radius, near)) {
27
+ if (!entity.alive || !world.sight.isInvisible(entity) || !world.areEnemies(caster.owner, entity.owner)) continue;
28
+ if (distanceToEdge(point, entity) > radius) continue;
29
+ let found = entity.get(detection);
30
+ if (!found) entity.set(detection, found = /* @__PURE__ */ new Map());
31
+ found.set(team, Math.max(found.get(team) ?? 0, seconds));
32
+ }
33
+ },
34
+ fields: ["duration"]
35
+ });
36
+ //#endregion
37
+ export { detectEffect, revealEffect };
38
+
39
+ //# sourceMappingURL=sight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sight.js","names":[],"sources":["../../../src/abilities/effects/sight.ts"],"sourcesContent":["/**\n * Sight: the engine's effects that show a spot (`EffectTypes.reveal`) and find what is invisible (`detect`)\n */\nimport { detection, distanceToEdge, type Entity } from '#engine/entity'\nimport { valueOf } from '../amounts'\nimport { defineEffect } from '../effects'\n\nconst near: Entity[] = []\n\n/** The caster's team sees the spot for a while, with nothing standing there */\nexport const revealEffect = defineEffect({ type: 'reveal', run: (context, effect) => {\n\t\tconst { world, caster, point } = context\n\t\tworld.reveal(world.player(caster.owner).team, point, valueOf(context, effect.radius, undefined, 8), valueOf(context, effect.duration, undefined, 5))\n\t}, fields: ['duration'] })\n\n/** Finds what is invisible around the spot: the caster's team sees it for as long as `duration` says */\nexport const detectEffect = defineEffect({ type: 'detect', run: (context, effect) => {\n\t\tconst { world, caster, point } = context\n\t\tconst team = world.player(caster.owner).team\n\t\tconst radius = valueOf(context, effect.radius, undefined, 10)\n\t\tconst seconds = valueOf(context, effect.duration, undefined, 8)\n\t\tfor (const entity of world.spatial.query(point.x, point.z, radius, near)) {\n\t\t\tif (!entity.alive || !world.sight.isInvisible(entity) || !world.areEnemies(caster.owner, entity.owner)) continue\n\t\t\tif (distanceToEdge(point, entity) > radius) continue\n\t\t\tlet found = entity.get(detection)\n\t\t\tif (!found) entity.set(detection, (found = new Map()))\n\t\t\tfound.set(team, Math.max(found.get(team) ?? 0, seconds))\n\t\t}\n\t}, fields: ['duration'] })\n"],"mappings":";;;;;;;AAOA,IAAM,OAAiB,CAAC;;AAGxB,IAAa,eAAe,aAAa;CAAE,MAAM;CAAU,MAAM,SAAS,WAAW;EACnF,MAAM,EAAE,OAAO,QAAQ,UAAU;EACjC,MAAM,OAAO,MAAM,OAAO,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,QAAQ,SAAS,OAAO,QAAQ,KAAA,GAAW,CAAC,GAAG,QAAQ,SAAS,OAAO,UAAU,KAAA,GAAW,CAAC,CAAC;CACpJ;CAAG,QAAQ,CAAC,UAAU;AAAE,CAAC;;AAG1B,IAAa,eAAe,aAAa;CAAE,MAAM;CAAU,MAAM,SAAS,WAAW;EACnF,MAAM,EAAE,OAAO,QAAQ,UAAU;EACjC,MAAM,OAAO,MAAM,OAAO,OAAO,KAAK,CAAC,CAAC;EACxC,MAAM,SAAS,QAAQ,SAAS,OAAO,QAAQ,KAAA,GAAW,EAAE;EAC5D,MAAM,UAAU,QAAQ,SAAS,OAAO,UAAU,KAAA,GAAW,CAAC;EAC9D,KAAK,MAAM,UAAU,MAAM,QAAQ,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,IAAI,GAAG;GACzE,IAAI,CAAC,OAAO,SAAS,CAAC,MAAM,MAAM,YAAY,MAAM,KAAK,CAAC,MAAM,WAAW,OAAO,OAAO,OAAO,KAAK,GAAG;GACxG,IAAI,eAAe,OAAO,MAAM,IAAI,QAAQ;GAC5C,IAAI,QAAQ,OAAO,IAAI,SAAS;GAChC,IAAI,CAAC,OAAO,OAAO,IAAI,WAAY,wBAAQ,IAAI,IAAI,CAAE;GACrD,MAAM,IAAI,MAAM,KAAK,IAAI,MAAM,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC;EACxD;CACD;CAAG,QAAQ,CAAC,UAAU;AAAE,CAAC"}
@@ -1,2 +1,5 @@
1
- /** Brings a unit of the caster's into the world where it landed, like a ward. `duration` is how long it lasts */
2
- export declare const spawnEffect: import("../effects").EffectKind<"spawn">;
1
+ /**
2
+ * Brings a unit into the world where it landed, like a ward: the caster's, or the neutral player's (`owner`).
3
+ * `duration` is how long it lasts; `looksLike` draws it as the target or the caster is, and `data` gives it components
4
+ */
5
+ export declare const spawnEffect: import("../effects").EffectType<"spawn">;
@@ -0,0 +1,40 @@
1
+ import { valueOf } from "../amounts.js";
2
+ import { defineEffect } from "../effects.js";
3
+ //#region src/abilities/effects/spawn.ts
4
+ /**
5
+ * The engine's effect that brings a unit into the world (`EffectTypes.spawn`)
6
+ */
7
+ /**
8
+ * Brings a unit into the world where it landed, like a ward: the caster's, or the neutral player's (`owner`).
9
+ * `duration` is how long it lasts; `looksLike` draws it as the target or the caster is, and `data` gives it components
10
+ */
11
+ var spawnEffect = defineEffect({
12
+ type: "spawn",
13
+ run: (context, effect) => {
14
+ const { world, caster, point } = context;
15
+ if (!effect.unit) return;
16
+ const lifetime = effect.duration === void 0 ? void 0 : valueOf(context, effect.duration);
17
+ const looksLike = effect.looksLike === "target" ? context.target : effect.looksLike === "caster" ? caster : void 0;
18
+ const data = effect.data && Object.fromEntries(Object.entries(effect.data).map(([id, value]) => {
19
+ const component = world.registry.component(id);
20
+ return [id, component?.load ? component.load(value, world.registry) : value];
21
+ }));
22
+ world.spawn(effect.unit, effect.owner === "neutral" ? world.neutral : caster.owner, point, {
23
+ facing: caster.facing,
24
+ lifetime,
25
+ looksLike,
26
+ data
27
+ });
28
+ },
29
+ fields: [
30
+ "unit",
31
+ "duration",
32
+ "owner",
33
+ "looksLike",
34
+ "data"
35
+ ]
36
+ });
37
+ //#endregion
38
+ export { spawnEffect };
39
+
40
+ //# sourceMappingURL=spawn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn.js","names":[],"sources":["../../../src/abilities/effects/spawn.ts"],"sourcesContent":["/**\n * The engine's effect that brings a unit into the world (`EffectTypes.spawn`)\n */\nimport { valueOf } from '../amounts'\nimport { defineEffect } from '../effects'\n\n/**\n * Brings a unit into the world where it landed, like a ward: the caster's, or the neutral player's (`owner`).\n * `duration` is how long it lasts; `looksLike` draws it as the target or the caster is, and `data` gives it components\n */\nexport const spawnEffect = defineEffect({ type: 'spawn', run: (context, effect) => {\n\t\tconst { world, caster, point } = context\n\t\tif (!effect.unit) return\n\t\tconst lifetime = effect.duration === undefined ? undefined : valueOf(context, effect.duration)\n\t\tconst looksLike = effect.looksLike === 'target' ? context.target : effect.looksLike === 'caster' ? caster : undefined\n\t\t// the form a save keeps a component in: what its `load` reads\n\t\tconst data = effect.data && Object.fromEntries(Object.entries(effect.data).map(([id, value]) => {\n\t\t\tconst component = world.registry.component(id)\n\t\t\treturn [id, component?.load ? component.load(value, world.registry) : value]\n\t\t}))\n\t\tworld.spawn(effect.unit, effect.owner === 'neutral' ? world.neutral : caster.owner, point, {\n\t\t\tfacing: caster.facing,\n\t\t\tlifetime,\n\t\t\tlooksLike,\n\t\t\tdata\n\t\t})\n\t}, fields: ['unit', 'duration', 'owner', 'looksLike', 'data'] })\n"],"mappings":";;;;;;;;;;AAUA,IAAa,cAAc,aAAa;CAAE,MAAM;CAAS,MAAM,SAAS,WAAW;EACjF,MAAM,EAAE,OAAO,QAAQ,UAAU;EACjC,IAAI,CAAC,OAAO,MAAM;EAClB,MAAM,WAAW,OAAO,aAAa,KAAA,IAAY,KAAA,IAAY,QAAQ,SAAS,OAAO,QAAQ;EAC7F,MAAM,YAAY,OAAO,cAAc,WAAW,QAAQ,SAAS,OAAO,cAAc,WAAW,SAAS,KAAA;EAE5G,MAAM,OAAO,OAAO,QAAQ,OAAO,YAAY,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,WAAW;GAC/F,MAAM,YAAY,MAAM,SAAS,UAAU,EAAE;GAC7C,OAAO,CAAC,IAAI,WAAW,OAAO,UAAU,KAAK,OAAO,MAAM,QAAQ,IAAI,KAAK;EAC5E,CAAC,CAAC;EACF,MAAM,MAAM,OAAO,MAAM,OAAO,UAAU,YAAY,MAAM,UAAU,OAAO,OAAO,OAAO;GAC1F,QAAQ,OAAO;GACf;GACA;GACA;EACD,CAAC;CACF;CAAG,QAAQ;EAAC;EAAQ;EAAY;EAAS;EAAa;CAAM;AAAE,CAAC"}
@@ -1,4 +1,4 @@
1
1
  /** `effects` happen at the spot, `delay` seconds from now */
2
- export declare const afterEffect: import("../effects").EffectKind<"after">;
2
+ export declare const afterEffect: import("../effects").EffectType<"after">;
3
3
  /** For `duration` seconds `effects` happen to what is at the spot, over and over, and `onEnd` to what is there at the end */
4
- export declare const zoneEffect: import("../effects").EffectKind<"zone">;
4
+ export declare const zoneEffect: import("../effects").EffectType<"zone">;
@@ -0,0 +1,96 @@
1
+ import { at } from "../../defs.js";
2
+ import { effectOrigin } from "../land.js";
3
+ import { valueOf } from "../amounts.js";
4
+ import { effectHeading, shaped } from "../shapes.js";
5
+ import { defineEffect } from "../effects.js";
6
+ //#region src/abilities/effects/timed.ts
7
+ /**
8
+ * Later and over time: the engine's effects that go off after a while (`EffectTypes.after`) and over and over in a
9
+ * place (`zone`)
10
+ */
11
+ /** Where the effects of a context go off from and the way they face, kept for later where some have a shape (AB10) */
12
+ function kept(context, effects, own) {
13
+ if (!shaped(effects) && (!own || own === "circle")) return {};
14
+ const from = effectOrigin(context);
15
+ return {
16
+ from: {
17
+ x: from.x,
18
+ z: from.z
19
+ },
20
+ heading: effectHeading(context)
21
+ };
22
+ }
23
+ /** `effects` happen at the spot, `delay` seconds from now */
24
+ var afterEffect = defineEffect({
25
+ type: "after",
26
+ run: (context, effect) => {
27
+ const { world, caster, ability, level, point } = context;
28
+ world.delayed.push({
29
+ left: at(effect.delay, level),
30
+ caster,
31
+ ability,
32
+ level,
33
+ point: {
34
+ x: point.x,
35
+ z: point.z
36
+ },
37
+ effects: effect.effects ?? [],
38
+ impact: effect.impact,
39
+ ...kept(context, effect.effects)
40
+ });
41
+ },
42
+ fields: [
43
+ "delay",
44
+ "effects",
45
+ "impact"
46
+ ]
47
+ });
48
+ /** For `duration` seconds `effects` happen to what is at the spot, over and over, and `onEnd` to what is there at the end */
49
+ var zoneEffect = defineEffect({
50
+ type: "zone",
51
+ run: (context, effect) => {
52
+ const { world, caster, ability, level, point, target } = context;
53
+ const followed = effect.follow === "caster" ? caster : effect.follow === "target" ? target : void 0;
54
+ const at = followed?.pos ?? point;
55
+ const lists = [
56
+ ...effect.effects ?? [],
57
+ ...effect.onEnd ?? [],
58
+ ...effect.onEnter ?? [],
59
+ ...effect.onLeave ?? [],
60
+ ...effect.edge ?? []
61
+ ];
62
+ world.zones.push({
63
+ id: world.newId(),
64
+ caster,
65
+ ability,
66
+ level,
67
+ x: at.x,
68
+ z: at.z,
69
+ left: valueOf(context, effect.duration, void 0, 1),
70
+ next: 0,
71
+ effect,
72
+ ...kept(context, lists, effect.shape),
73
+ ...followed && {
74
+ follows: followed.id,
75
+ from: {
76
+ x: at.x,
77
+ z: at.z
78
+ },
79
+ heading: followed.facing
80
+ }
81
+ });
82
+ },
83
+ fields: [
84
+ "duration",
85
+ "effects",
86
+ "onEnd",
87
+ "follow",
88
+ "onEnter",
89
+ "onLeave",
90
+ "edge"
91
+ ]
92
+ });
93
+ //#endregion
94
+ export { afterEffect, zoneEffect };
95
+
96
+ //# sourceMappingURL=timed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timed.js","names":[],"sources":["../../../src/abilities/effects/timed.ts"],"sourcesContent":["/**\n * Later and over time: the engine's effects that go off after a while (`EffectTypes.after`) and over and over in a\n * place (`zone`)\n */\nimport { at, type EffectDef, type EffectShape } from '#engine/defs'\nimport { valueOf } from '../amounts'\nimport { defineEffect, type EffectContext } from '../effects'\nimport { effectOrigin } from '../land'\nimport { effectHeading, shaped } from '../shapes'\n\n/** Where the effects of a context go off from and the way they face, kept for later where some have a shape (AB10) */\nfunction kept(context: EffectContext, effects: readonly EffectDef[] | undefined, own?: EffectShape) {\n\tif (!shaped(effects) && (!own || own === 'circle')) return {}\n\tconst from = effectOrigin(context)\n\treturn { from: { x: from.x, z: from.z }, heading: effectHeading(context) }\n}\n\n/** `effects` happen at the spot, `delay` seconds from now */\nexport const afterEffect = defineEffect({ type: 'after', run: (context, effect) => {\n\t\tconst { world, caster, ability, level, point } = context\n\t\tworld.delayed.push({\n\t\t\tleft: at(effect.delay, level),\n\t\t\tcaster,\n\t\t\tability,\n\t\t\tlevel,\n\t\t\tpoint: { x: point.x, z: point.z },\n\t\t\teffects: effect.effects ?? [],\n\t\t\timpact: effect.impact,\n\t\t\t...kept(context, effect.effects)\n\t\t})\n\t}, fields: ['delay', 'effects', 'impact'] })\n\n/** For `duration` seconds `effects` happen to what is at the spot, over and over, and `onEnd` to what is there at the end */\nexport const zoneEffect = defineEffect({ type: 'zone', run: (context, effect) => {\n\t\tconst { world, caster, ability, level, point, target } = context\n\t\t// one that goes with a unit is where it is, the way it faces (AB11)\n\t\tconst followed = effect.follow === 'caster' ? caster : effect.follow === 'target' ? target : undefined\n\t\tconst at = followed?.pos ?? point\n\t\tconst lists = [...(effect.effects ?? []), ...(effect.onEnd ?? []), ...(effect.onEnter ?? []), ...(effect.onLeave ?? []), ...(effect.edge ?? [])]\n\t\tworld.zones.push({\n\t\t\tid: world.newId(),\n\t\t\tcaster,\n\t\t\tability,\n\t\t\tlevel,\n\t\t\tx: at.x,\n\t\t\tz: at.z,\n\t\t\tleft: valueOf(context, effect.duration, undefined, 1),\n\t\t\tnext: 0,\n\t\t\teffect,\n\t\t\t...kept(context, lists, effect.shape),\n\t\t\t...(followed && { follows: followed.id, from: { x: at.x, z: at.z }, heading: followed.facing })\n\t\t})\n\t}, fields: ['duration', 'effects', 'onEnd', 'follow', 'onEnter', 'onLeave', 'edge'] })\n"],"mappings":";;;;;;;;;;;AAWA,SAAS,KAAK,SAAwB,SAA2C,KAAmB;CACnG,IAAI,CAAC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,WAAW,OAAO,CAAC;CAC5D,MAAM,OAAO,aAAa,OAAO;CACjC,OAAO;EAAE,MAAM;GAAE,GAAG,KAAK;GAAG,GAAG,KAAK;EAAE;EAAG,SAAS,cAAc,OAAO;CAAE;AAC1E;;AAGA,IAAa,cAAc,aAAa;CAAE,MAAM;CAAS,MAAM,SAAS,WAAW;EACjF,MAAM,EAAE,OAAO,QAAQ,SAAS,OAAO,UAAU;EACjD,MAAM,QAAQ,KAAK;GAClB,MAAM,GAAG,OAAO,OAAO,KAAK;GAC5B;GACA;GACA;GACA,OAAO;IAAE,GAAG,MAAM;IAAG,GAAG,MAAM;GAAE;GAChC,SAAS,OAAO,WAAW,CAAC;GAC5B,QAAQ,OAAO;GACf,GAAG,KAAK,SAAS,OAAO,OAAO;EAChC,CAAC;CACF;CAAG,QAAQ;EAAC;EAAS;EAAW;CAAQ;AAAE,CAAC;;AAG5C,IAAa,aAAa,aAAa;CAAE,MAAM;CAAQ,MAAM,SAAS,WAAW;EAC/E,MAAM,EAAE,OAAO,QAAQ,SAAS,OAAO,OAAO,WAAW;EAEzD,MAAM,WAAW,OAAO,WAAW,WAAW,SAAS,OAAO,WAAW,WAAW,SAAS,KAAA;EAC7F,MAAM,KAAK,UAAU,OAAO;EAC5B,MAAM,QAAQ;GAAC,GAAI,OAAO,WAAW,CAAC;GAAI,GAAI,OAAO,SAAS,CAAC;GAAI,GAAI,OAAO,WAAW,CAAC;GAAI,GAAI,OAAO,WAAW,CAAC;GAAI,GAAI,OAAO,QAAQ,CAAC;EAAE;EAC/I,MAAM,MAAM,KAAK;GAChB,IAAI,MAAM,MAAM;GAChB;GACA;GACA;GACA,GAAG,GAAG;GACN,GAAG,GAAG;GACN,MAAM,QAAQ,SAAS,OAAO,UAAU,KAAA,GAAW,CAAC;GACpD,MAAM;GACN;GACA,GAAG,KAAK,SAAS,OAAO,OAAO,KAAK;GACpC,GAAI,YAAY;IAAE,SAAS,SAAS;IAAI,MAAM;KAAE,GAAG,GAAG;KAAG,GAAG,GAAG;IAAE;IAAG,SAAS,SAAS;GAAO;EAC9F,CAAC;CACF;CAAG,QAAQ;EAAC;EAAY;EAAW;EAAS;EAAU;EAAW;EAAW;CAAM;AAAE,CAAC"}
@@ -1 +1 @@
1
- export declare const exchangeEffect: import("../effects").EffectKind<"exchange">;
1
+ export declare const exchangeEffect: import("../effects").EffectType<"exchange">;
@@ -0,0 +1,25 @@
1
+ import { at } from "../../defs.js";
2
+ import { defineEffect } from "../effects.js";
3
+ import { exchange } from "../../trade.js";
4
+ //#region src/abilities/effects/trade.ts
5
+ /**
6
+ * A market's: the caster's owner trades one resource for another at a rate (`EffectTypes.exchange`, `exchange` in
7
+ * `trade.ts`)
8
+ */
9
+ var exchangeEffect = defineEffect({
10
+ type: "exchange",
11
+ run: (context, effect) => {
12
+ const { world, caster, level } = context;
13
+ exchange(world, caster.owner, effect.sell, effect.buy, at(effect.amount, level), effect.rate);
14
+ },
15
+ fields: [
16
+ "sell",
17
+ "buy",
18
+ "amount",
19
+ "rate"
20
+ ]
21
+ });
22
+ //#endregion
23
+ export { exchangeEffect };
24
+
25
+ //# sourceMappingURL=trade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trade.js","names":[],"sources":["../../../src/abilities/effects/trade.ts"],"sourcesContent":["/**\n * A market's: the caster's owner trades one resource for another at a rate (`EffectTypes.exchange`, `exchange` in\n * `trade.ts`)\n */\nimport { at } from '#engine/defs'\nimport { exchange } from '#engine/trade'\nimport { defineEffect } from '../effects'\n\nexport const exchangeEffect = defineEffect({ type: 'exchange', run: (context, effect) => {\n\t\tconst { world, caster, level } = context\n\t\texchange(world, caster.owner, effect.sell, effect.buy, at(effect.amount, level), effect.rate)\n\t}, fields: ['sell', 'buy', 'amount', 'rate'] })\n"],"mappings":";;;;;;;;AAQA,IAAa,iBAAiB,aAAa;CAAE,MAAM;CAAY,MAAM,SAAS,WAAW;EACvF,MAAM,EAAE,OAAO,QAAQ,UAAU;EACjC,SAAS,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,KAAK,GAAG,OAAO,QAAQ,KAAK,GAAG,OAAO,IAAI;CAC7F;CAAG,QAAQ;EAAC;EAAQ;EAAO;EAAU;CAAM;AAAE,CAAC"}
@@ -2,11 +2,18 @@ import { type AbilityDef, type EffectCommon, type EffectDef, type EffectFields,
2
2
  import type { EditableField } from '#engine/gameData';
3
3
  import { type Dash, type Entity } from '#engine/entity';
4
4
  import { type Vec2 } from '#engine/math';
5
- import type { World } from '#engine/world';
6
- /** @beta */
5
+ import type { Missile, World, Zone } from '#engine/world';
6
+ /**
7
+ * What an effect is run with: the world, the caster, the ability and its level, the target and where it landed
8
+ *
9
+ * @beta
10
+ */
7
11
  export interface EffectContext {
12
+ /** The world the ability is cast in */
8
13
  world: World;
14
+ /** The unit that cast the ability */
9
15
  caster: Entity;
16
+ /** The definition of the ability being cast */
10
17
  ability: AbilityDef;
11
18
  /** Level the ability was cast at */
12
19
  level: number;
@@ -14,6 +21,23 @@ export interface EffectContext {
14
21
  target?: Entity;
15
22
  /** Where the ability landed: the target, the chosen spot, or the caster */
16
23
  point: Vec2;
24
+ /**
25
+ * What the effects go off from, when not the caster: a unit of its (a ball, a shadow, a soldier) or a place. A
26
+ * missile starts there and aims from there, an area of the effects never takes it in, and the strike the screens
27
+ * hear says it came from there; the caster stays who does it (whose the damage and the kills are, whose stats scale
28
+ * it). The caster when left out (`effectOrigin`)
29
+ *
30
+ * @beta
31
+ */
32
+ origin?: Entity | Vec2;
33
+ /**
34
+ * The way the effects face, for those with a shape (`EffectCommon.shape`): radians, as a unit's `facing`. From where
35
+ * they go off from to where they landed when left out (`effectHeading`): a zone keeps the way it was cast, or the way
36
+ * the unit it follows faces
37
+ *
38
+ * @beta
39
+ */
40
+ heading?: number;
17
41
  /** How far what carried the effect here has come, for what a missile does */
18
42
  distance?: number;
19
43
  /**
@@ -25,6 +49,20 @@ export interface EffectContext {
25
49
  stacks?: number;
26
50
  /** The ability went off charged, see `charge` on the ability */
27
51
  charged?: boolean;
52
+ /**
53
+ * For an ability held to charge and let go (`AbilityDef.hold`): how full it was, 0 let go at once to 1 full. Its
54
+ * amounts are grown by it (`HoldDef.scale`); a game's own amounts read it. Carried by its missiles
55
+ *
56
+ * @beta
57
+ */
58
+ held?: number;
59
+ /**
60
+ * For the effects of a trigger set off by damage (`onDamaged`, `onAbilityHit`, an `onHit`): the damage that did,
61
+ * after armor and shields, for the formula `byDamage` and a game's own amounts
62
+ *
63
+ * @beta
64
+ */
65
+ damage?: number;
28
66
  /**
29
67
  * For an effect that is kept up all the time (a passive asked every round): the seconds since it was last asked.
30
68
  * Something that works per second multiplies by this, rather than counting on how often it is asked
@@ -40,11 +78,12 @@ export interface EffectContext {
40
78
  export type EffectHandler = (context: EffectContext, effect: EffectDef) => void;
41
79
  /**
42
80
  * A kind of effect: its type and what it does (`defineEffect`). The engine's are the game's from the start; a game
43
- * lists its own in `GameModule.effects`, and one of a type the engine has takes its place
81
+ * lists its own in `Rules.effects`, and one of a type the engine has takes its place
44
82
  *
45
83
  * @beta
46
84
  */
47
- export interface EffectKind<K extends keyof EffectTypes = keyof EffectTypes> {
85
+ export interface EffectType<K extends keyof EffectTypes = keyof EffectTypes> {
86
+ /** The effect type this is the definition of: the `type` an effect of it carries in an ability's list */
48
87
  readonly type: K;
49
88
  /** Carries out an effect of the type, for a cast (or a passive asked, a missile's hit...) */
50
89
  run(context: EffectContext, effect: EffectOf<K>): void;
@@ -62,36 +101,42 @@ export interface EffectKind<K extends keyof EffectTypes = keyof EffectTypes> {
62
101
  *
63
102
  * @beta
64
103
  */
65
- export interface EffectKindOptions {
104
+ export interface EffectTypeOptions {
105
+ /** The fields an effect of the type reads, each the name of an engine field (`EffectFields`) or a full `EditableField` */
66
106
  fields?: readonly (keyof EffectFields | EditableField)[];
67
107
  }
68
108
  /**
69
- * A kind of effect, its type and what it does together: `defineEffect('pull', (context, effect) => ...)`, listed in
70
- * `GameModule.effects`. Its fields are said by declaring the type in `EffectTypes`
109
+ * A kind of effect, its type and what it does together: `defineEffect({ type: 'pull', run: (context, effect) => ... })`, listed in
110
+ * `Rules.effects`. Its fields are said by declaring the type in `EffectTypes`
71
111
  * (`declare module '@v12-engine/engine' { interface EffectTypes { pull: { distance: number } } }`), so that a handler
72
112
  * reads them typed, and an ability's effect of the type is checked for them
73
113
  *
74
- * @beta
114
+ * @public
75
115
  */
76
- export declare function defineEffect<K extends keyof EffectTypes>(type: K, run: (context: EffectContext, effect: EffectOf<K>) => void, options?: EffectKindOptions): EffectKind<K>;
116
+ export declare function defineEffect<K extends keyof EffectTypes>(def: {
117
+ type: K;
118
+ run: (context: EffectContext, effect: EffectOf<K>) => void;
119
+ } & EffectTypeOptions): EffectType<K>;
77
120
  /**
78
- * Who an effect applies to
121
+ * Whether an effect may reach a target, as the game says (the `beforeEffect` hook): what a game's own effect asks of
122
+ * each unit it does something to without `effectTargets` (which asks it of every one it gives). True where no handler is
123
+ * there. `missile`: the missile that reached it, for a missile's hit
79
124
  *
80
125
  * @beta
81
126
  */
82
- export declare function effectTargets(context: EffectContext, effect: EffectDef, fallback: 'enemies' | 'allies'): Entity[];
127
+ export declare function mayReach(context: EffectContext, effect: EffectDef, target: Entity, missile?: Missile): boolean;
83
128
  /**
84
- * What the attacks of a unit do on top of their damage: the `onHit` effects among what its abilities, and
85
- * the items it carries, do all the time. Called for every attack that lands
129
+ * Who an effect applies to: the caster (`on: 'caster'`), the target or the caster (no `radius`), or who is within its
130
+ * `radius` of where it landed, as `affects` (`fallback` when it says nothing), `layers`, `kinds`, `tags`, `ifBuff`, `only` and
131
+ * what keeps out of the ability's way (`avoids`) say, the unit it went off from aside (`EffectContext.origin`); and of
132
+ * those, who the game lets it reach (`beforeEffect`, `mayReach`). A handler of a game's own effect calls it as the
133
+ * engine's do: who it gives is told to `effectLanded` once the handler is done
134
+ *
135
+ * @beta
86
136
  */
87
- export declare function onHit(world: World, attacker: Entity, target: Entity): void;
137
+ export declare function effectTargets(context: EffectContext, effect: EffectDef, fallback: 'enemies' | 'allies'): Entity[];
88
138
  /** Whether an ability of the caster is charged: its `charge` buff is on it with as many stacks as it can have */
89
139
  export declare function isCharged(world: World, caster: Entity, ability: AbilityDef): boolean;
90
- /**
91
- * What the passives of the caster do whenever it casts an ability: for a hero, one of the abilities it learns.
92
- * Called once the ability went off, and not for one that went off charged: what spends a charge does not count to the next
93
- */
94
- export declare function onCast(world: World, caster: Entity, cast: AbilityDef): void;
95
140
  /**
96
141
  * Takes someone off the ground for a leap or a throw. Up there it is nobody's obstacle: it pushes no one
97
142
  * on its way over them, and goes straight over what cannot be walked
@@ -104,10 +149,39 @@ export declare function onCast(world: World, caster: Entity, cast: AbilityDef):
104
149
  */
105
150
  export declare function startDash(world: World, entity: Entity, dash: Omit<Dash, 'from'>): void;
106
151
  /**
107
- * What killing someone sets off: the `onKill` effects among what the abilities of the killer do all the time.
108
- * `attack` says whether it was one of its attacks that killed
152
+ * Takes a missile of an ability out of the world before it is done: blocked by a wall of wind, caught, swallowed. It
153
+ * hits nothing more, and every screen is told (`missileRemoved`). With `end`, what happens where it ends
154
+ * (`EffectFields.onEnd`) happens where it is, as if it had come to the end of its way. False for one that is not in the
155
+ * world (`world.missiles`) any more
156
+ *
157
+ * @beta
158
+ */
159
+ export declare function removeMissile(world: World, missile: Missile, options?: {
160
+ end?: boolean;
161
+ }): boolean;
162
+ /**
163
+ * Ends a zone of an ability (`world.zones`) before its time: what happens at its end (`onEnd`) happens now, unless
164
+ * `onEnd` is false (a zone called off, not finished). False for one that is not in the world any more
165
+ *
166
+ * @beta
167
+ */
168
+ export declare function endZone(world: World, zone: Zone, options?: {
169
+ onEnd?: boolean;
170
+ }): boolean;
171
+ /**
172
+ * Splits a missile where it is now (`EffectFields.split`), as it would once done: what a game's own recast does (Vel'Koz's
173
+ * Plasma Fission). It is gone, its `onEnd` not happening; false for one not in the world, or with no caster or ability left
174
+ *
175
+ * @beta
176
+ */
177
+ export declare function splitMissile(world: World, missile: Missile): boolean;
178
+ /**
179
+ * Turns a missile that is steered (`EffectFields.steer`) towards a point, as its owner's `steer` command does: it turns
180
+ * that way as it flies, as fast as its `rate` lets it. False for one that is not steered, or not in the world
181
+ *
182
+ * @beta
109
183
  */
110
- export declare function onKill(world: World, killer: Entity, victim: Entity, attack: boolean): void;
184
+ export declare function steerMissile(world: World, missile: Missile, point: Vec2): boolean;
111
185
  /** Moves the missiles of abilities along, and lets them do what they do to what they pass through and where they come down */
112
186
  export declare function updateMissiles(world: World, dt: number): void;
113
187
  /** What abilities left behind to happen later, and the ground they go on working on */
@@ -119,4 +193,4 @@ export declare const toldMissileHit: import("..").ReplicatedEvent;
119
193
  /** Mana given or taken: its side's alone */
120
194
  export declare const toldMana: import("..").ReplicatedEvent;
121
195
  /** The missiles of abilities in flight the player is told of: their side's, and those where they see (`Snapshot.missiles`); none to a computer */
122
- export declare const missilesPart: import("..").SnapshotPart<keyof import("..").Snapshot>;
196
+ export declare const missilesPart: import("..").SnapshotField<keyof import("..").Snapshot>;