@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engineEvents.js","names":[],"sources":["../src/engineEvents.ts"],"sourcesContent":["/**\n * The engine's events (design review E7): a key each, as a game's own are (`defineEvent`), emitted on `world.events`\n * and listened to with `defineListener` the same way. What each says is its payload, typed by the key; its id is its\n * name, as the debug tools' event log shows it\n */\nimport { engineEvent } from './events'\nimport type { WorldEvents } from './world'\n\n/**\n * Something was made in the world: a unit trained or spawned, a building put down, a tree of the map\n *\n * @beta\n */\nexport const entitySpawned = engineEvent<WorldEvents['entitySpawned']>('entitySpawned')\n\n/**\n * Something left the world for good: a corpse gone, a building taken down, a unit removed by the rules\n *\n * @beta\n */\nexport const entityRemoved = engineEvent<WorldEvents['entityRemoved']>('entityRemoved')\n\n/**\n * Something died: what killed it, and how. `cause`: the blow, for what died of damage. `how`: what the rules made\n * of the death in the `death` hook, for the screen to show (`'exploded'`, `'burned'`)\n *\n * @public\n */\nexport const entityDied = engineEvent<WorldEvents['entityDied']>('entityDied')\n\n/**\n * A buff was put on, or put on again (`renewed`, with the level it had before: `previousLevel`)\n *\n * @beta\n */\nexport const buffApplied = engineEvent<WorldEvents['buffApplied']>('buffApplied')\n\n/**\n * A buff came off: it ran out (`expired`), or was taken off. Not for the buffs of something that dies\n *\n * @beta\n */\nexport const buffRemoved = engineEvent<WorldEvents['buffRemoved']>('buffRemoved')\n\n/**\n * Something took damage: who dealt it, how much, of which type, whether a critical strike, and by an attack or an ability\n *\n * @beta\n */\nexport const damaged = engineEvent<WorldEvents['damaged']>('damaged')\n\n/**\n * An attack went wide. Where it would have landed, and whom it was for\n *\n * @beta\n */\nexport const missed = engineEvent<WorldEvents['missed']>('missed')\n\n/**\n * Something was given health back, and by whom\n *\n * @beta\n */\nexport const healed = engineEvent<WorldEvents['healed']>('healed')\n\n/**\n * A unit began an attack: its swing, at its target where it has one\n *\n * @beta\n */\nexport const attackStarted = engineEvent<WorldEvents['attackStarted']>('attackStarted')\n\n/**\n * A unit's swing was called off before its blow landed (moved away, told something else, its target gone, stunned):\n * told to the players as `attackCancelled`, for the screen to cut the attack to the walk\n *\n * @beta\n */\nexport const swingCancelled = engineEvent<WorldEvents['swingCancelled']>('swingCancelled')\n\n/**\n * An attack's projectile set off\n *\n * @beta\n */\nexport const projectileSpawned = engineEvent<WorldEvents['projectileSpawned']>('projectileSpawned')\n\n/**\n * An attack's projectile landed or was taken away\n *\n * @beta\n */\nexport const projectileRemoved = engineEvent<WorldEvents['projectileRemoved']>('projectileRemoved')\n\n/**\n * An attack that hits an area came down\n *\n * @beta\n */\nexport const impact = engineEvent<WorldEvents['impact']>('impact')\n\n/**\n * A building's site was put down: what it will be, while it goes up\n *\n * @beta\n */\nexport const constructionStarted = engineEvent<WorldEvents['constructionStarted']>('constructionStarted')\n\n/**\n * A building went up whole and works\n *\n * @beta\n */\nexport const constructionFinished = engineEvent<WorldEvents['constructionFinished']>('constructionFinished')\n\n/**\n * A construction was called off by its owner: it dies next, with the reason `cancelled`\n *\n * @beta\n */\nexport const constructionCancelled = engineEvent<WorldEvents['constructionCancelled']>('constructionCancelled')\n\n/**\n * A building started to turn into another type (`UnitTypeDef.upgradesTo`), over `time` seconds\n *\n * @beta\n */\nexport const morphStarted = engineEvent<WorldEvents['morphStarted']>('morphStarted')\n\n/**\n * That was called off, or the building died before it was done\n *\n * @beta\n */\nexport const morphCancelled = engineEvent<WorldEvents['morphCancelled']>('morphCancelled')\n\n/**\n * A building trained a unit: the building, and the unit made\n *\n * @beta\n */\nexport const unitTrained = engineEvent<WorldEvents['unitTrained']>('unitTrained')\n\n/**\n * An entity became another type: `from`, what it was\n *\n * @beta\n */\nexport const entityMorphed = engineEvent<WorldEvents['entityMorphed']>('entityMorphed')\n\n/**\n * A hero in a form turned back into what it was (`leaveForm`): the form it was in, and what turned it back (its\n * ability cast again, its time, its death; none when it took another form or code did it)\n *\n * @beta\n */\nexport const morphedBack = engineEvent<WorldEvents['morphedBack']>('morphedBack')\n\n/**\n * A player lost: their units and buildings are gone, or the rules said so\n *\n * @beta\n */\nexport const playerDefeated = engineEvent<WorldEvents['playerDefeated']>('playerDefeated')\n\n/**\n * A player gave up (see `surrender`): `playerDefeated` follows\n *\n * @beta\n */\nexport const playerSurrendered = engineEvent<WorldEvents['playerSurrendered']>('playerSurrendered')\n\n/**\n * A player asked for a pause, and the rules let them (see `askPause`): whoever runs the world pauses it, for `seconds` at most\n *\n * @beta\n */\nexport const pauseAsked = engineEvent<WorldEvents['pauseAsked']>('pauseAsked')\n\n/**\n * The game ended, with the winning team (`0` for none)\n *\n * @beta\n */\nexport const gameOver = engineEvent<WorldEvents['gameOver']>('gameOver')\n\n/**\n * The game ended on an error in its rules (`world.failure`): it is not stepped again\n *\n * @beta\n */\nexport const worldFailed = engineEvent<WorldEvents['worldFailed']>('worldFailed')\n\n/**\n * A unit got into a transport (`UnitTypeDef.transport`), or out of one\n *\n * @beta\n */\nexport const boarded = engineEvent<WorldEvents['boarded']>('boarded')\n\n/**\n * A unit was hired at a place that hires (`UnitTypeDef.hires`)\n *\n * @beta\n */\nexport const unitHired = engineEvent<WorldEvents['unitHired']>('unitHired')\n\n/**\n * A passenger left its transport\n *\n * @beta\n */\nexport const unloaded = engineEvent<WorldEvents['unloaded']>('unloaded')\n\n/**\n * A hero went up a level\n *\n * @beta\n */\nexport const heroLevelUp = engineEvent<WorldEvents['heroLevelUp']>('heroLevelUp')\n\n/**\n * A hero earned experience (`grantXp`): how much, after `beforeXp`, and the level it is at after it\n *\n * @beta\n */\nexport const xpGained = engineEvent<WorldEvents['xpGained']>('xpGained')\n\n/**\n * A unit's mana changed by something it did or was given: spent on a cast (`amount` below 0, `ability` the one cast)\n * or given by an effect (above 0). Not its regeneration, which would be every tick\n *\n * @beta\n */\nexport const manaChanged = engineEvent<WorldEvents['manaChanged']>('manaChanged')\n\n/**\n * A pool of a game's own on a unit (rage, energy, charges) changed: emitted by the game's rules\n * (`world.events.emit('resourceChanged', …)`), heard by the screens of the unit's owner and allies (`resource`)\n *\n * @beta\n */\nexport const resourceChanged = engineEvent<WorldEvents['resourceChanged']>('resourceChanged')\n\n/**\n * A hero came back to life (at an altar, or by the rules)\n *\n * @beta\n */\nexport const heroRevived = engineEvent<WorldEvents['heroRevived']>('heroRevived')\n\n/**\n * A unit began casting an ability, at a point where it has one. `duration`: seconds of the wind-up\n *\n * @beta\n */\nexport const castStarted = engineEvent<WorldEvents['castStarted']>('castStarted')\n\n/**\n * A wind-up called off before it went off (`castStarted` with no cast after it): stunned, killed, ordered elsewhere\n *\n * @beta\n */\nexport const castCancelled = engineEvent<WorldEvents['castCancelled']>('castCancelled')\n\n/**\n * A channelled ability started to be kept up, or ended: done, or `interrupted`\n *\n * @beta\n */\nexport const channelStarted = engineEvent<WorldEvents['channelStarted']>('channelStarted')\n\n/**\n * A channelled ability stopped: run to its end, or broken off (`interrupted`)\n *\n * @beta\n */\nexport const channelEnded = engineEvent<WorldEvents['channelEnded']>('channelEnded')\n\n/**\n * An ability's missile set off\n *\n * @beta\n */\nexport const missileSpawned = engineEvent<WorldEvents['missileSpawned']>('missileSpawned')\n\n/**\n * An ability's missile reached what it was sent at\n *\n * @beta\n */\nexport const missileHit = engineEvent<WorldEvents['missileHit']>('missileHit')\n\n/**\n * An ability's missile is gone: it hit, or ran out\n *\n * @beta\n */\nexport const missileRemoved = engineEvent<WorldEvents['missileRemoved']>('missileRemoved')\n\n/**\n * An ability went off: who cast it, at what level, at whom or where\n *\n * @beta\n */\nexport const abilityCast = engineEvent<WorldEvents['abilityCast']>('abilityCast')\n\n/**\n * What an ability set off arrived: a missile hit, a rush ended, the time was up\n *\n * @beta\n */\nexport const abilityImpact = engineEvent<WorldEvents['abilityImpact']>('abilityImpact')\n\n/**\n * A building finished researching an upgrade: which, and its level now\n *\n * @beta\n */\nexport const researchFinished = engineEvent<WorldEvents['researchFinished']>('researchFinished')\n\n/**\n * An item was put on the ground\n *\n * @beta\n */\nexport const itemDropped = engineEvent<WorldEvents['itemDropped']>('itemDropped')\n\n/**\n * An item was picked up from the ground\n *\n * @beta\n */\nexport const itemPicked = engineEvent<WorldEvents['itemPicked']>('itemPicked')\n\n/**\n * A hero took a purchase back at a shop (`undoBuy`)\n *\n * @beta\n */\nexport const itemUndone = engineEvent<WorldEvents['itemUndone']>('itemUndone')\n\n/**\n * Every creep of a camp is gone. It comes back after a while, when it says so (see `Camp.respawn`)\n *\n * @beta\n */\nexport const campCleared = engineEvent<WorldEvents['campCleared']>('campCleared')\n\n/**\n * A camp cleared came back, its creeps where they stood (see `respawnCamp`)\n *\n * @beta\n */\nexport const campReturned = engineEvent<WorldEvents['campReturned']>('campReturned')\n\n/**\n * A player marked a spot for their allies, or for everyone (see `ping`)\n *\n * @beta\n */\nexport const pinged = engineEvent<WorldEvents['pinged']>('pinged')\n\n/**\n * A player gave an ally resources (see `give`): how much went, and how much came after the tax\n *\n * @beta\n */\nexport const traded = engineEvent<WorldEvents['traded']>('traded')\n\n/**\n * A player traded one resource for another at a rate (see `exchange`): how much of what went, and how much of what came\n *\n * @beta\n */\nexport const exchanged = engineEvent<WorldEvents['exchanged']>('exchanged')\n\n/**\n * A player said a line (see `chat`): to their side, or to everyone\n *\n * @beta\n */\nexport const chatted = engineEvent<WorldEvents['chatted']>('chatted')\n\n/**\n * What a unit carries changed: an item given, taken, bought, sold, used up, or a hero carried in with theirs\n *\n * @beta\n */\nexport const inventoryChanged = engineEvent<WorldEvents['inventoryChanged']>('inventoryChanged')\n\n/**\n * A player was paid for a kill: the unit killed, who was paid, how much\n *\n * @beta\n */\nexport const bounty = engineEvent<WorldEvents['bounty']>('bounty')\n\n/**\n * A worker struck what it is mending\n *\n * @beta\n */\nexport const worked = engineEvent<WorldEvents['worked']>('worked')\n\n/**\n * A worker struck the tree it is working on\n *\n * @beta\n */\nexport const chopped = engineEvent<WorldEvents['chopped']>('chopped')\n\n/**\n * A worker handed in what it carried: `amount` as it went into the purse, `upkeep` what upkeep took of it at the door\n *\n * @beta\n */\nexport const resourcesDeposited = engineEvent<WorldEvents['resourcesDeposited']>('resourcesDeposited')\n\n/**\n * A player paid for something (`spend`), or was given back what they paid (`refund`, `giveBack`): `on` what (`unit`,\n * `upgrade`, `structure`, `item`, `hire`, `repair`... or a game's own word), and its id\n *\n * @beta\n */\nexport const resourcesSpent = engineEvent<WorldEvents['resourcesSpent']>('resourcesSpent')\n\n/**\n * A command, or a part of one, that a player's own client never sends: not what it says it is (an unknown type, a\n * field missing or of the wrong kind), or naming another player's unit, or a unit there never was. What a race makes\n * (an order to a unit that has just died) is not one. A server counts these against whoever sent them (`onCheat`);\n * a game's own commands may emit it too\n */\n/**\n * A command turned away (`RejectedKind`: why, for what counts them, as a server's cheat counter does), with the\n * reason in words for the log\n *\n * @beta\n */\nexport const commandRejected = engineEvent<WorldEvents['commandRejected']>('commandRejected')\n\n/**\n * A command that came with a number of its sender's (`seq`) was carried out: refused with the first error the player was told, or not\n *\n * @beta\n */\nexport const commandHandled = engineEvent<WorldEvents['commandHandled']>('commandHandled')\n\n/**\n * Feedback for a player, like \"Not enough gold\": what the client finds the words for\n *\n * @beta\n */\nexport const messageSent = engineEvent<WorldEvents['messageSent']>('messageSent')\n\n/**\n * A unit walked into an area of the game (`Rules.areas`)\n *\n * @public\n */\nexport const enteredArea = engineEvent<WorldEvents['enteredArea']>('enteredArea')\n\n/**\n * A unit walked out of one. What dies in an area is not said to leave it\n *\n * @beta\n */\nexport const leftArea = engineEvent<WorldEvents['leftArea']>('leftArea')\n\n/**\n * An objective of a player was given (`was` undefined), got further along, was done or failed\n *\n * @beta\n */\nexport const objectiveChanged = engineEvent<WorldEvents['objectiveChanged']>('objectiveChanged')\n\n/**\n * Someone said a line, to some players or everyone (see `world.dialog`)\n *\n * @beta\n */\nexport const lineSaid = engineEvent<WorldEvents['lineSaid']>('lineSaid')\n\n/**\n * A line was skipped by whom it was said to: it ends early for them\n *\n * @beta\n */\nexport const lineEnded = engineEvent<WorldEvents['lineEnded']>('lineEnded')\n\n/**\n * A player went over to another team (`setTeam`)\n *\n * @beta\n */\nexport const teamChanged = engineEvent<WorldEvents['teamChanged']>('teamChanged')\n\n/**\n * The rules marked a moment to start again from, like the start of a wave: a session keeps a save of it\n *\n * @beta\n */\nexport const checkpoint = engineEvent<WorldEvents['checkpoint']>('checkpoint')\n\n/**\n * The rules play one of the view's cinematics on the screens of some players, or everyone's (see `playCinematic`)\n *\n * @beta\n */\nexport const cinematicCue = engineEvent<WorldEvents['cinematicCue']>('cinematicCue')\n\n/**\n * The rules cue the cinematic playing on some screens, or everyone's (see `cueCinematic`)\n *\n * @beta\n */\nexport const cinematicCued = engineEvent<WorldEvents['cinematicCued']>('cinematicCued')\n\n/**\n * The rules pan or shake one player's camera (see `cameraFor`)\n *\n * @beta\n */\nexport const cameraOrdered = engineEvent<WorldEvents['cameraOrdered']>('cameraOrdered')\n\n/**\n * A cinematic the rules played is over on a player's screen, as their screen said (see `cinematic`'s `wait`)\n *\n * @beta\n */\nexport const cinematicEnded = engineEvent<WorldEvents['cinematicEnded']>('cinematicEnded')\n\n/**\n * A player picked an answer of a cinematic's choice, as their screen said (see `cinematicChose`)\n *\n * @beta\n */\nexport const cinematicChoice = engineEvent<WorldEvents['cinematicChoice']>('cinematicChoice')\n\n/**\n * The rules play one of the view's effects at a place or on an entity, for everyone who sees it (see `world.fx`)\n *\n * @beta\n */\nexport const fxStarted = engineEvent<WorldEvents['fxStarted']>('fxStarted')\n\n/**\n * The rules stop an effect they played (see `world.stopFx`)\n *\n * @beta\n */\nexport const fxStopped = engineEvent<WorldEvents['fxStopped']>('fxStopped')\n\n/**\n * One hidden in a layer of cells moved in it, or stepped into it (`ConcealmentOptions.rustle`): told to the teams\n * it names that do not see it (all of them, where none are named), where they see the ground, as a shake of what the\n * layer draws there\n *\n * @beta\n */\nexport const rustled = engineEvent<WorldEvents['rustled']>('rustled')\n\n/**\n * A gust of wind blew at a place (`gust`, `WindGust`): where, and the gust. Told to the players who see the place, as\n * a `gust` message, for their screens to bend the grass and bushes there. Nothing of the world changes by it\n *\n * @beta\n */\nexport const gusted = engineEvent<WorldEvents['gusted']>('gusted')\n\n/**\n * Cells of a layer (`Terrain.cells`) were set to a value (`setCells`): told to the players who see them, the others as\n * they come into sight (`cellsSeen`)\n *\n * @beta\n */\nexport const cellsChanged = engineEvent<WorldEvents['cellsChanged']>('cellsChanged')\n\n/**\n * A part of the ground was reshaped (`World.reshapeGround`): told to every player\n *\n * @beta\n */\nexport const groundReshaped = engineEvent<WorldEvents['groundReshaped']>('groundReshaped')\n\n/**\n * Cells of a layer that changed out of a team's sight came into it (`TeamMemory.cells`): told to that team's players\n *\n * @beta\n */\nexport const cellsSeen = engineEvent<WorldEvents['cellsSeen']>('cellsSeen')\n\n/** What the map looks like beyond its ground changed (`setEnvironment`): as it is now, told to every player */\n/** `over`: the seconds the screens ease into it over, where the rules said\n *\n * @beta\n */\nexport const environmentChanged = engineEvent<WorldEvents['environmentChanged']>('environmentChanged')\n"],"mappings":";;;;;;;;;;;;AAaA,IAAa,gBAAgB,YAA0C,eAAe;;;;;;AAOtF,IAAa,gBAAgB,YAA0C,eAAe;;;;;;;AAQtF,IAAa,aAAa,YAAuC,YAAY;;;;;;AAO7E,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,UAAU,YAAoC,SAAS;;;;;;AAOpE,IAAa,SAAS,YAAmC,QAAQ;;;;;;AAOjE,IAAa,SAAS,YAAmC,QAAQ;;;;;;AAOjE,IAAa,gBAAgB,YAA0C,eAAe;;;;;;;AAQtF,IAAa,iBAAiB,YAA2C,gBAAgB;;;;;;AAOzF,IAAa,oBAAoB,YAA8C,mBAAmB;;;;;;AAOlG,IAAa,oBAAoB,YAA8C,mBAAmB;;;;;;AAOlG,IAAa,SAAS,YAAmC,QAAQ;;;;;;AAOjE,IAAa,sBAAsB,YAAgD,qBAAqB;;;;;;AAOxG,IAAa,uBAAuB,YAAiD,sBAAsB;;;;;;AAO3G,IAAa,wBAAwB,YAAkD,uBAAuB;;;;;;AAO9G,IAAa,eAAe,YAAyC,cAAc;;;;;;AAOnF,IAAa,iBAAiB,YAA2C,gBAAgB;;;;;;AAOzF,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,gBAAgB,YAA0C,eAAe;;;;;;;AAQtF,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,iBAAiB,YAA2C,gBAAgB;;;;;;AAOzF,IAAa,oBAAoB,YAA8C,mBAAmB;;;;;;AAOlG,IAAa,aAAa,YAAuC,YAAY;;;;;;AAO7E,IAAa,WAAW,YAAqC,UAAU;;;;;;AAOvE,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,UAAU,YAAoC,SAAS;;;;;;AAOpE,IAAa,YAAY,YAAsC,WAAW;;;;;;AAO1E,IAAa,WAAW,YAAqC,UAAU;;;;;;AAOvE,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,WAAW,YAAqC,UAAU;;;;;;;AAQvE,IAAa,cAAc,YAAwC,aAAa;;;;;;;AAQhF,IAAa,kBAAkB,YAA4C,iBAAiB;;;;;;AAO5F,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,gBAAgB,YAA0C,eAAe;;;;;;AAOtF,IAAa,iBAAiB,YAA2C,gBAAgB;;;;;;AAOzF,IAAa,eAAe,YAAyC,cAAc;;;;;;AAOnF,IAAa,iBAAiB,YAA2C,gBAAgB;;;;;;AAOzF,IAAa,aAAa,YAAuC,YAAY;;;;;;AAO7E,IAAa,iBAAiB,YAA2C,gBAAgB;;;;;;AAOzF,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,gBAAgB,YAA0C,eAAe;;;;;;AAOtF,IAAa,mBAAmB,YAA6C,kBAAkB;;;;;;AAO/F,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,aAAa,YAAuC,YAAY;;;;;;AAO7E,IAAa,aAAa,YAAuC,YAAY;;;;;;AAO7E,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,eAAe,YAAyC,cAAc;;;;;;AAOnF,IAAa,SAAS,YAAmC,QAAQ;;;;;;AAOjE,IAAa,SAAS,YAAmC,QAAQ;;;;;;AAOjE,IAAa,YAAY,YAAsC,WAAW;;;;;;AAO1E,IAAa,UAAU,YAAoC,SAAS;;;;;;AAOpE,IAAa,mBAAmB,YAA6C,kBAAkB;;;;;;AAO/F,IAAa,SAAS,YAAmC,QAAQ;;;;;;AAOjE,IAAa,SAAS,YAAmC,QAAQ;;;;;;AAOjE,IAAa,UAAU,YAAoC,SAAS;;;;;;AAOpE,IAAa,qBAAqB,YAA+C,oBAAoB;;;;;;;AAQrG,IAAa,iBAAiB,YAA2C,gBAAgB;;;;;;;;;;;;;AAczF,IAAa,kBAAkB,YAA4C,iBAAiB;;;;;;AAO5F,IAAa,iBAAiB,YAA2C,gBAAgB;;;;;;AAOzF,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,WAAW,YAAqC,UAAU;;;;;;AAOvE,IAAa,mBAAmB,YAA6C,kBAAkB;;;;;;AAO/F,IAAa,WAAW,YAAqC,UAAU;;;;;;AAOvE,IAAa,YAAY,YAAsC,WAAW;;;;;;AAO1E,IAAa,cAAc,YAAwC,aAAa;;;;;;AAOhF,IAAa,aAAa,YAAuC,YAAY;;;;;;AAO7E,IAAa,eAAe,YAAyC,cAAc;;;;;;AAOnF,IAAa,gBAAgB,YAA0C,eAAe;;;;;;AAOtF,IAAa,gBAAgB,YAA0C,eAAe;;;;;;AAOtF,IAAa,iBAAiB,YAA2C,gBAAgB;;;;;;AAOzF,IAAa,kBAAkB,YAA4C,iBAAiB;;;;;;AAO5F,IAAa,YAAY,YAAsC,WAAW;;;;;;AAO1E,IAAa,YAAY,YAAsC,WAAW;;;;;;;;AAS1E,IAAa,UAAU,YAAoC,SAAS;;;;;;;AAQpE,IAAa,SAAS,YAAmC,QAAQ;;;;;;;AAQjE,IAAa,eAAe,YAAyC,cAAc;;;;;;AAOnF,IAAa,iBAAiB,YAA2C,gBAAgB;;;;;;AAOzF,IAAa,YAAY,YAAsC,WAAW;;;;;;AAO1E,IAAa,qBAAqB,YAA+C,oBAAoB"}
|
package/dist/entity.d.ts
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
import { type Cost, type EffectDef, type
|
|
1
|
+
import { type Cost, type EffectDef, type ResourceId, type UnitTypeDef } from './defs';
|
|
2
2
|
import { type Component } from './components';
|
|
3
3
|
import type { Rect, Vec2 } from './math';
|
|
4
4
|
import type { StatsCache } from './stats';
|
|
5
|
-
import type { OrderParams } from './registry';
|
|
6
|
-
/**
|
|
5
|
+
import type { OrderInit, OrderParams } from './registry';
|
|
6
|
+
/**
|
|
7
|
+
* The number an entity has in its world, unique there
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
7
11
|
export type EntityId = number;
|
|
8
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* The number of a player in a world
|
|
14
|
+
*
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
9
17
|
export type PlayerId = number;
|
|
10
18
|
/**
|
|
11
19
|
* An order a unit carries out or has queued. `State` is what its behaviour keeps in it (`OrderBehavior<State>`): empty
|
|
@@ -14,18 +22,26 @@ export type PlayerId = number;
|
|
|
14
22
|
* @beta
|
|
15
23
|
*/
|
|
16
24
|
export interface Order<State extends object = Record<string, any>, Init extends object = OrderParams> {
|
|
25
|
+
/** The order's number, unique in its world */
|
|
17
26
|
id: number;
|
|
27
|
+
/** The order's type, naming the behaviour that carries it out */
|
|
18
28
|
type: string;
|
|
19
29
|
/** What it was given, as its type takes it (`OrderInits`): plain data, saved with the order */
|
|
20
30
|
init: Init;
|
|
21
31
|
/** Shared by every unit that received the order from the same command */
|
|
22
32
|
groupId: number;
|
|
33
|
+
/** Whether the order has begun being carried out */
|
|
23
34
|
started: boolean;
|
|
24
35
|
/** Scratch space owned by the order behavior: plain data, saved with the order */
|
|
25
36
|
state: State;
|
|
26
37
|
}
|
|
27
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* What a unit holds of one of its abilities: its level, cooldown, charges and autocast
|
|
40
|
+
*
|
|
41
|
+
* @beta
|
|
42
|
+
*/
|
|
28
43
|
export interface AbilityState {
|
|
44
|
+
/** The id of the ability this is the state of */
|
|
29
45
|
id: string;
|
|
30
46
|
/** 0 for an ability a hero has not learned yet */
|
|
31
47
|
level: number;
|
|
@@ -38,17 +54,55 @@ export interface AbilityState {
|
|
|
38
54
|
charges?: number;
|
|
39
55
|
/** Seconds until the next use is back, while it holds fewer than it can */
|
|
40
56
|
refill?: number;
|
|
57
|
+
/** Whether the ability is cast by itself when its conditions are met */
|
|
41
58
|
autocast: boolean;
|
|
42
59
|
/** Where it was last aimed */
|
|
43
60
|
point?: Vec2;
|
|
61
|
+
/** For one aimed along two points (`vector`): the second, the way it went from `point` */
|
|
62
|
+
to?: Vec2;
|
|
63
|
+
/**
|
|
64
|
+
* The game's own state of the ability on this unit, plain data (numbers, text, lists and plain objects of them):
|
|
65
|
+
* ammo, a count of what it hit, a mark it left. Saved with the unit and told to its owner's screen with the rest of
|
|
66
|
+
* the ability (`AbilityInfo.data`), for a button to show. Nothing of the engine's reads it
|
|
67
|
+
*
|
|
68
|
+
* @beta
|
|
69
|
+
*/
|
|
70
|
+
data?: Record<string, unknown>;
|
|
71
|
+
/**
|
|
72
|
+
* Its window to be cast again, while it is open (`AbilityDef.recast`): the next cast is a recast
|
|
73
|
+
*
|
|
74
|
+
* @beta
|
|
75
|
+
*/
|
|
76
|
+
recast?: RecastWindow;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* An ability's window to be cast again (`AbilityState.recast`, `AbilityDef.recast`)
|
|
80
|
+
*
|
|
81
|
+
* @beta
|
|
82
|
+
*/
|
|
83
|
+
export interface RecastWindow {
|
|
84
|
+
/** Seconds left of it */
|
|
85
|
+
left: number;
|
|
86
|
+
/** Seconds it was open for in all, for a button to show how much is left */
|
|
87
|
+
total: number;
|
|
88
|
+
/** Recasts made in it so far */
|
|
89
|
+
used: number;
|
|
90
|
+
/** The cooldown that starts as it closes, for one whose cooldown waits for it (`after`) */
|
|
91
|
+
cooldown?: number;
|
|
44
92
|
}
|
|
45
|
-
/**
|
|
93
|
+
/**
|
|
94
|
+
* A buff on a unit: which, from what level, how long is left and who put it there
|
|
95
|
+
*
|
|
96
|
+
* @beta
|
|
97
|
+
*/
|
|
46
98
|
export interface BuffInstance {
|
|
99
|
+
/** The id of the buff */
|
|
47
100
|
id: string;
|
|
48
101
|
/** Level of the ability it came from */
|
|
49
102
|
level: number;
|
|
50
103
|
/** Seconds left. Infinity for buffs that stay */
|
|
51
104
|
remaining: number;
|
|
105
|
+
/** Seconds the buff has been on */
|
|
52
106
|
elapsed: number;
|
|
53
107
|
/** Entity that put it there */
|
|
54
108
|
source: EntityId;
|
|
@@ -72,12 +126,16 @@ export interface BuffInstance {
|
|
|
72
126
|
* @beta
|
|
73
127
|
*/
|
|
74
128
|
export interface ItemInstance {
|
|
129
|
+
/** The item instance's number, unique in its world */
|
|
75
130
|
id: number;
|
|
131
|
+
/** The id of the item type */
|
|
76
132
|
item: string;
|
|
77
133
|
/** Uses left, for items that run out */
|
|
78
134
|
charges: number;
|
|
79
135
|
/** Cooldown of the ability the item gives */
|
|
80
136
|
state?: AbilityState;
|
|
137
|
+
/** Seconds until its next charge comes back, for an item that refills over time (`ItemDef.refill`) while it is short */
|
|
138
|
+
refill?: number;
|
|
81
139
|
/** State of the game's own about this one item: kills it has seen, what it has stored. Plain data: it is saved */
|
|
82
140
|
data?: Record<string, unknown>;
|
|
83
141
|
}
|
|
@@ -87,41 +145,57 @@ export interface ItemInstance {
|
|
|
87
145
|
* @beta
|
|
88
146
|
*/
|
|
89
147
|
export interface StockState {
|
|
148
|
+
/** The id of the item type for sale */
|
|
90
149
|
item: string;
|
|
150
|
+
/** How many of it the shop has now */
|
|
91
151
|
count: number;
|
|
92
152
|
/** Seconds until the next one arrives */
|
|
93
153
|
restock: number;
|
|
94
154
|
}
|
|
95
|
-
/**
|
|
155
|
+
/**
|
|
156
|
+
* How a unit's move is going: it is not moving, on its way, got there, or could not
|
|
157
|
+
*
|
|
158
|
+
* @beta
|
|
159
|
+
*/
|
|
96
160
|
export type MoveStatus = 'idle' | 'moving' | 'arrived' | 'failed';
|
|
97
|
-
/**
|
|
161
|
+
/**
|
|
162
|
+
* What a unit keeps of its moving: speed, goal, status and the path's bookkeeping
|
|
163
|
+
*
|
|
164
|
+
* @beta
|
|
165
|
+
*/
|
|
98
166
|
export interface MovementState {
|
|
167
|
+
/** Units per second it goes at now */
|
|
99
168
|
speed: number;
|
|
100
169
|
/** The fastest it goes for now, whatever its speed: a group's slowest, as it moves together (`OrderParams.together`) */
|
|
101
170
|
cap?: number;
|
|
171
|
+
/** Whether it is idle, on its way, arrived or failed to get there */
|
|
102
172
|
status: MoveStatus;
|
|
173
|
+
/** Where it is heading, in cells */
|
|
103
174
|
goal: Vec2;
|
|
104
175
|
/** When set the goal follows this entity */
|
|
105
176
|
goalEntity: EntityId;
|
|
106
177
|
/** Arrive once this close to the goal (edge distance for entity goals) */
|
|
107
178
|
range: number;
|
|
179
|
+
/** The group of units that were sent together; the same as the `groupId` of their order */
|
|
108
180
|
groupId: number;
|
|
109
181
|
/** Last destination handed to the navigation */
|
|
110
182
|
navGoal: Vec2;
|
|
183
|
+
/** The version of the navigation when the goal was handed to it */
|
|
111
184
|
navVersion: number;
|
|
112
185
|
/** Corner of the path the unit is heading for. Progress is measured towards it, so a long way round is not mistaken for standing still */
|
|
113
186
|
corner: Vec2;
|
|
114
187
|
/** Closest the unit has been to its corner, used to detect that it stopped making progress */
|
|
115
188
|
bestDistance: number;
|
|
189
|
+
/** Seconds it has made no progress towards its corner */
|
|
116
190
|
stalledTime: number;
|
|
117
191
|
/**
|
|
118
192
|
* Seconds it has gone well under its speed on its way, held up by others (not counting getting going, or slowing
|
|
119
|
-
* to arrive): what has those in its way asked to step aside (see `
|
|
193
|
+
* to arrive): what has those in its way asked to step aside (see `RuleSettings.movement.lookAhead`)
|
|
120
194
|
*/
|
|
121
195
|
slowTime?: number;
|
|
122
196
|
/**
|
|
123
197
|
* The point it goes round standing units by, on its way to the next corner of its path, when that is not much
|
|
124
|
-
* longer (`
|
|
198
|
+
* longer (`RuleSettings.movement.goesAround`, the `detour` hook): none while it goes straight
|
|
125
199
|
*/
|
|
126
200
|
detour?: Vec2;
|
|
127
201
|
/** Where it heads on from `detour`: the corner of its path it went round the knot towards */
|
|
@@ -130,14 +204,46 @@ export interface MovementState {
|
|
|
130
204
|
aside?: boolean;
|
|
131
205
|
/** Whether it was sent on past `detour`, towards its path, as it neared it */
|
|
132
206
|
detourPast?: boolean;
|
|
207
|
+
/**
|
|
208
|
+
* The group of the formation it was last sent in (`OrderInit.formation`, the order's `groupId`): those of one swap
|
|
209
|
+
* places on the way, and keep the places they get to (`place`)
|
|
210
|
+
*/
|
|
211
|
+
formation?: number;
|
|
212
|
+
/**
|
|
213
|
+
* Its place in its formation, once there. Stepped aside or pushed off it, it walks back once it has stood off it a
|
|
214
|
+
* while. None once it walks off on a move of its own, or is given another order
|
|
215
|
+
*/
|
|
216
|
+
place?: Vec2;
|
|
217
|
+
/** How many times it went back to its place without getting there: it lets it go after a few */
|
|
218
|
+
backTries?: number;
|
|
219
|
+
/**
|
|
220
|
+
* How many times it tried again on this move, held up 3 seconds by others that may yet go (in a crowd, say): sent on
|
|
221
|
+
* anew, round the whole knot, those in it asked aside. It gives up after 4, or none when what holds it up is the
|
|
222
|
+
* ground or those holding their ground. Counted again once it gets 2 cells nearer
|
|
223
|
+
*/
|
|
224
|
+
tries?: number;
|
|
225
|
+
/** How far it had left to go when it last tried again */
|
|
226
|
+
triedAt?: number;
|
|
227
|
+
/**
|
|
228
|
+
* On a step aside asked by one stepping aside itself: how far down that line it is (2, 3). One that far asks nobody
|
|
229
|
+
* aside in turn, so that a crowd parts a few deep and no further
|
|
230
|
+
*/
|
|
231
|
+
asideDepth?: number;
|
|
133
232
|
/** Whether the last move failed by getting stuck on the way (in a crowd, say), not for there being no way there */
|
|
134
233
|
stuck?: boolean;
|
|
234
|
+
/** Whether the unit holds its ground in a fight, so that others come round it */
|
|
135
235
|
anchored: boolean;
|
|
236
|
+
/** Whether the navigation lets it through others, as a ghost */
|
|
136
237
|
ghost: boolean;
|
|
238
|
+
/**
|
|
239
|
+
* Whether a buff it carries has it walk through others now (`BuffDef.phasing`): a ghost to the navigation as well,
|
|
240
|
+
* whatever `ghost` says. Seen to every tick by the movement
|
|
241
|
+
*/
|
|
242
|
+
phased?: boolean;
|
|
137
243
|
/** Direction the unit turns to while it stands still. Null when it may face wherever it ended up */
|
|
138
244
|
finalFacing: number | null;
|
|
139
245
|
/**
|
|
140
|
-
* The route its side planned to the goal, corner by corner, with what the side knows (`
|
|
246
|
+
* The route its side planned to the goal, corner by corner, with what the side knows (`Rules.paths: 'seen'`):
|
|
141
247
|
* walked a stretch at a time. None where routes know everything, or there is no route
|
|
142
248
|
*/
|
|
143
249
|
route?: Vec2[];
|
|
@@ -156,20 +262,31 @@ export interface MovementState {
|
|
|
156
262
|
* @beta
|
|
157
263
|
*/
|
|
158
264
|
export declare const moving: Component<MovementState, MovementState>;
|
|
159
|
-
/**
|
|
265
|
+
/**
|
|
266
|
+
* What a unit keeps of its fighting: cooldown, swing, targets and recovery
|
|
267
|
+
*
|
|
268
|
+
* @beta
|
|
269
|
+
*/
|
|
160
270
|
export interface CombatState {
|
|
161
271
|
/** Seconds until the next attack may start */
|
|
162
272
|
cooldown: number;
|
|
163
273
|
/** Seconds until the running swing lands. 0 when not swinging */
|
|
164
274
|
swing: number;
|
|
275
|
+
/** The entity the running swing is aimed at */
|
|
165
276
|
swingTarget: EntityId;
|
|
166
277
|
/**
|
|
167
278
|
* Which of its attacks the running swing, or the last, is of, by place (`UnitTypeDef.attacks`): the first when left
|
|
168
279
|
* out, as for every unit with one. It swings one at a time, and waits out the cooldown of the one that hit
|
|
169
280
|
*/
|
|
170
281
|
weapon?: number;
|
|
282
|
+
/**
|
|
283
|
+
* Seconds left of the recovery after its last blow (`AttackDef.recovery`), while what it is told waits: none when
|
|
284
|
+
* it has none
|
|
285
|
+
*/
|
|
286
|
+
recovery?: number;
|
|
171
287
|
/** Target picked by the unit itself rather than by an order */
|
|
172
288
|
autoTarget: EntityId;
|
|
289
|
+
/** The entity that last hit it */
|
|
173
290
|
lastAttacker: EntityId;
|
|
174
291
|
/** Where an idle unit returns to after chasing */
|
|
175
292
|
guard: Vec2 | null;
|
|
@@ -181,6 +298,8 @@ export interface CombatState {
|
|
|
181
298
|
slot?: number | null;
|
|
182
299
|
/** Targets it left alone because it could not get at them, and until when, in world time */
|
|
183
300
|
shunned?: [EntityId, number][];
|
|
301
|
+
/** The tick the allies of whoever it hit were last called to help (`RuleSettings.combat.helpRange`), so that they are asked once in a while, not by every blow. Unset until it hits someone */
|
|
302
|
+
helpedAt?: number;
|
|
184
303
|
}
|
|
185
304
|
/**
|
|
186
305
|
* How an entity fights (`CombatState`): its cooldown, its swing, what it is engaged with. What attacks has it from its
|
|
@@ -189,17 +308,28 @@ export interface CombatState {
|
|
|
189
308
|
* @beta
|
|
190
309
|
*/
|
|
191
310
|
export declare const fighting: Component<CombatState, CombatState>;
|
|
192
|
-
/**
|
|
311
|
+
/**
|
|
312
|
+
* What a worker keeps of its gathering: what it carries and where it gathered
|
|
313
|
+
*
|
|
314
|
+
* @beta
|
|
315
|
+
*/
|
|
193
316
|
export interface HarvesterState {
|
|
317
|
+
/** How much of the resource the worker carries */
|
|
194
318
|
carrying: number;
|
|
195
319
|
/** What it is that the worker carries, or last gathered. Null for one that has not gathered anything yet */
|
|
196
|
-
kind:
|
|
320
|
+
kind: ResourceId | null;
|
|
197
321
|
/** Last resource this worker gathered from */
|
|
198
322
|
resource: EntityId;
|
|
199
323
|
}
|
|
200
|
-
/**
|
|
324
|
+
/**
|
|
325
|
+
* What is left of a deposit and how many are at it
|
|
326
|
+
*
|
|
327
|
+
* @beta
|
|
328
|
+
*/
|
|
201
329
|
export interface ResourceState {
|
|
330
|
+
/** How much of the resource is left in it */
|
|
202
331
|
amount: number;
|
|
332
|
+
/** How many workers are at it, inside or working on it */
|
|
203
333
|
occupants: number;
|
|
204
334
|
/** The building that stands on it (`UnitTypeDef.builtOn`), by id: none when nothing does */
|
|
205
335
|
under?: EntityId;
|
|
@@ -211,18 +341,28 @@ export interface ResourceState {
|
|
|
211
341
|
* @beta
|
|
212
342
|
*/
|
|
213
343
|
export declare const deposit: Component<ResourceState, ResourceState>;
|
|
214
|
-
/**
|
|
344
|
+
/**
|
|
345
|
+
* How far a building under construction has got
|
|
346
|
+
*
|
|
347
|
+
* @beta
|
|
348
|
+
*/
|
|
215
349
|
export interface ConstructionState {
|
|
216
350
|
/** 0..1 */
|
|
217
351
|
progress: number;
|
|
352
|
+
/** Seconds a single builder needs to finish it */
|
|
218
353
|
buildTime: number;
|
|
219
354
|
/** Builders that worked on it during the current tick */
|
|
220
355
|
builders: number;
|
|
221
356
|
/** What was paid for it, when that is not what its type costs. A cancelled site gives part of this back */
|
|
222
357
|
paid?: Cost;
|
|
223
358
|
}
|
|
224
|
-
/**
|
|
359
|
+
/**
|
|
360
|
+
* One thing a building makes: a unit, an upgrade, a revive or a morph
|
|
361
|
+
*
|
|
362
|
+
* @beta
|
|
363
|
+
*/
|
|
225
364
|
export interface ProductionItem {
|
|
365
|
+
/** What it makes: a unit, an upgrade, a revived hero or a morph into another type */
|
|
226
366
|
kind: 'unit' | 'upgrade' | 'revive' | 'morph';
|
|
227
367
|
/** Unit type, upgrade id, the id of the hero to bring back, or the type the building turns into */
|
|
228
368
|
id: string;
|
|
@@ -230,6 +370,7 @@ export interface ProductionItem {
|
|
|
230
370
|
paid?: Cost;
|
|
231
371
|
/** Seconds of work done */
|
|
232
372
|
progress: number;
|
|
373
|
+
/** Seconds it takes in all */
|
|
233
374
|
duration: number;
|
|
234
375
|
}
|
|
235
376
|
/**
|
|
@@ -246,36 +387,99 @@ export declare const exposure: Component<Map<number, number>, Map<number, number
|
|
|
246
387
|
* @beta
|
|
247
388
|
*/
|
|
248
389
|
export declare const detection: Component<Map<number, number>, Map<number, number>>;
|
|
390
|
+
/**
|
|
391
|
+
* Whose picture an entity wears: the type it is drawn as, and the owner whose colour it is drawn in. Nothing in the
|
|
392
|
+
* rules goes by it
|
|
393
|
+
*
|
|
394
|
+
* @beta
|
|
395
|
+
*/
|
|
396
|
+
export interface Likeness {
|
|
397
|
+
/** The unit type whose picture the entity wears */
|
|
398
|
+
type: string;
|
|
399
|
+
/** The player whose colour the entity is drawn in */
|
|
400
|
+
owner: PlayerId;
|
|
401
|
+
}
|
|
249
402
|
/**
|
|
250
403
|
* A rush to a spot: nothing stops it, and what it does happens where it ends
|
|
251
404
|
*
|
|
252
405
|
* @beta
|
|
253
406
|
*/
|
|
254
407
|
export interface Dash {
|
|
408
|
+
/** Where it ends, east-west in cells */
|
|
255
409
|
x: number;
|
|
410
|
+
/** Where it ends, north-south in cells */
|
|
256
411
|
z: number;
|
|
257
412
|
/** Where it started */
|
|
258
413
|
from: Vec2;
|
|
259
414
|
/** Units per second */
|
|
260
415
|
speed: number;
|
|
416
|
+
/** The id of the ability that sent it */
|
|
261
417
|
ability: string;
|
|
418
|
+
/** The level of the ability it was cast at */
|
|
262
419
|
level: number;
|
|
420
|
+
/**
|
|
421
|
+
* Which effect of the ability sent it, by its place there (`effectIndex`): what the screen draws it with
|
|
422
|
+
* (`AbilityLook.effects`). Nothing to the rules
|
|
423
|
+
*
|
|
424
|
+
* @beta
|
|
425
|
+
*/
|
|
426
|
+
effect?: number;
|
|
427
|
+
/** The effects that happen where it ends */
|
|
263
428
|
effects: EffectDef[];
|
|
264
429
|
/** How high it rises on the way: a leap, over whatever is in between */
|
|
265
430
|
height?: number;
|
|
266
431
|
/** A buff it carries for as long as the rush lasts */
|
|
267
432
|
buff?: string;
|
|
433
|
+
/**
|
|
434
|
+
* Dragged by someone (the effect `pull`): `by` whom, in whose name `effects` happen to it as it arrives, and whether
|
|
435
|
+
* it is dragged after them as they move (`follows`) or to the spot (`x`, `z`). It does nothing of its own meanwhile,
|
|
436
|
+
* and nothing else moves it
|
|
437
|
+
*
|
|
438
|
+
* @beta
|
|
439
|
+
*/
|
|
440
|
+
pulled?: {
|
|
441
|
+
by: EntityId;
|
|
442
|
+
follows: boolean;
|
|
443
|
+
};
|
|
444
|
+
/**
|
|
445
|
+
* The unit it rushes to (a `dash` to a unit, in a game with the moves pack): its landing `effects` happen to it, where
|
|
446
|
+
* it still is in the world
|
|
447
|
+
*
|
|
448
|
+
* @beta
|
|
449
|
+
*/
|
|
450
|
+
target?: EntityId;
|
|
268
451
|
}
|
|
269
|
-
/**
|
|
452
|
+
/**
|
|
453
|
+
* Where the units a building makes go: a point, or an entity they follow
|
|
454
|
+
*
|
|
455
|
+
* @beta
|
|
456
|
+
*/
|
|
270
457
|
export interface RallyPoint {
|
|
458
|
+
/** The place the units go to */
|
|
271
459
|
point: Vec2;
|
|
460
|
+
/** The entity they follow; 0 for none */
|
|
272
461
|
target: EntityId;
|
|
273
462
|
}
|
|
274
|
-
/**
|
|
463
|
+
/**
|
|
464
|
+
* What a building makes: the queue of what it is making, and its rally point
|
|
465
|
+
*
|
|
466
|
+
* @beta
|
|
467
|
+
*/
|
|
275
468
|
export interface ProductionState {
|
|
469
|
+
/** What it makes in turn, the first being worked on */
|
|
276
470
|
queue: ProductionItem[];
|
|
471
|
+
/** Where the units it makes go, or null for none */
|
|
277
472
|
rally: RallyPoint | null;
|
|
278
473
|
}
|
|
474
|
+
/**
|
|
475
|
+
* How an order is given (`Entity.order`)
|
|
476
|
+
*
|
|
477
|
+
* @public
|
|
478
|
+
*/
|
|
479
|
+
export interface OrderOptions {
|
|
480
|
+
/** After what it was told before, rather than in its place: Shift held */
|
|
481
|
+
queue?: boolean;
|
|
482
|
+
}
|
|
279
483
|
/**
|
|
280
484
|
* Anything in the world: a unit, a building, a tree.
|
|
281
485
|
*
|
|
@@ -285,13 +489,16 @@ export interface ProductionState {
|
|
|
285
489
|
* `retype`, `changeOwner`…). The rest, like health, mana or cooldowns, a game
|
|
286
490
|
* module may change as it likes: nothing is worked out from them that would not notice.
|
|
287
491
|
*
|
|
288
|
-
* @
|
|
492
|
+
* @public
|
|
289
493
|
*/
|
|
290
494
|
export declare class Entity {
|
|
495
|
+
/** The entity's number, unique in its world */
|
|
291
496
|
readonly id: EntityId;
|
|
292
497
|
/** Changes when a building is upgraded into another type */
|
|
293
498
|
readonly def: UnitTypeDef;
|
|
499
|
+
/** The player it belongs to, changed through `World.setOwner` only */
|
|
294
500
|
readonly owner: PlayerId;
|
|
501
|
+
/** Whether the entity is in the world; false once it died */
|
|
295
502
|
readonly alive: boolean;
|
|
296
503
|
/** Hidden entities are inside something (a gold mine) and do not take part in the world */
|
|
297
504
|
readonly hidden: boolean;
|
|
@@ -300,17 +507,27 @@ export declare class Entity {
|
|
|
300
507
|
* Becomes false for good once something gives it anything to do (`World.wake`)
|
|
301
508
|
*/
|
|
302
509
|
readonly scenery: boolean;
|
|
510
|
+
/** Where it stands in cells (`x`, `z`), changed through the world's functions only */
|
|
303
511
|
readonly pos: Readonly<Vec2>;
|
|
512
|
+
/** Where it stood at the last tick, for the screen to draw between */
|
|
304
513
|
readonly prevPos: Vec2;
|
|
514
|
+
/** The way it faces in radians */
|
|
305
515
|
facing: number;
|
|
516
|
+
/** The way it faced at the last tick, in radians, for the screen to draw between */
|
|
306
517
|
prevFacing: number;
|
|
307
518
|
/** How big it is drawn, for the look of a map. Nothing in the rules goes by it */
|
|
308
519
|
scale: number;
|
|
309
520
|
/** Which of the models of its type it is drawn with, for the look of a map. Nothing in the rules goes by it either */
|
|
310
521
|
look?: string;
|
|
522
|
+
/**
|
|
523
|
+
* Drawn as another's type and owner: a soul in the fallen's shape (`SpawnOptions.looksLike`). Its own type and owner
|
|
524
|
+
* decide everything but the picture
|
|
525
|
+
*/
|
|
526
|
+
likeness?: Likeness;
|
|
311
527
|
/** Velocity of the last tick */
|
|
312
528
|
readonly velocity: Vec2;
|
|
313
|
-
|
|
529
|
+
/** Hit points it has now; it dies at 0 */
|
|
530
|
+
health: number;
|
|
314
531
|
/** Teams that have seen this entity at least once, one bit per team as `FogOfWar.teamBit` hands them out. Ask `World.hasSeen` */
|
|
315
532
|
seenBy: number;
|
|
316
533
|
/** When it was last hurt, in seconds of the game. Long ago for what never was */
|
|
@@ -329,8 +546,11 @@ export declare class Entity {
|
|
|
329
546
|
readonly orders: readonly Order[];
|
|
330
547
|
/** Invisible to enemies right now, unless they have found it */
|
|
331
548
|
get unseen(): boolean;
|
|
332
|
-
|
|
549
|
+
/** The most hit points it can have */
|
|
550
|
+
maxHealth: number;
|
|
551
|
+
/** Mana it has now */
|
|
333
552
|
mana: number;
|
|
553
|
+
/** The most mana it can have */
|
|
334
554
|
maxMana: number;
|
|
335
555
|
/** Does nothing by itself until something wakes it, and is drawn sleeping: creeps at night */
|
|
336
556
|
asleep: boolean;
|
|
@@ -354,18 +574,36 @@ export declare class Entity {
|
|
|
354
574
|
spatialStamp: number;
|
|
355
575
|
/** Stats as last worked out, see `statsOf`. Derived from the rest, never saved or sent */
|
|
356
576
|
statsCache: StatsCache | null;
|
|
357
|
-
/**
|
|
577
|
+
/**
|
|
578
|
+
* The index of the world it is in (`EntityIndex`), told when it gets or loses a component, and the way to its world
|
|
579
|
+
* (`order`). Not game state
|
|
580
|
+
*/
|
|
358
581
|
index: {
|
|
359
582
|
componentChanged(entity: Entity, id: string, has: boolean): void;
|
|
360
583
|
} | null;
|
|
361
|
-
constructor(
|
|
584
|
+
constructor(
|
|
585
|
+
/** The entity's number, unique in its world */
|
|
586
|
+
id: EntityId,
|
|
362
587
|
/** Changes when a building is upgraded into another type */
|
|
363
|
-
def: UnitTypeDef,
|
|
588
|
+
def: UnitTypeDef,
|
|
589
|
+
/** The player it belongs to, changed through `World.setOwner` only */
|
|
590
|
+
owner: PlayerId, position: Vec2);
|
|
591
|
+
/**
|
|
592
|
+
* Gives it an order, as its owner would: `unit.order('move', point)`, `unit.order('attack', enemy)`,
|
|
593
|
+
* `unit.order('cast', { ability: 'blink', point })`. What it is aimed at is a point (`point`), an entity (`target`)
|
|
594
|
+
* or the order's fields (`OrderInits`). It is the `order` command of its owner through its world (`World.issue`):
|
|
595
|
+
* taken up at the next tick, turned away as a player's would be (an order its type does not take, a target its owner
|
|
596
|
+
* does not know), and kept by a replay. `queue` puts it after what it was told before. Throws for an entity that is
|
|
597
|
+
* in no world (taken out of it)
|
|
598
|
+
*/
|
|
599
|
+
order<Type extends string>(type: Type, aim?: Vec2 | Entity | Omit<OrderInit<Type>, 'type'>, options?: OrderOptions): void;
|
|
364
600
|
/** A component of a game module or a mod, see `defineComponent` */
|
|
365
601
|
get<T>(key: Component<T, unknown>): T | undefined;
|
|
602
|
+
/** Whether it holds the component */
|
|
366
603
|
has(key: Component<unknown>): boolean;
|
|
367
604
|
/** Gives it the component, or a new value of it. `undefined` takes it away (`remove`) */
|
|
368
605
|
set<T>(key: Component<T, unknown>, value: T): void;
|
|
606
|
+
/** Takes the component away; nothing happens when it has none */
|
|
369
607
|
remove(key: Component<unknown>): void;
|
|
370
608
|
/** Its components, in the order it was given them: each one's value is `get(component)` */
|
|
371
609
|
heldComponents(): readonly Component<unknown, unknown>[];
|
|
@@ -374,17 +612,26 @@ export declare class Entity {
|
|
|
374
612
|
* by id now and then (a save, the inspector). What does it often goes through `heldComponents`
|
|
375
613
|
*/
|
|
376
614
|
get components(): Readonly<Record<string, unknown>>;
|
|
615
|
+
/** Whether its type is a building */
|
|
377
616
|
get isBuilding(): boolean;
|
|
617
|
+
/** Whether its type is a unit */
|
|
378
618
|
get isUnit(): boolean;
|
|
619
|
+
/** Whether its type is a resource */
|
|
379
620
|
get isResource(): boolean;
|
|
380
621
|
/** Up in the air, where the ground and what stands on it are not in the way */
|
|
381
622
|
get flying(): boolean;
|
|
623
|
+
/** Whether its type is a building or a resource: anything but a unit */
|
|
382
624
|
get isStructure(): boolean;
|
|
383
625
|
/** Completed and able to do its job */
|
|
384
626
|
get operational(): boolean;
|
|
627
|
+
/** The order it carries out now, the first of its orders; nothing when it has none */
|
|
385
628
|
get currentOrder(): Order | undefined;
|
|
386
|
-
/** Ground area covered by a structure */
|
|
629
|
+
/** Ground area covered by a structure: a new rect each time, for who keeps it (an obstacle, a wall's reshape) */
|
|
387
630
|
get rect(): Rect;
|
|
631
|
+
/** Half of what it covers across (`rect.hw`), with no rect made: what is asked all the time (is a structure in sight) */
|
|
632
|
+
get halfWidth(): number;
|
|
633
|
+
/** Half of what it covers from front to back (`rect.hd`), as `halfWidth` */
|
|
634
|
+
get halfDepth(): number;
|
|
388
635
|
}
|
|
389
636
|
/**
|
|
390
637
|
* Anything with a place and a size: an entity, or what a client knows of one
|
|
@@ -392,7 +639,9 @@ export declare class Entity {
|
|
|
392
639
|
* @beta
|
|
393
640
|
*/
|
|
394
641
|
export interface Placed {
|
|
642
|
+
/** Where it stands in cells */
|
|
395
643
|
pos: Vec2;
|
|
644
|
+
/** The definition of its type */
|
|
396
645
|
def: UnitTypeDef;
|
|
397
646
|
}
|
|
398
647
|
/**
|