@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":"profiles-B3NS9jwk.js","names":[],"sources":["../src/ai/settings.ts","../src/ai/profiles.ts"],"sourcesContent":["/**\n * The settings of a brain (design review B2): every number and switch its areas play by, in one schema keyed by area,\n * each under the area's own names (`{ economy: { workers }, defence: { radius, towers }, micro: { unitsFlee } }`). Every\n * layer speaks it, lowest first:\n *\n * the brain's definition (`BrainDef.settings`) → the game's defaults (`GameAi.defaults`) → the race's\n * (`GameAi.races`) → the difficulty → the personality → the map (`MapAi.settings`, `MapAi.races`) → the seat\n * (`AiOptions.settings`)\n *\n * and `resolveSettings` layers them once: an area's values key by key, the higher layer's over the lower's. What a\n * module was made with (`economy({ workers })`) is under all of them, and what no layer says is the area's own default\n * (`Economy`'s 8 workers). An area reads what it plays by from `ai.settings` and nothing else.\n *\n * The classic flags (`AiFlags`) are a section of their own, for a lobby and the editor's flags list: a flag that says what\n * an area has a name for (Kite: `micro.kite`, Units Flee: `micro.unitsFlee`) is taken into that area in the layer that\n * says it, so that a higher layer's word goes over it either way. A flag may be a function of the brain: worked out each\n * think, as `ai.settings` is\n */\nimport type { DefenceOptions } from './defence'\nimport type { EconomyOptions } from './economy'\nimport type { Brain } from './brain'\nimport type { LanesPlayOptions } from './lanes'\nimport type { MeleeArmyOptions } from './melee/goals'\nimport type { MeleeHeroesOptions } from './melee/heroes'\nimport type { MicroOptions } from './micro'\nimport type { PlansOptions } from './plans/plans'\nimport type { AiFlags } from './profiles'\nimport type { ScoutingOptions } from './scouting'\nimport type { SquadsOptions } from './squads'\nimport type { TeamOptions } from './team'\nimport type { WavesOptions } from './waves'\n\n/**\n * What a brain's areas play by, by area, each under its own names (see the file's comment): what every layer gives, from\n * the brain's definition to the seat. Plain data where a lobby, a map or a save holds it; a function in it is code, not\n * kept in a save\n *\n * @beta\n */\nexport interface AiSettings {\n\t/** The workers and the bases (`Economy`) */\n\teconomy?: EconomyOptions\n\t/** What it defends and how (`Defence`) */\n\tdefence?: DefenceOptions\n\t/** How often it looks and with whom (`Scouting`) */\n\tscouting?: ScoutingOptions\n\t/** How its units fight (`Micro`) */\n\tmicro?: MicroOptions\n\t/** How its squads go, and the tasks they may be given (`Squads`) */\n\tsquads?: SquadsOptions\n\t/** How it plays with its team (`Team`) */\n\tteam?: TeamOptions\n\t/** The waves it was given (`Waves`) */\n\twaves?: WavesOptions\n\t/** What it builds, trains and researches, and in what order (`Plans`) */\n\tplans?: PlansOptions\n\t/** The melee army: when it attacks, how many go, how a wave goes (`melee.army`) */\n\tarmy?: MeleeArmyOptions\n\t/** The melee player's heroes: how many, and from when (`melee.heroes`) */\n\theroes?: MeleeHeroesOptions\n\t/** A lanes brain's play (`lanes`) */\n\tlanes?: LanesPlayOptions\n\t/** How much each goal weighs, by its id (1 when left out): the picker's (`Goals`) */\n\tweights?: Record<string, number>\n\t/** The classic flags (see the file's comment) */\n\tflags?: AiFlags\n}\n\n/**\n * Where each flag that an area has a name for goes in it, and whether it is a share (`true`: the share a lower layer or\n * the area gives; a number: that share; `false`: never)\n */\nconst FLAGGED: Readonly<Partial<Record<keyof AiFlags, readonly [path: readonly string[], kind: 'switch' | 'share' | 'off']>>> = {\n\tdefendUsers: [['team', 'defendUsers'], 'switch'],\n\tsay: [['team', 'say'], 'switch'],\n\ttargetHeroes: [['micro', 'targetHeroes'], 'switch'],\n\tignoreInjured: [['micro', 'ignoreInjured'], 'switch'],\n\tremoveInjuries: [['micro', 'removeInjuries'], 'switch'],\n\ttakeItems: [['micro', 'takeItems'], 'switch'],\n\tbuyItems: [['micro', 'buyItems'], 'switch'],\n\tsmartArtillery: [['micro', 'smartArtillery'], 'switch'],\n\tkite: [['micro', 'kite'], 'switch'],\n\tunitsFlee: [['micro', 'unitsFlee'], 'share'],\n\theroesFlee: [['micro', 'heroesFlee'], 'share'],\n\tgroupsFlee: [['squads', 'retreatAt'], 'share'],\n\tworkersFlee: [['economy', 'workersFlee'], 'switch'],\n\trepairStructures: [['plans', 'build', 'repair'], 'switch'],\n\trebuild: [['plans', 'build', 'rebuild'], 'switch'],\n\t// only its no: the scouting's `scout` is who goes, where it is not `false`\n\tscout: [['scouting', 'scout'], 'off']\n}\n\n/** Of what a layer gives, the lists that add to the lower layers' rather than replace them */\nconst ADDED = new Set(['plans.build.wants', 'waves.groups'])\n\n/** Of what a layer gives, the tables merged key by key with the lower layers' rather than replaced */\nconst MERGED = new Set(['plans', 'plans.build', 'plans.production', 'plans.build.placement'])\n\ntype Loose = Record<string, unknown>\n\nconst isObject = (value: unknown): value is Loose => typeof value === 'object' && value !== null && !Array.isArray(value)\n\n/** A copy of a layer with its flags taken into the areas they name, the area's own value of the same layer over it */\nfunction folded(layer: AiSettings, ai: Brain | undefined): Loose {\n\tconst copy: Loose = { ...layer }\n\tfor (const [flag, value] of Object.entries(layer.flags ?? {})) {\n\t\tconst where = FLAGGED[flag as keyof AiFlags]\n\t\tif (!where) continue\n\t\tconst said = typeof value === 'function' ? (ai ? (value as (ai: Brain) => unknown)(ai) : undefined) : value\n\t\tif (said === undefined) continue\n\t\tconst [path, kind] = where\n\t\tconst word = kind === 'switch' ? !!said : kind === 'off' ? (said === false ? false : undefined) : said\n\t\tif (word === undefined) continue\n\t\tlet at = copy\n\t\tfor (const key of path.slice(0, -1)) {\n\t\t\tat[key] = { ...(at[key] as Loose | undefined) }\n\t\t\tat = at[key] as Loose\n\t\t}\n\t\tconst key = path[path.length - 1]\n\t\tif (at[key] === undefined) at[key] = word\n\t}\n\treturn copy\n}\n\n/** A layer's values over the lower layers', key by key: see `ADDED`, `MERGED`; `true` over a share keeps the share */\nfunction over(under: Loose, given: Loose, path: string): Loose {\n\tconst merged: Loose = { ...under }\n\tfor (const [key, value] of Object.entries(given)) {\n\t\tif (value === undefined) continue\n\t\tconst at = path ? `${path}.${key}` : key\n\t\tconst below = merged[key]\n\t\tif (ADDED.has(at) && Array.isArray(value)) merged[key] = [...((below as unknown[] | undefined) ?? []), ...value]\n\t\telse if ((MERGED.has(at) || !path) && isObject(value) && isObject(below)) merged[key] = over(below, value, at)\n\t\telse if (value === true && typeof below === 'number') continue\n\t\telse merged[key] = value\n\t}\n\treturn merged\n}\n\n/**\n * The settings layered, lowest first (see the file's comment): each area's values key by key, a flag taken into the area\n * it names in its own layer. A flag that is a function of the brain is asked of `ai`, and left out where none is given\n *\n * @beta\n */\nexport function resolveSettings(layers: readonly (AiSettings | undefined)[], ai?: Brain): AiSettings {\n\tlet resolved: Loose = {}\n\tfor (const layer of layers) if (layer) resolved = over(resolved, folded(layer, ai), '')\n\t// a share left at `true` is the area's own\n\tfor (const [path, kind] of Object.values(FLAGGED)) {\n\t\tif (kind !== 'share') continue\n\t\tconst area = resolved[path[0]] as Loose | undefined\n\t\tif (area?.[path[1]] === true) resolved[path[0]] = { ...area, [path[1]]: undefined }\n\t}\n\treturn resolved as AiSettings\n}\n","import type { Registry } from '#engine/registry'\nimport type { AiConditionTest } from './rules'\nimport type { ThinkBudgetOptions } from './budget'\nimport type { AiOptions } from './options'\nimport type { Brain } from './brain'\nimport { type AiSettings, resolveSettings } from './settings'\n\n/*\n * Profiles (AI plan, D1): how a computer player plays, as one piece of plain data. A profile (`AiProfile`) is the\n * settings of its areas (`AiSettings`, keyed by area: see settings.ts) and how well it plays, and is made of layers,\n * lowest first:\n *\n * the brain's → the game's defaults → the race's → the difficulty (by name) → the personality (by name) → the map → the seat\n *\n * - **A race's** (`GameAi.races`, by the race the seat plays) is how the game's computers play that race: its build\n * order, its heroes, its composition, a flag the race's roster asks for. Under the difficulty and the personality,\n * so that a hard rusher of either race is still hard and still rushes; the map's (`MapAi.races`) goes over the map's\n * settings for a player whose race the map leaves to the lobby.\n * - **A difficulty** (`easy`, `normal`, `hard`, `insane`, or a game's own: `GameModule.ai.difficulties`) is how\n * well it plays: how often it thinks, how many commands a think may send (`commandsPerThink`, a person's hands), how\n * often it slips (`mistakes`: a think's fights left alone, a wave sent early; drawn with its own numbers, so the same\n * game slips alike), whether it sees through the fog (`vision: 'all'`, insane only: the one way a computer sees what\n * its seat does not, an observer's session), and the handicaps it is given (`handicap`: more of what its workers\n * bring in, more health, more damage, quicker making, asked of the game through its hooks as the computer is seated).\n * - **A personality** (`balanced`, `rusher`, `turtle`, `expander`, `harasser`, or a game's own: `GameModule.ai.personalities`) is how\n * it likes to play: how much each goal weighs (`weights`), when it attacks and expands, how many towers it puts up.\n * - **The map's and the seat's** are what the map (`MapAi`), the lobby or the mission give (`AiOptions.settings`).\n *\n * `ai.profile` is the profile resolved; `ai.settings` its settings as the areas read them, worked out once a think.\n * Every field is data a lobby, a map or an editor can hold; a flag may be a function of the brain instead (code: given\n * again by the game, not kept in a save).\n */\n\n/**\n * A flag's value: as data, or worked out by the brain as it is asked (code, not kept in a save)\n *\n * @beta\n */\nexport type AiFlag<T> = T | ((ai: Brain) => T)\n\n/**\n * The classic RTS behaviour flags, where the meaning holds, and the kit's own beside them: each a yes or no, a number where\n * one says how much, or a function of the brain\n *\n * @beta\n */\nexport interface AiFlags {\n\t/** Helps its allies, people and computers, where asked (the team's `help` goal) */\n\tdefendUsers?: AiFlag<boolean>\n\t/** Hits heroes first among those alike (the micro's targets) */\n\ttargetHeroes?: AiFlag<boolean>\n\t/** Mends damaged buildings when no enemy reaches them (the build plan's `repair`) */\n\trepairStructures?: AiFlag<boolean>\n\t/** A hero leaves a fight under this share of its health: `true` at the share under it, `false` never (`micro.heroesFlee`) */\n\theroesFlee?: AiFlag<boolean | number>\n\t/** A unit leaves a fight under this share of its health: `true` at the share under it, `false` never (`micro.unitsFlee`) */\n\tunitsFlee?: AiFlag<boolean | number>\n\t/** A squad falls back from a fight away from home under these odds: `true` at the odds under it, `false` never (`squads.retreatAt`) */\n\tgroupsFlee?: AiFlag<boolean | number>\n\t/** Attacks before its time when the enemy's army as last seen is weak against its own: at these odds (`true`: 0.75) */\n\tnoMercy?: AiFlag<boolean | number>\n\t/** A unit that fled stays out until healed */\n\tignoreInjured?: AiFlag<boolean>\n\t/** The hurt go home to heal between fights */\n\tremoveInjuries?: AiFlag<boolean>\n\t/** Picks up what lies about */\n\ttakeItems?: AiFlag<boolean>\n\t/** Its heroes buy from shops in reach */\n\tbuyItems?: AiFlag<boolean>\n\t/** Builds its hall again where it can, once its home falls, rather than where it first stood: yes when left out */\n\tallowHomeChanges?: AiFlag<boolean>\n\t/** Siege units shoot buildings and stay behind their squad */\n\tsmartArtillery?: AiFlag<boolean>\n\t/** Each wave takes a way of its own to the target, by the brain's numbers: straight, or round one side or the other */\n\trandomPaths?: AiFlag<boolean>\n\t/** Builds again what it lost */\n\trebuild?: AiFlag<boolean>\n\t/** Ranged units step back from melee they outrun */\n\tkite?: AiFlag<boolean>\n\t/** Workers a raid is on walk to a safe base */\n\tworkersFlee?: AiFlag<boolean>\n\t/** Says its lines to its side (the team's `say`) */\n\tsay?: AiFlag<boolean>\n\t/** Sends a unit to look at the enemy (the scouting's goal) */\n\tscout?: AiFlag<boolean>\n}\n\n/**\n * How a computer player plays, as plain data: the settings of its areas (`AiSettings`) and how well it plays, every field\n * optional, layered (see the file's comment). What a difficulty, a personality and a game's defaults give\n *\n * @beta\n */\nexport interface AiProfile extends AiSettings {\n\t/**\n\t * The brain it plays with, by id (one the game lists in `GameModule.brains`): what a race's profile says\n\t * (`GameAi.races`, campaign plan AR3), for a seat that names none and a map that says none. The game's first brain\n\t * where nothing says\n\t */\n\tbrain?: string\n\t/** The difficulty by name: `easy`, `normal`, `hard`, `insane`, or a game's own (`GameModule.ai.difficulties`). `normal` when left out */\n\tdifficulty?: string\n\t/** The personality by name: `balanced`, `rusher`, `turtle`, `expander`, `harasser`, or a game's own. `balanced` when left out */\n\tpersonality?: string\n\t/** Seconds between thinks: its reactions */\n\tevery?: number\n\t/** Commands a think may send at the most, like a person's hands: no limit when left out */\n\tcommandsPerThink?: number\n\t/** How often it slips, 0 to 1: a think's fights left alone, a wave sent early. Drawn with the brain's own numbers */\n\tmistakes?: number\n\t/** `fair`: it sees what its seat does. `all`: it sees through the fog (an observer's session), for insane only */\n\tvision?: 'fair' | 'all'\n\t/**\n\t * How much of a think one tick may do (`ThinkBudgetOptions`): modules a tick, units looked at a tick, the milliseconds\n\t * a module is warned over (4). Nothing sliced when left out: a game sets it where its numbers ask, at many computers\n\t */\n\tbudget?: ThinkBudgetOptions\n\t/**\n\t * What it is given beyond the rules, each a factor (1 is none), through the game's hooks while it is seated:\n\t * `income`, what its workers bring in (1.5: half again; `beforeDeposit`); `health`, the most health of everything\n\t * it has (`stats`); `damage`, the damage it deals (`beforeDamage`, before armour); `buildTime`, how long what it\n\t * trains, builds and researches takes (0.8: a fifth sooner; `beforeProduce`). The classic handicap is `health`\n\t */\n\thandicap?: AiHandicap\n}\n\n/**\n * What a computer is given beyond the rules (`AiProfile.handicap`): each a factor, 1 (or left out) for none\n *\n * @beta\n */\nexport interface AiHandicap {\n\t/** What its workers bring in, through the game's `beforeDeposit` hook */\n\tincome?: number\n\t/** The most health of everything it has, through a `stats` hook: the classic handicap */\n\thealth?: number\n\t/** The damage it deals, before armour, through a `beforeDamage` hook */\n\tdamage?: number\n\t/** How long what it trains, builds and researches takes, through a `beforeProduce` hook: under 1 is sooner */\n\tbuildTime?: number\n}\n\n/**\n * A difficulty's or a personality's profile, the engine's or a game's\n *\n * @beta\n */\nexport type AiProfileTable = Record<string, AiProfile>\n\n/**\n * The engine's defaults of how well it plays: the bottom layer. The areas' numbers are each area's own where no layer\n * says them (`Economy`'s 8 workers)\n *\n * @beta\n */\nexport const DEFAULT_PROFILE: Readonly<AiProfile> = {\n\tdifficulty: 'normal',\n\tpersonality: 'balanced',\n\tevery: 1,\n\tmistakes: 0,\n\tvision: 'fair'\n}\n\n/** The numbers the strongest difficulties share */\nconst STRONG: AiProfile = {\n\tevery: 0.5,\n\teconomy: { workers: 10, expansions: 2 },\n\tarmy: { firstAttack: 105, attackEvery: 34, waveSize: 8 },\n\tdefence: { radius: 22 },\n\tscouting: { lookEvery: 60 }\n}\n\n/**\n * The engine's difficulties: how well it plays. `normal` is the areas' own numbers. `insane` sees through the fog and\n * gets half again of what its workers bring in, as the classic insane computer does\n *\n * @beta\n */\nexport const DIFFICULTIES: Readonly<AiProfileTable> = {\n\teasy: {\n\t\tevery: 2,\n\t\tcommandsPerThink: 12,\n\t\tmistakes: 0.25,\n\t\teconomy: { workers: 6, expansions: 0 },\n\t\tarmy: { firstAttack: 240, attackEvery: 70, waveSize: 4 },\n\t\tdefence: { radius: 10 },\n\t\tscouting: { lookEvery: 150 },\n\t\theroes: { most: 1 }\n\t},\n\tnormal: {},\n\thard: STRONG,\n\tinsane: { ...STRONG, vision: 'all', handicap: { income: 1.5 } }\n}\n\n/**\n * The engine's personalities: how it likes to play. Over the difficulty, so a rusher rushes on any of them\n *\n * @beta\n */\nexport const PERSONALITIES: Readonly<AiProfileTable> = {\n\tbalanced: {},\n\trusher: {\n\t\tarmy: { firstAttack: 90, attackEvery: 30, waveSize: 4 },\n\t\teconomy: { expansions: 0 },\n\t\tdefence: { towers: 0 },\n\t\tweights: { creep: 0.5, harass: 1.2, expand: 0.5 },\n\t\tflags: { noMercy: true }\n\t},\n\tturtle: {\n\t\tarmy: { firstAttack: 300 },\n\t\tdefence: { towers: 2, odds: 0.8 },\n\t\teconomy: { expansions: 0 },\n\t\tweights: { attack: 0.8, creep: 0.6, raid: 0.5, harass: 0.2, expand: 1.2 },\n\t\tflags: { workersFlee: true }\n\t},\n\texpander: {\n\t\teconomy: { expansions: 3, expandWhen: { all: [{ time: { after: 150 } }, { units: { role: 'barracks' } }] } },\n\t\tweights: { attack: 0.9, expand: 1.5 }\n\t},\n\tharasser: {\n\t\tarmy: { attackEvery: 30, waveSize: 4 },\n\t\tweights: { creep: 1.2, raid: 1.5, harass: 1.5 },\n\t\tflags: { kite: true, heroesFlee: 0.5, noMercy: true }\n\t}\n}\n\n/**\n * What a game says of its computer players' profiles (`GameModule.ai`): difficulties and personalities of its own, and\n * defaults over the engine's\n *\n * @beta\n */\nexport interface GameAi {\n\t/** Difficulties of its own, by name, beside (or over) the engine's */\n\tdifficulties?: AiProfileTable\n\t/** Personalities of its own, by name */\n\tpersonalities?: AiProfileTable\n\t/** Conditions of its own, by id, for the data form (`{ is: 'mygame.bridgeDown', args }`), a map's file among them */\n\tconditions?: Record<string, AiConditionTest>\n\t/** Defaults over the engine's, under the difficulty */\n\tdefaults?: AiProfile\n\t/**\n\t * How its computers play each of its races (`GameModule.races`), by race id: a layer over `defaults` and under the\n\t * difficulty, for a seat of that race (its build order, heroes, composition, flags; how often it thinks). Its\n\t * `difficulty` and `personality` are the seat's where the lobby and the map say none\n\t */\n\traces?: AiProfileTable\n\t/** Whether a lobby offers its seats a difficulty and a personality (`seatSettingsOf`): yes when left out */\n\tlobby?: boolean\n}\n\n/**\n * The difficulties a game's computers may play at, by name: the engine's, the game's over them\n *\n * @beta\n */\nexport function difficultiesOf(registry?: Pick<Registry, 'module'>): AiProfileTable {\n\treturn { ...DIFFICULTIES, ...registry?.module?.ai?.difficulties }\n}\n\n/**\n * The personalities a game's computers may have, by name: the engine's, the game's over them\n *\n * @beta\n */\nexport function personalitiesOf(registry?: Pick<Registry, 'module'>): AiProfileTable {\n\treturn { ...PERSONALITIES, ...registry?.module?.ai?.personalities }\n}\n\n/** What a profile says of how well it plays, beside its settings: layered field by field (the handicap and the budget merged) */\nconst HOW_WELL = ['brain', 'difficulty', 'personality', 'every', 'commandsPerThink', 'mistakes', 'vision', 'budget', 'handicap'] as const\n\n/**\n * A profile resolved (`resolveProfile`): what it plays by, and its settings' layers as given, lowest first, for the brain\n * to work out each think (a flag may be a function of it)\n *\n * @beta\n */\nexport interface ResolvedProfile {\n\t/** The profile, its settings layered (a flag's function left out) */\n\tprofile: AiProfile\n\t/** Its settings' layers, lowest first: the brain's, the game's, the race's, the difficulty's, the personality's, the seat's (the map's under it) */\n\tlayers: readonly AiSettings[]\n\t/** A difficulty or a personality the game does not have, passed over */\n\tunknown: string[]\n}\n\n/** A profile's settings: what is not of how well it plays */\nfunction settingsOf(profile: AiProfile | undefined): AiSettings | undefined {\n\tif (!profile) return undefined\n\tconst settings: Record<string, unknown> = { ...profile }\n\tfor (const key of HOW_WELL) delete settings[key]\n\treturn settings as AiSettings\n}\n\n/**\n * The profile a seat plays by (`Brain.profile`): the brain's settings (`BrainDef.settings`), the game's defaults, the\n * race's (`GameAi.races`, for the `race` the seat plays), the difficulty, the personality, the seat's own\n * (`AiOptions.settings`, the map's under it), each over the one before; how well it plays from the engine's defaults,\n * the game's, the race's, the difficulty, the personality and the seat's `every` and `budget`. A name the game does not\n * have is passed over, and `unknown` names it\n *\n * @beta\n */\nexport function resolveProfile(options: AiOptions, registry?: Pick<Registry, 'module'>, brain?: AiSettings, race?: string): ResolvedProfile {\n\tconst defaults = registry?.module?.ai?.defaults\n\tconst raced = race !== undefined ? registry?.module?.ai?.races?.[race] : undefined\n\tconst difficulty = options.difficulty ?? raced?.difficulty ?? defaults?.difficulty ?? 'normal'\n\tconst personality = options.personality ?? raced?.personality ?? defaults?.personality ?? 'balanced'\n\tconst difficulties = difficultiesOf(registry)\n\tconst personalities = personalitiesOf(registry)\n\tconst unknown: string[] = []\n\tif (!difficulties[difficulty]) unknown.push(`difficulty \"${difficulty}\"`)\n\tif (!personalities[personality]) unknown.push(`personality \"${personality}\"`)\n\tconst seat: AiProfile = {\n\t\t...(options.every !== undefined && { every: options.every }),\n\t\t...(options.budget !== undefined && { budget: typeof options.budget === 'number' ? { modulesPerTick: options.budget } : options.budget })\n\t}\n\tconst profile: Record<string, unknown> = {}\n\tfor (const each of [DEFAULT_PROFILE, defaults, raced, difficulties[difficulty], personalities[personality], seat])\n\t\tfor (const key of HOW_WELL) {\n\t\t\tconst value = each?.[key]\n\t\t\tif (value === undefined) continue\n\t\t\tprofile[key] = key === 'budget' || key === 'handicap' ? { ...(profile[key] as object | undefined), ...(value as object) } : value\n\t\t}\n\tprofile.difficulty = difficulty\n\tprofile.personality = personality\n\tconst layers = [\n\t\tbrain,\n\t\tsettingsOf(defaults),\n\t\tsettingsOf(raced),\n\t\tsettingsOf(difficulties[difficulty]),\n\t\tsettingsOf(personalities[personality]),\n\t\toptions.settings\n\t].filter((layer): layer is AiSettings => !!layer)\n\treturn { profile: { ...resolveSettings(layers), ...(profile as AiProfile) }, layers, unknown }\n}\n\n/**\n * A flag's value as asked now: a function of the brain worked out, data as it is. For a flag no area has a name for\n * (No Mercy, Random Paths, Allow Home Changes): the rest are the areas' (`ai.settings`)\n *\n * @beta\n */\nexport function flagOf<K extends keyof AiFlags>(ai: Brain, name: K): Exclude<AiFlags[K], (ai: Brain) => unknown> | undefined {\n\tconst value = ai.settings.flags?.[name]\n\treturn (typeof value === 'function' ? (value as (ai: Brain) => unknown)(ai) : value) as Exclude<AiFlags[K], (ai: Brain) => unknown> | undefined\n}\n"],"mappings":"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"}
|