@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.
- package/dist/abilities/amounts.d.ts +28 -0
- package/dist/abilities/amounts.js +74 -0
- package/dist/abilities/amounts.js.map +1 -0
- package/dist/abilities/buffs.d.ts +106 -6
- package/dist/abilities/buffs.js +443 -0
- package/dist/abilities/buffs.js.map +1 -0
- package/dist/abilities/castTold.d.ts +2 -0
- package/dist/abilities/castTold.js +66 -0
- package/dist/abilities/castTold.js.map +1 -0
- package/dist/abilities/chance.d.ts +38 -0
- package/dist/abilities/chance.js +77 -0
- package/dist/abilities/chance.js.map +1 -0
- package/dist/abilities/charges.d.ts +18 -0
- package/dist/abilities/charges.js +101 -0
- package/dist/abilities/charges.js.map +1 -0
- package/dist/abilities/control.d.ts +28 -0
- package/dist/abilities/control.js +113 -0
- package/dist/abilities/control.js.map +1 -0
- package/dist/abilities/dispel.js +51 -0
- package/dist/abilities/dispel.js.map +1 -0
- package/dist/abilities/effectFields.d.ts +1 -1
- package/dist/abilities/effectFields.js +676 -0
- package/dist/abilities/effectFields.js.map +1 -0
- package/dist/abilities/effectIndex.d.ts +27 -0
- package/dist/abilities/effectIndex.js +64 -0
- package/dist/abilities/effectIndex.js.map +1 -0
- package/dist/abilities/effects/buff.d.ts +9 -3
- package/dist/abilities/effects/buff.js +84 -0
- package/dist/abilities/effects/buff.js.map +1 -0
- package/dist/abilities/effects/conditions.d.ts +2 -0
- package/dist/abilities/effects/conditions.js +41 -0
- package/dist/abilities/effects/conditions.js.map +1 -0
- package/dist/abilities/effects/core.js +54 -0
- package/dist/abilities/effects/core.js.map +1 -0
- package/dist/abilities/effects/damage.d.ts +1 -1
- package/dist/abilities/effects/damage.js +43 -0
- package/dist/abilities/effects/damage.js.map +1 -0
- package/dist/abilities/effects/heal.d.ts +2 -2
- package/dist/abilities/effects/heal.js +51 -0
- package/dist/abilities/effects/heal.js.map +1 -0
- package/dist/abilities/effects/missile.d.ts +13 -1
- package/dist/abilities/effects/missile.js +104 -0
- package/dist/abilities/effects/missile.js.map +1 -0
- package/dist/abilities/effects/morph.d.ts +5 -0
- package/dist/abilities/effects/morph.js +43 -0
- package/dist/abilities/effects/morph.js.map +1 -0
- package/dist/abilities/effects/moves.d.ts +16 -4
- package/dist/abilities/effects/moves.js +212 -0
- package/dist/abilities/effects/moves.js.map +1 -0
- package/dist/abilities/effects/passives.d.ts +19 -9
- package/dist/abilities/effects/passives.js +131 -0
- package/dist/abilities/effects/passives.js.map +1 -0
- package/dist/abilities/effects/proxy.d.ts +5 -0
- package/dist/abilities/effects/proxy.js +60 -0
- package/dist/abilities/effects/proxy.js.map +1 -0
- package/dist/abilities/effects/sight.d.ts +2 -2
- package/dist/abilities/effects/sight.js +39 -0
- package/dist/abilities/effects/sight.js.map +1 -0
- package/dist/abilities/effects/spawn.d.ts +5 -2
- package/dist/abilities/effects/spawn.js +40 -0
- package/dist/abilities/effects/spawn.js.map +1 -0
- package/dist/abilities/effects/timed.d.ts +2 -2
- package/dist/abilities/effects/timed.js +96 -0
- package/dist/abilities/effects/timed.js.map +1 -0
- package/dist/abilities/effects/trade.d.ts +1 -1
- package/dist/abilities/effects/trade.js +25 -0
- package/dist/abilities/effects/trade.js.map +1 -0
- package/dist/abilities/effects.d.ts +97 -23
- package/dist/abilities/effects.js +860 -0
- package/dist/abilities/effects.js.map +1 -0
- package/dist/abilities/land.d.ts +38 -4
- package/dist/abilities/land.js +189 -0
- package/dist/abilities/land.js.map +1 -0
- package/dist/abilities/recast.d.ts +45 -0
- package/dist/abilities/recast.js +118 -0
- package/dist/abilities/recast.js.map +1 -0
- package/dist/abilities/scaled.js +40 -0
- package/dist/abilities/scaled.js.map +1 -0
- package/dist/abilities/screen.d.ts +6 -0
- package/dist/abilities/screen.js +83 -0
- package/dist/abilities/screen.js.map +1 -0
- package/dist/abilities/shapes.d.ts +66 -0
- package/dist/abilities/shapes.js +122 -0
- package/dist/abilities/shapes.js.map +1 -0
- package/dist/abilities/text.d.ts +14 -2
- package/dist/abilities/text.js +204 -0
- package/dist/abilities/text.js.map +1 -0
- package/dist/abilities/triggers.d.ts +98 -0
- package/dist/abilities/triggers.js +351 -0
- package/dist/abilities/triggers.js.map +1 -0
- package/dist/abilityChanges.d.ts +131 -0
- package/dist/abilityChanges.js +345 -0
- package/dist/abilityChanges.js.map +1 -0
- package/dist/ai/area.d.ts +4 -1
- package/dist/ai/brain.d.ts +4 -1
- package/dist/ai/brain.js +844 -0
- package/dist/ai/brain.js.map +1 -0
- package/dist/ai/budget.js +74 -0
- package/dist/ai/budget.js.map +1 -0
- package/dist/ai/checks.d.ts +9 -1
- package/dist/ai/checks.js +242 -0
- package/dist/ai/checks.js.map +1 -0
- package/dist/ai/computer.d.ts +11 -4
- package/dist/ai/computer.js +251 -0
- package/dist/ai/computer.js.map +1 -0
- package/dist/ai/defence.d.ts +4 -0
- package/dist/ai/defence.js +430 -0
- package/dist/ai/defence.js.map +1 -0
- package/dist/ai/define.d.ts +3 -2
- package/dist/ai/define.js +31 -0
- package/dist/ai/define.js.map +1 -0
- package/dist/ai/economy.d.ts +10 -7
- package/dist/ai/economy.js +780 -0
- package/dist/ai/economy.js.map +1 -0
- package/dist/ai/geometry.js +38 -0
- package/dist/ai/geometry.js.map +1 -0
- package/dist/ai/goals.d.ts +1 -0
- package/dist/ai/goals.js +560 -0
- package/dist/ai/goals.js.map +1 -0
- package/dist/ai/knowledge.d.ts +72 -7
- package/dist/ai/knowledge.js +804 -0
- package/dist/ai/knowledge.js.map +1 -0
- package/dist/ai/lanes.d.ts +10 -2
- package/dist/ai/lanes.js +715 -0
- package/dist/ai/lanes.js.map +1 -0
- package/dist/ai/melee/build.js +264 -0
- package/dist/ai/melee/build.js.map +1 -0
- package/dist/ai/melee/goals.d.ts +7 -0
- package/dist/ai/melee/goals.js +720 -0
- package/dist/ai/melee/goals.js.map +1 -0
- package/dist/ai/melee/heroes.js +68 -0
- package/dist/ai/melee/heroes.js.map +1 -0
- package/dist/ai/melee/index.d.ts +1 -1
- package/dist/ai/melee/index.js +51 -0
- package/dist/ai/melee/index.js.map +1 -0
- package/dist/ai/melee/production.js +29 -0
- package/dist/ai/melee/production.js.map +1 -0
- package/dist/ai/melee/surrender.js +64 -0
- package/dist/ai/melee/surrender.js.map +1 -0
- package/dist/ai/micro.d.ts +9 -0
- package/dist/ai/micro.js +1316 -0
- package/dist/ai/micro.js.map +1 -0
- package/dist/ai/mission.d.ts +9 -2
- package/dist/ai/mission.js +538 -0
- package/dist/ai/mission.js.map +1 -0
- package/dist/ai/missionRules.d.ts +1 -1
- package/dist/ai/missionRules.js +26 -0
- package/dist/ai/missionRules.js.map +1 -0
- package/dist/ai/module.d.ts +6 -2
- package/dist/ai/module.js +37 -0
- package/dist/ai/module.js.map +1 -0
- package/dist/ai/options.d.ts +3 -3
- package/dist/ai/plans/build.d.ts +20 -1
- package/dist/ai/plans/build.js +608 -0
- package/dist/ai/plans/build.js.map +1 -0
- package/dist/ai/plans/placement.d.ts +4 -1
- package/dist/ai/plans/placement.js +295 -0
- package/dist/ai/plans/placement.js.map +1 -0
- package/dist/ai/plans/plans.d.ts +9 -0
- package/dist/ai/plans/plans.js +110 -0
- package/dist/ai/plans/plans.js.map +1 -0
- package/dist/ai/plans/production.d.ts +14 -2
- package/dist/ai/plans/production.js +434 -0
- package/dist/ai/plans/production.js.map +1 -0
- package/dist/ai/plans/purse.d.ts +6 -3
- package/dist/ai/plans/purse.js +139 -0
- package/dist/ai/plans/purse.js.map +1 -0
- package/dist/ai/plans/tech.d.ts +6 -0
- package/dist/ai/plans/tech.js +122 -0
- package/dist/ai/plans/tech.js.map +1 -0
- package/dist/ai/profiles.d.ts +4 -4
- package/dist/{profiles-B3NS9jwk.js → ai/profiles.js} +3 -98
- package/dist/ai/profiles.js.map +1 -0
- package/dist/ai/reach.js +54 -0
- package/dist/ai/reach.js.map +1 -0
- package/dist/ai/report.d.ts +8 -0
- package/dist/ai/report.js +87 -0
- package/dist/ai/report.js.map +1 -0
- package/dist/ai/roles.d.ts +4 -0
- package/dist/ai/roles.js +207 -0
- package/dist/ai/roles.js.map +1 -0
- package/dist/ai/rules.d.ts +8 -2
- package/dist/ai/rules.js +416 -0
- package/dist/ai/rules.js.map +1 -0
- package/dist/ai/scouting.d.ts +6 -0
- package/dist/ai/scouting.js +324 -0
- package/dist/ai/scouting.js.map +1 -0
- package/dist/ai/settings.js +99 -0
- package/dist/ai/settings.js.map +1 -0
- package/dist/ai/squads.d.ts +21 -2
- package/dist/ai/squads.js +916 -0
- package/dist/ai/squads.js.map +1 -0
- package/dist/ai/strength.js +320 -0
- package/dist/ai/strength.js.map +1 -0
- package/dist/ai/task.d.ts +3 -1
- package/dist/ai/task.js +17 -0
- package/dist/ai/task.js.map +1 -0
- package/dist/ai/tasks/attack.js +24 -0
- package/dist/ai/tasks/attack.js.map +1 -0
- package/dist/ai/tasks/capture.d.ts +3 -3
- package/dist/ai/tasks/capture.js +37 -0
- package/dist/ai/tasks/capture.js.map +1 -0
- package/dist/ai/tasks/creep.js +29 -0
- package/dist/ai/tasks/creep.js.map +1 -0
- package/dist/ai/tasks/defend.js +61 -0
- package/dist/ai/tasks/defend.js.map +1 -0
- package/dist/ai/tasks/drop.js +81 -0
- package/dist/ai/tasks/drop.js.map +1 -0
- package/dist/ai/tasks/escort.js +59 -0
- package/dist/ai/tasks/escort.js.map +1 -0
- package/dist/ai/tasks/gather.js +48 -0
- package/dist/ai/tasks/gather.js.map +1 -0
- package/dist/ai/tasks/harass.js +39 -0
- package/dist/ai/tasks/harass.js.map +1 -0
- package/dist/ai/tasks/hold.js +32 -0
- package/dist/ai/tasks/hold.js.map +1 -0
- package/dist/ai/tasks/index.js +34 -0
- package/dist/ai/tasks/index.js.map +1 -0
- package/dist/ai/tasks/move.js +26 -0
- package/dist/ai/tasks/move.js.map +1 -0
- package/dist/ai/tasks/patrol.js +59 -0
- package/dist/ai/tasks/patrol.js.map +1 -0
- package/dist/ai/tasks/retreat.js +28 -0
- package/dist/ai/tasks/retreat.js.map +1 -0
- package/dist/ai/tasks/scout.js +73 -0
- package/dist/ai/tasks/scout.js.map +1 -0
- package/dist/ai/tasks/shared.d.ts +1 -1
- package/dist/ai/tasks/shared.js +137 -0
- package/dist/ai/tasks/shared.js.map +1 -0
- package/dist/ai/team.d.ts +18 -1
- package/dist/ai/team.js +492 -0
- package/dist/ai/team.js.map +1 -0
- package/dist/ai/threat.d.ts +6 -0
- package/dist/ai/threat.js +206 -0
- package/dist/ai/threat.js.map +1 -0
- package/dist/ai/view.d.ts +21 -7
- package/dist/ai/view.js +677 -0
- package/dist/ai/view.js.map +1 -0
- package/dist/ai/waves.d.ts +6 -0
- package/dist/ai/waves.js +410 -0
- package/dist/ai/waves.js.map +1 -0
- package/dist/ai.js +54 -6239
- package/dist/aiTesting.d.ts +6 -3
- package/dist/aiTesting.js +229 -0
- package/dist/aiTesting.js.map +1 -0
- package/dist/areas.d.ts +4 -1
- package/dist/areas.js +295 -0
- package/dist/areas.js.map +1 -0
- package/dist/attacks.d.ts +3 -3
- package/dist/attacks.js +127 -0
- package/dist/attacks.js.map +1 -0
- package/dist/burning.d.ts +267 -0
- package/dist/burning.js +795 -0
- package/dist/burning.js.map +1 -0
- package/dist/bytes.js +21 -0
- package/dist/bytes.js.map +1 -0
- package/dist/callings.d.ts +71 -0
- package/dist/callings.js +157 -0
- package/dist/callings.js.map +1 -0
- package/dist/cameraOrders.d.ts +78 -0
- package/dist/cameraOrders.js +114 -0
- package/dist/cameraOrders.js.map +1 -0
- package/dist/camps.d.ts +70 -4
- package/dist/camps.js +501 -0
- package/dist/camps.js.map +1 -0
- package/dist/capture.d.ts +15 -3
- package/dist/capture.js +304 -0
- package/dist/capture.js.map +1 -0
- package/dist/cellLayers.d.ts +78 -13
- package/dist/cellLayers.js +275 -0
- package/dist/cellLayers.js.map +1 -0
- package/dist/cellPatches.d.ts +24 -0
- package/dist/cellPatches.js +73 -0
- package/dist/cellPatches.js.map +1 -0
- package/dist/cinematics.d.ts +10 -5
- package/dist/cinematics.js +161 -0
- package/dist/cinematics.js.map +1 -0
- package/dist/clock.d.ts +2 -2
- package/dist/clock.js +78 -0
- package/dist/clock.js.map +1 -0
- package/dist/commands.d.ts +36 -4
- package/dist/commands.js +636 -0
- package/dist/commands.js.map +1 -0
- package/dist/components.d.ts +31 -10
- package/dist/components.js +74 -0
- package/dist/components.js.map +1 -0
- package/dist/computers.d.ts +4 -4
- package/dist/computers.js +194 -0
- package/dist/computers.js.map +1 -0
- package/dist/concealment.d.ts +25 -2
- package/dist/concealment.js +409 -0
- package/dist/concealment.js.map +1 -0
- package/dist/coreComponents.js +130 -0
- package/dist/coreComponents.js.map +1 -0
- package/dist/createGame.d.ts +306 -0
- package/dist/createGame.js +405 -0
- package/dist/createGame.js.map +1 -0
- package/dist/dashing.d.ts +18 -2
- package/dist/dashing.js +41 -0
- package/dist/dashing.js.map +1 -0
- package/dist/debug.d.ts +8 -0
- package/dist/debug.js +5 -3
- package/dist/debug2.js +76 -0
- package/dist/debug2.js.map +1 -0
- package/dist/debugCommands.d.ts +6 -6
- package/dist/debugCommands.js +537 -0
- package/dist/debugCommands.js.map +1 -0
- package/dist/debugging.d.ts +1 -0
- package/dist/defaultSets.d.ts +183 -0
- package/dist/defaultSets.js +216 -0
- package/dist/defaultSets.js.map +1 -0
- package/dist/definitions.d.ts +6 -0
- package/dist/definitions.js +78 -0
- package/dist/definitions.js.map +1 -0
- package/dist/defs.d.ts +1895 -165
- package/dist/defs.js +380 -0
- package/dist/defs.js.map +1 -0
- package/dist/denying.d.ts +4 -4
- package/dist/denying.js +106 -0
- package/dist/denying.js.map +1 -0
- package/dist/destructibles.d.ts +2 -2
- package/dist/destructibles.js +36 -0
- package/dist/destructibles.js.map +1 -0
- package/dist/determinism.d.ts +4 -4
- package/dist/determinism.js +247 -0
- package/dist/determinism.js.map +1 -0
- package/dist/dialog.d.ts +17 -2
- package/dist/dialog.js +108 -0
- package/dist/dialog.js.map +1 -0
- package/dist/effectRefs.js +28 -0
- package/dist/effectRefs.js.map +1 -0
- package/dist/effects.d.ts +27 -11
- package/dist/effects.js +110 -0
- package/dist/effects.js.map +1 -0
- package/dist/endings.d.ts +1 -1
- package/dist/endings.js +78 -0
- package/dist/endings.js.map +1 -0
- package/dist/engagement.d.ts +40 -6
- package/dist/engagement.js +530 -0
- package/dist/engagement.js.map +1 -0
- package/dist/engineEvents.d.ts +72 -9
- package/dist/engineEvents.js +520 -0
- package/dist/engineEvents.js.map +1 -0
- package/dist/entity.d.ts +275 -26
- package/dist/entity.js +441 -0
- package/dist/entity.js.map +1 -0
- package/dist/entityIndex.d.ts +10 -3
- package/dist/entityIndex.js +149 -0
- package/dist/entityIndex.js.map +1 -0
- package/dist/errors.d.ts +6 -2
- package/dist/errors.js +59 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +11 -5
- package/dist/events.js +158 -0
- package/dist/events.js.map +1 -0
- package/dist/exactMath.js +273 -0
- package/dist/exactMath.js.map +1 -0
- package/dist/features.d.ts +1 -1
- package/dist/features.js +127 -0
- package/dist/features.js.map +1 -0
- package/dist/fields.d.ts +25 -5
- package/dist/fields.js +140 -0
- package/dist/fields.js.map +1 -0
- package/dist/fixture.d.ts +3 -3
- package/dist/fixture.js +512 -0
- package/dist/fixture.js.map +1 -0
- package/dist/fog.d.ts +26 -3
- package/dist/fog.js +333 -0
- package/dist/fog.js.map +1 -0
- package/dist/foliage.d.ts +476 -0
- package/dist/foliage.js +1478 -0
- package/dist/foliage.js.map +1 -0
- package/dist/foliageDebug.d.ts +57 -0
- package/dist/foliageDebug.js +172 -0
- package/dist/foliageDebug.js.map +1 -0
- package/dist/foliageRegrowth.d.ts +20 -0
- package/dist/foliageRegrowth.js +332 -0
- package/dist/foliageRegrowth.js.map +1 -0
- package/dist/formState.d.ts +67 -0
- package/dist/formState.js +65 -0
- package/dist/formState.js.map +1 -0
- package/dist/formation.d.ts +46 -8
- package/dist/formation.js +297 -0
- package/dist/formation.js.map +1 -0
- package/dist/forms.d.ts +58 -0
- package/dist/forms.js +146 -0
- package/dist/forms.js.map +1 -0
- package/dist/friendlyFire.d.ts +2 -2
- package/dist/friendlyFire.js +37 -0
- package/dist/friendlyFire.js.map +1 -0
- package/dist/game.d.ts +141 -48
- package/dist/game.js +834 -0
- package/dist/game.js.map +1 -0
- package/dist/gameData.d.ts +96 -22
- package/dist/gameData.js +1690 -0
- package/dist/gameData.js.map +1 -0
- package/dist/gameFiles.d.ts +3 -3
- package/dist/gameFiles.js +14 -0
- package/dist/gameFiles.js.map +1 -0
- package/dist/gates.js +92 -0
- package/dist/gates.js.map +1 -0
- package/dist/generate.d.ts +28 -1
- package/dist/generate.js +1062 -0
- package/dist/generate.js.map +1 -0
- package/dist/generateWorker.d.ts +7 -3
- package/dist/generateWorker.js +86 -0
- package/dist/generateWorker.js.map +1 -0
- package/dist/grid.d.ts +9 -0
- package/dist/grid.js +102 -0
- package/dist/grid.js.map +1 -0
- package/dist/ground.d.ts +17 -1
- package/dist/ground.js +375 -0
- package/dist/ground.js.map +1 -0
- package/dist/groundObjects.d.ts +70 -0
- package/dist/groundObjects.js +371 -0
- package/dist/groundObjects.js.map +1 -0
- package/dist/groundSpeed.d.ts +20 -3
- package/dist/groundSpeed.js +117 -0
- package/dist/groundSpeed.js.map +1 -0
- package/dist/hero.d.ts +126 -10
- package/dist/hero.js +432 -0
- package/dist/hero.js.map +1 -0
- package/dist/holds.d.ts +94 -0
- package/dist/holds.js +305 -0
- package/dist/holds.js.map +1 -0
- package/dist/home.d.ts +1 -1
- package/dist/home.js +30 -0
- package/dist/home.js.map +1 -0
- package/dist/hooks.d.ts +339 -57
- package/dist/hooks.js +105 -0
- package/dist/hooks.js.map +1 -0
- package/dist/hotReload.d.ts +6 -5
- package/dist/hotReload.js +145 -0
- package/dist/hotReload.js.map +1 -0
- package/dist/ids.d.ts +3 -3
- package/dist/ids.js +30 -0
- package/dist/ids.js.map +1 -0
- package/dist/idsFile.d.ts +36 -0
- package/dist/idsFile.js +134 -0
- package/dist/idsFile.js.map +1 -0
- package/dist/index.d.ts +105 -68
- package/dist/index.js +194 -4701
- package/dist/inspect.d.ts +29 -2
- package/dist/{inspect-D9dWHmZ0.js → inspect.js} +21 -12
- package/dist/inspect.js.map +1 -0
- package/dist/inventory.d.ts +14 -1
- package/dist/inventory.js +84 -0
- package/dist/inventory.js.map +1 -0
- package/dist/items.d.ts +136 -8
- package/dist/items.js +585 -0
- package/dist/items.js.map +1 -0
- package/dist/lanes.d.ts +12 -3
- package/dist/lanes.js +496 -0
- package/dist/lanes.js.map +1 -0
- package/dist/life.d.ts +6 -2
- package/dist/life.js +287 -0
- package/dist/life.js.map +1 -0
- package/dist/log.d.ts +26 -3
- package/dist/log.js +192 -0
- package/dist/log.js.map +1 -0
- package/dist/manaBurn.d.ts +2 -2
- package/dist/manaBurn.js +75 -0
- package/dist/manaBurn.js.map +1 -0
- package/dist/map/file.d.ts +56 -3
- package/dist/map/file.js +264 -0
- package/dist/map/file.js.map +1 -0
- package/dist/map/images.js +61 -0
- package/dist/map/images.js.map +1 -0
- package/dist/map/look.d.ts +1 -1
- package/dist/map/look.js +30 -0
- package/dist/map/look.js.map +1 -0
- package/dist/map/pathProfile.js +183 -0
- package/dist/map/pathProfile.js.map +1 -0
- package/dist/map/resize.d.ts +4 -0
- package/dist/map/resize.js +136 -0
- package/dist/map/resize.js.map +1 -0
- package/dist/map/schema.js +257 -0
- package/dist/map/schema.js.map +1 -0
- package/dist/map/terrain.js +214 -0
- package/dist/map/terrain.js.map +1 -0
- package/dist/map/types.d.ts +92 -13
- package/dist/map/types.js +251 -0
- package/dist/map/types.js.map +1 -0
- package/dist/mapCheck/cells.js +94 -0
- package/dist/mapCheck/cells.js.map +1 -0
- package/dist/mapCheck/rules/foliage.d.ts +9 -0
- package/dist/mapCheck/rules/foliage.js +83 -0
- package/dist/mapCheck/rules/foliage.js.map +1 -0
- package/dist/mapCheck/rules/names.js +39 -0
- package/dist/mapCheck/rules/names.js.map +1 -0
- package/dist/mapCheck/rules/objects.d.ts +1 -1
- package/dist/mapCheck/rules/objects.js +56 -0
- package/dist/mapCheck/rules/objects.js.map +1 -0
- package/dist/mapCheck/rules/paths.js +32 -0
- package/dist/mapCheck/rules/paths.js.map +1 -0
- package/dist/mapCheck/rules/players.js +20 -0
- package/dist/mapCheck/rules/players.js.map +1 -0
- package/dist/mapCheck/rules/races.js +56 -0
- package/dist/mapCheck/rules/races.js.map +1 -0
- package/dist/mapCheck/rules/random.js +47 -0
- package/dist/mapCheck/rules/random.js.map +1 -0
- package/dist/mapCheck/rules/regions.js +30 -0
- package/dist/mapCheck/rules/regions.js.map +1 -0
- package/dist/mapCheck/rules/targets.js +31 -0
- package/dist/mapCheck/rules/targets.js.map +1 -0
- package/dist/mapCheck/rules/walking.js +45 -0
- package/dist/mapCheck/rules/walking.js.map +1 -0
- package/dist/mapCheck.d.ts +2 -2
- package/dist/mapCheck.js +63 -0
- package/dist/mapCheck.js.map +1 -0
- package/dist/mapFields.d.ts +25 -2
- package/dist/mapFields.js +134 -0
- package/dist/mapFields.js.map +1 -0
- package/dist/mapFile.js +176 -0
- package/dist/mapFile.js.map +1 -0
- package/dist/mapMeasure.d.ts +8 -0
- package/dist/mapMeasure.js +283 -0
- package/dist/mapMeasure.js.map +1 -0
- package/dist/mapMerge.d.ts +1 -0
- package/dist/mapMerge.js +172 -0
- package/dist/mapMerge.js.map +1 -0
- package/dist/mapObjectives.js +138 -0
- package/dist/mapObjectives.js.map +1 -0
- package/dist/mapObjects.js +80 -0
- package/dist/mapObjects.js.map +1 -0
- package/dist/math.d.ts +37 -7
- package/dist/math.js +155 -0
- package/dist/math.js.map +1 -0
- package/dist/messages.d.ts +71 -4
- package/dist/messages.js +29 -0
- package/dist/messages.js.map +1 -0
- package/dist/missionRules.d.ts +10 -2
- package/dist/{missionRules-C-bGxm0Q.js → missionRules.js} +30 -150
- package/dist/missionRules.js.map +1 -0
- package/dist/mods.d.ts +39 -20
- package/dist/mods.js +271 -0
- package/dist/mods.js.map +1 -0
- package/dist/moves.d.ts +87 -0
- package/dist/moves.js +539 -0
- package/dist/moves.js.map +1 -0
- package/dist/names.d.ts +7 -0
- package/dist/names.js +122 -0
- package/dist/names.js.map +1 -0
- package/dist/navigation/agentParams.js +14 -0
- package/dist/navigation/agentParams.js.map +1 -0
- package/dist/navigation/air.d.ts +7 -3
- package/dist/navigation/air.js +401 -0
- package/dist/navigation/air.js.map +1 -0
- package/dist/navigation/builds.d.ts +34 -2
- package/dist/navigation/builds.js +287 -0
- package/dist/navigation/builds.js.map +1 -0
- package/dist/navigation/groundAreas.d.ts +59 -1
- package/dist/navigation/groundAreas.js +407 -0
- package/dist/navigation/groundAreas.js.map +1 -0
- package/dist/navigation/navigation.d.ts +98 -9
- package/dist/navigation/recast.d.ts +194 -18
- package/dist/navigation/recast.js +1379 -0
- package/dist/navigation/recast.js.map +1 -0
- package/dist/navigation/sidePaths.d.ts +8 -3
- package/dist/navigation/sidePaths.js +241 -0
- package/dist/navigation/sidePaths.js.map +1 -0
- package/dist/navigation/sized.js +243 -0
- package/dist/navigation/sized.js.map +1 -0
- package/dist/nearest.js +32 -0
- package/dist/nearest.js.map +1 -0
- package/dist/noise.js +59 -0
- package/dist/noise.js.map +1 -0
- package/dist/objectives.d.ts +12 -3
- package/dist/objectives.js +144 -0
- package/dist/objectives.js.map +1 -0
- package/dist/orders/basic.d.ts +5 -5
- package/dist/orders/basic.js +417 -0
- package/dist/orders/basic.js.map +1 -0
- package/dist/orders/build.js +278 -0
- package/dist/orders/build.js.map +1 -0
- package/dist/orders/cast.d.ts +13 -3
- package/dist/orders/cast.js +558 -0
- package/dist/orders/cast.js.map +1 -0
- package/dist/orders/facts.js +16 -0
- package/dist/orders/facts.js.map +1 -0
- package/dist/orders/harvest.d.ts +21 -5
- package/dist/orders/harvest.js +540 -0
- package/dist/orders/harvest.js.map +1 -0
- package/dist/orders/idle.d.ts +3 -1
- package/dist/orders/idle.js +234 -0
- package/dist/orders/idle.js.map +1 -0
- package/dist/orders/items.js +92 -0
- package/dist/orders/items.js.map +1 -0
- package/dist/orders/queue.js +108 -0
- package/dist/orders/queue.js.map +1 -0
- package/dist/orders/waiting.d.ts +39 -0
- package/dist/orders/waiting.js +149 -0
- package/dist/orders/waiting.js.map +1 -0
- package/dist/pack.schema.js +13 -0
- package/dist/pack.schema.js.map +1 -0
- package/dist/pack.schema.json +7622 -841
- package/dist/packs/director/index.d.ts +13 -5
- package/dist/packs/director/index.js +204 -0
- package/dist/packs/director/index.js.map +1 -0
- package/dist/packs/heroes/campaign.d.ts +3 -2
- package/dist/packs/heroes/campaign.js +241 -0
- package/dist/packs/heroes/campaign.js.map +1 -0
- package/dist/packs/heroes/carry.d.ts +6 -0
- package/dist/packs/heroes/carry.js +112 -0
- package/dist/packs/heroes/carry.js.map +1 -0
- package/dist/packs/heroes/commands.js +115 -0
- package/dist/packs/heroes/commands.js.map +1 -0
- package/dist/packs/heroes/fallen.d.ts +43 -0
- package/dist/packs/heroes/fallen.js +61 -0
- package/dist/packs/heroes/fallen.js.map +1 -0
- package/dist/packs/heroes/hire.js +60 -0
- package/dist/packs/heroes/hire.js.map +1 -0
- package/dist/packs/heroes/index.d.ts +7 -6
- package/dist/packs/heroes/index.js +130 -0
- package/dist/packs/heroes/index.js.map +1 -0
- package/dist/packs/heroes/loop.d.ts +95 -0
- package/dist/packs/heroes/loop.js +250 -0
- package/dist/packs/heroes/loop.js.map +1 -0
- package/dist/packs/heroes/making.d.ts +6 -3
- package/dist/packs/heroes/making.js +55 -0
- package/dist/packs/heroes/making.js.map +1 -0
- package/dist/packs/heroes/respawn.d.ts +3 -3
- package/dist/packs/heroes/respawn.js +87 -0
- package/dist/packs/heroes/respawn.js.map +1 -0
- package/dist/packs/heroes/sets.d.ts +32 -0
- package/dist/packs/heroes/sets.js +51 -0
- package/dist/packs/heroes/sets.js.map +1 -0
- package/dist/packs/heroes/spells.d.ts +16 -0
- package/dist/packs/heroes/spells.js +269 -0
- package/dist/packs/heroes/spells.js.map +1 -0
- package/dist/packs/items/defaults.d.ts +43 -0
- package/dist/packs/items/defaults.js +1504 -0
- package/dist/packs/items/defaults.js.map +1 -0
- package/dist/packs/items/index.d.ts +27 -0
- package/dist/packs/items/index.js +214 -0
- package/dist/packs/items/index.js.map +1 -0
- package/dist/packs/moba/index.d.ts +3 -3
- package/dist/packs/moba/index.js +174 -0
- package/dist/packs/moba/index.js.map +1 -0
- package/dist/packs/pack.d.ts +15 -15
- package/dist/packs/pack.js +14 -0
- package/dist/packs/pack.js.map +1 -0
- package/dist/packs.d.ts +15 -7
- package/dist/packs.js +222 -0
- package/dist/packs.js.map +1 -0
- package/dist/paths.d.ts +2 -0
- package/dist/paths.js +109 -0
- package/dist/paths.js.map +1 -0
- package/dist/plain.js +57 -0
- package/dist/plain.js.map +1 -0
- package/dist/player.d.ts +33 -10
- package/dist/player.js +159 -0
- package/dist/player.js.map +1 -0
- package/dist/portals.d.ts +1 -1
- package/dist/portals.js +194 -0
- package/dist/portals.js.map +1 -0
- package/dist/prefabs.d.ts +25 -2
- package/dist/prefabs.js +239 -0
- package/dist/prefabs.js.map +1 -0
- package/dist/presetBuildings.js +58 -0
- package/dist/presetBuildings.js.map +1 -0
- package/dist/presetFoliage.d.ts +27 -0
- package/dist/presetFoliage.js +98 -0
- package/dist/presetFoliage.js.map +1 -0
- package/dist/presetGround.js +65 -0
- package/dist/presetGround.js.map +1 -0
- package/dist/proxies.d.ts +12 -0
- package/dist/proxies.js +79 -0
- package/dist/proxies.js.map +1 -0
- package/dist/query.d.ts +56 -0
- package/dist/query.js +88 -0
- package/dist/query.js.map +1 -0
- package/dist/races.d.ts +15 -14
- package/dist/races.js +172 -0
- package/dist/races.js.map +1 -0
- package/dist/randomGroups.js +91 -0
- package/dist/randomGroups.js.map +1 -0
- package/dist/registry.d.ts +117 -53
- package/dist/registry.js +323 -0
- package/dist/registry.js.map +1 -0
- package/dist/remains.d.ts +11 -9
- package/dist/remains.js +188 -0
- package/dist/remains.js.map +1 -0
- package/dist/replication.d.ts +12 -7
- package/dist/replication.js +100 -0
- package/dist/replication.js.map +1 -0
- package/dist/rng.d.ts +2 -0
- package/dist/rng.js +40 -0
- package/dist/rng.js.map +1 -0
- package/dist/rules.d.ts +186 -99
- package/dist/rules.js +179 -0
- package/dist/rules.js.map +1 -0
- package/dist/rulesCheck.d.ts +5 -4
- package/dist/rulesCheck.js +693 -0
- package/dist/rulesCheck.js.map +1 -0
- package/dist/runes.d.ts +2 -2
- package/dist/runes.js +80 -0
- package/dist/runes.js.map +1 -0
- package/dist/save.d.ts +37 -12
- package/dist/save.js +532 -0
- package/dist/save.js.map +1 -0
- package/dist/scenario.d.ts +2 -2
- package/dist/scenario.js +99 -0
- package/dist/scenario.js.map +1 -0
- package/dist/scheduler.d.ts +3 -0
- package/dist/scheduler.js +156 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/score.d.ts +19 -19
- package/dist/score.js +709 -0
- package/dist/score.js.map +1 -0
- package/dist/sequences.d.ts +10 -6
- package/dist/sequences.js +206 -0
- package/dist/sequences.js.map +1 -0
- package/dist/server/doorman.js +154 -0
- package/dist/server/doorman.js.map +1 -0
- package/dist/server/gameServer.d.ts +16 -1
- package/dist/server/gameServer.js +643 -0
- package/dist/server/gameServer.js.map +1 -0
- package/dist/server/index.d.ts +1 -1
- package/dist/server/lobby.js +199 -0
- package/dist/server/lobby.js.map +1 -0
- package/dist/server/log.js +18 -0
- package/dist/server/log.js.map +1 -0
- package/dist/server/match.js +267 -0
- package/dist/server/match.js.map +1 -0
- package/dist/server/mode.d.ts +18 -9
- package/dist/server/mode.js +220 -0
- package/dist/server/mode.js.map +1 -0
- package/dist/{navigation-worker.js → server/navigation-worker.js} +1 -1
- package/dist/server/navigation-worker.js.map +1 -0
- package/dist/server/navigation.js +39 -0
- package/dist/server/navigation.js.map +1 -0
- package/dist/server/ops.d.ts +4 -0
- package/dist/server/ops.js +137 -0
- package/dist/server/ops.js.map +1 -0
- package/dist/server/packs.d.ts +3 -3
- package/dist/server/packs.js +32 -0
- package/dist/server/packs.js.map +1 -0
- package/dist/server/ratings.d.ts +5 -0
- package/dist/server/ratings.js +104 -0
- package/dist/server/ratings.js.map +1 -0
- package/dist/server/relay.d.ts +12 -2
- package/dist/server/relay.js +144 -0
- package/dist/server/relay.js.map +1 -0
- package/dist/server/rooms.d.ts +9 -2
- package/dist/server/rooms.js +442 -0
- package/dist/server/rooms.js.map +1 -0
- package/dist/server/seat.js +116 -0
- package/dist/server/seat.js.map +1 -0
- package/dist/server/seatSettings.d.ts +3 -3
- package/dist/server/seatSettings.js +63 -0
- package/dist/server/seatSettings.js.map +1 -0
- package/dist/server/secret.js +13 -0
- package/dist/server/secret.js.map +1 -0
- package/dist/server/start.d.ts +13 -6
- package/dist/server/start.js +76 -0
- package/dist/server/start.js.map +1 -0
- package/dist/server/websocket.d.ts +9 -1
- package/dist/server/websocket.js +306 -0
- package/dist/server/websocket.js.map +1 -0
- package/dist/server.js +15 -2861
- package/dist/session/can.js +26 -0
- package/dist/session/can.js.map +1 -0
- package/dist/session/commandReplay.d.ts +8 -2
- package/dist/session/commandReplay.js +293 -0
- package/dist/session/commandReplay.js.map +1 -0
- package/dist/session/debug.js +151 -0
- package/dist/session/debug.js.map +1 -0
- package/dist/session/delay.js +62 -0
- package/dist/session/delay.js.map +1 -0
- package/dist/session/delta.d.ts +14 -1
- package/dist/session/delta.js +407 -0
- package/dist/session/delta.js.map +1 -0
- package/dist/session/entityState.js +415 -0
- package/dist/session/entityState.js.map +1 -0
- package/dist/session/local.d.ts +47 -5
- package/dist/session/local.js +670 -0
- package/dist/session/local.js.map +1 -0
- package/dist/session/memory.d.ts +20 -2
- package/dist/session/memory.js +131 -0
- package/dist/session/memory.js.map +1 -0
- package/dist/session/protocol.d.ts +325 -31
- package/dist/session/protocol.js +55 -0
- package/dist/session/protocol.js.map +1 -0
- package/dist/session/remote.d.ts +74 -12
- package/dist/session/remote.js +1394 -0
- package/dist/session/remote.js.map +1 -0
- package/dist/session/replay.d.ts +11 -2
- package/dist/session/replay.js +160 -0
- package/dist/session/replay.js.map +1 -0
- package/dist/session/seed.js +12 -0
- package/dist/session/seed.js.map +1 -0
- package/dist/session/share.d.ts +5 -1
- package/dist/session/share.js +94 -0
- package/dist/session/share.js.map +1 -0
- package/dist/session/socket.d.ts +1 -1
- package/dist/session/socket.js +29 -0
- package/dist/session/socket.js.map +1 -0
- package/dist/session/wire.d.ts +5 -0
- package/dist/session/wire.js +84 -0
- package/dist/session/wire.js.map +1 -0
- package/dist/session/worker.d.ts +77 -12
- package/dist/session/worker.js +499 -0
- package/dist/session/worker.js.map +1 -0
- package/dist/shared.d.ts +31 -5
- package/dist/shared.js +166 -0
- package/dist/shared.js.map +1 -0
- package/dist/sides.d.ts +9 -3
- package/dist/sides.js +149 -0
- package/dist/sides.js.map +1 -0
- package/dist/sight.js +85 -0
- package/dist/sight.js.map +1 -0
- package/dist/simulate-worker.js +1 -1
- package/dist/simulate.d.ts +12 -8
- package/dist/{simulate-oXBiw1Ff.js → simulate.js} +10 -11
- package/dist/simulate.js.map +1 -0
- package/dist/smart.js +77 -0
- package/dist/smart.js.map +1 -0
- package/dist/spatial.d.ts +32 -16
- package/dist/spatial.js +234 -0
- package/dist/spatial.js.map +1 -0
- package/dist/spawning.d.ts +1 -0
- package/dist/spawning.js +224 -0
- package/dist/spawning.js.map +1 -0
- package/dist/stances.d.ts +6 -3
- package/dist/stances.js +169 -0
- package/dist/stances.js.map +1 -0
- package/dist/start.d.ts +10 -10
- package/dist/start.js +75 -0
- package/dist/start.js.map +1 -0
- package/dist/stats.d.ts +42 -16
- package/dist/stats.js +290 -0
- package/dist/stats.js.map +1 -0
- package/dist/summoned.d.ts +52 -0
- package/dist/summoned.js +38 -0
- package/dist/summoned.js.map +1 -0
- package/dist/summons.d.ts +10 -13
- package/dist/summons.js +271 -0
- package/dist/summons.js.map +1 -0
- package/dist/systems/abilities.js +224 -0
- package/dist/systems/abilities.js.map +1 -0
- package/dist/systems/combat.d.ts +35 -1
- package/dist/systems/combat.js +677 -0
- package/dist/systems/combat.js.map +1 -0
- package/dist/systems/combatTold.d.ts +3 -1
- package/dist/systems/combatTold.js +85 -0
- package/dist/systems/combatTold.js.map +1 -0
- package/dist/systems/construction.js +80 -0
- package/dist/systems/construction.js.map +1 -0
- package/dist/systems/economy.d.ts +0 -6
- package/dist/systems/economy.js +128 -0
- package/dist/systems/economy.js.map +1 -0
- package/dist/systems/fog.d.ts +1 -1
- package/dist/systems/fog.js +120 -0
- package/dist/systems/fog.js.map +1 -0
- package/dist/systems/life.js +32 -0
- package/dist/systems/life.js.map +1 -0
- package/dist/systems/movement.d.ts +24 -12
- package/dist/systems/movement.js +1247 -0
- package/dist/systems/movement.js.map +1 -0
- package/dist/systems/orders.js +64 -0
- package/dist/systems/orders.js.map +1 -0
- package/dist/systems/production.js +322 -0
- package/dist/systems/production.js.map +1 -0
- package/dist/systems/productionQueue.js +120 -0
- package/dist/systems/productionQueue.js.map +1 -0
- package/dist/systems/victory.d.ts +1 -1
- package/dist/systems/victory.js +56 -0
- package/dist/systems/victory.js.map +1 -0
- package/dist/talk.d.ts +6 -6
- package/dist/talk.js +153 -0
- package/dist/talk.js.map +1 -0
- package/dist/targeting.d.ts +142 -0
- package/dist/targeting.js +49 -0
- package/dist/targeting.js.map +1 -0
- package/dist/tech.d.ts +20 -3
- package/dist/tech.js +239 -0
- package/dist/tech.js.map +1 -0
- package/dist/techTree.d.ts +7 -0
- package/dist/techTree.js +90 -0
- package/dist/techTree.js.map +1 -0
- package/dist/terrain.d.ts +59 -7
- package/dist/terrain.js +389 -0
- package/dist/terrain.js.map +1 -0
- package/dist/terrainSave.d.ts +6 -0
- package/dist/terrainSave.js +74 -0
- package/dist/terrainSave.js.map +1 -0
- package/dist/testing.d.ts +8 -7
- package/dist/testing.js +13 -739
- package/dist/testing.js.map +1 -1
- package/dist/tiles.d.ts +1 -1
- package/dist/tiles.js +43 -0
- package/dist/tiles.js.map +1 -0
- package/dist/timers.d.ts +29 -4
- package/dist/timers.js +242 -0
- package/dist/timers.js.map +1 -0
- package/dist/tomes.d.ts +4 -4
- package/dist/tomes.js +94 -0
- package/dist/tomes.js.map +1 -0
- package/dist/trade.js +103 -0
- package/dist/trade.js.map +1 -0
- package/dist/transport.d.ts +6 -1
- package/dist/transport.js +281 -0
- package/dist/transport.js.map +1 -0
- package/dist/tunables.d.ts +10 -3
- package/dist/tunables.js +56 -0
- package/dist/tunables.js.map +1 -0
- package/dist/unitResources.d.ts +67 -0
- package/dist/unitResources.js +266 -0
- package/dist/unitResources.js.map +1 -0
- package/dist/upkeep.d.ts +6 -1
- package/dist/upkeep.js +26 -0
- package/dist/upkeep.js.map +1 -0
- package/dist/veterancy.d.ts +8 -3
- package/dist/veterancy.js +131 -0
- package/dist/veterancy.js.map +1 -0
- package/dist/vision.d.ts +36 -0
- package/dist/vision.js +133 -0
- package/dist/vision.js.map +1 -0
- package/dist/walls.d.ts +1 -1
- package/dist/walls.js +278 -0
- package/dist/walls.js.map +1 -0
- package/dist/world.d.ts +606 -88
- package/dist/world.js +1263 -0
- package/dist/world.js.map +1 -0
- package/package.json +2 -2
- package/dist/ai.js.map +0 -1
- package/dist/attributes.d.ts +0 -66
- package/dist/brain-BvVdUhX8.js +0 -7659
- package/dist/brain-BvVdUhX8.js.map +0 -1
- package/dist/builds-C6LfgvEU.js +0 -460
- package/dist/builds-C6LfgvEU.js.map +0 -1
- package/dist/coreComponents-syuh2fPG.js +0 -5149
- package/dist/coreComponents-syuh2fPG.js.map +0 -1
- package/dist/debugCommands-CzjrSm66.js +0 -14739
- package/dist/debugCommands-CzjrSm66.js.map +0 -1
- package/dist/determinism-BCymQwiE.js +0 -518
- package/dist/determinism-BCymQwiE.js.map +0 -1
- package/dist/game-DiJEN-Ks.js +0 -5800
- package/dist/game-DiJEN-Ks.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/inspect-D9dWHmZ0.js.map +0 -1
- package/dist/local-Dkovq42k.js +0 -1379
- package/dist/local-Dkovq42k.js.map +0 -1
- package/dist/missionRules-C-bGxm0Q.js.map +0 -1
- package/dist/navigation-worker.js.map +0 -1
- package/dist/packs-g5thvmGn.js +0 -3199
- package/dist/packs-g5thvmGn.js.map +0 -1
- package/dist/profiles-B3NS9jwk.js.map +0 -1
- package/dist/server.js.map +0 -1
- 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,
|
|
6
|
-
import type { Cost, DamageType,
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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 (`
|
|
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:
|
|
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
|
-
/**
|
|
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
|
-
|
|
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 (`
|
|
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 (`
|
|
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
|
-
/**
|
|
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
|
-
|
|
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
|
-
|
|
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 (`
|
|
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
|
-
* (`
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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<
|
|
412
|
+
resources: Record<ResourceId, number>;
|
|
312
413
|
supplyUsed: number;
|
|
313
414
|
supplyCap: number;
|
|
314
|
-
/** The game's other pools of supply, by name (`
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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.
|
|
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.
|
|
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:
|
|
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
|
|
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 (`
|
|
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 (`
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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[];
|