@datamoc/mw_games 0.3.1 → 0.4.1
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 +401 -395
- 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 +46 -0
- package/dist/actors/Affix.d.ts.map +1 -1
- package/dist/actors/Affix.js +32 -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 +60 -0
- package/dist/actors/Barrier.d.ts.map +1 -0
- package/dist/actors/Barrier.js +70 -0
- package/dist/actors/Barrier.js.map +1 -0
- package/dist/actors/Charges.d.ts +35 -0
- package/dist/actors/Charges.d.ts.map +1 -1
- package/dist/actors/Charges.js +26 -0
- package/dist/actors/Charges.js.map +1 -1
- package/dist/actors/Equipment.d.ts +48 -0
- package/dist/actors/Equipment.d.ts.map +1 -1
- package/dist/actors/Equipment.js +51 -1
- package/dist/actors/Equipment.js.map +1 -1
- package/dist/actors/Inventory.d.ts +70 -3
- package/dist/actors/Inventory.d.ts.map +1 -1
- package/dist/actors/Inventory.js +109 -5
- package/dist/actors/Inventory.js.map +1 -1
- package/dist/actors/ItemState.d.ts +24 -2
- package/dist/actors/ItemState.d.ts.map +1 -1
- package/dist/actors/ItemState.js +31 -2
- 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 +16 -2
- package/dist/actors/Loot.js.map +1 -1
- package/dist/actors/Progression.d.ts +23 -1
- package/dist/actors/Progression.d.ts.map +1 -1
- package/dist/actors/Progression.js +21 -1
- package/dist/actors/Progression.js.map +1 -1
- package/dist/actors/Resource.d.ts +30 -0
- package/dist/actors/Resource.d.ts.map +1 -1
- package/dist/actors/Resource.js +22 -0
- 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 +27 -0
- package/dist/actors/SkillPoints.d.ts.map +1 -1
- package/dist/actors/SkillPoints.js +29 -0
- package/dist/actors/SkillPoints.js.map +1 -1
- package/dist/actors/StatBlock.d.ts +16 -0
- package/dist/actors/StatBlock.d.ts.map +1 -1
- package/dist/actors/StatBlock.js +21 -0
- package/dist/actors/StatBlock.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 +13 -2
- package/dist/actors/Support.d.ts.map +1 -1
- package/dist/actors/Support.js +13 -2
- 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/index.d.ts +8 -5
- package/dist/actors/index.d.ts.map +1 -1
- package/dist/actors/index.js +3 -2
- package/dist/actors/index.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 +37 -0
- package/dist/assets/ByteProgress.d.ts.map +1 -0
- package/dist/assets/ByteProgress.js +54 -0
- package/dist/assets/ByteProgress.js.map +1 -0
- package/dist/assets/Streaming.d.ts +11 -1
- package/dist/assets/Streaming.d.ts.map +1 -1
- package/dist/assets/Streaming.js +11 -1
- package/dist/assets/Streaming.js.map +1 -1
- package/dist/assets/index.d.ts +11 -52
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +9 -80
- package/dist/assets/index.js.map +1 -1
- package/dist/assets/loader.d.ts +45 -0
- package/dist/assets/loader.d.ts.map +1 -0
- package/dist/assets/loader.js +72 -0
- package/dist/assets/loader.js.map +1 -0
- package/dist/assets/paths.d.ts +50 -0
- package/dist/assets/paths.d.ts.map +1 -0
- package/dist/assets/paths.js +59 -0
- package/dist/assets/paths.js.map +1 -0
- 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 +12 -2
- 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 +13 -2
- package/dist/battle/Field.d.ts.map +1 -1
- package/dist/battle/Field.js +3 -3
- package/dist/battle/Field.js.map +1 -1
- package/dist/battle/Hooks.d.ts +23 -13
- package/dist/battle/Hooks.d.ts.map +1 -1
- package/dist/battle/Hooks.js +36 -18
- 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/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 +48 -0
- package/dist/core/Hooks.d.ts.map +1 -0
- package/dist/core/Hooks.js +33 -0
- package/dist/core/Hooks.js.map +1 -0
- package/dist/core/Input.d.ts +53 -0
- package/dist/core/Input.d.ts.map +1 -1
- package/dist/core/Input.js +126 -21
- 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 +19 -0
- package/dist/core/PlayerInput.d.ts.map +1 -1
- package/dist/core/PlayerInput.js +25 -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 +38 -5
- package/dist/core/Random.d.ts.map +1 -1
- package/dist/core/Random.js +38 -5
- 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 +29 -6
- package/dist/core/Scene.d.ts.map +1 -1
- package/dist/core/Scene.js +31 -6
- package/dist/core/Scene.js.map +1 -1
- package/dist/core/SceneStack.d.ts +28 -4
- package/dist/core/SceneStack.d.ts.map +1 -1
- package/dist/core/SceneStack.js +24 -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 +7 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +3 -1
- package/dist/core/index.js.map +1 -1
- 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 +39 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +48 -1
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -5
- package/dist/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 +16 -4
- package/dist/roguelike/Boss.d.ts.map +1 -1
- package/dist/roguelike/Boss.js +18 -6
- package/dist/roguelike/Boss.js.map +1 -1
- package/dist/roguelike/Combat.d.ts +23 -11
- package/dist/roguelike/Combat.d.ts.map +1 -1
- package/dist/roguelike/Combat.js +22 -16
- package/dist/roguelike/Combat.js.map +1 -1
- package/dist/roguelike/ContentRoll.d.ts +53 -0
- package/dist/roguelike/ContentRoll.d.ts.map +1 -0
- package/dist/roguelike/ContentRoll.js +48 -0
- package/dist/roguelike/ContentRoll.js.map +1 -0
- 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 +57 -0
- package/dist/roguelike/DungeonParity.d.ts.map +1 -0
- package/dist/roguelike/DungeonParity.js +78 -0
- package/dist/roguelike/DungeonParity.js.map +1 -0
- 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 +59 -0
- package/dist/roguelike/Features.d.ts.map +1 -0
- package/dist/roguelike/Features.js +76 -0
- package/dist/roguelike/Features.js.map +1 -0
- 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 +15 -1
- package/dist/roguelike/MonsterAI.js.map +1 -1
- package/dist/roguelike/MultiStageAbility.d.ts +59 -0
- package/dist/roguelike/MultiStageAbility.d.ts.map +1 -0
- package/dist/roguelike/MultiStageAbility.js +76 -0
- package/dist/roguelike/MultiStageAbility.js.map +1 -0
- 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/RoomBuilders.d.ts +60 -0
- package/dist/roguelike/RoomBuilders.d.ts.map +1 -0
- package/dist/roguelike/RoomBuilders.js +57 -0
- package/dist/roguelike/RoomBuilders.js.map +1 -0
- 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 +67 -1
- package/dist/roguelike/Targeting.d.ts.map +1 -1
- package/dist/roguelike/Targeting.js +53 -1
- package/dist/roguelike/Targeting.js.map +1 -1
- package/dist/roguelike/TriggerTracker.d.ts +46 -0
- package/dist/roguelike/TriggerTracker.d.ts.map +1 -0
- package/dist/roguelike/TriggerTracker.js +59 -0
- package/dist/roguelike/TriggerTracker.js.map +1 -0
- package/dist/roguelike/generate.d.ts +90 -1
- package/dist/roguelike/generate.d.ts.map +1 -1
- package/dist/roguelike/generate.js +79 -11
- package/dist/roguelike/generate.js.map +1 -1
- package/dist/roguelike/index.d.ts +17 -5
- package/dist/roguelike/index.d.ts.map +1 -1
- package/dist/roguelike/index.js +8 -2
- 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 +44 -8
- package/dist/rpg/EventRunner.d.ts.map +1 -1
- package/dist/rpg/EventRunner.js +15 -13
- package/dist/rpg/EventRunner.js.map +1 -1
- package/dist/rpg/FreeMover.d.ts +16 -2
- package/dist/rpg/FreeMover.d.ts.map +1 -1
- package/dist/rpg/FreeMover.js +19 -5
- 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 +16 -2
- package/dist/rpg/GridMover.d.ts.map +1 -1
- package/dist/rpg/GridMover.js +19 -5
- 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/MovableSprite.d.ts +25 -0
- package/dist/rpg/MovableSprite.d.ts.map +1 -0
- package/dist/rpg/MovableSprite.js +2 -0
- package/dist/rpg/MovableSprite.js.map +1 -0
- package/dist/rpg/Quest.d.ts +21 -1
- package/dist/rpg/Quest.d.ts.map +1 -1
- package/dist/rpg/Quest.js +21 -1
- package/dist/rpg/Quest.js.map +1 -1
- package/dist/rpg/automap.d.ts +39 -2
- package/dist/rpg/automap.d.ts.map +1 -1
- package/dist/rpg/automap.js +24 -1
- package/dist/rpg/automap.js.map +1 -1
- package/dist/rpg/index.d.ts +4 -4
- package/dist/rpg/index.d.ts.map +1 -1
- package/dist/rpg/index.js +1 -1
- package/dist/rpg/index.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/Character3D.d.ts +26 -1
- package/dist/three-d/Character3D.d.ts.map +1 -1
- package/dist/three-d/Character3D.js +31 -14
- package/dist/three-d/Character3D.js.map +1 -1
- package/dist/three-d/Collision3D.d.ts +63 -0
- package/dist/three-d/Collision3D.d.ts.map +1 -0
- package/dist/three-d/Collision3D.js +75 -0
- package/dist/three-d/Collision3D.js.map +1 -0
- package/dist/three-d/Models.js +1 -1
- package/dist/three-d/index.d.ts +3 -1
- package/dist/three-d/index.d.ts.map +1 -1
- package/dist/three-d/index.js +1 -0
- package/dist/three-d/index.js.map +1 -1
- package/dist/{core → two-d}/Game.d.ts +15 -17
- package/dist/two-d/Game.d.ts.map +1 -0
- package/dist/{core → two-d}/Game.js +3 -3
- package/dist/two-d/Game.js.map +1 -0
- package/dist/two-d/Scene2D.d.ts +19 -0
- package/dist/two-d/Scene2D.d.ts.map +1 -0
- package/dist/two-d/Scene2D.js +23 -0
- package/dist/two-d/Scene2D.js.map +1 -0
- package/dist/two-d/index.d.ts +20 -0
- package/dist/two-d/index.d.ts.map +1 -0
- package/dist/two-d/index.js +18 -0
- package/dist/two-d/index.js.map +1 -0
- 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.map +1 -0
- package/dist/two-d/render/ActorAnimator.js.map +1 -0
- package/dist/{render → two-d/render}/AnimatedSprite.d.ts +4 -4
- package/dist/two-d/render/AnimatedSprite.d.ts.map +1 -0
- package/dist/two-d/render/AnimatedSprite.js.map +1 -0
- package/dist/two-d/render/Autotile.d.ts.map +1 -0
- package/dist/two-d/render/Autotile.js.map +1 -0
- package/dist/two-d/render/Camera.d.ts.map +1 -0
- package/dist/{render → two-d/render}/Camera.js +2 -2
- package/dist/two-d/render/Camera.js.map +1 -0
- package/dist/two-d/render/Capabilities.d.ts.map +1 -0
- package/dist/two-d/render/Capabilities.js.map +1 -0
- package/dist/two-d/render/ColorBlindness.d.ts.map +1 -0
- package/dist/two-d/render/ColorBlindness.js.map +1 -0
- package/dist/{render → two-d/render}/ColorTransformBatcher.d.ts +8 -3
- package/dist/two-d/render/ColorTransformBatcher.d.ts.map +1 -0
- package/dist/{render → two-d/render}/ColorTransformBatcher.js +11 -5
- package/dist/two-d/render/ColorTransformBatcher.js.map +1 -0
- package/dist/{render → two-d/render}/LayeredSprite.d.ts +3 -3
- package/dist/two-d/render/LayeredSprite.d.ts.map +1 -0
- package/dist/two-d/render/LayeredSprite.js.map +1 -0
- package/dist/two-d/render/Minimap.d.ts.map +1 -0
- package/dist/{render → two-d/render}/Minimap.js +1 -1
- package/dist/two-d/render/Minimap.js.map +1 -0
- package/dist/two-d/render/Particles.d.ts +109 -0
- package/dist/two-d/render/Particles.d.ts.map +1 -0
- package/dist/two-d/render/Particles.js +178 -0
- package/dist/two-d/render/Particles.js.map +1 -0
- package/dist/two-d/render/Projectile.d.ts.map +1 -0
- package/dist/two-d/render/Projectile.js.map +1 -0
- package/dist/two-d/render/ScreenEffects.d.ts +71 -0
- package/dist/two-d/render/ScreenEffects.d.ts.map +1 -0
- package/dist/two-d/render/ScreenEffects.js +133 -0
- package/dist/two-d/render/ScreenEffects.js.map +1 -0
- package/dist/two-d/render/Shape2D.d.ts +40 -0
- package/dist/two-d/render/Shape2D.d.ts.map +1 -0
- package/dist/two-d/render/Shape2D.js +40 -0
- package/dist/two-d/render/Shape2D.js.map +1 -0
- package/dist/{render → two-d/render}/SpriteSheet.d.ts +9 -6
- package/dist/two-d/render/SpriteSheet.d.ts.map +1 -0
- package/dist/{render → two-d/render}/SpriteSheet.js +8 -1
- package/dist/two-d/render/SpriteSheet.js.map +1 -0
- package/dist/two-d/render/StatusVisuals.d.ts.map +1 -0
- package/dist/two-d/render/StatusVisuals.js.map +1 -0
- package/dist/two-d/render/TileMap.d.ts.map +1 -0
- package/dist/{render → two-d/render}/TileMap.js +1 -1
- package/dist/two-d/render/TileMap.js.map +1 -0
- package/dist/{rpg → two-d/render}/TiledMap.d.ts +2 -2
- package/dist/two-d/render/TiledMap.d.ts.map +1 -0
- package/dist/{rpg → two-d/render}/TiledMap.js +2 -2
- package/dist/two-d/render/TiledMap.js.map +1 -0
- package/dist/{render → two-d/render}/TintedSprite.d.ts +3 -2
- package/dist/two-d/render/TintedSprite.d.ts.map +1 -0
- package/dist/{render → two-d/render}/TintedSprite.js +5 -1
- package/dist/two-d/render/TintedSprite.js.map +1 -0
- package/dist/two-d/render/Types2D.d.ts +27 -0
- package/dist/two-d/render/Types2D.d.ts.map +1 -0
- package/dist/two-d/render/Types2D.js +6 -0
- package/dist/two-d/render/Types2D.js.map +1 -0
- package/dist/two-d/render/Viewport.d.ts.map +1 -0
- package/dist/two-d/render/Viewport.js.map +1 -0
- package/dist/{render → two-d/render}/index.d.ts +9 -0
- package/dist/two-d/render/index.d.ts.map +1 -0
- package/dist/{render → two-d/render}/index.js +5 -0
- package/dist/two-d/render/index.js.map +1 -0
- package/dist/{stage → two-d/stage}/DialogueStage.d.ts +16 -0
- package/dist/two-d/stage/DialogueStage.d.ts.map +1 -0
- package/dist/{stage → two-d/stage}/DialogueStage.js +17 -1
- package/dist/two-d/stage/DialogueStage.js.map +1 -0
- package/dist/two-d/stage/index.d.ts.map +1 -0
- package/dist/two-d/stage/index.js.map +1 -0
- package/dist/{stage → two-d/stage}/script.d.ts +20 -0
- package/dist/two-d/stage/script.d.ts.map +1 -0
- package/dist/{stage → two-d/stage}/script.js +0 -0
- package/dist/two-d/stage/script.js.map +1 -0
- package/dist/{stage → two-d/stage}/twee.d.ts +11 -0
- package/dist/two-d/stage/twee.d.ts.map +1 -0
- package/dist/{stage → two-d/stage}/twee.js +11 -0
- package/dist/two-d/stage/twee.js.map +1 -0
- package/dist/two-d/ui/Bar.d.ts.map +1 -0
- package/dist/two-d/ui/Bar.js.map +1 -0
- package/dist/two-d/ui/BitmapLabel.d.ts.map +1 -0
- package/dist/two-d/ui/BitmapLabel.js.map +1 -0
- package/dist/{ui → two-d/ui}/Button.d.ts +11 -4
- package/dist/two-d/ui/Button.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/Button.js +20 -4
- package/dist/two-d/ui/Button.js.map +1 -0
- package/dist/two-d/ui/EventDialogue.d.ts +23 -0
- package/dist/two-d/ui/EventDialogue.d.ts.map +1 -0
- package/dist/two-d/ui/EventDialogue.js +27 -0
- package/dist/two-d/ui/EventDialogue.js.map +1 -0
- package/dist/two-d/ui/FloatingText.d.ts.map +1 -0
- package/dist/two-d/ui/FloatingText.js.map +1 -0
- package/dist/{ui → two-d/ui}/HelpScreen.d.ts +1 -1
- package/dist/two-d/ui/HelpScreen.d.ts.map +1 -0
- package/dist/two-d/ui/HelpScreen.js.map +1 -0
- package/dist/{ui → two-d/ui}/IconGrid.d.ts +3 -2
- package/dist/two-d/ui/IconGrid.d.ts.map +1 -0
- package/dist/two-d/ui/IconGrid.js.map +1 -0
- package/dist/two-d/ui/Label.d.ts.map +1 -0
- package/dist/two-d/ui/Label.js.map +1 -0
- package/dist/{ui → two-d/ui}/ListView.d.ts +3 -2
- package/dist/two-d/ui/ListView.d.ts.map +1 -0
- package/dist/two-d/ui/ListView.js.map +1 -0
- package/dist/{ui → two-d/ui}/LoadingScreen.d.ts +1 -1
- package/dist/two-d/ui/LoadingScreen.d.ts.map +1 -0
- package/dist/two-d/ui/LoadingScreen.js.map +1 -0
- package/dist/{ui → two-d/ui}/MessageBox.d.ts +1 -1
- package/dist/two-d/ui/MessageBox.d.ts.map +1 -0
- package/dist/two-d/ui/MessageBox.js.map +1 -0
- package/dist/{ui → two-d/ui}/NinePatch.d.ts +3 -2
- package/dist/two-d/ui/NinePatch.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/NinePatch.js +1 -1
- package/dist/two-d/ui/NinePatch.js.map +1 -0
- package/dist/{ui → two-d/ui}/RebindScreen.d.ts +1 -1
- package/dist/two-d/ui/RebindScreen.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/RebindScreen.js +1 -1
- package/dist/two-d/ui/RebindScreen.js.map +1 -0
- package/dist/two-d/ui/StatsScreen.d.ts.map +1 -0
- package/dist/two-d/ui/StatsScreen.js.map +1 -0
- package/dist/{ui → two-d/ui}/Toast.d.ts +2 -1
- package/dist/two-d/ui/Toast.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/Toast.js +1 -1
- package/dist/two-d/ui/Toast.js.map +1 -0
- package/dist/two-d/ui/Tooltip.d.ts +94 -0
- package/dist/two-d/ui/Tooltip.d.ts.map +1 -0
- package/dist/two-d/ui/Tooltip.js +149 -0
- package/dist/two-d/ui/Tooltip.js.map +1 -0
- package/dist/two-d/ui/VerticalLabel.d.ts.map +1 -0
- package/dist/two-d/ui/VerticalLabel.js.map +1 -0
- package/dist/{ui → two-d/ui}/Window.d.ts +2 -2
- package/dist/two-d/ui/Window.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/Window.js +1 -1
- package/dist/two-d/ui/Window.js.map +1 -0
- package/dist/two-d/ui/WindowStack.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/WindowStack.js +1 -1
- package/dist/two-d/ui/WindowStack.js.map +1 -0
- package/dist/{ui → two-d/ui}/index.d.ts +4 -0
- package/dist/two-d/ui/index.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/index.js +2 -0
- package/dist/two-d/ui/index.js.map +1 -0
- package/dist/{ui → two-d/ui}/theme.d.ts +4 -4
- package/dist/two-d/ui/theme.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/theme.js +1 -1
- package/dist/two-d/ui/theme.js.map +1 -0
- 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 +1 -1
- package/dist/world/Encounters.js.map +1 -1
- package/dist/world/Environment.d.ts +27 -4
- package/dist/world/Environment.d.ts.map +1 -1
- package/dist/world/Environment.js +33 -10
- 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 +228 -147
- package/dist/core/Game.d.ts.map +0 -1
- package/dist/core/Game.js.map +0 -1
- package/dist/render/ActorAnimator.d.ts.map +0 -1
- package/dist/render/ActorAnimator.js.map +0 -1
- package/dist/render/AnimatedSprite.d.ts.map +0 -1
- package/dist/render/AnimatedSprite.js.map +0 -1
- package/dist/render/Autotile.d.ts.map +0 -1
- package/dist/render/Autotile.js.map +0 -1
- package/dist/render/Camera.d.ts.map +0 -1
- package/dist/render/Camera.js.map +0 -1
- package/dist/render/Capabilities.d.ts.map +0 -1
- package/dist/render/Capabilities.js.map +0 -1
- package/dist/render/ColorBlindness.d.ts.map +0 -1
- package/dist/render/ColorBlindness.js.map +0 -1
- package/dist/render/ColorTransformBatcher.d.ts.map +0 -1
- package/dist/render/ColorTransformBatcher.js.map +0 -1
- package/dist/render/LayeredSprite.d.ts.map +0 -1
- package/dist/render/LayeredSprite.js.map +0 -1
- package/dist/render/Minimap.d.ts.map +0 -1
- package/dist/render/Minimap.js.map +0 -1
- package/dist/render/Projectile.d.ts.map +0 -1
- package/dist/render/Projectile.js.map +0 -1
- package/dist/render/SpriteSheet.d.ts.map +0 -1
- package/dist/render/SpriteSheet.js.map +0 -1
- package/dist/render/StatusVisuals.d.ts.map +0 -1
- package/dist/render/StatusVisuals.js.map +0 -1
- package/dist/render/TileMap.d.ts.map +0 -1
- package/dist/render/TileMap.js.map +0 -1
- package/dist/render/TintedSprite.d.ts.map +0 -1
- package/dist/render/TintedSprite.js.map +0 -1
- package/dist/render/Viewport.d.ts.map +0 -1
- package/dist/render/Viewport.js.map +0 -1
- package/dist/render/index.d.ts.map +0 -1
- package/dist/render/index.js.map +0 -1
- package/dist/rpg/TiledMap.d.ts.map +0 -1
- package/dist/rpg/TiledMap.js.map +0 -1
- package/dist/stage/DialogueStage.d.ts.map +0 -1
- package/dist/stage/DialogueStage.js.map +0 -1
- package/dist/stage/index.d.ts.map +0 -1
- package/dist/stage/index.js.map +0 -1
- package/dist/stage/script.d.ts.map +0 -1
- package/dist/stage/script.js.map +0 -1
- package/dist/stage/twee.d.ts.map +0 -1
- package/dist/stage/twee.js.map +0 -1
- package/dist/ui/Bar.d.ts.map +0 -1
- package/dist/ui/Bar.js.map +0 -1
- package/dist/ui/BitmapLabel.d.ts.map +0 -1
- package/dist/ui/BitmapLabel.js.map +0 -1
- package/dist/ui/Button.d.ts.map +0 -1
- package/dist/ui/Button.js.map +0 -1
- package/dist/ui/FloatingText.d.ts.map +0 -1
- package/dist/ui/FloatingText.js.map +0 -1
- package/dist/ui/HelpScreen.d.ts.map +0 -1
- package/dist/ui/HelpScreen.js.map +0 -1
- package/dist/ui/IconGrid.d.ts.map +0 -1
- package/dist/ui/IconGrid.js.map +0 -1
- package/dist/ui/Label.d.ts.map +0 -1
- package/dist/ui/Label.js.map +0 -1
- package/dist/ui/ListView.d.ts.map +0 -1
- package/dist/ui/ListView.js.map +0 -1
- package/dist/ui/LoadingScreen.d.ts.map +0 -1
- package/dist/ui/LoadingScreen.js.map +0 -1
- package/dist/ui/MessageBox.d.ts.map +0 -1
- package/dist/ui/MessageBox.js.map +0 -1
- package/dist/ui/NinePatch.d.ts.map +0 -1
- package/dist/ui/NinePatch.js.map +0 -1
- package/dist/ui/RebindScreen.d.ts.map +0 -1
- package/dist/ui/RebindScreen.js.map +0 -1
- package/dist/ui/StatsScreen.d.ts.map +0 -1
- package/dist/ui/StatsScreen.js.map +0 -1
- package/dist/ui/Toast.d.ts.map +0 -1
- package/dist/ui/Toast.js.map +0 -1
- package/dist/ui/VerticalLabel.d.ts.map +0 -1
- package/dist/ui/VerticalLabel.js.map +0 -1
- package/dist/ui/Window.d.ts.map +0 -1
- package/dist/ui/Window.js.map +0 -1
- package/dist/ui/WindowStack.d.ts.map +0 -1
- package/dist/ui/WindowStack.js.map +0 -1
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/theme.d.ts.map +0 -1
- package/dist/ui/theme.js.map +0 -1
- /package/dist/{render → two-d/render}/ActorAnimator.d.ts +0 -0
- /package/dist/{render → two-d/render}/ActorAnimator.js +0 -0
- /package/dist/{render → two-d/render}/AnimatedSprite.js +0 -0
- /package/dist/{render → two-d/render}/Autotile.d.ts +0 -0
- /package/dist/{render → two-d/render}/Autotile.js +0 -0
- /package/dist/{render → two-d/render}/Camera.d.ts +0 -0
- /package/dist/{render → two-d/render}/Capabilities.d.ts +0 -0
- /package/dist/{render → two-d/render}/Capabilities.js +0 -0
- /package/dist/{render → two-d/render}/ColorBlindness.d.ts +0 -0
- /package/dist/{render → two-d/render}/ColorBlindness.js +0 -0
- /package/dist/{render → two-d/render}/LayeredSprite.js +0 -0
- /package/dist/{render → two-d/render}/Minimap.d.ts +0 -0
- /package/dist/{render → two-d/render}/Projectile.d.ts +0 -0
- /package/dist/{render → two-d/render}/Projectile.js +0 -0
- /package/dist/{render → two-d/render}/StatusVisuals.d.ts +0 -0
- /package/dist/{render → two-d/render}/StatusVisuals.js +0 -0
- /package/dist/{render → two-d/render}/TileMap.d.ts +0 -0
- /package/dist/{render → two-d/render}/Viewport.d.ts +0 -0
- /package/dist/{render → two-d/render}/Viewport.js +0 -0
- /package/dist/{stage → two-d/stage}/index.d.ts +0 -0
- /package/dist/{stage → two-d/stage}/index.js +0 -0
- /package/dist/{ui → two-d/ui}/Bar.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/Bar.js +0 -0
- /package/dist/{ui → two-d/ui}/BitmapLabel.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/BitmapLabel.js +0 -0
- /package/dist/{ui → two-d/ui}/FloatingText.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/FloatingText.js +0 -0
- /package/dist/{ui → two-d/ui}/HelpScreen.js +0 -0
- /package/dist/{ui → two-d/ui}/IconGrid.js +0 -0
- /package/dist/{ui → two-d/ui}/Label.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/Label.js +0 -0
- /package/dist/{ui → two-d/ui}/ListView.js +0 -0
- /package/dist/{ui → two-d/ui}/LoadingScreen.js +0 -0
- /package/dist/{ui → two-d/ui}/MessageBox.js +0 -0
- /package/dist/{ui → two-d/ui}/StatsScreen.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/StatsScreen.js +0 -0
- /package/dist/{ui → two-d/ui}/VerticalLabel.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/VerticalLabel.js +0 -0
- /package/dist/{ui → two-d/ui}/WindowStack.d.ts +0 -0
package/dist/actors/Traits.d.ts
CHANGED
|
@@ -24,6 +24,20 @@ export interface AssignedTrait {
|
|
|
24
24
|
*
|
|
25
25
|
* @param count clamped to `pool.length` - asking for more traits than exist in the pool
|
|
26
26
|
* assigns every one of them rather than throwing
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* import { assignTraits, StatBlock, type TraitDef } from '@datamoc/mw_games/actors';
|
|
31
|
+
*
|
|
32
|
+
* const stats = new StatBlock({ base: { strength: 10, speed: 10 } });
|
|
33
|
+
* const pool: TraitDef[] = [
|
|
34
|
+
* { name: 'strong', modifiers: [{ stat: 'strength', op: 'add', value: 3 }] },
|
|
35
|
+
* { name: 'fast', modifiers: [{ stat: 'speed', op: 'add', value: 3 }] },
|
|
36
|
+
* ];
|
|
37
|
+
*
|
|
38
|
+
* const assigned = assignTraits(stats, pool, 1); // one random trait, applied permanently
|
|
39
|
+
* console.log(assigned[0].trait.name);
|
|
40
|
+
* ```
|
|
27
41
|
*/
|
|
28
42
|
export declare function assignTraits(stats: StatBlock, pool: readonly TraitDef[], count: number): AssignedTrait[];
|
|
29
43
|
//# sourceMappingURL=Traits.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Traits.d.ts","sourceRoot":"","sources":["../../src/actors/Traits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1D;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;IAE/C,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,uFAAuF;AACvF,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf;AAED
|
|
1
|
+
{"version":3,"file":"Traits.d.ts","sourceRoot":"","sources":["../../src/actors/Traits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1D;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;IAE/C,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,uFAAuF;AACvF,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAOxG"}
|
package/dist/actors/Traits.js
CHANGED
|
@@ -8,6 +8,20 @@ import * as Random from '../core/Random.js';
|
|
|
8
8
|
*
|
|
9
9
|
* @param count clamped to `pool.length` - asking for more traits than exist in the pool
|
|
10
10
|
* assigns every one of them rather than throwing
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { assignTraits, StatBlock, type TraitDef } from '@datamoc/mw_games/actors';
|
|
15
|
+
*
|
|
16
|
+
* const stats = new StatBlock({ base: { strength: 10, speed: 10 } });
|
|
17
|
+
* const pool: TraitDef[] = [
|
|
18
|
+
* { name: 'strong', modifiers: [{ stat: 'strength', op: 'add', value: 3 }] },
|
|
19
|
+
* { name: 'fast', modifiers: [{ stat: 'speed', op: 'add', value: 3 }] },
|
|
20
|
+
* ];
|
|
21
|
+
*
|
|
22
|
+
* const assigned = assignTraits(stats, pool, 1); // one random trait, applied permanently
|
|
23
|
+
* console.log(assigned[0].trait.name);
|
|
24
|
+
* ```
|
|
11
25
|
*/
|
|
12
26
|
export function assignTraits(stats, pool, count) {
|
|
13
27
|
const picked = Random.shuffle([...pool]).slice(0, Math.min(count, pool.length));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Traits.js","sourceRoot":"","sources":["../../src/actors/Traits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAsB5C
|
|
1
|
+
{"version":3,"file":"Traits.js","sourceRoot":"","sources":["../../src/actors/Traits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAsB5C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,YAAY,CAAC,KAAgB,EAAE,IAAyB,EAAE,KAAa;IACtF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS;YAAE,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACnF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/actors/craft.d.ts
CHANGED
|
@@ -21,6 +21,22 @@ export interface Recipe {
|
|
|
21
21
|
* spent for nothing.
|
|
22
22
|
*
|
|
23
23
|
* @returns whether the recipe resolved
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* import { craft, Inventory, type Recipe } from '@datamoc/mw_games/actors';
|
|
28
|
+
*
|
|
29
|
+
* const bag = new Inventory();
|
|
30
|
+
* bag.add({ id: 'wood', quantity: 3, stackable: true });
|
|
31
|
+
* bag.add({ id: 'iron', quantity: 1, stackable: true });
|
|
32
|
+
*
|
|
33
|
+
* const recipe: Recipe = {
|
|
34
|
+
* ingredients: [{ id: 'wood', quantity: 2 }, { id: 'iron', quantity: 1 }],
|
|
35
|
+
* result: { id: 'torch', quantity: 1 },
|
|
36
|
+
* };
|
|
37
|
+
*
|
|
38
|
+
* const made = craft(bag, recipe); // true - both ingredients present, consumed, torch added
|
|
39
|
+
* ```
|
|
24
40
|
*/
|
|
25
41
|
export declare function craft(inventory: Inventory, recipe: Recipe): boolean;
|
|
26
42
|
//# sourceMappingURL=craft.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"craft.d.ts","sourceRoot":"","sources":["../../src/actors/craft.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,MAAM;IACtB,qDAAqD;IACrD,WAAW,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAErD,2FAA2F;IAC3F,MAAM,EAAE,aAAa,CAAC;CACtB;AAED
|
|
1
|
+
{"version":3,"file":"craft.d.ts","sourceRoot":"","sources":["../../src/actors/craft.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,MAAM;IACtB,qDAAqD;IACrD,WAAW,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAErD,2FAA2F;IAC3F,MAAM,EAAE,aAAa,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAqBnE"}
|
package/dist/actors/craft.js
CHANGED
|
@@ -11,6 +11,22 @@
|
|
|
11
11
|
* spent for nothing.
|
|
12
12
|
*
|
|
13
13
|
* @returns whether the recipe resolved
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { craft, Inventory, type Recipe } from '@datamoc/mw_games/actors';
|
|
18
|
+
*
|
|
19
|
+
* const bag = new Inventory();
|
|
20
|
+
* bag.add({ id: 'wood', quantity: 3, stackable: true });
|
|
21
|
+
* bag.add({ id: 'iron', quantity: 1, stackable: true });
|
|
22
|
+
*
|
|
23
|
+
* const recipe: Recipe = {
|
|
24
|
+
* ingredients: [{ id: 'wood', quantity: 2 }, { id: 'iron', quantity: 1 }],
|
|
25
|
+
* result: { id: 'torch', quantity: 1 },
|
|
26
|
+
* };
|
|
27
|
+
*
|
|
28
|
+
* const made = craft(bag, recipe); // true - both ingredients present, consumed, torch added
|
|
29
|
+
* ```
|
|
14
30
|
*/
|
|
15
31
|
export function craft(inventory, recipe) {
|
|
16
32
|
const needed = new Map();
|
package/dist/actors/craft.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"craft.js","sourceRoot":"","sources":["../../src/actors/craft.ts"],"names":[],"mappings":"AAUA
|
|
1
|
+
{"version":3,"file":"craft.js","sourceRoot":"","sources":["../../src/actors/craft.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,KAAK,CAAC,SAAoB,EAAE,MAAc;IACzD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnF,CAAC;IACD,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ;YAAE,OAAO,KAAK,CAAC;IACrD,CAAC;IAED,qFAAqF;IACrF,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACxD,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAE;QACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;KAC7B,CAAC,CAAC,CAAC;IAEJ,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW;QAAE,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClG,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,QAAQ;QAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACd,CAAC"}
|
package/dist/actors/index.d.ts
CHANGED
|
@@ -6,14 +6,15 @@ export { skillCheck } from './skillCheck.ts';
|
|
|
6
6
|
export { SkillPoints } from './SkillPoints.ts';
|
|
7
7
|
export type { SkillPointsOptions } from './SkillPoints.ts';
|
|
8
8
|
export { EquipmentSlots } from './Equipment.ts';
|
|
9
|
-
export type { EquippableItem, EquipmentOptions } from './Equipment.ts';
|
|
9
|
+
export type { EquippableItem, EquipmentOptions, SavedEquipment } from './Equipment.ts';
|
|
10
10
|
export { Inventory } from './Inventory.ts';
|
|
11
|
-
export type { InventoryItem, InventoryOptions } from './Inventory.ts';
|
|
11
|
+
export type { InventoryItem, InventoryOptions, ItemDefinition, SavedInventory, SavedInventoryItem } from './Inventory.ts';
|
|
12
12
|
export { craft } from './craft.ts';
|
|
13
13
|
export type { Recipe } from './craft.ts';
|
|
14
14
|
export { applyStatusEffect } from './StatusEffect.ts';
|
|
15
15
|
export type { EffectClock, StatusEffectOptions, StatusEffectHandle } from './StatusEffect.ts';
|
|
16
16
|
export { identify, enchant, damageItem, repairItem } from './ItemState.ts';
|
|
17
|
+
export type { AffixUpgradePolicy } from './ItemState.ts';
|
|
17
18
|
export { applyItemStatusEffect } from './ItemStatusEffect.ts';
|
|
18
19
|
export type { ItemStatusEffectOptions, ItemStatusEffectHandle } from './ItemStatusEffect.ts';
|
|
19
20
|
export { Charges } from './Charges.ts';
|
|
@@ -22,16 +23,18 @@ export { rollLoot } from './Loot.ts';
|
|
|
22
23
|
export type { LootEntry, LootTable } from './Loot.ts';
|
|
23
24
|
export { Advancement } from './Advancement.ts';
|
|
24
25
|
export type { AdvancementOption, AdvancementTier, AdvancementTierKind, AdvancementTrack } from './Advancement.ts';
|
|
25
|
-
export { rollAffix, affixOf, applyAffix, removeAffix } from './Affix.ts';
|
|
26
|
-
export type { AffixDef, AffixTable, AffixTrigger } from './Affix.ts';
|
|
26
|
+
export { rollAffix, affixOf, applyAffix, removeAffix, copyAffix, matchesContext } from './Affix.ts';
|
|
27
|
+
export type { AffixDef, AffixTable, AffixTrigger, AttackKind, AffixContext } from './Affix.ts';
|
|
27
28
|
export { scaledModifiers } from './Scaling.ts';
|
|
28
29
|
export type { LevelScale } from './Scaling.ts';
|
|
29
30
|
export { assignAppearances, Appearances } from './Appearances.ts';
|
|
30
31
|
export type { AppearanceTable } from './Appearances.ts';
|
|
31
32
|
export { buy, sell } from './Shop.ts';
|
|
32
33
|
export type { Price, ShopOptions } from './Shop.ts';
|
|
33
|
-
export { canAfford, spend } from './Resource.ts';
|
|
34
|
+
export { canAfford, spend, refund, convertToCharges } from './Resource.ts';
|
|
34
35
|
export type { ResourceCost } from './Resource.ts';
|
|
36
|
+
export { Barrier } from './Barrier.ts';
|
|
37
|
+
export type { BarrierLayer } from './Barrier.ts';
|
|
35
38
|
export { assignTraits } from './Traits.ts';
|
|
36
39
|
export type { TraitDef, AssignedTrait } from './Traits.ts';
|
|
37
40
|
export { AuraField } from './Aura.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actors/index.ts"],"names":[],"mappings":"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"}
|
package/dist/actors/index.js
CHANGED
|
@@ -11,11 +11,12 @@ export { applyItemStatusEffect } from './ItemStatusEffect.js';
|
|
|
11
11
|
export { Charges } from './Charges.js';
|
|
12
12
|
export { rollLoot } from './Loot.js';
|
|
13
13
|
export { Advancement } from './Advancement.js';
|
|
14
|
-
export { rollAffix, affixOf, applyAffix, removeAffix } from './Affix.js';
|
|
14
|
+
export { rollAffix, affixOf, applyAffix, removeAffix, copyAffix, matchesContext } from './Affix.js';
|
|
15
15
|
export { scaledModifiers } from './Scaling.js';
|
|
16
16
|
export { assignAppearances, Appearances } from './Appearances.js';
|
|
17
17
|
export { buy, sell } from './Shop.js';
|
|
18
|
-
export { canAfford, spend } from './Resource.js';
|
|
18
|
+
export { canAfford, spend, refund, convertToCharges } from './Resource.js';
|
|
19
|
+
export { Barrier } from './Barrier.js';
|
|
19
20
|
export { assignTraits } from './Traits.js';
|
|
20
21
|
export { AuraField } from './Aura.js';
|
|
21
22
|
export { SupportLedger } from './Support.js';
|
package/dist/actors/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpG,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -8,6 +8,14 @@
|
|
|
8
8
|
* save file.
|
|
9
9
|
*
|
|
10
10
|
* @returns true if the check succeeds
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { skillCheck } from '@datamoc/mw_games/actors';
|
|
15
|
+
*
|
|
16
|
+
* const success = skillCheck(5, 15); // proficiency 5, difficulty 15, default d20 roll
|
|
17
|
+
* const withCustomDice = skillCheck(5, 15, () => 12); // an injected, non-random roll
|
|
18
|
+
* ```
|
|
11
19
|
*/
|
|
12
20
|
export declare function skillCheck(value: number, difficulty: number, roll?: () => number): boolean;
|
|
13
21
|
//# sourceMappingURL=skillCheck.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skillCheck.d.ts","sourceRoot":"","sources":["../../src/actors/skillCheck.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"skillCheck.d.ts","sourceRoot":"","sources":["../../src/actors/skillCheck.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CACzB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAAM,MAAkC,GAC5C,OAAO,CAET"}
|
|
@@ -9,6 +9,14 @@ import * as Random from '../core/Random.js';
|
|
|
9
9
|
* save file.
|
|
10
10
|
*
|
|
11
11
|
* @returns true if the check succeeds
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* import { skillCheck } from '@datamoc/mw_games/actors';
|
|
16
|
+
*
|
|
17
|
+
* const success = skillCheck(5, 15); // proficiency 5, difficulty 15, default d20 roll
|
|
18
|
+
* const withCustomDice = skillCheck(5, 15, () => 12); // an injected, non-random roll
|
|
19
|
+
* ```
|
|
12
20
|
*/
|
|
13
21
|
export function skillCheck(value, difficulty, roll = () => Random.range(1, 20)) {
|
|
14
22
|
return value + roll() >= difficulty;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skillCheck.js","sourceRoot":"","sources":["../../src/actors/skillCheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C
|
|
1
|
+
{"version":3,"file":"skillCheck.js","sourceRoot":"","sources":["../../src/actors/skillCheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CACzB,KAAa,EACb,UAAkB,EAClB,IAAI,GAAiB,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;IAE9C,OAAO,KAAK,GAAG,IAAI,EAAE,IAAI,UAAU,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Real transferred-byte progress for a real origin - a server, a dev server, or a desktop
|
|
3
|
+
* host serving through a virtual origin rather than raw `file://` (see `desktop/`'s own
|
|
4
|
+
* `SetVirtualHostNameToFolderMapping` for why that distinction matters). This is deliberately
|
|
5
|
+
* separate from `load`'s own `AssetProgress`: that one reports a fraction of assets finished
|
|
6
|
+
* because, as its own doc comment says, "Pixi's own loaders do not expose bytes transferred
|
|
7
|
+
* across every asset type uniformly" - reporting a number this project cannot actually back
|
|
8
|
+
* would be exactly the kind of silent-fallback dishonesty this project's own conventions rule
|
|
9
|
+
* out elsewhere. `fetch()` itself is blocked from `file://` entirely, so calling this from a
|
|
10
|
+
* compiled data-URI build throws the same way any other `fetch()` there would; it exists for
|
|
11
|
+
* item 137's "a server or standalone WebView2/Chromium host can stream/cache assets
|
|
12
|
+
* incrementally and report byte progress" capability tier, not the `file://` one.
|
|
13
|
+
*/
|
|
14
|
+
export interface ByteProgress {
|
|
15
|
+
loaded: number;
|
|
16
|
+
/** null when the server never sent a Content-Length (chunked transfer, some dev servers) - a caller only gets a real fraction when this is known */
|
|
17
|
+
total: number | null;
|
|
18
|
+
}
|
|
19
|
+
export type OnByteProgress = (progress: ByteProgress) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Fetches `url`, reporting real bytes transferred as they arrive, and resolves to the
|
|
22
|
+
* complete body as a `Blob` - handed to `URL.createObjectURL` to become something
|
|
23
|
+
* `assets.load`'s own texture/audio/JSON decoding can take from there, the same as any other
|
|
24
|
+
* resolved asset URL.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* import { fetchWithByteProgress } from '@datamoc/mw_games/assets';
|
|
29
|
+
*
|
|
30
|
+
* const blob = await fetchWithByteProgress('https://example.com/big-tileset.png', (progress) => {
|
|
31
|
+
* if (progress.total) console.log(`${progress.loaded} / ${progress.total} bytes`);
|
|
32
|
+
* });
|
|
33
|
+
* const url = URL.createObjectURL(blob);
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function fetchWithByteProgress(url: string, onProgress?: OnByteProgress, fetchFn?: typeof fetch): Promise<Blob>;
|
|
37
|
+
//# sourceMappingURL=ByteProgress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ByteProgress.d.ts","sourceRoot":"","sources":["../../src/assets/ByteProgress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,oJAAoJ;IACpJ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;AAE9D;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CAC1C,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,cAAc,EAC3B,OAAO,GAAE,OAAO,KAAa,GAC3B,OAAO,CAAC,IAAI,CAAC,CAwBf"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Real transferred-byte progress for a real origin - a server, a dev server, or a desktop
|
|
3
|
+
* host serving through a virtual origin rather than raw `file://` (see `desktop/`'s own
|
|
4
|
+
* `SetVirtualHostNameToFolderMapping` for why that distinction matters). This is deliberately
|
|
5
|
+
* separate from `load`'s own `AssetProgress`: that one reports a fraction of assets finished
|
|
6
|
+
* because, as its own doc comment says, "Pixi's own loaders do not expose bytes transferred
|
|
7
|
+
* across every asset type uniformly" - reporting a number this project cannot actually back
|
|
8
|
+
* would be exactly the kind of silent-fallback dishonesty this project's own conventions rule
|
|
9
|
+
* out elsewhere. `fetch()` itself is blocked from `file://` entirely, so calling this from a
|
|
10
|
+
* compiled data-URI build throws the same way any other `fetch()` there would; it exists for
|
|
11
|
+
* item 137's "a server or standalone WebView2/Chromium host can stream/cache assets
|
|
12
|
+
* incrementally and report byte progress" capability tier, not the `file://` one.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Fetches `url`, reporting real bytes transferred as they arrive, and resolves to the
|
|
16
|
+
* complete body as a `Blob` - handed to `URL.createObjectURL` to become something
|
|
17
|
+
* `assets.load`'s own texture/audio/JSON decoding can take from there, the same as any other
|
|
18
|
+
* resolved asset URL.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { fetchWithByteProgress } from '@datamoc/mw_games/assets';
|
|
23
|
+
*
|
|
24
|
+
* const blob = await fetchWithByteProgress('https://example.com/big-tileset.png', (progress) => {
|
|
25
|
+
* if (progress.total) console.log(`${progress.loaded} / ${progress.total} bytes`);
|
|
26
|
+
* });
|
|
27
|
+
* const url = URL.createObjectURL(blob);
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export async function fetchWithByteProgress(url, onProgress, fetchFn = fetch) {
|
|
31
|
+
const response = await fetchFn(url);
|
|
32
|
+
if (!response.ok)
|
|
33
|
+
throw new Error(`fetchWithByteProgress: ${url} responded ${response.status}`);
|
|
34
|
+
const totalHeader = response.headers.get('content-length');
|
|
35
|
+
const total = totalHeader !== null && totalHeader !== '' ? Number(totalHeader) : null;
|
|
36
|
+
if (!response.body) {
|
|
37
|
+
const blob = await response.blob();
|
|
38
|
+
onProgress?.({ loaded: blob.size, total: total ?? blob.size });
|
|
39
|
+
return blob;
|
|
40
|
+
}
|
|
41
|
+
const reader = response.body.getReader();
|
|
42
|
+
const chunks = [];
|
|
43
|
+
let loaded = 0;
|
|
44
|
+
for (;;) {
|
|
45
|
+
const { done, value } = await reader.read();
|
|
46
|
+
if (done)
|
|
47
|
+
break;
|
|
48
|
+
chunks.push(value);
|
|
49
|
+
loaded += value.byteLength;
|
|
50
|
+
onProgress?.({ loaded, total });
|
|
51
|
+
}
|
|
52
|
+
return new Blob(chunks);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=ByteProgress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ByteProgress.js","sourceRoot":"","sources":["../../src/assets/ByteProgress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,GAAW,EACX,UAA2B,EAC3B,OAAO,GAAiB,KAAK;IAE7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,cAAc,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAEhG,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,SAAS,CAAC;QACT,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI;YAAE,MAAM;QAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;QAC3B,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,MAAoB,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AssetProgress } from './
|
|
1
|
+
import type { AssetProgress } from './paths.ts';
|
|
2
2
|
export interface AssetBundle {
|
|
3
3
|
id: string;
|
|
4
4
|
paths: readonly string[];
|
|
@@ -17,6 +17,16 @@ export interface AssetStreamOptions {
|
|
|
17
17
|
* It deliberately does not guess a player's next map: the game supplies bundles it considers
|
|
18
18
|
* likely. This works with compiled data URIs as a decode/GPU warm-up and with server or
|
|
19
19
|
* desktop hosts as ordinary asynchronous streaming.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { AssetStream } from '@datamoc/mw_games/assets';
|
|
24
|
+
*
|
|
25
|
+
* const stream = new AssetStream({ budgetBytes: 50_000_000 });
|
|
26
|
+
*
|
|
27
|
+
* // when a player enters a town, a likely-next zone starts loading in the background
|
|
28
|
+
* await stream.preload({ id: 'forest', paths: ['forest-tiles.png'], priority: 1 });
|
|
29
|
+
* ```
|
|
20
30
|
*/
|
|
21
31
|
export declare class AssetStream {
|
|
22
32
|
private readonly entries;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Streaming.d.ts","sourceRoot":"","sources":["../../src/assets/Streaming.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAOD
|
|
1
|
+
{"version":3,"file":"Streaming.d.ts","sourceRoot":"","sources":["../../src/assets/Streaming.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAOD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiE;IAC5F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IACnE,OAAO,CAAC,KAAK,CAAK;IAElB,YAAY,OAAO,GAAE,kBAAuB,EAK3C;IAED,sFAAsF;IAChF,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAc5E;IAED;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,EAAE,UAAU,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9F;IAED,4EAA4E;IAC5E,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAKvB;IAED,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE3B;IAED,8EAA8E;IACxE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtC;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;YAEa,aAAa;IAU3B,OAAO,CAAC,UAAU;CAGlB"}
|
package/dist/assets/Streaming.js
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
import { load, release } from './
|
|
1
|
+
import { load, release } from './loader.js';
|
|
2
2
|
/**
|
|
3
3
|
* Game-directed background asset staging with bounded, least-recently-used eviction.
|
|
4
4
|
*
|
|
5
5
|
* It deliberately does not guess a player's next map: the game supplies bundles it considers
|
|
6
6
|
* likely. This works with compiled data URIs as a decode/GPU warm-up and with server or
|
|
7
7
|
* desktop hosts as ordinary asynchronous streaming.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { AssetStream } from '@datamoc/mw_games/assets';
|
|
12
|
+
*
|
|
13
|
+
* const stream = new AssetStream({ budgetBytes: 50_000_000 });
|
|
14
|
+
*
|
|
15
|
+
* // when a player enters a town, a likely-next zone starts loading in the background
|
|
16
|
+
* await stream.preload({ id: 'forest', paths: ['forest-tiles.png'], priority: 1 });
|
|
17
|
+
* ```
|
|
8
18
|
*/
|
|
9
19
|
export class AssetStream {
|
|
10
20
|
constructor(options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Streaming.js","sourceRoot":"","sources":["../../src/assets/Streaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Streaming.js","sourceRoot":"","sources":["../../src/assets/Streaming.ts"],"names":[],"mappings":"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"}
|
package/dist/assets/index.d.ts
CHANGED
|
@@ -1,58 +1,17 @@
|
|
|
1
|
-
import { Texture } from 'pixi.js';
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
2
|
+
* The `file://` story, in two halves.
|
|
4
3
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* During development there is no compiled bundle, so paths are used as they are and the
|
|
11
|
-
* dev server serves them. Game code says `load('tiles.png')` either way.
|
|
12
|
-
*/
|
|
13
|
-
declare global {
|
|
14
|
-
interface Window {
|
|
15
|
-
__MWG_ASSETS__?: Record<string, string>;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
/** points dev-mode lookups at the folder assets are served from */
|
|
19
|
-
export declare function setBase(path: string): void;
|
|
20
|
-
/** true when running against a compiled bundle rather than a dev server */
|
|
21
|
-
export declare function isCompiled(): boolean;
|
|
22
|
-
export declare function paths(): string[];
|
|
23
|
-
export declare function has(path: string): boolean;
|
|
24
|
-
/** an asset path resolved to something the browser can actually load */
|
|
25
|
-
export declare function resolve(path: string): string;
|
|
26
|
-
/**
|
|
27
|
-
* 0 (started) to 1 (complete) - a count of assets finished, not a byte count. Pixi's own
|
|
28
|
-
* loaders do not expose bytes transferred across every asset type uniformly, so this reports
|
|
29
|
-
* what is actually available rather than a byte figure it cannot back with a real number.
|
|
30
|
-
*/
|
|
31
|
-
export type AssetProgress = (fraction: number) => void;
|
|
32
|
-
/**
|
|
33
|
-
* Loads assets by path, giving each one an alias equal to its path.
|
|
34
|
-
*
|
|
35
|
-
* Load everything a scene needs before creating it; afterwards `texture()` is synchronous,
|
|
36
|
-
* so game code never has to await in the middle of building a scene. `onProgress`, when
|
|
37
|
-
* given, is item 135's `LoadQueue`/`LoadingScreen` seam for a task that would otherwise only
|
|
38
|
-
* ever report 0 then 1 around one opaque `await`.
|
|
39
|
-
*/
|
|
40
|
-
export declare function load(paths: string[], onProgress?: AssetProgress): Promise<void>;
|
|
41
|
-
/** a loaded texture, by the same path it was loaded with */
|
|
42
|
-
export declare function texture(path: string): Texture;
|
|
43
|
-
/** a loaded asset of any other kind, such as parsed JSON */
|
|
44
|
-
export declare function get<T>(path: string): T;
|
|
45
|
-
/** true once `load` has resolved for this path and it has not since been `release`d */
|
|
46
|
-
export declare function isLoaded(path: string): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Frees assets `load` brought in, destroying any texture among them so it stops holding GPU
|
|
49
|
-
* memory. For a game with many discrete zones - each with its own tileset or sprite sheet -
|
|
50
|
-
* this is the counterpart to `world.World.unload`: that drops a map's own state, this drops
|
|
51
|
-
* the assets it pointed at, once a game decides the player has left an area for good. A path
|
|
52
|
-
* never loaded (or already released) is silently skipped rather than treated as an error,
|
|
53
|
-
* since a game unloading a zone it may or may not have visited shouldn't have to check first.
|
|
4
|
+
* `paths.ts` resolves an asset path against the compiled `data:` URI map (or the dev server)
|
|
5
|
+
* and needs no renderer at all; `loader.ts` fetches and decodes through Pixi. This barrel
|
|
6
|
+
* exposes both, so `import { load, resolve } from '@datamoc/mw_games/assets'` is unchanged -
|
|
7
|
+
* but a game rendering through something else imports `@datamoc/mw_games/assets/paths`
|
|
8
|
+
* instead and pays nothing for Pixi.
|
|
54
9
|
*/
|
|
55
|
-
export
|
|
10
|
+
export { setBase, isCompiled, paths, has, resolve } from './paths.ts';
|
|
11
|
+
export type { AssetProgress } from './paths.ts';
|
|
12
|
+
export { load, texture, get, isLoaded, release } from './loader.ts';
|
|
56
13
|
export { AssetStream } from './Streaming.ts';
|
|
57
14
|
export type { AssetBundle, AssetStreamOptions } from './Streaming.ts';
|
|
15
|
+
export { fetchWithByteProgress } from './ByteProgress.ts';
|
|
16
|
+
export type { ByteProgress, OnByteProgress } from './ByteProgress.ts';
|
|
58
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACtE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/assets/index.js
CHANGED
|
@@ -1,85 +1,14 @@
|
|
|
1
|
-
import { Assets, Texture } from 'pixi.js';
|
|
2
|
-
/** the base for dev-mode paths, when assets are served rather than compiled in */
|
|
3
|
-
let base = '';
|
|
4
|
-
/** points dev-mode lookups at the folder assets are served from */
|
|
5
|
-
export function setBase(path) {
|
|
6
|
-
base = path.endsWith('/') || path === '' ? path : path + '/';
|
|
7
|
-
}
|
|
8
|
-
function compiled() {
|
|
9
|
-
return typeof window === 'undefined' ? undefined : window.__MWG_ASSETS__;
|
|
10
|
-
}
|
|
11
|
-
/** true when running against a compiled bundle rather than a dev server */
|
|
12
|
-
export function isCompiled() {
|
|
13
|
-
return compiled() !== undefined;
|
|
14
|
-
}
|
|
15
|
-
export function paths() {
|
|
16
|
-
return Object.keys(compiled() ?? {});
|
|
17
|
-
}
|
|
18
|
-
export function has(path) {
|
|
19
|
-
const map = compiled();
|
|
20
|
-
return map ? path in map : true;
|
|
21
|
-
}
|
|
22
|
-
/** an asset path resolved to something the browser can actually load */
|
|
23
|
-
export function resolve(path) {
|
|
24
|
-
const map = compiled();
|
|
25
|
-
if (!map)
|
|
26
|
-
return base + path;
|
|
27
|
-
const found = map[path];
|
|
28
|
-
if (found === undefined) {
|
|
29
|
-
throw new Error(`asset "${path}" is not in this build - check it is under the folder passed to compile-resources`);
|
|
30
|
-
}
|
|
31
|
-
return found;
|
|
32
|
-
}
|
|
33
1
|
/**
|
|
34
|
-
*
|
|
2
|
+
* The `file://` story, in two halves.
|
|
35
3
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
4
|
+
* `paths.ts` resolves an asset path against the compiled `data:` URI map (or the dev server)
|
|
5
|
+
* and needs no renderer at all; `loader.ts` fetches and decodes through Pixi. This barrel
|
|
6
|
+
* exposes both, so `import { load, resolve } from '@datamoc/mw_games/assets'` is unchanged -
|
|
7
|
+
* but a game rendering through something else imports `@datamoc/mw_games/assets/paths`
|
|
8
|
+
* instead and pays nothing for Pixi.
|
|
40
9
|
*/
|
|
41
|
-
export
|
|
42
|
-
|
|
43
|
-
if (pending.length === 0) {
|
|
44
|
-
onProgress?.(1);
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
for (const path of pending) {
|
|
48
|
-
Assets.add({ alias: path, src: resolve(path) });
|
|
49
|
-
}
|
|
50
|
-
await Assets.load(pending, onProgress);
|
|
51
|
-
}
|
|
52
|
-
/** a loaded texture, by the same path it was loaded with */
|
|
53
|
-
export function texture(path) {
|
|
54
|
-
if (!Assets.cache.has(path)) {
|
|
55
|
-
throw new Error(`texture "${path}" has not been loaded - pass it to load() first`);
|
|
56
|
-
}
|
|
57
|
-
return Assets.get(path);
|
|
58
|
-
}
|
|
59
|
-
/** a loaded asset of any other kind, such as parsed JSON */
|
|
60
|
-
export function get(path) {
|
|
61
|
-
if (!Assets.cache.has(path)) {
|
|
62
|
-
throw new Error(`asset "${path}" has not been loaded - pass it to load() first`);
|
|
63
|
-
}
|
|
64
|
-
return Assets.get(path);
|
|
65
|
-
}
|
|
66
|
-
/** true once `load` has resolved for this path and it has not since been `release`d */
|
|
67
|
-
export function isLoaded(path) {
|
|
68
|
-
return Assets.cache.has(path);
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Frees assets `load` brought in, destroying any texture among them so it stops holding GPU
|
|
72
|
-
* memory. For a game with many discrete zones - each with its own tileset or sprite sheet -
|
|
73
|
-
* this is the counterpart to `world.World.unload`: that drops a map's own state, this drops
|
|
74
|
-
* the assets it pointed at, once a game decides the player has left an area for good. A path
|
|
75
|
-
* never loaded (or already released) is silently skipped rather than treated as an error,
|
|
76
|
-
* since a game unloading a zone it may or may not have visited shouldn't have to check first.
|
|
77
|
-
*/
|
|
78
|
-
export async function release(paths) {
|
|
79
|
-
const loaded = paths.filter((path) => Assets.cache.has(path));
|
|
80
|
-
if (loaded.length === 0)
|
|
81
|
-
return;
|
|
82
|
-
await Assets.unload(loaded);
|
|
83
|
-
}
|
|
10
|
+
export { setBase, isCompiled, paths, has, resolve } from './paths.js';
|
|
11
|
+
export { load, texture, get, isLoaded, release } from './loader.js';
|
|
84
12
|
export { AssetStream } from './Streaming.js';
|
|
13
|
+
export { fetchWithByteProgress } from './ByteProgress.js';
|
|
85
14
|
//# sourceMappingURL=index.js.map
|
package/dist/assets/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGtE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC"}
|