@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inspect-D9dWHmZ0.js","names":[],"sources":["../src/inspect.ts"],"sourcesContent":["import { harvesterOf } from './orders/harvest'\nimport { dashing } from './dashing'\nimport { productionOf } from './systems/productionQueue'\nimport { deposit, Entity, type EntityId, fighting, moving, type PlayerId } from './entity'\nimport { isGameEvent } from './events'\nimport type { AiReport } from './ai/report'\nimport type { Vec2 } from './math'\nimport { statsOf } from './stats'\nimport type { World } from './world'\n\n/**\n * What the debug tools see of the rules: everything in the world (`listWorld`), an entity, a player or the world as the\n * rules have it (`inspect`), a number of it changed (`setInspected`), and the events and hooks of the last seconds\n * (`EventLog`). Everything they give is plain data,\n * so that it can come from a simulation that runs somewhere else, the way the snapshots do\n */\n\n/**\n * A value as plain data, to be shown: entities become `footman#12`, definitions their id, numbers are rounded, and\n * what is deep or long is cut short\n *\n * @internal\n */\nexport function summarize(value: unknown, depth = 0): unknown {\n\tif (value === null || value === undefined || typeof value === 'string' || typeof value === 'boolean') return value\n\tif (typeof value === 'number') return Number.isInteger(value) || !Number.isFinite(value) ? value : Math.round(value * 1000) / 1000\n\tif (typeof value === 'function') return undefined\n\tif (typeof value !== 'object') return String(value)\n\tif (value instanceof Entity) return `${value.def.id}#${value.id}`\n\tif (value instanceof Map || value instanceof Set) return `${value.constructor.name}(${value.size})`\n\tif (ArrayBuffer.isView(value)) return `${value.constructor.name}(${(value as unknown as ArrayLike<number>).length})`\n\tif (Array.isArray(value)) {\n\t\tif (depth > 3) return `[${value.length}]`\n\t\tconst items = value.slice(0, 12).map((item) => summarize(item, depth + 1))\n\t\tif (value.length > 12) items.push(`… ${value.length - 12} more`)\n\t\treturn items\n\t}\n\tconst record = value as Record<string, unknown>\n\tconst plain = Object.getPrototypeOf(value) === Object.prototype || Object.getPrototypeOf(value) === null\n\t// what is inside something else and has an id of its own is said by that id: a definition, a projectile\n\tif (depth > 0 && typeof record.id === 'string' && (!plain || 'name' in record)) return record.id\n\tif (depth > 0 && typeof record.id === 'number' && !plain) return `${value.constructor.name.toLowerCase()} ${record.id}`\n\tif (depth > 3) return '{…}'\n\tconst out: Record<string, unknown> = {}\n\tfor (const key in record) {\n\t\tconst item = summarize(record[key], depth + 1)\n\t\tif (item !== undefined) out[key] = item\n\t}\n\treturn out\n}\n\n/**\n * A part of what is inspected, as the inspector shows it\n *\n * @beta\n */\nexport interface InspectedSection {\n\ttitle: string\n\t/** What it holds, plain data. Entities in it are written `footman#12`, for the inspector to link to */\n\tvalue: unknown\n\t/** Where it is kept, for `setInspected`. Left out for what is worked out, or not to be changed by hand, like stats */\n\tpath?: (string | number)[]\n\t/** State of the game's own (a component), rather than the engine's */\n\town?: boolean\n}\n\n/**\n * What the inspector can look at: an entity, a player, or the world itself\n *\n * @beta\n */\nexport type InspectTarget = { entity: EntityId } | { player: PlayerId } | { world: true }\n\n/**\n * Something as the simulation has it, for the inspector\n *\n * @beta\n */\nexport interface Inspection {\n\ttarget: InspectTarget\n\t/** What it is called: `Footman #14`, a player's name, `World` */\n\ttitle: string\n\t/** What else says what it is: type and owner, team */\n\tabout: string\n\ttick: number\n\talive: boolean\n\t/** Where it is, for an entity */\n\tat?: Vec2\n\t/** What is so of it that is not a number: hidden, asleep, scenery */\n\tflags: string[]\n\tsections: InspectedSection[]\n\t/**\n\t * What the computer that plays a player is thinking, where a brain does (`Brain.report`, with the seat's timing):\n\t * what the debug panel's AI tab draws. A computer player of another kind is a section (`Computer player`)\n\t */\n\tai?: AiReport\n}\n\n/** The parts of an entity the engine keeps, by field, with what the inspector calls them */\nconst PARTS: [keyof Entity, string][] = [\n\t['orders', 'Orders'],\n\t['abilities', 'Abilities'],\n\t['buffs', 'Buffs']\n]\n\n/** The engine's parts that are components, by id, with what the inspector calls them */\nconst PART_COMPONENTS: Record<string, string> = { [moving.id]: 'Movement', [fighting.id]: 'Combat', [deposit.id]: 'Resource' }\n\n/** The numbers of an entity of its own, not in a part */\nconst OWN_NUMBERS = ['hp', 'maxHp', 'mana', 'maxMana', 'facing', 'expires', 'unseenIn'] as const\n\n/** What `setInspected` may change of an entity: the numbers of its own, the parts and the components. Never where it is, nor its type */\nconst EDITABLE = new Set<string>([...OWN_NUMBERS, ...PARTS.map(([key]) => key), 'components'])\n\n/** The world's own state the inspector shows apart, rather than as a component */\nconst TIMERS_STATE = 'core.timers'\n\n/** Whether a timer's data says something about the entity: a field that names it by id */\nfunction mentions(data: unknown, id: EntityId, depth = 0): boolean {\n\tif (!data || typeof data !== 'object' || depth > 3) return false\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tif (typeof value === 'number' && value === id && /id|entity|unit|target|source|caster|owner/i.test(key)) return true\n\t\tif (typeof value === 'object' && mentions(value, id, depth + 1)) return true\n\t}\n\treturn false\n}\n\n/** An entity by id as the inspector links to it, or nothing when there is none */\nconst named = (world: World, id: EntityId | undefined | null): string | undefined => {\n\tconst entity = id ? world.get(id) : undefined\n\treturn entity && `${entity.def.id}#${entity.id}`\n}\n\n/**\n * The other entities an entity has to do with, by what they are to it: what it is told to go for, fight, gather\n * from, who put a buff on it; and the other way, who is after it. The world has no tree of entities: these are its\n * relations\n */\nfunction relationsOf(world: World, entity: Entity): Record<string, string> {\n\tconst out: Record<string, string> = {}\n\tconst add = (what: string, id: EntityId | undefined | null) => {\n\t\tconst name = named(world, id)\n\t\tif (name && id !== entity.id) out[what] = name\n\t}\n\tentity.orders.forEach((order, index) => add(`orders[${index}] ${order.type}`, order.init.target))\n\tadd('goes to', entity.get(moving)?.goalEntity)\n\tadd('fights', entity.get(fighting)?.autoTarget)\n\tadd('swings at', entity.get(fighting)?.swingTarget)\n\tadd('was hit by', entity.get(fighting)?.lastAttacker)\n\tadd('gathers from', harvesterOf(entity)?.resource)\n\tadd('rallies to', productionOf(entity)?.rally?.target)\n\tfor (const buff of entity.buffs) add(`buff ${buff.id} from`, buff.source)\n\tlet after = 0\n\tfor (const other of world.actors.values()) {\n\t\tif (other === entity || !other.alive) continue\n\t\tif (other.orders[0]?.init.target === entity.id || other.get(fighting)?.autoTarget === entity.id) {\n\t\t\tif (++after > 8) break\n\t\t\tadd(`after it ${after}`, other.id)\n\t\t}\n\t}\n\treturn out\n}\n\nfunction inspectEntity(world: World, id: EntityId): Inspection | null {\n\tconst entity = world.get(id)\n\tif (!entity) return null\n\tconst state: Record<string, unknown> = {}\n\tfor (const key of OWN_NUMBERS) if (entity[key] !== null) state[key] = summarize(entity[key])\n\tconst flags: string[] = []\n\tif (entity.hidden) flags.push('hidden')\n\tif (entity.asleep) flags.push('asleep')\n\tif (entity.unseen) flags.push('unseen')\n\tif (entity.scenery) flags.push('scenery')\n\tif (entity.get(dashing)) flags.push('dashing')\n\tif (entity.scale !== 1) flags.push(`scale ${entity.scale}`)\n\tif (entity.look) flags.push(`look ${entity.look}`)\n\tconst sections: InspectedSection[] = [\n\t\t{ title: 'State', value: state, path: [] },\n\t\t{ title: 'Stats', value: summarize({ ...statsOf(world, entity) }) }\n\t]\n\tconst related = relationsOf(world, entity)\n\tif (Object.keys(related).length) sections.push({ title: 'Related', value: related })\n\tfor (const [key, title] of PARTS) {\n\t\tconst value = entity[key]\n\t\tif (value === undefined || value === null || (Array.isArray(value) && !value.length)) continue\n\t\tsections.push({ title, value: summarize(value), path: [key] })\n\t}\n\tfor (const [component, value] of Object.entries(entity.components)) {\n\t\tconst part = PART_COMPONENTS[component]\n\t\tsections.push({ title: part ?? component, value: summarize(value), path: ['components', component], own: !part })\n\t}\n\tconst timers = world.timers.list().filter((timer) => mentions(timer.data, id))\n\tif (timers.length) sections.push({ title: 'Timers', value: summarize(timers) })\n\tconst owner = world.players.get(entity.owner)?.name ?? String(entity.owner)\n\treturn {\n\t\ttarget: { entity: id },\n\t\ttitle: `${entity.def.name} #${id}`,\n\t\tabout: `${entity.def.id}, ${owner}`,\n\t\ttick: world.tick,\n\t\talive: entity.alive,\n\t\tat: { x: entity.pos.x, z: entity.pos.z },\n\t\tflags,\n\t\tsections\n\t}\n}\n\n/** The components kept in a state store, each a section of its own */\nconst componentSections = (values: Record<string, unknown>): InspectedSection[] =>\n\tObject.entries(values)\n\t\t.filter(([id]) => id !== TIMERS_STATE)\n\t\t.map(([id, value]) => ({ title: id, value: summarize(value), path: ['state', id], own: true }))\n\nfunction inspectPlayer(world: World, id: PlayerId): Inspection | null {\n\tconst player = world.players.get(id)\n\tif (!player) return null\n\tconst objectives = world.objectives.of(id)\n\tconst sections: InspectedSection[] = [\n\t\t{ title: 'Resources', value: summarize(player.resources), path: ['resources'] },\n\t\t{\n\t\t\ttitle: 'Player',\n\t\t\tvalue: { team: player.team, supplyUsed: player.supplyUsed, supplyCap: player.supplyCap, entities: world.index.ownedBy(id).size }\n\t\t},\n\t\t{ title: 'Upgrades', value: Object.fromEntries(player.upgrades), path: ['upgrades'] }\n\t]\n\tif (player.researching.size) sections.push({ title: 'Researching', value: [...player.researching] })\n\tif (objectives.length) sections.push({ title: 'Objectives', value: summarize(objectives) })\n\tsections.push(...componentSections(player.states.values))\n\t// the computer that plays it, where one does: what it is thinking, as it says (`ComputerPlayer.inspect`). A brain's\n\t// is its report, with the seat's milliseconds: the AI tab's\n\tconst seat = world.computers.get(id)\n\tconst thinking = seat?.computer.inspect?.()\n\tconst ai = isReport(thinking) ? { ...thinking, timing: seat!.timing() } : undefined\n\tif (thinking !== undefined && !ai) sections.push({ title: 'Computer player', value: summarize(thinking) })\n\tconst flags = [player.neutral && 'neutral', player.creeps && 'creeps', player.defeated && 'defeated'].filter((flag): flag is string => !!flag)\n\treturn {\n\t\ttarget: { player: id },\n\t\ttitle: player.name,\n\t\tabout: `player ${id}, team ${player.team}`,\n\t\ttick: world.tick,\n\t\talive: !player.defeated,\n\t\tflags,\n\t\tsections,\n\t\t...(ai && { ai })\n\t}\n}\n\n/** Whether what a computer player says of itself is a brain's report */\nconst isReport = (value: unknown): value is AiReport =>\n\t!!value &&\n\ttypeof value === 'object' &&\n\t(value as AiReport).v === 1 &&\n\ttypeof (value as AiReport).brain === 'string' &&\n\tArray.isArray((value as AiReport).goals)\n\nfunction inspectWorld(world: World): Inspection {\n\tconst sections: InspectedSection[] = [\n\t\t{\n\t\t\ttitle: 'World',\n\t\t\tvalue: summarize({\n\t\t\t\ttick: world.tick,\n\t\t\t\ttime: world.time,\n\t\t\t\thour: world.registry.day ? world.hour : undefined,\n\t\t\t\twinner: world.winner,\n\t\t\t\tentities: world.entities.size,\n\t\t\t\tactors: world.actors.size,\n\t\t\t\tprojectiles: world.projectiles.length,\n\t\t\t\tmissiles: world.missiles.length,\n\t\t\t\titems: world.items.length\n\t\t\t})\n\t\t},\n\t\t...componentSections(world.states.values),\n\t\t{ title: 'Timers', value: summarize(world.timers.list()) },\n\t\t{ title: 'Systems', value: world.systems.map((system) => `${system.name} (${system.phase})`) }\n\t]\n\treturn { target: { world: true }, title: 'World', about: `${world.players.size} players`, tick: world.tick, alive: true, flags: [], sections }\n}\n\n/**\n * Something as the simulation has it right now, or null when there is no such entity or player\n *\n * @beta\n */\nexport function inspect(world: World, target: InspectTarget): Inspection | null {\n\tif ('entity' in target) return inspectEntity(world, target.entity)\n\tif ('player' in target) return inspectPlayer(world, target.player)\n\treturn inspectWorld(world)\n}\n\n/** Walks a path to what holds the last key. Null when it does not lead anywhere */\nfunction holderOf(root: unknown, path: readonly (string | number)[]): Record<string | number, unknown> | null {\n\tlet holder = root as Record<string | number, unknown>\n\tfor (const key of path.slice(0, -1)) {\n\t\tconst next = holder[key]\n\t\tif (!next || typeof next !== 'object') return null\n\t\tholder = next as Record<string | number, unknown>\n\t}\n\treturn holder\n}\n\n/**\n * Changes a number where `inspect` showed it: of an entity `['hp']`, `['abilities', 0, 'cooldown']`,\n * `['components', 'td.bounty', 'gold']`; of a player `['resources', 'gold']`, `['upgrades', 'armor']`,\n * `['state', 'td.score', 'kills']`; of the world `['state', 'td.waves', 'wave']`. An entity's health is kept within what\n * it can have, and none left kills it. Whether it was changed: false for what is not a number or a switch (a boolean), or not to be changed\n *\n * @internal\n */\nexport function setInspected(world: World, target: InspectTarget, path: readonly (string | number)[], value: number | boolean): boolean {\n\tif (!path.length || (typeof value === 'number' && !Number.isFinite(value))) return false\n\tconst last = path[path.length - 1]\n\tif ('player' in target) {\n\t\tconst player = world.players.get(target.player)\n\t\tif (!player) return false\n\t\t// upgrades go through the player, which tells whatever is worked out from them\n\t\tif (path[0] === 'upgrades' && path.length === 2) {\n\t\t\tif (typeof value !== 'number') return false\n\t\t\tplayer.setUpgrade(String(last), Math.max(0, Math.round(value)))\n\t\t\treturn true\n\t\t}\n\t\tconst root = path[0] === 'resources' ? player : path[0] === 'state' ? { state: player.states.values } : null\n\t\tconst holder = root && holderOf(root, path)\n\t\tif (!holder || typeof holder[last] !== typeof value) return false\n\t\tholder[last] = value\n\t\treturn true\n\t}\n\tif ('world' in target) {\n\t\tif (path[0] !== 'state' || path[1] === TIMERS_STATE) return false\n\t\tconst holder = holderOf({ state: world.states.values }, path)\n\t\tif (!holder || typeof holder[last] !== typeof value) return false\n\t\tholder[last] = value\n\t\treturn true\n\t}\n\tconst entity = world.get(target.entity)\n\tif (!entity?.alive || !EDITABLE.has(String(path[0]))) return false\n\tconst holder = holderOf(entity, path)\n\tif (!holder || typeof holder[last] !== typeof value) return false\n\tif (typeof value === 'number' && path.length === 1 && last === 'hp') {\n\t\tif (value <= 0) {\n\t\t\tworld.kill(entity)\n\t\t\treturn true\n\t\t}\n\t\tvalue = Math.min(value, entity.maxHp)\n\t}\n\tif (typeof value === 'number' && path.length === 1 && last === 'mana') value = Math.max(0, Math.min(value, entity.maxMana))\n\tholder[last] = value\n\t// levels, buffs and the like go into its stats: they are worked out again\n\tentity.statsCache = null\n\treturn true\n}\n\n/**\n * An entity as the list of all of them shows it\n *\n * @beta\n */\nexport interface EntityRow {\n\tid: EntityId\n\ttype: string\n\tname: string\n\towner: PlayerId\n\tkind: string\n\thp: number\n\tmaxHp: number\n\t/** Type of what it is doing, null for nothing */\n\torder: string | null\n\tscenery: boolean\n\thidden: boolean\n}\n\n/**\n * A player as the list shows it\n *\n * @beta\n */\nexport interface PlayerRow {\n\tid: PlayerId\n\tname: string\n\tteam: number\n\tneutral: boolean\n\tdefeated: boolean\n}\n\n/**\n * Everything in the world, for the list of the debug tools: what is out of sight, hidden or scenery too\n *\n * @beta\n */\nexport interface WorldListing {\n\ttick: number\n\tplayers: PlayerRow[]\n\tentities: EntityRow[]\n}\n\n/**\n * Every player and entity of the world, in a few numbers each\n *\n * @internal\n */\nexport function listWorld(world: World): WorldListing {\n\tconst entities: EntityRow[] = []\n\tfor (const entity of world.entities.values()) {\n\t\tif (!entity.alive) continue\n\t\tentities.push({\n\t\t\tid: entity.id,\n\t\t\ttype: entity.def.id,\n\t\t\tname: entity.def.name,\n\t\t\towner: entity.owner,\n\t\t\tkind: entity.def.kind,\n\t\t\thp: Math.ceil(entity.hp),\n\t\t\tmaxHp: Math.ceil(entity.maxHp),\n\t\t\torder: entity.orders[0]?.type ?? null,\n\t\t\tscenery: entity.scenery,\n\t\t\thidden: entity.hidden\n\t\t})\n\t}\n\tconst players = [...world.players.values()].map(({ id, name, team, neutral, defeated }) => ({ id, name, team, neutral, defeated }))\n\treturn { tick: world.tick, players, entities }\n}\n\n/**\n * Something that happened in the rules, as the event log keeps it\n *\n * @beta\n */\nexport interface LoggedEvent {\n\t/** In the order they were logged, for asking for what came after */\n\tseq: number\n\t/** The tick it happened in */\n\ttick: number\n\tkind: 'event' | 'hook'\n\t/** The engine's name for it, or a game's id */\n\tname: string\n\t/** One of the game's own, rather than the engine's */\n\town: boolean\n\t/** What it said, plain data. For a hook, what the first run of it in the tick was given */\n\tdetail?: unknown\n\t/** The listeners that ran on an event, or the handlers of a hook */\n\tran: string[]\n\t/** How many times a hook ran in the tick */\n\tcount?: number\n}\n\n/**\n * What a world tells whoever follows it of the rules as they run, see `World.trace`\n *\n * @beta\n */\nexport interface Trace {\n\t/** A hook with handlers ran. `own`: a hook of the game's */\n\thook(name: string, handlers: readonly { id: string }[], own: boolean, event: unknown): void\n\t/** A listener of the game is about to run, on the event going out */\n\tlistener(id: string): void\n}\n\n/**\n * The events and hooks of the last seconds of a world, the game's own among them, with the listeners and handlers\n * that ran on them. Hooks run often (every target search asks one), so a hook is one line a tick, with how many times.\n * Following costs a little: it is only on while `attach`ed\n *\n * @beta\n */\nexport class EventLog implements Trace {\n\tprivate readonly list: LoggedEvent[] = []\n\tprivate seq = 0\n\t/** The hooks of the tick going on, by name */\n\tprivate hooks = new Map<string, LoggedEvent>()\n\tprivate hooksAt = -1\n\t/** The event going out, which listeners that run belong to */\n\tprivate current: LoggedEvent | null = null\n\tprivate world: World | null = null\n\tprivate untap: (() => void) | null = null\n\n\tconstructor(\n\t\t/** Seconds of it that are kept */\n\t\treadonly seconds = 10,\n\t\t/** Lines kept at most, however short a time they took */\n\t\treadonly max = 2000\n\t) {}\n\n\t/** Starts following a world */\n\tattach(world: World): void {\n\t\tthis.detach()\n\t\tthis.world = world\n\t\tworld.trace = this\n\t\tthis.untap = world.events.tap((type, payload) => this.event(type, payload))\n\t}\n\n\t/** Stops following it. What was logged stays */\n\tdetach(): void {\n\t\tconst { world } = this\n\t\tif (!world) return\n\t\tif (world.trace === this) world.trace = null\n\t\tthis.untap?.()\n\t\tthis.untap = null\n\t\tthis.world = null\n\t\tthis.current = null\n\t}\n\n\tget attached(): boolean {\n\t\treturn this.world !== null\n\t}\n\n\t/** What was logged, oldest first. The same list, kept up to date: to read, not to keep */\n\tget entries(): readonly LoggedEvent[] {\n\t\treturn this.list\n\t}\n\n\tclear(): void {\n\t\tthis.list.length = 0\n\t\tthis.hooks.clear()\n\t}\n\n\tprivate event(type: PropertyKey, payload: unknown): void {\n\t\tconst world = this.world!\n\t\t// what is held for the end of a tick goes out once the tick is counted\n\t\tconst tick = world.events.releasing ? world.tick - 1 : world.tick\n\t\tconst name = String(type)\n\t\tthis.current = this.add({ tick, kind: 'event', name, own: isGameEvent(name), detail: summarize(payload, 1), ran: [] })\n\t}\n\n\tlistener(id: string): void {\n\t\tthis.current?.ran.push(id)\n\t}\n\n\thook(name: string, handlers: readonly { id: string }[], own: boolean, event: unknown): void {\n\t\tconst { tick } = this.world!\n\t\tif (tick !== this.hooksAt) {\n\t\t\tthis.hooks.clear()\n\t\t\tthis.hooksAt = tick\n\t\t}\n\t\tconst known = this.hooks.get(name)\n\t\tif (known) {\n\t\t\tknown.count!++\n\t\t\treturn\n\t\t}\n\t\tconst entry = this.add({ tick, kind: 'hook', name, own, detail: summarize(event, 1), ran: handlers.map((handler) => handler.id), count: 1 })\n\t\tthis.hooks.set(name, entry)\n\t}\n\n\tprivate add(entry: Omit<LoggedEvent, 'seq'>): LoggedEvent {\n\t\tconst logged = { seq: ++this.seq, ...entry }\n\t\tthis.list.push(logged)\n\t\tconst oldest = logged.tick - this.seconds * this.world!.tickRate\n\t\tlet drop = 0\n\t\twhile (drop < this.list.length && (this.list.length - drop > this.max || this.list[drop].tick < oldest)) drop++\n\t\tif (drop) this.list.splice(0, drop)\n\t\treturn logged\n\t}\n}\n"],"mappings":"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"}
|