@datamoc/mw_games 0.4.0 → 0.4.2
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/README.md +2 -2
- package/dist/actors/Advancement.d.ts +17 -0
- package/dist/actors/Advancement.d.ts.map +1 -1
- package/dist/actors/Advancement.js +17 -0
- package/dist/actors/Advancement.js.map +1 -1
- package/dist/actors/Affix.d.ts +20 -0
- package/dist/actors/Affix.d.ts.map +1 -1
- package/dist/actors/Affix.js.map +1 -1
- package/dist/actors/Appearances.d.ts +12 -0
- package/dist/actors/Appearances.d.ts.map +1 -1
- package/dist/actors/Appearances.js +12 -0
- package/dist/actors/Appearances.js.map +1 -1
- package/dist/actors/Aura.d.ts +16 -0
- package/dist/actors/Aura.d.ts.map +1 -1
- package/dist/actors/Aura.js +16 -0
- package/dist/actors/Aura.js.map +1 -1
- package/dist/actors/Barrier.d.ts +13 -0
- package/dist/actors/Barrier.d.ts.map +1 -1
- package/dist/actors/Barrier.js.map +1 -1
- package/dist/actors/Charges.d.ts +13 -0
- package/dist/actors/Charges.d.ts.map +1 -1
- package/dist/actors/Charges.js.map +1 -1
- package/dist/actors/Equipment.d.ts +18 -0
- package/dist/actors/Equipment.d.ts.map +1 -1
- package/dist/actors/Equipment.js +18 -0
- package/dist/actors/Equipment.js.map +1 -1
- package/dist/actors/Inventory.d.ts +12 -0
- package/dist/actors/Inventory.d.ts.map +1 -1
- package/dist/actors/Inventory.js +12 -0
- package/dist/actors/Inventory.js.map +1 -1
- package/dist/actors/ItemState.d.ts +13 -0
- package/dist/actors/ItemState.d.ts.map +1 -1
- package/dist/actors/ItemState.js +13 -0
- package/dist/actors/ItemState.js.map +1 -1
- package/dist/actors/ItemStatusEffect.d.ts +13 -0
- package/dist/actors/ItemStatusEffect.d.ts.map +1 -1
- package/dist/actors/ItemStatusEffect.js +13 -0
- package/dist/actors/ItemStatusEffect.js.map +1 -1
- package/dist/actors/Loot.d.ts +15 -1
- package/dist/actors/Loot.d.ts.map +1 -1
- package/dist/actors/Loot.js +15 -1
- package/dist/actors/Loot.js.map +1 -1
- package/dist/actors/Progression.d.ts +14 -1
- package/dist/actors/Progression.d.ts.map +1 -1
- package/dist/actors/Progression.js +14 -1
- package/dist/actors/Progression.js.map +1 -1
- package/dist/actors/Resource.d.ts +14 -0
- package/dist/actors/Resource.d.ts.map +1 -1
- package/dist/actors/Resource.js.map +1 -1
- package/dist/actors/Scaling.d.ts +8 -0
- package/dist/actors/Scaling.d.ts.map +1 -1
- package/dist/actors/Scaling.js.map +1 -1
- package/dist/actors/Shop.d.ts +15 -0
- package/dist/actors/Shop.d.ts.map +1 -1
- package/dist/actors/Shop.js.map +1 -1
- package/dist/actors/SkillPoints.d.ts +13 -0
- package/dist/actors/SkillPoints.d.ts.map +1 -1
- package/dist/actors/SkillPoints.js +13 -0
- package/dist/actors/SkillPoints.js.map +1 -1
- package/dist/actors/StatusEffect.d.ts +18 -0
- package/dist/actors/StatusEffect.d.ts.map +1 -1
- package/dist/actors/StatusEffect.js +18 -0
- package/dist/actors/StatusEffect.js.map +1 -1
- package/dist/actors/Support.d.ts +11 -0
- package/dist/actors/Support.d.ts.map +1 -1
- package/dist/actors/Support.js +11 -0
- package/dist/actors/Support.js.map +1 -1
- package/dist/actors/Traits.d.ts +14 -0
- package/dist/actors/Traits.d.ts.map +1 -1
- package/dist/actors/Traits.js +14 -0
- package/dist/actors/Traits.js.map +1 -1
- package/dist/actors/craft.d.ts +16 -0
- package/dist/actors/craft.d.ts.map +1 -1
- package/dist/actors/craft.js +16 -0
- package/dist/actors/craft.js.map +1 -1
- package/dist/actors/skillCheck.d.ts +8 -0
- package/dist/actors/skillCheck.d.ts.map +1 -1
- package/dist/actors/skillCheck.js +8 -0
- package/dist/actors/skillCheck.js.map +1 -1
- package/dist/assets/ByteProgress.d.ts +10 -0
- package/dist/assets/ByteProgress.d.ts.map +1 -1
- package/dist/assets/ByteProgress.js +10 -0
- package/dist/assets/ByteProgress.js.map +1 -1
- package/dist/assets/Streaming.d.ts +10 -0
- package/dist/assets/Streaming.d.ts.map +1 -1
- package/dist/assets/Streaming.js +10 -0
- package/dist/assets/Streaming.js.map +1 -1
- package/dist/assets/binary.d.ts +52 -0
- package/dist/assets/binary.d.ts.map +1 -0
- package/dist/assets/binary.js +57 -0
- package/dist/assets/binary.js.map +1 -0
- package/dist/assets/index.d.ts +10 -5
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +9 -5
- package/dist/assets/index.js.map +1 -1
- package/dist/assets/loader.d.ts +11 -0
- package/dist/assets/loader.d.ts.map +1 -1
- package/dist/assets/loader.js +11 -0
- package/dist/assets/loader.js.map +1 -1
- package/dist/assets/paths.d.ts +10 -0
- package/dist/assets/paths.d.ts.map +1 -1
- package/dist/assets/paths.js +10 -0
- package/dist/assets/paths.js.map +1 -1
- package/dist/audio/Captions.d.ts +13 -1
- package/dist/audio/Captions.d.ts.map +1 -1
- package/dist/audio/Captions.js +13 -1
- package/dist/audio/Captions.js.map +1 -1
- package/dist/audio/Midi.d.ts +19 -1
- package/dist/audio/Midi.d.ts.map +1 -1
- package/dist/audio/Midi.js +19 -1
- package/dist/audio/Midi.js.map +1 -1
- package/dist/audio/Music.d.ts +11 -0
- package/dist/audio/Music.d.ts.map +1 -1
- package/dist/audio/Music.js +11 -0
- package/dist/audio/Music.js.map +1 -1
- package/dist/audio/Orchestrator.d.ts +14 -0
- package/dist/audio/Orchestrator.d.ts.map +1 -1
- package/dist/audio/Orchestrator.js +14 -0
- package/dist/audio/Orchestrator.js.map +1 -1
- package/dist/audio/Playable.d.ts +11 -1
- package/dist/audio/Playable.d.ts.map +1 -1
- package/dist/audio/Playable.js +11 -1
- package/dist/audio/Playable.js.map +1 -1
- package/dist/audio/Sound.d.ts +8 -0
- package/dist/audio/Sound.d.ts.map +1 -1
- package/dist/audio/Sound.js +8 -0
- package/dist/audio/Sound.js.map +1 -1
- package/dist/audio/Synth.d.ts +15 -0
- package/dist/audio/Synth.d.ts.map +1 -1
- package/dist/audio/Synth.js +15 -0
- package/dist/audio/Synth.js.map +1 -1
- package/dist/battle/BattleAI.d.ts +18 -2
- package/dist/battle/BattleAI.d.ts.map +1 -1
- package/dist/battle/BattleAI.js +18 -2
- package/dist/battle/BattleAI.js.map +1 -1
- package/dist/battle/Evolution.d.ts +12 -0
- package/dist/battle/Evolution.d.ts.map +1 -1
- package/dist/battle/Evolution.js +12 -0
- package/dist/battle/Evolution.js.map +1 -1
- package/dist/battle/Field.d.ts +11 -0
- package/dist/battle/Field.d.ts.map +1 -1
- package/dist/battle/Field.js.map +1 -1
- package/dist/battle/Hooks.d.ts +16 -0
- package/dist/battle/Hooks.d.ts.map +1 -1
- package/dist/battle/Hooks.js +16 -0
- package/dist/battle/Hooks.js.map +1 -1
- package/dist/battle/Move.d.ts +13 -0
- package/dist/battle/Move.d.ts.map +1 -1
- package/dist/battle/Move.js +13 -0
- package/dist/battle/Move.js.map +1 -1
- package/dist/battle/Party.d.ts +11 -0
- package/dist/battle/Party.d.ts.map +1 -1
- package/dist/battle/Party.js +11 -0
- package/dist/battle/Party.js.map +1 -1
- package/dist/battle/Species.d.ts +10 -0
- package/dist/battle/Species.d.ts.map +1 -1
- package/dist/battle/Species.js +10 -0
- package/dist/battle/Species.js.map +1 -1
- package/dist/battle/StatStages.d.ts +14 -0
- package/dist/battle/StatStages.d.ts.map +1 -1
- package/dist/battle/StatStages.js.map +1 -1
- package/dist/battle/TypeMatrix.d.ts +11 -0
- package/dist/battle/TypeMatrix.d.ts.map +1 -1
- package/dist/battle/TypeMatrix.js +11 -0
- package/dist/battle/TypeMatrix.js.map +1 -1
- package/dist/board/Army.d.ts +75 -0
- package/dist/board/Army.d.ts.map +1 -1
- package/dist/board/Army.js +75 -0
- package/dist/board/Army.js.map +1 -1
- package/dist/board/Classics.d.ts +297 -1
- package/dist/board/Classics.d.ts.map +1 -1
- package/dist/board/Classics.js +297 -1
- package/dist/board/Classics.js.map +1 -1
- package/dist/board/Engine.d.ts +23 -0
- package/dist/board/Engine.d.ts.map +1 -1
- package/dist/board/Engine.js +23 -0
- package/dist/board/Engine.js.map +1 -1
- package/dist/board/FogOfWar.d.ts +20 -0
- package/dist/board/FogOfWar.d.ts.map +1 -1
- package/dist/board/FogOfWar.js +20 -0
- package/dist/board/FogOfWar.js.map +1 -1
- package/dist/board/Tactics.d.ts +158 -1
- package/dist/board/Tactics.d.ts.map +1 -1
- package/dist/board/Tactics.js +125 -1
- package/dist/board/Tactics.js.map +1 -1
- package/dist/board/chess.d.ts +87 -3
- package/dist/board/chess.d.ts.map +1 -1
- package/dist/board/chess.js +96 -4
- package/dist/board/chess.js.map +1 -1
- package/dist/core/Achievements.d.ts +15 -0
- package/dist/core/Achievements.d.ts.map +1 -1
- package/dist/core/Achievements.js +15 -0
- package/dist/core/Achievements.js.map +1 -1
- package/dist/core/Collection.d.ts +12 -0
- package/dist/core/Collection.d.ts.map +1 -1
- package/dist/core/Collection.js +12 -0
- package/dist/core/Collection.js.map +1 -1
- package/dist/core/Entity.d.ts +42 -0
- package/dist/core/Entity.d.ts.map +1 -0
- package/dist/core/Entity.js +47 -0
- package/dist/core/Entity.js.map +1 -0
- package/dist/core/Feedback.d.ts +11 -1
- package/dist/core/Feedback.d.ts.map +1 -1
- package/dist/core/Feedback.js +11 -1
- package/dist/core/Feedback.js.map +1 -1
- package/dist/core/Hex.d.ts +14 -0
- package/dist/core/Hex.d.ts.map +1 -1
- package/dist/core/Hex.js +14 -0
- package/dist/core/Hex.js.map +1 -1
- package/dist/core/Hooks.d.ts +14 -0
- package/dist/core/Hooks.d.ts.map +1 -1
- package/dist/core/Hooks.js.map +1 -1
- package/dist/core/Input.d.ts +12 -0
- package/dist/core/Input.d.ts.map +1 -1
- package/dist/core/Input.js.map +1 -1
- package/dist/core/Loading.d.ts +17 -0
- package/dist/core/Loading.d.ts.map +1 -1
- package/dist/core/Loading.js +17 -0
- package/dist/core/Loading.js.map +1 -1
- package/dist/core/Log.d.ts +9 -0
- package/dist/core/Log.d.ts.map +1 -1
- package/dist/core/Log.js +9 -0
- package/dist/core/Log.js.map +1 -1
- package/dist/core/Multiplayer.d.ts +12 -0
- package/dist/core/Multiplayer.d.ts.map +1 -1
- package/dist/core/Multiplayer.js +12 -0
- package/dist/core/Multiplayer.js.map +1 -1
- package/dist/core/News.d.ts +12 -0
- package/dist/core/News.d.ts.map +1 -1
- package/dist/core/News.js.map +1 -1
- package/dist/core/PlayerInput.d.ts +14 -0
- package/dist/core/PlayerInput.d.ts.map +1 -1
- package/dist/core/PlayerInput.js +14 -0
- package/dist/core/PlayerInput.js.map +1 -1
- package/dist/core/Presentation.d.ts +56 -0
- package/dist/core/Presentation.d.ts.map +1 -0
- package/dist/core/Presentation.js +78 -0
- package/dist/core/Presentation.js.map +1 -0
- package/dist/core/Random.d.ts +24 -0
- package/dist/core/Random.d.ts.map +1 -1
- package/dist/core/Random.js +24 -0
- package/dist/core/Random.js.map +1 -1
- package/dist/core/Replay.d.ts +31 -0
- package/dist/core/Replay.d.ts.map +1 -1
- package/dist/core/Replay.js +31 -0
- package/dist/core/Replay.js.map +1 -1
- package/dist/core/RunHistory.d.ts +12 -0
- package/dist/core/RunHistory.d.ts.map +1 -1
- package/dist/core/RunHistory.js.map +1 -1
- package/dist/core/Sanitize.d.ts +18 -0
- package/dist/core/Sanitize.d.ts.map +1 -1
- package/dist/core/Sanitize.js +18 -0
- package/dist/core/Sanitize.js.map +1 -1
- package/dist/core/Save.d.ts.map +1 -1
- package/dist/core/Save.js +13 -0
- package/dist/core/Save.js.map +1 -1
- package/dist/core/SaveSync.d.ts +14 -0
- package/dist/core/SaveSync.d.ts.map +1 -1
- package/dist/core/SaveSync.js.map +1 -1
- package/dist/core/Scene.d.ts +13 -0
- package/dist/core/Scene.d.ts.map +1 -1
- package/dist/core/Scene.js +13 -0
- package/dist/core/Scene.js.map +1 -1
- package/dist/core/SceneStack.d.ts +20 -0
- package/dist/core/SceneStack.d.ts.map +1 -1
- package/dist/core/SceneStack.js +20 -0
- package/dist/core/SceneStack.js.map +1 -1
- package/dist/core/Scramble.d.ts +8 -0
- package/dist/core/Scramble.d.ts.map +1 -1
- package/dist/core/Scramble.js +8 -0
- package/dist/core/Scramble.js.map +1 -1
- package/dist/core/Session.d.ts +10 -0
- package/dist/core/Session.d.ts.map +1 -1
- package/dist/core/Session.js.map +1 -1
- package/dist/core/Signal.d.ts +11 -0
- package/dist/core/Signal.d.ts.map +1 -1
- package/dist/core/Signal.js.map +1 -1
- package/dist/core/Spawner.d.ts +17 -0
- package/dist/core/Spawner.d.ts.map +1 -1
- package/dist/core/Spawner.js +17 -0
- package/dist/core/Spawner.js.map +1 -1
- package/dist/core/Stats.d.ts +14 -0
- package/dist/core/Stats.d.ts.map +1 -1
- package/dist/core/Stats.js +14 -0
- package/dist/core/Stats.js.map +1 -1
- package/dist/core/Telemetry.d.ts +11 -0
- package/dist/core/Telemetry.d.ts.map +1 -1
- package/dist/core/Telemetry.js +11 -0
- package/dist/core/Telemetry.js.map +1 -1
- package/dist/core/Tween.d.ts +16 -1
- package/dist/core/Tween.d.ts.map +1 -1
- package/dist/core/Tween.js +16 -1
- package/dist/core/Tween.js.map +1 -1
- package/dist/core/UndoHistory.d.ts +15 -0
- package/dist/core/UndoHistory.d.ts.map +1 -1
- package/dist/core/UndoHistory.js.map +1 -1
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -0
- package/dist/core/index.js.map +1 -1
- package/dist/i18n/Content.d.ts +151 -0
- package/dist/i18n/Content.d.ts.map +1 -0
- package/dist/i18n/Content.js +219 -0
- package/dist/i18n/Content.js.map +1 -0
- package/dist/i18n/Format.d.ts +25 -0
- package/dist/i18n/Format.d.ts.map +1 -0
- package/dist/i18n/Format.js +32 -0
- package/dist/i18n/Format.js.map +1 -0
- package/dist/i18n/SemanticMessage.d.ts +71 -0
- package/dist/i18n/SemanticMessage.d.ts.map +1 -0
- package/dist/i18n/SemanticMessage.js +40 -0
- package/dist/i18n/SemanticMessage.js.map +1 -0
- package/dist/i18n/Validate.d.ts +56 -0
- package/dist/i18n/Validate.d.ts.map +1 -0
- package/dist/i18n/Validate.js +65 -0
- package/dist/i18n/Validate.js.map +1 -0
- package/dist/i18n/index.d.ts +74 -3
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +136 -7
- package/dist/i18n/index.js.map +1 -1
- package/dist/mw_games.global.js +153 -88
- package/dist/roguelike/Blob.d.ts +11 -0
- package/dist/roguelike/Blob.d.ts.map +1 -1
- package/dist/roguelike/Blob.js +11 -0
- package/dist/roguelike/Blob.js.map +1 -1
- package/dist/roguelike/Boss.d.ts +12 -0
- package/dist/roguelike/Boss.d.ts.map +1 -1
- package/dist/roguelike/Boss.js +12 -0
- package/dist/roguelike/Boss.js.map +1 -1
- package/dist/roguelike/Combat.d.ts +13 -0
- package/dist/roguelike/Combat.d.ts.map +1 -1
- package/dist/roguelike/Combat.js +13 -0
- package/dist/roguelike/Combat.js.map +1 -1
- package/dist/roguelike/ContentRoll.d.ts +10 -0
- package/dist/roguelike/ContentRoll.d.ts.map +1 -1
- package/dist/roguelike/ContentRoll.js +10 -0
- package/dist/roguelike/ContentRoll.js.map +1 -1
- package/dist/roguelike/Doors.d.ts +13 -0
- package/dist/roguelike/Doors.d.ts.map +1 -1
- package/dist/roguelike/Doors.js +13 -0
- package/dist/roguelike/Doors.js.map +1 -1
- package/dist/roguelike/DungeonParity.d.ts +15 -0
- package/dist/roguelike/DungeonParity.d.ts.map +1 -1
- package/dist/roguelike/DungeonParity.js +15 -0
- package/dist/roguelike/DungeonParity.js.map +1 -1
- package/dist/roguelike/Elevation.d.ts +15 -0
- package/dist/roguelike/Elevation.d.ts.map +1 -1
- package/dist/roguelike/Elevation.js +15 -0
- package/dist/roguelike/Elevation.js.map +1 -1
- package/dist/roguelike/Features.d.ts +17 -0
- package/dist/roguelike/Features.d.ts.map +1 -1
- package/dist/roguelike/Features.js +17 -0
- package/dist/roguelike/Features.js.map +1 -1
- package/dist/roguelike/FieldOfView.d.ts +13 -0
- package/dist/roguelike/FieldOfView.d.ts.map +1 -1
- package/dist/roguelike/FieldOfView.js +13 -0
- package/dist/roguelike/FieldOfView.js.map +1 -1
- package/dist/roguelike/Level.d.ts +26 -1
- package/dist/roguelike/Level.d.ts.map +1 -1
- package/dist/roguelike/Level.js +26 -1
- package/dist/roguelike/Level.js.map +1 -1
- package/dist/roguelike/MonsterAI.d.ts +14 -0
- package/dist/roguelike/MonsterAI.d.ts.map +1 -1
- package/dist/roguelike/MonsterAI.js +14 -0
- package/dist/roguelike/MonsterAI.js.map +1 -1
- package/dist/roguelike/MultiStageAbility.d.ts +16 -0
- package/dist/roguelike/MultiStageAbility.d.ts.map +1 -1
- package/dist/roguelike/MultiStageAbility.js +16 -0
- package/dist/roguelike/MultiStageAbility.js.map +1 -1
- package/dist/roguelike/Pathfinder.d.ts +23 -2
- package/dist/roguelike/Pathfinder.d.ts.map +1 -1
- package/dist/roguelike/Pathfinder.js +23 -2
- package/dist/roguelike/Pathfinder.js.map +1 -1
- package/dist/roguelike/Placement.d.ts +62 -0
- package/dist/roguelike/Placement.d.ts.map +1 -0
- package/dist/roguelike/Placement.js +79 -0
- package/dist/roguelike/Placement.js.map +1 -0
- package/dist/roguelike/RoomBuilders.d.ts +18 -1
- package/dist/roguelike/RoomBuilders.d.ts.map +1 -1
- package/dist/roguelike/RoomBuilders.js +18 -1
- package/dist/roguelike/RoomBuilders.js.map +1 -1
- package/dist/roguelike/Scheduler.d.ts +48 -1
- package/dist/roguelike/Scheduler.d.ts.map +1 -1
- package/dist/roguelike/Scheduler.js +58 -1
- package/dist/roguelike/Scheduler.js.map +1 -1
- package/dist/roguelike/Secrets.d.ts +13 -0
- package/dist/roguelike/Secrets.d.ts.map +1 -1
- package/dist/roguelike/Secrets.js +13 -0
- package/dist/roguelike/Secrets.js.map +1 -1
- package/dist/roguelike/Stealth.d.ts +13 -0
- package/dist/roguelike/Stealth.d.ts.map +1 -1
- package/dist/roguelike/Stealth.js +13 -0
- package/dist/roguelike/Stealth.js.map +1 -1
- package/dist/roguelike/Targeting.d.ts +45 -1
- package/dist/roguelike/Targeting.d.ts.map +1 -1
- package/dist/roguelike/Targeting.js +33 -1
- package/dist/roguelike/Targeting.js.map +1 -1
- package/dist/roguelike/TriggerTracker.d.ts +10 -0
- package/dist/roguelike/TriggerTracker.d.ts.map +1 -1
- package/dist/roguelike/TriggerTracker.js +10 -0
- package/dist/roguelike/TriggerTracker.js.map +1 -1
- package/dist/roguelike/generate.d.ts +41 -1
- package/dist/roguelike/generate.d.ts.map +1 -1
- package/dist/roguelike/generate.js +41 -1
- package/dist/roguelike/generate.js.map +1 -1
- package/dist/roguelike/index.d.ts +3 -1
- package/dist/roguelike/index.d.ts.map +1 -1
- package/dist/roguelike/index.js +1 -0
- package/dist/roguelike/index.js.map +1 -1
- package/dist/rpg/Collision.d.ts +19 -0
- package/dist/rpg/Collision.d.ts.map +1 -1
- package/dist/rpg/Collision.js +19 -0
- package/dist/rpg/Collision.js.map +1 -1
- package/dist/rpg/Event.d.ts +17 -0
- package/dist/rpg/Event.d.ts.map +1 -1
- package/dist/rpg/Event.js +17 -0
- package/dist/rpg/Event.js.map +1 -1
- package/dist/rpg/EventRunner.d.ts +14 -0
- package/dist/rpg/EventRunner.d.ts.map +1 -1
- package/dist/rpg/EventRunner.js +14 -0
- package/dist/rpg/EventRunner.js.map +1 -1
- package/dist/rpg/FreeMover.d.ts +14 -0
- package/dist/rpg/FreeMover.d.ts.map +1 -1
- package/dist/rpg/FreeMover.js +14 -0
- package/dist/rpg/FreeMover.js.map +1 -1
- package/dist/rpg/GameState.d.ts +14 -0
- package/dist/rpg/GameState.d.ts.map +1 -1
- package/dist/rpg/GameState.js +14 -0
- package/dist/rpg/GameState.js.map +1 -1
- package/dist/rpg/GridMover.d.ts +14 -0
- package/dist/rpg/GridMover.d.ts.map +1 -1
- package/dist/rpg/GridMover.js +14 -0
- package/dist/rpg/GridMover.js.map +1 -1
- package/dist/rpg/Marshal.d.ts +16 -0
- package/dist/rpg/Marshal.d.ts.map +1 -1
- package/dist/rpg/Marshal.js +16 -0
- package/dist/rpg/Marshal.js.map +1 -1
- package/dist/rpg/Quest.d.ts +15 -0
- package/dist/rpg/Quest.d.ts.map +1 -1
- package/dist/rpg/Quest.js +15 -0
- package/dist/rpg/Quest.js.map +1 -1
- package/dist/rpg/automap.d.ts +15 -0
- package/dist/rpg/automap.d.ts.map +1 -1
- package/dist/rpg/automap.js +15 -0
- package/dist/rpg/automap.js.map +1 -1
- package/dist/simulation/Runtime.d.ts +98 -0
- package/dist/simulation/Runtime.d.ts.map +1 -0
- package/dist/simulation/Runtime.js +91 -0
- package/dist/simulation/Runtime.js.map +1 -0
- package/dist/simulation/Scenario.d.ts +15 -0
- package/dist/simulation/Scenario.d.ts.map +1 -1
- package/dist/simulation/Scenario.js +15 -0
- package/dist/simulation/Scenario.js.map +1 -1
- package/dist/simulation/Turns.d.ts +11 -0
- package/dist/simulation/Turns.d.ts.map +1 -1
- package/dist/simulation/Turns.js +11 -0
- package/dist/simulation/Turns.js.map +1 -1
- package/dist/simulation/index.d.ts +10 -0
- package/dist/simulation/index.d.ts.map +1 -1
- package/dist/simulation/index.js +8 -0
- package/dist/simulation/index.js.map +1 -1
- package/dist/three-d/Models.d.ts +38 -1
- package/dist/three-d/Models.d.ts.map +1 -1
- package/dist/three-d/Models.js +66 -3
- package/dist/three-d/Models.js.map +1 -1
- package/dist/two-d/Game.d.ts +8 -11
- package/dist/two-d/Game.d.ts.map +1 -1
- package/dist/two-d/Game.js.map +1 -1
- package/dist/two-d/Scene2D.d.ts +2 -2
- package/dist/two-d/Scene2D.d.ts.map +1 -1
- package/dist/two-d/Scene2D.js.map +1 -1
- package/dist/two-d/pixi-interop.d.ts +13 -0
- package/dist/two-d/pixi-interop.d.ts.map +1 -0
- package/dist/two-d/pixi-interop.js +12 -0
- package/dist/two-d/pixi-interop.js.map +1 -0
- package/dist/two-d/render/ActorAnimator.d.ts +32 -0
- package/dist/two-d/render/ActorAnimator.d.ts.map +1 -1
- package/dist/two-d/render/ActorAnimator.js +21 -0
- package/dist/two-d/render/ActorAnimator.js.map +1 -1
- package/dist/two-d/render/AnimatedSprite.d.ts +28 -8
- package/dist/two-d/render/AnimatedSprite.d.ts.map +1 -1
- package/dist/two-d/render/AnimatedSprite.js +24 -4
- package/dist/two-d/render/AnimatedSprite.js.map +1 -1
- package/dist/two-d/render/Autotile.d.ts +33 -1
- package/dist/two-d/render/Autotile.d.ts.map +1 -1
- package/dist/two-d/render/Autotile.js +33 -1
- package/dist/two-d/render/Autotile.js.map +1 -1
- package/dist/two-d/render/Camera.d.ts +53 -1
- package/dist/two-d/render/Camera.d.ts.map +1 -1
- package/dist/two-d/render/Camera.js +36 -1
- package/dist/two-d/render/Camera.js.map +1 -1
- package/dist/two-d/render/Capabilities.d.ts +33 -0
- package/dist/two-d/render/Capabilities.d.ts.map +1 -1
- package/dist/two-d/render/Capabilities.js +33 -0
- package/dist/two-d/render/Capabilities.js.map +1 -1
- package/dist/two-d/render/ColorBlindness.d.ts +23 -0
- package/dist/two-d/render/ColorBlindness.d.ts.map +1 -1
- package/dist/two-d/render/ColorBlindness.js +23 -4
- package/dist/two-d/render/ColorBlindness.js.map +1 -1
- package/dist/two-d/render/ColorTransformBatcher.d.ts +75 -4
- package/dist/two-d/render/ColorTransformBatcher.d.ts.map +1 -1
- package/dist/two-d/render/ColorTransformBatcher.js +65 -4
- package/dist/two-d/render/ColorTransformBatcher.js.map +1 -1
- package/dist/two-d/render/LayeredSprite.d.ts +22 -3
- package/dist/two-d/render/LayeredSprite.d.ts.map +1 -1
- package/dist/two-d/render/LayeredSprite.js +19 -0
- package/dist/two-d/render/LayeredSprite.js.map +1 -1
- package/dist/two-d/render/Minimap.d.ts +25 -1
- package/dist/two-d/render/Minimap.d.ts.map +1 -1
- package/dist/two-d/render/Minimap.js +25 -1
- package/dist/two-d/render/Minimap.js.map +1 -1
- package/dist/two-d/render/Particles.d.ts +26 -2
- package/dist/two-d/render/Particles.d.ts.map +1 -1
- package/dist/two-d/render/Particles.js +23 -0
- package/dist/two-d/render/Particles.js.map +1 -1
- package/dist/two-d/render/Projectile.d.ts +14 -0
- package/dist/two-d/render/Projectile.d.ts.map +1 -1
- package/dist/two-d/render/Projectile.js +14 -0
- package/dist/two-d/render/Projectile.js.map +1 -1
- package/dist/two-d/render/ScreenEffects.d.ts +15 -0
- package/dist/two-d/render/ScreenEffects.d.ts.map +1 -1
- package/dist/two-d/render/ScreenEffects.js +15 -0
- package/dist/two-d/render/ScreenEffects.js.map +1 -1
- package/dist/two-d/render/Shape2D.d.ts +97 -0
- package/dist/two-d/render/Shape2D.d.ts.map +1 -0
- package/dist/two-d/render/Shape2D.js +97 -0
- package/dist/two-d/render/Shape2D.js.map +1 -0
- package/dist/two-d/render/SpriteSheet.d.ts +9 -6
- package/dist/two-d/render/SpriteSheet.d.ts.map +1 -1
- package/dist/two-d/render/SpriteSheet.js +7 -0
- package/dist/two-d/render/SpriteSheet.js.map +1 -1
- package/dist/two-d/render/StatusVisuals.d.ts +22 -0
- package/dist/two-d/render/StatusVisuals.d.ts.map +1 -1
- package/dist/two-d/render/StatusVisuals.js +22 -0
- package/dist/two-d/render/StatusVisuals.js.map +1 -1
- package/dist/two-d/render/TileMap.d.ts +65 -3
- package/dist/two-d/render/TileMap.d.ts.map +1 -1
- package/dist/two-d/render/TileMap.js +65 -3
- package/dist/two-d/render/TileMap.js.map +1 -1
- package/dist/two-d/render/TiledMap.d.ts +9 -3
- package/dist/two-d/render/TiledMap.d.ts.map +1 -1
- package/dist/two-d/render/TiledMap.js +9 -3
- package/dist/two-d/render/TiledMap.js.map +1 -1
- package/dist/two-d/render/TintedSprite.d.ts +12 -4
- package/dist/two-d/render/TintedSprite.d.ts.map +1 -1
- package/dist/two-d/render/TintedSprite.js +14 -3
- package/dist/two-d/render/TintedSprite.js.map +1 -1
- package/dist/two-d/render/Types2D.d.ts +39 -0
- package/dist/two-d/render/Types2D.d.ts.map +1 -0
- package/dist/two-d/render/Types2D.js +18 -0
- package/dist/two-d/render/Types2D.js.map +1 -0
- package/dist/two-d/render/Viewport.d.ts +22 -0
- package/dist/two-d/render/Viewport.d.ts.map +1 -1
- package/dist/two-d/render/Viewport.js +22 -0
- package/dist/two-d/render/Viewport.js.map +1 -1
- package/dist/two-d/render/index.d.ts +3 -0
- package/dist/two-d/render/index.d.ts.map +1 -1
- package/dist/two-d/render/index.js +2 -0
- package/dist/two-d/render/index.js.map +1 -1
- package/dist/two-d/stage/DialogueStage.d.ts +16 -0
- package/dist/two-d/stage/DialogueStage.d.ts.map +1 -1
- package/dist/two-d/stage/DialogueStage.js +16 -0
- package/dist/two-d/stage/DialogueStage.js.map +1 -1
- package/dist/two-d/stage/script.d.ts +20 -0
- package/dist/two-d/stage/script.d.ts.map +1 -1
- package/dist/two-d/stage/script.js +20 -0
- package/dist/two-d/stage/script.js.map +1 -1
- package/dist/two-d/stage/twee.d.ts +11 -0
- package/dist/two-d/stage/twee.d.ts.map +1 -1
- package/dist/two-d/stage/twee.js +11 -0
- package/dist/two-d/stage/twee.js.map +1 -1
- package/dist/two-d/ui/Bar.d.ts +16 -3
- package/dist/two-d/ui/Bar.d.ts.map +1 -1
- package/dist/two-d/ui/Bar.js +16 -1
- package/dist/two-d/ui/Bar.js.map +1 -1
- package/dist/two-d/ui/BitmapLabel.d.ts +23 -1
- package/dist/two-d/ui/BitmapLabel.d.ts.map +1 -1
- package/dist/two-d/ui/BitmapLabel.js +23 -1
- package/dist/two-d/ui/BitmapLabel.js.map +1 -1
- package/dist/two-d/ui/Button.d.ts +19 -3
- package/dist/two-d/ui/Button.d.ts.map +1 -1
- package/dist/two-d/ui/Button.js +15 -0
- package/dist/two-d/ui/Button.js.map +1 -1
- package/dist/two-d/ui/FloatingText.d.ts +15 -0
- package/dist/two-d/ui/FloatingText.d.ts.map +1 -1
- package/dist/two-d/ui/FloatingText.js +15 -0
- package/dist/two-d/ui/FloatingText.js.map +1 -1
- package/dist/two-d/ui/HelpScreen.d.ts +16 -0
- package/dist/two-d/ui/HelpScreen.d.ts.map +1 -1
- package/dist/two-d/ui/HelpScreen.js +23 -3
- package/dist/two-d/ui/HelpScreen.js.map +1 -1
- package/dist/two-d/ui/IconGrid.d.ts +27 -1
- package/dist/two-d/ui/IconGrid.d.ts.map +1 -1
- package/dist/two-d/ui/IconGrid.js +37 -5
- package/dist/two-d/ui/IconGrid.js.map +1 -1
- package/dist/two-d/ui/Label.d.ts +10 -0
- package/dist/two-d/ui/Label.d.ts.map +1 -1
- package/dist/two-d/ui/Label.js +10 -0
- package/dist/two-d/ui/Label.js.map +1 -1
- package/dist/two-d/ui/ListView.d.ts +21 -1
- package/dist/two-d/ui/ListView.d.ts.map +1 -1
- package/dist/two-d/ui/ListView.js +19 -0
- package/dist/two-d/ui/ListView.js.map +1 -1
- package/dist/two-d/ui/LoadingScreen.d.ts +24 -1
- package/dist/two-d/ui/LoadingScreen.d.ts.map +1 -1
- package/dist/two-d/ui/LoadingScreen.js +24 -1
- package/dist/two-d/ui/LoadingScreen.js.map +1 -1
- package/dist/two-d/ui/MessageBox.d.ts +21 -2
- package/dist/two-d/ui/MessageBox.d.ts.map +1 -1
- package/dist/two-d/ui/MessageBox.js +19 -0
- package/dist/two-d/ui/MessageBox.js.map +1 -1
- package/dist/two-d/ui/NinePatch.d.ts +15 -2
- package/dist/two-d/ui/NinePatch.d.ts.map +1 -1
- package/dist/two-d/ui/NinePatch.js +13 -1
- package/dist/two-d/ui/NinePatch.js.map +1 -1
- package/dist/two-d/ui/RebindScreen.d.ts +15 -0
- package/dist/two-d/ui/RebindScreen.d.ts.map +1 -1
- package/dist/two-d/ui/RebindScreen.js +15 -0
- package/dist/two-d/ui/RebindScreen.js.map +1 -1
- package/dist/two-d/ui/StatsScreen.d.ts +15 -0
- package/dist/two-d/ui/StatsScreen.d.ts.map +1 -1
- package/dist/two-d/ui/StatsScreen.js +15 -0
- package/dist/two-d/ui/StatsScreen.js.map +1 -1
- package/dist/two-d/ui/Toast.d.ts +14 -1
- package/dist/two-d/ui/Toast.d.ts.map +1 -1
- package/dist/two-d/ui/Toast.js +12 -0
- package/dist/two-d/ui/Toast.js.map +1 -1
- package/dist/two-d/ui/Tooltip.d.ts +14 -0
- package/dist/two-d/ui/Tooltip.d.ts.map +1 -1
- package/dist/two-d/ui/Tooltip.js +14 -0
- package/dist/two-d/ui/Tooltip.js.map +1 -1
- package/dist/two-d/ui/VerticalLabel.d.ts +18 -0
- package/dist/two-d/ui/VerticalLabel.d.ts.map +1 -1
- package/dist/two-d/ui/VerticalLabel.js +18 -0
- package/dist/two-d/ui/VerticalLabel.js.map +1 -1
- package/dist/two-d/ui/Window.d.ts +12 -0
- package/dist/two-d/ui/Window.d.ts.map +1 -1
- package/dist/two-d/ui/Window.js +12 -0
- package/dist/two-d/ui/Window.js.map +1 -1
- package/dist/two-d/ui/theme.d.ts +47 -3
- package/dist/two-d/ui/theme.d.ts.map +1 -1
- package/dist/two-d/ui/theme.js +45 -1
- package/dist/two-d/ui/theme.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/world/Encounters.d.ts +12 -0
- package/dist/world/Encounters.d.ts.map +1 -1
- package/dist/world/Encounters.js.map +1 -1
- package/dist/world/Environment.d.ts +15 -1
- package/dist/world/Environment.d.ts.map +1 -1
- package/dist/world/Environment.js +15 -1
- package/dist/world/Environment.js.map +1 -1
- package/dist/world/Overworld.d.ts +14 -0
- package/dist/world/Overworld.d.ts.map +1 -1
- package/dist/world/Overworld.js +14 -0
- package/dist/world/Overworld.js.map +1 -1
- package/dist/world/TurnClock.d.ts +16 -0
- package/dist/world/TurnClock.d.ts.map +1 -1
- package/dist/world/TurnClock.js +16 -0
- package/dist/world/TurnClock.js.map +1 -1
- package/dist/world/World.d.ts +14 -0
- package/dist/world/World.d.ts.map +1 -1
- package/dist/world/World.js +14 -0
- package/dist/world/World.js.map +1 -1
- package/package.json +10 -3
package/dist/board/chess.js
CHANGED
|
@@ -7,7 +7,18 @@
|
|
|
7
7
|
* Draws by fifty moves, repetition or dead material are not detected either -
|
|
8
8
|
* claims, not rules of movement, and a minigame ends on mate or stalemate.
|
|
9
9
|
*/
|
|
10
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* 'e4' to 28 and back - tests read `sq('e4')` rather than bare numbers.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* import { sq } from '@datamoc/mw_games/board';
|
|
16
|
+
*
|
|
17
|
+
* console.log(sq('a1')); // 0
|
|
18
|
+
* console.log(sq('e4')); // 28
|
|
19
|
+
* console.log(sq('h8')); // 63
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
11
22
|
export function sq(name) {
|
|
12
23
|
const file = name.charCodeAt(0) - 97;
|
|
13
24
|
const rank = name.charCodeAt(1) - 49;
|
|
@@ -16,6 +27,18 @@ export function sq(name) {
|
|
|
16
27
|
}
|
|
17
28
|
return rank * 8 + file;
|
|
18
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* The inverse of `sq`: an index 0-63 back to its algebraic name.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* import { squareName } from '@datamoc/mw_games/board';
|
|
36
|
+
*
|
|
37
|
+
* console.log(squareName(0)); // 'a1'
|
|
38
|
+
* console.log(squareName(28)); // 'e4'
|
|
39
|
+
* console.log(squareName(63)); // 'h8'
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
19
42
|
export function squareName(sq) {
|
|
20
43
|
return String.fromCharCode(97 + (sq & 7)) + String.fromCharCode(49 + (sq >> 3));
|
|
21
44
|
}
|
|
@@ -25,6 +48,17 @@ export function squareName(sq) {
|
|
|
25
48
|
* Placement, side to move, castling rights and the en passant square are read;
|
|
26
49
|
* the halfmove clock and move number are not (draw claims are out of scope),
|
|
27
50
|
* and both kings must be present or there is nothing to judge.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* import { parseFen, sq } from '@datamoc/mw_games/board';
|
|
55
|
+
*
|
|
56
|
+
* // Scholar's mate position, black to move, every castling right still on the books
|
|
57
|
+
* const state = parseFen('r1bqkbnr/pppp1Qpp/2n5/4p3/2B1P3/8/PPPP1PPP/RNB1K1NR b KQkq - 0 4');
|
|
58
|
+
*
|
|
59
|
+
* console.log(state.turn); // 'black'
|
|
60
|
+
* console.log(state.board[sq('f7')]?.side); // 'white' - the queen that just gave check
|
|
61
|
+
* ```
|
|
28
62
|
*/
|
|
29
63
|
export function parseFen(fen) {
|
|
30
64
|
const parts = fen.trim().split(/\s+/);
|
|
@@ -94,7 +128,18 @@ function rankOf(sq) {
|
|
|
94
128
|
function onBoard(file, rank) {
|
|
95
129
|
return file >= 0 && file < 8 && rank >= 0 && rank < 8;
|
|
96
130
|
}
|
|
97
|
-
/**
|
|
131
|
+
/**
|
|
132
|
+
* The standard opening array, white to move with every right intact.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```ts
|
|
136
|
+
* import { startingChess, legalMoves } from '@datamoc/mw_games/board';
|
|
137
|
+
*
|
|
138
|
+
* const state = startingChess();
|
|
139
|
+
* console.log(state.turn); // 'white'
|
|
140
|
+
* console.log(legalMoves(state).length); // 20 - 16 pawn moves, 4 knight moves
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
98
143
|
export function startingChess() {
|
|
99
144
|
const back = ['rook', 'knight', 'bishop', 'queen', 'king', 'bishop', 'knight', 'rook'];
|
|
100
145
|
const board = new Array(64).fill(null);
|
|
@@ -112,6 +157,19 @@ export function startingChess() {
|
|
|
112
157
|
};
|
|
113
158
|
}
|
|
114
159
|
/** an independent copy, for searching a move without playing it */
|
|
160
|
+
/**
|
|
161
|
+
* A deep copy, safe to mutate (via `applyMove`) without touching the original - what
|
|
162
|
+
* `legalMoves` uses to try a move and check it does not leave the mover in check.
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```ts
|
|
166
|
+
* import { startingChess, cloneChess } from '@datamoc/mw_games/board';
|
|
167
|
+
*
|
|
168
|
+
* const state = startingChess();
|
|
169
|
+
* const trial = cloneChess(state);
|
|
170
|
+
* console.log(trial !== state, trial.turn); // true 'white'
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
115
173
|
export function cloneChess(state) {
|
|
116
174
|
return {
|
|
117
175
|
board: state.board.map((p) => (p ? { side: p.side, kind: p.kind } : null)),
|
|
@@ -208,10 +266,26 @@ function findKing(board, side) {
|
|
|
208
266
|
throw new Error(`a position without a ${side} king cannot be judged`);
|
|
209
267
|
return king;
|
|
210
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* @example
|
|
271
|
+
* ```ts
|
|
272
|
+
* import { startingChess, inCheck } from '@datamoc/mw_games/board';
|
|
273
|
+
*
|
|
274
|
+
* console.log(inCheck(startingChess(), 'white')); // false - nobody is in check at the start
|
|
275
|
+
* ```
|
|
276
|
+
*/
|
|
211
277
|
export function inCheck(state, side) {
|
|
212
278
|
return attacks(state.board, findKing(state.board, side), other(side));
|
|
213
279
|
}
|
|
214
|
-
/** every move the piece could make ignoring its own king - checks filter later
|
|
280
|
+
/** every move the piece could make ignoring its own king - checks filter later
|
|
281
|
+
*
|
|
282
|
+
* @example
|
|
283
|
+
* ```ts
|
|
284
|
+
* import { startingChess, legalMoves } from '@datamoc/mw_games/board';
|
|
285
|
+
*
|
|
286
|
+
* console.log(legalMoves(startingChess()).length); // 20 - the opening position's own count
|
|
287
|
+
* ```
|
|
288
|
+
*/
|
|
215
289
|
function pseudoMoves(state, from) {
|
|
216
290
|
const piece = state.board[from];
|
|
217
291
|
if (!piece || piece.side !== state.turn)
|
|
@@ -412,6 +486,16 @@ export function legalMoves(state) {
|
|
|
412
486
|
/**
|
|
413
487
|
* Plays a move, mutating the position. Refuses anything `legalMoves` would not
|
|
414
488
|
* list - a silent illegal move is how a minigame corrupts its own board.
|
|
489
|
+
*
|
|
490
|
+
* @example
|
|
491
|
+
* ```ts
|
|
492
|
+
* import { startingChess, sq, applyMove } from '@datamoc/mw_games/board';
|
|
493
|
+
*
|
|
494
|
+
* const state = startingChess();
|
|
495
|
+
* applyMove(state, { from: sq('e2'), to: sq('e4') });
|
|
496
|
+
* console.log(state.turn); // 'black'
|
|
497
|
+
* console.log(state.board[sq('e4')]); // { side: 'white', kind: 'pawn' }
|
|
498
|
+
* ```
|
|
415
499
|
*/
|
|
416
500
|
export function applyMove(state, move) {
|
|
417
501
|
const piece = state.board[move.from];
|
|
@@ -428,7 +512,15 @@ export function applyMove(state, move) {
|
|
|
428
512
|
}
|
|
429
513
|
playRaw(state, raw);
|
|
430
514
|
}
|
|
431
|
-
/** mate, stalemate, or more game: whoever just moved is judged through the side to play
|
|
515
|
+
/** mate, stalemate, or more game: whoever just moved is judged through the side to play
|
|
516
|
+
*
|
|
517
|
+
* @example
|
|
518
|
+
* ```ts
|
|
519
|
+
* import { startingChess, gameResult } from '@datamoc/mw_games/board';
|
|
520
|
+
*
|
|
521
|
+
* console.log(gameResult(startingChess())); // 'ongoing'
|
|
522
|
+
* ```
|
|
523
|
+
*/
|
|
432
524
|
export function gameResult(state) {
|
|
433
525
|
if (legalMoves(state).length > 0)
|
|
434
526
|
return 'ongoing';
|
package/dist/board/chess.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chess.js","sourceRoot":"","sources":["../../src/board/chess.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chess.js","sourceRoot":"","sources":["../../src/board/chess.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,21 @@
|
|
|
8
8
|
* can only ever move one way and an unlocked achievement can never disagree with the
|
|
9
9
|
* count behind it. Descriptions are display text `mwg` never reads; persistence is the
|
|
10
10
|
* usual definitions-fresh, progress-saved split (`QuestLog`'s own convention).
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { Achievements } from '@datamoc/mw_games/core';
|
|
15
|
+
*
|
|
16
|
+
* const achievements = new Achievements();
|
|
17
|
+
* achievements.define({ id: 'first-blood', counter: 'kills', target: 1 });
|
|
18
|
+
* achievements.define({ id: 'slayer', counter: 'kills', target: 100 });
|
|
19
|
+
*
|
|
20
|
+
* const unlocked = achievements.increment('kills', 1);
|
|
21
|
+
* console.log(unlocked); // ['first-blood']
|
|
22
|
+
*
|
|
23
|
+
* // later, a UI drains and announces whatever unlocked since it last checked
|
|
24
|
+
* const toast = achievements.drainNew();
|
|
25
|
+
* ```
|
|
11
26
|
*/
|
|
12
27
|
export interface AchievementDef {
|
|
13
28
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Achievements.d.ts","sourceRoot":"","sources":["../../src/core/Achievements.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Achievements.d.ts","sourceRoot":"","sources":["../../src/core/Achievements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IAEX,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAEhB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IAEf,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,YAAY;IACxB,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,MAAM,CAA6B;IAE3C,iFAAiF;IACjF,OAAO,CAAC,KAAK,CAAgB;IAE7B,MAAM,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,CAEvC;IAED,wEAAwE;IACxE,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7B;IAED;;;;;OAKG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,EAAE,CAa/C;IAED,yFAAyF;IACzF,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAI5B;IAED,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAItD;IAED,8EAA8E;IAC9E,QAAQ,IAAI,MAAM,EAAE,CAInB;IAED,MAAM,IAAI;QAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;KAAE,CAEvC;IAED,oGAAoG;IACpG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;KAAE,GAAG,YAAY,CAMjG;CACD"}
|
|
@@ -8,6 +8,21 @@
|
|
|
8
8
|
* can only ever move one way and an unlocked achievement can never disagree with the
|
|
9
9
|
* count behind it. Descriptions are display text `mwg` never reads; persistence is the
|
|
10
10
|
* usual definitions-fresh, progress-saved split (`QuestLog`'s own convention).
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { Achievements } from '@datamoc/mw_games/core';
|
|
15
|
+
*
|
|
16
|
+
* const achievements = new Achievements();
|
|
17
|
+
* achievements.define({ id: 'first-blood', counter: 'kills', target: 1 });
|
|
18
|
+
* achievements.define({ id: 'slayer', counter: 'kills', target: 100 });
|
|
19
|
+
*
|
|
20
|
+
* const unlocked = achievements.increment('kills', 1);
|
|
21
|
+
* console.log(unlocked); // ['first-blood']
|
|
22
|
+
*
|
|
23
|
+
* // later, a UI drains and announces whatever unlocked since it last checked
|
|
24
|
+
* const toast = achievements.drainNew();
|
|
25
|
+
* ```
|
|
11
26
|
*/
|
|
12
27
|
export class Achievements {
|
|
13
28
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Achievements.js","sourceRoot":"","sources":["../../src/core/Achievements.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Achievements.js","sourceRoot":"","sources":["../../src/core/Achievements.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,18 @@ export interface CollectionOptions {
|
|
|
23
23
|
* to go stale, and two `Collection` objects over the same name agree trivially.
|
|
24
24
|
* Records come back in insertion order. Built for logs and bestiaries (hundreds
|
|
25
25
|
* of records), not for anything scanned per frame.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* import { Collection } from '@datamoc/mw_games/core';
|
|
30
|
+
*
|
|
31
|
+
* const quests = new Collection('quests');
|
|
32
|
+
* quests.put({ id: 'rats', stage: 1, done: false });
|
|
33
|
+
* quests.put({ id: 'shopkeeper', stage: 3, done: true });
|
|
34
|
+
*
|
|
35
|
+
* const active = quests.where((q) => !q.done);
|
|
36
|
+
* console.log(quests.size, active.length); // 2 1
|
|
37
|
+
* ```
|
|
26
38
|
*/
|
|
27
39
|
export declare class Collection {
|
|
28
40
|
private readonly prefix;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../src/core/Collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IACjC,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,OAAO,CAAC,EAAE,WAAW,CAAC;CACtB;AAED
|
|
1
|
+
{"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../src/core/Collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IACjC,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,OAAO,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAU;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IAEtC,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,EAIxD;IAED,4CAA4C;IAC5C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,uCAAuC;IACvC,GAAG,IAAI,QAAQ,EAAE,CAEhB;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAGpC;IAED,sDAAsD;IACtD,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAQ1B;IAED,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEvB;IAED,6FAA6F;IAC7F,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,OAAO,GAAG,QAAQ,EAAE,CAE1D;IAED,oEAAoE;IACpE,KAAK,IAAI,IAAI,CAEZ;IAED,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,IAAI;CAGZ"}
|
package/dist/core/Collection.js
CHANGED
|
@@ -9,6 +9,18 @@ import { defaultStorage } from './Save.js';
|
|
|
9
9
|
* to go stale, and two `Collection` objects over the same name agree trivially.
|
|
10
10
|
* Records come back in insertion order. Built for logs and bestiaries (hundreds
|
|
11
11
|
* of records), not for anything scanned per frame.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* import { Collection } from '@datamoc/mw_games/core';
|
|
16
|
+
*
|
|
17
|
+
* const quests = new Collection('quests');
|
|
18
|
+
* quests.put({ id: 'rats', stage: 1, done: false });
|
|
19
|
+
* quests.put({ id: 'shopkeeper', stage: 3, done: true });
|
|
20
|
+
*
|
|
21
|
+
* const active = quests.where((q) => !q.done);
|
|
22
|
+
* console.log(quests.size, active.length); // 2 1
|
|
23
|
+
* ```
|
|
12
24
|
*/
|
|
13
25
|
export class Collection {
|
|
14
26
|
constructor(name, options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/core/Collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAoB,MAAM,WAAW,CAAC;AAkB7D
|
|
1
|
+
{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/core/Collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAoB,MAAM,WAAW,CAAC;AAkB7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,UAAU;IAItB,YAAY,IAAY,EAAE,OAAO,GAAsB,EAAE;QACxD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,UAAU,OAAO,CAAC,SAAS,IAAI,SAAS,IAAI,IAAI,GAAG,CAAC;QAClE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,cAAc,EAAE,CAAC;IACpD,CAAC;IAED,4CAA4C;IAC5C,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,uCAAuC;IACvC,GAAG;QACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,GAAG,CAAC,EAAU;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAChD,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;IACjE,CAAC;IAED,sDAAsD;IACtD,GAAG,CAAC,MAAgB;QACnB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,EAAU;QAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,6FAA6F;IAC7F,KAAK,CAAC,SAAwC;QAC7C,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,oEAAoE;IACpE,KAAK;QACJ,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IAEO,IAAI;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,CAAC;IAEO,IAAI,CAAC,GAAW;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAW,CAAa,CAAC;IACjE,CAAC;CACD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A logical identity for a live object, so events, saves, AI targets and buffs can name a
|
|
3
|
+
* creature or item without holding the object itself - a sprite can be swapped, a save can
|
|
4
|
+
* be reloaded into fresh objects, but the id names the same thing across both.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { EntityRegistry, type EntityId } from '@datamoc/mw_games/core';
|
|
9
|
+
*
|
|
10
|
+
* interface Monster { name: string }
|
|
11
|
+
*
|
|
12
|
+
* const monsters = new EntityRegistry<Monster>();
|
|
13
|
+
* const rat: EntityId = monsters.add({ name: 'rat' });
|
|
14
|
+
*
|
|
15
|
+
* console.log(monsters.get(rat)?.name); // 'rat'
|
|
16
|
+
* console.log(monsters.idOf(monsters.get(rat)!)); // same id back - the reverse lookup a
|
|
17
|
+
* // game passes as `SimulationRuntime`'s or `Scheduler`'s `actorId`
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export type EntityId = string;
|
|
21
|
+
/**
|
|
22
|
+
* Assigns and looks up stable ids for live objects.
|
|
23
|
+
*
|
|
24
|
+
* Deliberately not an ECS: it holds no components and imposes no shape on `T` beyond being
|
|
25
|
+
* an object. A game that needs one still owns its own entity type; this only solves the
|
|
26
|
+
* "how do I name it" problem `roguelike.Scheduler.toJSON`/`simulation.SimulationRuntime.
|
|
27
|
+
* snapshot` already need an answer to.
|
|
28
|
+
*/
|
|
29
|
+
export declare class EntityRegistry<T extends object> {
|
|
30
|
+
private entities;
|
|
31
|
+
private ids;
|
|
32
|
+
private sequence;
|
|
33
|
+
/** registers a new entity and returns the id it is known by from now on */
|
|
34
|
+
add(entity: T): EntityId;
|
|
35
|
+
get(id: EntityId): T | undefined;
|
|
36
|
+
/** the reverse lookup - what a game passes as another API's `actorId`/`id` callback */
|
|
37
|
+
idOf(entity: T): EntityId | undefined;
|
|
38
|
+
has(id: EntityId): boolean;
|
|
39
|
+
remove(id: EntityId): boolean;
|
|
40
|
+
get size(): number;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=Entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../src/core/Entity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B;;;;;;;GAOG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM;IAC3C,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,QAAQ,CAAK;IAErB,2EAA2E;IAC3E,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,CAQvB;IAED,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,CAAC,GAAG,SAAS,CAE/B;IAED,uFAAuF;IACvF,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,GAAG,SAAS,CAEpC;IAED,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAEzB;IAED,MAAM,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAO5B;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;CACD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assigns and looks up stable ids for live objects.
|
|
3
|
+
*
|
|
4
|
+
* Deliberately not an ECS: it holds no components and imposes no shape on `T` beyond being
|
|
5
|
+
* an object. A game that needs one still owns its own entity type; this only solves the
|
|
6
|
+
* "how do I name it" problem `roguelike.Scheduler.toJSON`/`simulation.SimulationRuntime.
|
|
7
|
+
* snapshot` already need an answer to.
|
|
8
|
+
*/
|
|
9
|
+
export class EntityRegistry {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.entities = new Map();
|
|
12
|
+
this.ids = new Map();
|
|
13
|
+
this.sequence = 0;
|
|
14
|
+
}
|
|
15
|
+
/** registers a new entity and returns the id it is known by from now on */
|
|
16
|
+
add(entity) {
|
|
17
|
+
const existing = this.ids.get(entity);
|
|
18
|
+
if (existing !== undefined)
|
|
19
|
+
return existing;
|
|
20
|
+
const id = `e${this.sequence++}`;
|
|
21
|
+
this.entities.set(id, entity);
|
|
22
|
+
this.ids.set(entity, id);
|
|
23
|
+
return id;
|
|
24
|
+
}
|
|
25
|
+
get(id) {
|
|
26
|
+
return this.entities.get(id);
|
|
27
|
+
}
|
|
28
|
+
/** the reverse lookup - what a game passes as another API's `actorId`/`id` callback */
|
|
29
|
+
idOf(entity) {
|
|
30
|
+
return this.ids.get(entity);
|
|
31
|
+
}
|
|
32
|
+
has(id) {
|
|
33
|
+
return this.entities.has(id);
|
|
34
|
+
}
|
|
35
|
+
remove(id) {
|
|
36
|
+
const entity = this.entities.get(id);
|
|
37
|
+
if (entity === undefined)
|
|
38
|
+
return false;
|
|
39
|
+
this.entities.delete(id);
|
|
40
|
+
this.ids.delete(entity);
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
get size() {
|
|
44
|
+
return this.entities.size;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=Entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../src/core/Entity.ts"],"names":[],"mappings":"AAqBA;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IAA3B;QACS,aAAQ,GAAG,IAAI,GAAG,EAAe,CAAC;QAClC,QAAG,GAAG,IAAI,GAAG,EAAe,CAAC;QAC7B,aAAQ,GAAG,CAAC,CAAC;IAsCtB,CAAC;IApCA,2EAA2E;IAC3E,GAAG,CAAC,MAAS;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QAE5C,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,GAAG,CAAC,EAAY;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,uFAAuF;IACvF,IAAI,CAAC,MAAS;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,EAAY;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,EAAY;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAEvC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC3B,CAAC;CACD"}
|
package/dist/core/Feedback.d.ts
CHANGED
|
@@ -9,7 +9,17 @@ export interface FeedbackResponse {
|
|
|
9
9
|
ok: boolean;
|
|
10
10
|
status: number;
|
|
11
11
|
}
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Small, injectable transport for a game's own feedback endpoint.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { FeedbackClient } from '@datamoc/mw_games/core';
|
|
18
|
+
*
|
|
19
|
+
* const feedback = new FeedbackClient({ endpoint: 'https://example.com/api/feedback' });
|
|
20
|
+
* await feedback.submit({ message: 'the boss fight softlocks on floor 5', contact: 'a@b.com' });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
13
23
|
export declare class FeedbackClient extends HttpTransport {
|
|
14
24
|
constructor(options: FeedbackOptions);
|
|
15
25
|
submit(request: FeedbackRequest): Promise<FeedbackResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Feedback.d.ts","sourceRoot":"","sources":["../../src/core/Feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACpD;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CACf;AAED
|
|
1
|
+
{"version":3,"file":"Feedback.d.ts","sourceRoot":"","sources":["../../src/core/Feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACpD;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAChD,YAAY,OAAO,EAAE,eAAe,EAEnC;IAEK,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAYhE;CACD"}
|
package/dist/core/Feedback.js
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { HttpTransport } from './HttpTransport.js';
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Small, injectable transport for a game's own feedback endpoint.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { FeedbackClient } from '@datamoc/mw_games/core';
|
|
8
|
+
*
|
|
9
|
+
* const feedback = new FeedbackClient({ endpoint: 'https://example.com/api/feedback' });
|
|
10
|
+
* await feedback.submit({ message: 'the boss fight softlocks on floor 5', contact: 'a@b.com' });
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
3
13
|
export class FeedbackClient extends HttpTransport {
|
|
4
14
|
constructor(options) {
|
|
5
15
|
super(options, 'feedback');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Feedback.js","sourceRoot":"","sources":["../../src/core/Feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,oBAAoB,CAAC;AAe9E
|
|
1
|
+
{"version":3,"file":"Feedback.js","sourceRoot":"","sources":["../../src/core/Feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,oBAAoB,CAAC;AAe9E;;;;;;;;;;GAUG;AACH,MAAM,OAAO,cAAe,SAAQ,aAAa;IAChD,YAAY,OAAwB;QACnC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAwB;QACpC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC7B,MAAM;aACN,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
|
package/dist/core/Hex.d.ts
CHANGED
|
@@ -12,6 +12,20 @@
|
|
|
12
12
|
* cube math round-trip back to integers; nothing about it is rot.js's, which is deliberate
|
|
13
13
|
* (see the roadmap: rot.js's own hex `Path` topology is doubled-width coordinates built for
|
|
14
14
|
* *pointy-top* hexagons, and does not match this orientation).
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { hexNeighbors, hexDistance, hexLine, hexRange, hexToPixel, pixelToHex } from '@datamoc/mw_games/core';
|
|
19
|
+
*
|
|
20
|
+
* const start = { x: 2, y: 2 };
|
|
21
|
+
* const neighbours = hexNeighbors(start.x, start.y); // the 6 adjacent cells
|
|
22
|
+
* const cellsAway = hexDistance(start, { x: 4, y: 1 });
|
|
23
|
+
* const path = hexLine(start, { x: 4, y: 1 }); // every cell the line crosses
|
|
24
|
+
* const nearby = hexRange(start, 2); // every cell within 2 hexes
|
|
25
|
+
*
|
|
26
|
+
* const pixel = hexToPixel(start.x, start.y, 32, 28); // tile width/height in pixels
|
|
27
|
+
* const backToHex = pixelToHex(pixel.x, pixel.y, 32, 28); // round-trips to { x: 2, y: 2 }
|
|
28
|
+
* ```
|
|
15
29
|
*/
|
|
16
30
|
export interface HexCoord {
|
|
17
31
|
x: number;
|
package/dist/core/Hex.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hex.d.ts","sourceRoot":"","sources":["../../src/core/Hex.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Hex.d.ts","sourceRoot":"","sources":["../../src/core/Hex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,MAAM,WAAW,QAAQ;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AA+BD,kDAAkD;AAClD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAG7D;AAED,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAI5D;AAoBD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAsB5D;AAED,iFAAiF;AACjF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAYrE;AAED,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAKhH;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,CASlG"}
|
package/dist/core/Hex.js
CHANGED
|
@@ -12,6 +12,20 @@
|
|
|
12
12
|
* cube math round-trip back to integers; nothing about it is rot.js's, which is deliberate
|
|
13
13
|
* (see the roadmap: rot.js's own hex `Path` topology is doubled-width coordinates built for
|
|
14
14
|
* *pointy-top* hexagons, and does not match this orientation).
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { hexNeighbors, hexDistance, hexLine, hexRange, hexToPixel, pixelToHex } from '@datamoc/mw_games/core';
|
|
19
|
+
*
|
|
20
|
+
* const start = { x: 2, y: 2 };
|
|
21
|
+
* const neighbours = hexNeighbors(start.x, start.y); // the 6 adjacent cells
|
|
22
|
+
* const cellsAway = hexDistance(start, { x: 4, y: 1 });
|
|
23
|
+
* const path = hexLine(start, { x: 4, y: 1 }); // every cell the line crosses
|
|
24
|
+
* const nearby = hexRange(start, 2); // every cell within 2 hexes
|
|
25
|
+
*
|
|
26
|
+
* const pixel = hexToPixel(start.x, start.y, 32, 28); // tile width/height in pixels
|
|
27
|
+
* const backToHex = pixelToHex(pixel.x, pixel.y, 32, 28); // round-trips to { x: 2, y: 2 }
|
|
28
|
+
* ```
|
|
15
29
|
*/
|
|
16
30
|
function toCube(x, y) {
|
|
17
31
|
const cx = x;
|
package/dist/core/Hex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hex.js","sourceRoot":"","sources":["../../src/core/Hex.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Hex.js","sourceRoot":"","sources":["../../src/core/Hex.ts"],"names":[],"mappings":"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"}
|
package/dist/core/Hooks.d.ts
CHANGED
|
@@ -11,6 +11,20 @@
|
|
|
11
11
|
* fixed and their own documentation attached. They used to be two line-for-line copies of the
|
|
12
12
|
* same class; the difference between them was never the registry, only what a handler is
|
|
13
13
|
* handed when it runs.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { HookRegistry } from '@datamoc/mw_games/core';
|
|
18
|
+
*
|
|
19
|
+
* const hooks = new HookRegistry<[amount: number]>();
|
|
20
|
+
* const poisonRing = {};
|
|
21
|
+
*
|
|
22
|
+
* hooks.on('turnStart', (amount) => console.log('poison ticks for', amount), poisonRing);
|
|
23
|
+
* hooks.emit('turnStart', 3);
|
|
24
|
+
*
|
|
25
|
+
* // the ring is removed - every hook it registered comes off in one call
|
|
26
|
+
* hooks.offSource(poisonRing);
|
|
27
|
+
* ```
|
|
14
28
|
*/
|
|
15
29
|
export interface Hook<TArgs extends unknown[]> {
|
|
16
30
|
event: string;
|
package/dist/core/Hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hooks.d.ts","sourceRoot":"","sources":["../../src/core/Hooks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Hooks.d.ts","sourceRoot":"","sources":["../../src/core/Hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,IAAI,CAAC,KAAK,SAAS,OAAO,EAAE;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IAElC,iGAAiG;IACjG,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE;IAChD,OAAO,CAAC,KAAK,CAAqB;IAElC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAE3E;IAED,wFAAwF;IACxF,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAE3C;IAED,8FAA8F;IAC9F,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAE/B;IAED,uEAAuE;IACvE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,CAMxC;IAED,2DAA2D;IAC3D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,KAAK,IAAI,IAAI,CAEZ;CACD"}
|