@sharpee/world-model 3.0.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/annotations/index.d.ts +1 -1
- package/annotations/index.d.ts.map +1 -1
- package/annotations/index.js +1 -1
- package/annotations/index.js.map +1 -1
- package/behaviors/attack.d.ts +21 -4
- package/behaviors/attack.d.ts.map +1 -1
- package/behaviors/attack.js +37 -33
- package/behaviors/attack.js.map +1 -1
- package/behaviors/behavior.d.ts +3 -3
- package/behaviors/behavior.d.ts.map +1 -1
- package/behaviors/index.d.ts +21 -20
- package/behaviors/index.d.ts.map +1 -1
- package/behaviors/index.js +35 -32
- package/behaviors/index.js.map +1 -1
- package/capabilities/action-interceptor.d.ts +96 -9
- package/capabilities/action-interceptor.d.ts.map +1 -1
- package/capabilities/action-interceptor.js +59 -2
- package/capabilities/action-interceptor.js.map +1 -1
- package/capabilities/capability-behavior.d.ts +3 -3
- package/capabilities/capability-behavior.d.ts.map +1 -1
- package/capabilities/capability-binding.d.ts +3 -3
- package/capabilities/capability-binding.d.ts.map +1 -1
- package/capabilities/capability-helpers.d.ts +2 -2
- package/capabilities/capability-helpers.d.ts.map +1 -1
- package/capabilities/entity-builder.d.ts +2 -2
- package/capabilities/entity-builder.d.ts.map +1 -1
- package/capabilities/index.d.ts +9 -9
- package/capabilities/index.d.ts.map +1 -1
- package/capabilities/index.js +27 -26
- package/capabilities/index.js.map +1 -1
- package/capabilities/interceptor-binding.d.ts +2 -2
- package/capabilities/interceptor-binding.d.ts.map +1 -1
- package/capabilities/interceptor-helpers.d.ts +2 -2
- package/capabilities/interceptor-helpers.d.ts.map +1 -1
- package/commands/command-types.d.ts +2 -2
- package/commands/command-types.d.ts.map +1 -1
- package/commands/index.d.ts +3 -3
- package/commands/index.d.ts.map +1 -1
- package/commands/index.js +3 -3
- package/commands/index.js.map +1 -1
- package/commands/parsed-command.d.ts +13 -0
- package/commands/parsed-command.d.ts.map +1 -1
- package/commands/validated-command.d.ts +16 -2
- package/commands/validated-command.d.ts.map +1 -1
- package/constants/index.d.ts +3 -3
- package/constants/index.d.ts.map +1 -1
- package/constants/index.js +3 -3
- package/constants/index.js.map +1 -1
- package/entities/entity-store.d.ts +1 -1
- package/entities/entity-store.d.ts.map +1 -1
- package/entities/entity-store.js +2 -2
- package/entities/entity-store.js.map +1 -1
- package/entities/if-entity.d.ts +3 -3
- package/entities/if-entity.d.ts.map +1 -1
- package/entities/if-entity.js +38 -34
- package/entities/if-entity.js.map +1 -1
- package/entities/index.d.ts +6 -6
- package/entities/index.d.ts.map +1 -1
- package/entities/index.js +10 -10
- package/entities/index.js.map +1 -1
- package/entities/trait-rehydrator.d.ts +43 -0
- package/entities/trait-rehydrator.d.ts.map +1 -0
- package/entities/trait-rehydrator.js +45 -0
- package/entities/trait-rehydrator.js.map +1 -0
- package/entities/wall-entity.d.ts +2 -2
- package/entities/wall-entity.d.ts.map +1 -1
- package/entities/wall-entity.js +2 -2
- package/entities/wall-entity.js.map +1 -1
- package/examples/event-handler-registration.d.ts +1 -1
- package/examples/event-handler-registration.d.ts.map +1 -1
- package/examples/event-handler-registration.js +24 -24
- package/examples/event-handler-registration.js.map +1 -1
- package/extensions/base-extension.d.ts +3 -3
- package/extensions/base-extension.d.ts.map +1 -1
- package/extensions/index.d.ts +4 -4
- package/extensions/index.d.ts.map +1 -1
- package/extensions/index.js +11 -11
- package/extensions/index.js.map +1 -1
- package/extensions/loader.d.ts +1 -1
- package/extensions/loader.d.ts.map +1 -1
- package/extensions/loader.js +2 -2
- package/extensions/loader.js.map +1 -1
- package/extensions/manager.d.ts +1 -1
- package/extensions/manager.d.ts.map +1 -1
- package/extensions/manager.js +2 -2
- package/extensions/manager.js.map +1 -1
- package/extensions/registry.d.ts +2 -2
- package/extensions/registry.d.ts.map +1 -1
- package/extensions/registry.js +4 -4
- package/extensions/registry.js.map +1 -1
- package/extensions/types.d.ts +2 -2
- package/extensions/types.d.ts.map +1 -1
- package/index.d.ts +58 -46
- package/index.d.ts.map +1 -1
- package/index.js +72 -50
- package/index.js.map +1 -1
- package/interfaces/command-executor.d.ts +1 -1
- package/interfaces/command-executor.d.ts.map +1 -1
- package/interfaces/command-processor.d.ts +1 -1
- package/interfaces/command-processor.d.ts.map +1 -1
- package/interfaces/command-validator.d.ts +1 -1
- package/interfaces/command-validator.d.ts.map +1 -1
- package/interfaces/index.d.ts +4 -4
- package/interfaces/index.d.ts.map +1 -1
- package/interfaces/index.js +4 -4
- package/interfaces/index.js.map +1 -1
- package/interfaces/parser.d.ts +1 -1
- package/interfaces/parser.d.ts.map +1 -1
- package/package.json +3 -3
- package/scope/index.d.ts +3 -3
- package/scope/index.d.ts.map +1 -1
- package/scope/index.js +3 -3
- package/scope/index.js.map +1 -1
- package/scope/scope-evaluator.d.ts +2 -2
- package/scope/scope-evaluator.d.ts.map +1 -1
- package/scope/scope-registry.d.ts +1 -1
- package/scope/scope-registry.d.ts.map +1 -1
- package/state-adjectives.d.ts +1 -1
- package/state-adjectives.d.ts.map +1 -1
- package/state-adjectives.js +5 -5
- package/state-adjectives.js.map +1 -1
- package/state-clauses.d.ts +1 -1
- package/state-clauses.d.ts.map +1 -1
- package/state-clauses.js +5 -5
- package/state-clauses.js.map +1 -1
- package/test-structure.d.ts +1 -1
- package/test-structure.d.ts.map +1 -1
- package/test-structure.js +7 -7
- package/test-structure.js.map +1 -1
- package/traits/acoustic/acousticDampenerTrait.d.ts +1 -1
- package/traits/acoustic/acousticDampenerTrait.d.ts.map +1 -1
- package/traits/acoustic/acousticDampenerTrait.js +3 -3
- package/traits/acoustic/acousticDampenerTrait.js.map +1 -1
- package/traits/acoustic/acousticTrait.d.ts +1 -1
- package/traits/acoustic/acousticTrait.d.ts.map +1 -1
- package/traits/acoustic/acousticTrait.js +3 -3
- package/traits/acoustic/acousticTrait.js.map +1 -1
- package/traits/acoustic/index.d.ts +2 -2
- package/traits/acoustic/index.d.ts.map +1 -1
- package/traits/acoustic/index.js +5 -5
- package/traits/acoustic/index.js.map +1 -1
- package/traits/actor/actorBehavior.d.ts +4 -4
- package/traits/actor/actorBehavior.d.ts.map +1 -1
- package/traits/actor/actorBehavior.js +38 -34
- package/traits/actor/actorBehavior.js.map +1 -1
- package/traits/actor/actorTrait.d.ts +1 -1
- package/traits/actor/actorTrait.d.ts.map +1 -1
- package/traits/actor/actorTrait.js +3 -3
- package/traits/actor/actorTrait.js.map +1 -1
- package/traits/actor/index.d.ts +2 -2
- package/traits/actor/index.d.ts.map +1 -1
- package/traits/actor/index.js +6 -6
- package/traits/actor/index.js.map +1 -1
- package/traits/all-traits.d.ts +30 -33
- package/traits/all-traits.d.ts.map +1 -1
- package/traits/all-traits.js +56 -62
- package/traits/all-traits.js.map +1 -1
- package/traits/attached/attachedTrait.d.ts +1 -1
- package/traits/attached/attachedTrait.d.ts.map +1 -1
- package/traits/attached/attachedTrait.js +3 -3
- package/traits/attached/attachedTrait.js.map +1 -1
- package/traits/attached/index.d.ts +1 -1
- package/traits/attached/index.d.ts.map +1 -1
- package/traits/attached/index.js +1 -1
- package/traits/attached/index.js.map +1 -1
- package/traits/breakable/breakableBehavior.d.ts +3 -3
- package/traits/breakable/breakableBehavior.d.ts.map +1 -1
- package/traits/breakable/breakableBehavior.js +10 -10
- package/traits/breakable/breakableBehavior.js.map +1 -1
- package/traits/breakable/breakableTrait.d.ts +1 -1
- package/traits/breakable/breakableTrait.d.ts.map +1 -1
- package/traits/breakable/index.d.ts +2 -2
- package/traits/breakable/index.d.ts.map +1 -1
- package/traits/breakable/index.js +4 -4
- package/traits/breakable/index.js.map +1 -1
- package/traits/button/buttonTrait.d.ts +1 -1
- package/traits/button/buttonTrait.d.ts.map +1 -1
- package/traits/button/buttonTrait.js +3 -3
- package/traits/button/buttonTrait.js.map +1 -1
- package/traits/button/index.d.ts +1 -1
- package/traits/button/index.d.ts.map +1 -1
- package/traits/button/index.js +1 -1
- package/traits/button/index.js.map +1 -1
- package/traits/character-model/characterModelTrait.d.ts +2 -2
- package/traits/character-model/characterModelTrait.d.ts.map +1 -1
- package/traits/character-model/characterModelTrait.js +16 -16
- package/traits/character-model/characterModelTrait.js.map +1 -1
- package/traits/character-model/index.d.ts +2 -2
- package/traits/character-model/index.d.ts.map +1 -1
- package/traits/character-model/index.js +3 -3
- package/traits/character-model/index.js.map +1 -1
- package/traits/climbable/climbableBehavior.d.ts +1 -1
- package/traits/climbable/climbableBehavior.d.ts.map +1 -1
- package/traits/climbable/climbableBehavior.js +9 -9
- package/traits/climbable/climbableBehavior.js.map +1 -1
- package/traits/climbable/climbableTrait.d.ts +1 -1
- package/traits/climbable/climbableTrait.d.ts.map +1 -1
- package/traits/climbable/climbableTrait.js +4 -4
- package/traits/climbable/climbableTrait.js.map +1 -1
- package/traits/climbable/index.d.ts +2 -2
- package/traits/climbable/index.d.ts.map +1 -1
- package/traits/climbable/index.js +2 -2
- package/traits/climbable/index.js.map +1 -1
- package/traits/clothing/clothingTrait.d.ts +2 -2
- package/traits/clothing/clothingTrait.d.ts.map +1 -1
- package/traits/clothing/clothingTrait.js +3 -3
- package/traits/clothing/clothingTrait.js.map +1 -1
- package/traits/clothing/index.d.ts +1 -1
- package/traits/clothing/index.d.ts.map +1 -1
- package/traits/clothing/index.js +1 -1
- package/traits/clothing/index.js.map +1 -1
- package/traits/combatant/combatantBehavior.d.ts +26 -21
- package/traits/combatant/combatantBehavior.d.ts.map +1 -1
- package/traits/combatant/combatantBehavior.js +58 -56
- package/traits/combatant/combatantBehavior.js.map +1 -1
- package/traits/combatant/combatantTrait.d.ts +15 -49
- package/traits/combatant/combatantTrait.d.ts.map +1 -1
- package/traits/combatant/combatantTrait.js +13 -80
- package/traits/combatant/combatantTrait.js.map +1 -1
- package/traits/combatant/index.d.ts +2 -2
- package/traits/combatant/index.d.ts.map +1 -1
- package/traits/combatant/index.js +4 -4
- package/traits/combatant/index.js.map +1 -1
- package/traits/concealment/concealedStateTrait.d.ts +3 -3
- package/traits/concealment/concealedStateTrait.d.ts.map +1 -1
- package/traits/concealment/concealedStateTrait.js +2 -2
- package/traits/concealment/concealedStateTrait.js.map +1 -1
- package/traits/concealment/concealedVisibilityBehavior.d.ts +2 -2
- package/traits/concealment/concealedVisibilityBehavior.d.ts.map +1 -1
- package/traits/concealment/concealedVisibilityBehavior.js +3 -3
- package/traits/concealment/concealedVisibilityBehavior.js.map +1 -1
- package/traits/concealment/concealmentTrait.d.ts +1 -1
- package/traits/concealment/concealmentTrait.d.ts.map +1 -1
- package/traits/concealment/index.d.ts +3 -3
- package/traits/concealment/index.d.ts.map +1 -1
- package/traits/concealment/index.js +3 -3
- package/traits/concealment/index.js.map +1 -1
- package/traits/container/container-utils.d.ts +2 -2
- package/traits/container/container-utils.d.ts.map +1 -1
- package/traits/container/container-utils.js +14 -14
- package/traits/container/container-utils.js.map +1 -1
- package/traits/container/containerBehavior.d.ts +7 -2
- package/traits/container/containerBehavior.d.ts.map +1 -1
- package/traits/container/containerBehavior.js +26 -26
- package/traits/container/containerBehavior.js.map +1 -1
- package/traits/container/containerTrait.d.ts +1 -1
- package/traits/container/containerTrait.d.ts.map +1 -1
- package/traits/container/containerTrait.js +3 -3
- package/traits/container/containerTrait.js.map +1 -1
- package/traits/container/index.d.ts +3 -3
- package/traits/container/index.d.ts.map +1 -1
- package/traits/container/index.js +9 -9
- package/traits/container/index.js.map +1 -1
- package/traits/cuttable/cuttableBehavior.d.ts +23 -0
- package/traits/cuttable/cuttableBehavior.d.ts.map +1 -0
- package/traits/cuttable/cuttableBehavior.js +39 -0
- package/traits/cuttable/cuttableBehavior.js.map +1 -0
- package/traits/cuttable/cuttableTrait.d.ts +37 -0
- package/traits/cuttable/cuttableTrait.d.ts.map +1 -0
- package/traits/cuttable/cuttableTrait.js +30 -0
- package/traits/cuttable/cuttableTrait.js.map +1 -0
- package/traits/cuttable/index.d.ts +3 -0
- package/traits/cuttable/index.d.ts.map +1 -0
- package/traits/cuttable/index.js +20 -0
- package/traits/cuttable/index.js.map +1 -0
- package/traits/deadly-room/deadlyRoomBehavior.d.ts +48 -0
- package/traits/deadly-room/deadlyRoomBehavior.d.ts.map +1 -0
- package/traits/deadly-room/deadlyRoomBehavior.js +59 -0
- package/traits/deadly-room/deadlyRoomBehavior.js.map +1 -0
- package/traits/deadly-room/deadlyRoomTrait.d.ts +51 -0
- package/traits/deadly-room/deadlyRoomTrait.d.ts.map +1 -0
- package/traits/deadly-room/deadlyRoomTrait.js +37 -0
- package/traits/deadly-room/deadlyRoomTrait.js.map +1 -0
- package/traits/deadly-room/index.d.ts +3 -0
- package/traits/deadly-room/index.d.ts.map +1 -0
- package/traits/deadly-room/index.js +8 -0
- package/traits/deadly-room/index.js.map +1 -0
- package/traits/destructible/destructibleBehavior.d.ts +3 -3
- package/traits/destructible/destructibleBehavior.d.ts.map +1 -1
- package/traits/destructible/destructibleBehavior.js +12 -12
- package/traits/destructible/destructibleBehavior.js.map +1 -1
- package/traits/destructible/destructibleTrait.d.ts +1 -1
- package/traits/destructible/destructibleTrait.d.ts.map +1 -1
- package/traits/destructible/index.d.ts +2 -2
- package/traits/destructible/index.d.ts.map +1 -1
- package/traits/destructible/index.js +4 -4
- package/traits/destructible/index.js.map +1 -1
- package/traits/diggable/diggableBehavior.d.ts +23 -0
- package/traits/diggable/diggableBehavior.d.ts.map +1 -0
- package/traits/diggable/diggableBehavior.js +39 -0
- package/traits/diggable/diggableBehavior.js.map +1 -0
- package/traits/diggable/diggableTrait.d.ts +37 -0
- package/traits/diggable/diggableTrait.d.ts.map +1 -0
- package/traits/diggable/diggableTrait.js +30 -0
- package/traits/diggable/diggableTrait.js.map +1 -0
- package/traits/diggable/index.d.ts +3 -0
- package/traits/diggable/index.d.ts.map +1 -0
- package/traits/diggable/index.js +20 -0
- package/traits/diggable/index.js.map +1 -0
- package/traits/door/doorBehavior.d.ts +2 -2
- package/traits/door/doorBehavior.d.ts.map +1 -1
- package/traits/door/doorBehavior.js +11 -11
- package/traits/door/doorBehavior.js.map +1 -1
- package/traits/door/doorTrait.d.ts +1 -1
- package/traits/door/doorTrait.d.ts.map +1 -1
- package/traits/door/doorTrait.js +3 -3
- package/traits/door/doorTrait.js.map +1 -1
- package/traits/door/index.d.ts +2 -2
- package/traits/door/index.d.ts.map +1 -1
- package/traits/door/index.js +4 -4
- package/traits/door/index.js.map +1 -1
- package/traits/edible/edibleBehavior.d.ts +3 -3
- package/traits/edible/edibleBehavior.d.ts.map +1 -1
- package/traits/edible/edibleBehavior.js +20 -20
- package/traits/edible/edibleBehavior.js.map +1 -1
- package/traits/edible/edibleTrait.d.ts +1 -1
- package/traits/edible/edibleTrait.d.ts.map +1 -1
- package/traits/edible/edibleTrait.js +3 -3
- package/traits/edible/edibleTrait.js.map +1 -1
- package/traits/edible/index.d.ts +2 -2
- package/traits/edible/index.d.ts.map +1 -1
- package/traits/edible/index.js +2 -2
- package/traits/edible/index.js.map +1 -1
- package/traits/enterable/enterableTrait.d.ts +1 -1
- package/traits/enterable/enterableTrait.d.ts.map +1 -1
- package/traits/enterable/enterableTrait.js +4 -4
- package/traits/enterable/enterableTrait.js.map +1 -1
- package/traits/enterable/index.d.ts +1 -1
- package/traits/enterable/index.d.ts.map +1 -1
- package/traits/enterable/index.js +1 -1
- package/traits/enterable/index.js.map +1 -1
- package/traits/equipped/equippedTrait.d.ts +1 -1
- package/traits/equipped/equippedTrait.d.ts.map +1 -1
- package/traits/equipped/index.d.ts +1 -1
- package/traits/equipped/index.d.ts.map +1 -1
- package/traits/equipped/index.js +2 -2
- package/traits/equipped/index.js.map +1 -1
- package/traits/exit/exitBehavior.d.ts +2 -2
- package/traits/exit/exitBehavior.d.ts.map +1 -1
- package/traits/exit/exitBehavior.js +27 -27
- package/traits/exit/exitBehavior.js.map +1 -1
- package/traits/exit/exitTrait.d.ts +1 -1
- package/traits/exit/exitTrait.d.ts.map +1 -1
- package/traits/exit/exitTrait.js +3 -3
- package/traits/exit/exitTrait.js.map +1 -1
- package/traits/exit/index.d.ts +2 -2
- package/traits/exit/index.d.ts.map +1 -1
- package/traits/exit/index.js +4 -4
- package/traits/exit/index.js.map +1 -1
- package/traits/health/healthBehavior.d.ts +66 -0
- package/traits/health/healthBehavior.d.ts.map +1 -0
- package/traits/health/healthBehavior.js +98 -0
- package/traits/health/healthBehavior.js.map +1 -0
- package/traits/health/healthTrait.d.ts +60 -0
- package/traits/health/healthTrait.d.ts.map +1 -0
- package/traits/health/healthTrait.js +49 -0
- package/traits/health/healthTrait.js.map +1 -0
- package/traits/health/index.d.ts +3 -0
- package/traits/health/index.d.ts.map +1 -0
- package/traits/health/index.js +8 -0
- package/traits/health/index.js.map +1 -0
- package/traits/identity/identityBehavior.d.ts +2 -2
- package/traits/identity/identityBehavior.d.ts.map +1 -1
- package/traits/identity/identityBehavior.js +16 -16
- package/traits/identity/identityBehavior.js.map +1 -1
- package/traits/identity/identityTrait.d.ts +8 -1
- package/traits/identity/identityTrait.d.ts.map +1 -1
- package/traits/identity/identityTrait.js +10 -3
- package/traits/identity/identityTrait.js.map +1 -1
- package/traits/identity/index.d.ts +3 -2
- package/traits/identity/index.d.ts.map +1 -1
- package/traits/identity/index.js +3 -2
- package/traits/identity/index.js.map +1 -1
- package/traits/identity/name-vocabulary.d.ts +31 -0
- package/traits/identity/name-vocabulary.d.ts.map +1 -0
- package/traits/identity/name-vocabulary.js +57 -0
- package/traits/identity/name-vocabulary.js.map +1 -0
- package/traits/implementations.d.ts +65 -38
- package/traits/implementations.d.ts.map +1 -1
- package/traits/implementations.js +165 -117
- package/traits/implementations.js.map +1 -1
- package/traits/index.d.ts +47 -44
- package/traits/index.d.ts.map +1 -1
- package/traits/index.js +48 -44
- package/traits/index.js.map +1 -1
- package/traits/light-source/index.d.ts +2 -2
- package/traits/light-source/index.d.ts.map +1 -1
- package/traits/light-source/index.js +4 -4
- package/traits/light-source/index.js.map +1 -1
- package/traits/light-source/lightSourceBehavior.d.ts +2 -2
- package/traits/light-source/lightSourceBehavior.d.ts.map +1 -1
- package/traits/light-source/lightSourceBehavior.js +16 -16
- package/traits/light-source/lightSourceBehavior.js.map +1 -1
- package/traits/light-source/lightSourceTrait.d.ts +1 -1
- package/traits/light-source/lightSourceTrait.d.ts.map +1 -1
- package/traits/light-source/lightSourceTrait.js +3 -3
- package/traits/light-source/lightSourceTrait.js.map +1 -1
- package/traits/listener/index.d.ts +1 -1
- package/traits/listener/index.d.ts.map +1 -1
- package/traits/listener/index.js +2 -2
- package/traits/listener/index.js.map +1 -1
- package/traits/listener/listenerTrait.d.ts +1 -1
- package/traits/listener/listenerTrait.d.ts.map +1 -1
- package/traits/listener/listenerTrait.js +3 -3
- package/traits/listener/listenerTrait.js.map +1 -1
- package/traits/lockable/index.d.ts +2 -2
- package/traits/lockable/index.d.ts.map +1 -1
- package/traits/lockable/index.js +2 -2
- package/traits/lockable/index.js.map +1 -1
- package/traits/lockable/lockableBehavior.d.ts +2 -2
- package/traits/lockable/lockableBehavior.d.ts.map +1 -1
- package/traits/lockable/lockableBehavior.js +19 -19
- package/traits/lockable/lockableBehavior.js.map +1 -1
- package/traits/lockable/lockableTrait.d.ts +1 -1
- package/traits/lockable/lockableTrait.d.ts.map +1 -1
- package/traits/lockable/lockableTrait.js +3 -3
- package/traits/lockable/lockableTrait.js.map +1 -1
- package/traits/moveable-scenery/index.d.ts +1 -1
- package/traits/moveable-scenery/index.d.ts.map +1 -1
- package/traits/moveable-scenery/index.js +1 -1
- package/traits/moveable-scenery/index.js.map +1 -1
- package/traits/moveable-scenery/moveableSceneryTrait.d.ts +1 -1
- package/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +1 -1
- package/traits/moveable-scenery/moveableSceneryTrait.js +3 -3
- package/traits/moveable-scenery/moveableSceneryTrait.js.map +1 -1
- package/traits/npc/index.d.ts +1 -1
- package/traits/npc/index.d.ts.map +1 -1
- package/traits/npc/index.js +2 -2
- package/traits/npc/index.js.map +1 -1
- package/traits/npc/npcTrait.d.ts +6 -28
- package/traits/npc/npcTrait.d.ts.map +1 -1
- package/traits/npc/npcTrait.js +0 -38
- package/traits/npc/npcTrait.js.map +1 -1
- package/traits/obstructor-protocol.d.ts +3 -3
- package/traits/obstructor-protocol.d.ts.map +1 -1
- package/traits/open-inventory/index.d.ts +1 -1
- package/traits/open-inventory/index.d.ts.map +1 -1
- package/traits/open-inventory/index.js +2 -2
- package/traits/open-inventory/index.js.map +1 -1
- package/traits/open-inventory/openInventoryTrait.d.ts +1 -1
- package/traits/open-inventory/openInventoryTrait.d.ts.map +1 -1
- package/traits/open-inventory/openInventoryTrait.js +3 -3
- package/traits/open-inventory/openInventoryTrait.js.map +1 -1
- package/traits/openable/index.d.ts +2 -2
- package/traits/openable/index.d.ts.map +1 -1
- package/traits/openable/index.js +2 -2
- package/traits/openable/index.js.map +1 -1
- package/traits/openable/openableBehavior.d.ts +12 -2
- package/traits/openable/openableBehavior.d.ts.map +1 -1
- package/traits/openable/openableBehavior.js +32 -11
- package/traits/openable/openableBehavior.js.map +1 -1
- package/traits/openable/openableTrait.d.ts +8 -1
- package/traits/openable/openableTrait.d.ts.map +1 -1
- package/traits/openable/openableTrait.js +7 -3
- package/traits/openable/openableTrait.js.map +1 -1
- package/traits/pullable/index.d.ts +1 -1
- package/traits/pullable/index.d.ts.map +1 -1
- package/traits/pullable/index.js +1 -1
- package/traits/pullable/index.js.map +1 -1
- package/traits/pullable/pullableTrait.d.ts +1 -1
- package/traits/pullable/pullableTrait.d.ts.map +1 -1
- package/traits/pullable/pullableTrait.js +3 -3
- package/traits/pullable/pullableTrait.js.map +1 -1
- package/traits/pushable/index.d.ts +1 -1
- package/traits/pushable/index.d.ts.map +1 -1
- package/traits/pushable/index.js +1 -1
- package/traits/pushable/index.js.map +1 -1
- package/traits/pushable/pushableTrait.d.ts +1 -1
- package/traits/pushable/pushableTrait.d.ts.map +1 -1
- package/traits/pushable/pushableTrait.js +3 -3
- package/traits/pushable/pushableTrait.js.map +1 -1
- package/traits/readable/index.d.ts +2 -2
- package/traits/readable/index.d.ts.map +1 -1
- package/traits/readable/index.js +4 -4
- package/traits/readable/index.js.map +1 -1
- package/traits/readable/readableBehavior.d.ts +1 -1
- package/traits/readable/readableBehavior.d.ts.map +1 -1
- package/traits/readable/readableBehavior.js +10 -10
- package/traits/readable/readableBehavior.js.map +1 -1
- package/traits/readable/readableTrait.d.ts +1 -1
- package/traits/readable/readableTrait.d.ts.map +1 -1
- package/traits/readable/readableTrait.js +3 -3
- package/traits/readable/readableTrait.js.map +1 -1
- package/traits/region/index.d.ts +1 -1
- package/traits/region/index.d.ts.map +1 -1
- package/traits/region/index.js +2 -2
- package/traits/region/index.js.map +1 -1
- package/traits/region/regionTrait.d.ts +1 -1
- package/traits/region/regionTrait.d.ts.map +1 -1
- package/traits/region/regionTrait.js +3 -3
- package/traits/region/regionTrait.js.map +1 -1
- package/traits/room/index.d.ts +2 -2
- package/traits/room/index.d.ts.map +1 -1
- package/traits/room/index.js +4 -4
- package/traits/room/index.js.map +1 -1
- package/traits/room/roomBehavior.d.ts +4 -4
- package/traits/room/roomBehavior.d.ts.map +1 -1
- package/traits/room/roomBehavior.js +25 -25
- package/traits/room/roomBehavior.js.map +1 -1
- package/traits/room/roomTrait.d.ts +10 -5
- package/traits/room/roomTrait.d.ts.map +1 -1
- package/traits/room/roomTrait.js +5 -5
- package/traits/room/roomTrait.js.map +1 -1
- package/traits/scene/index.d.ts +1 -1
- package/traits/scene/index.d.ts.map +1 -1
- package/traits/scene/index.js +2 -2
- package/traits/scene/index.js.map +1 -1
- package/traits/scene/sceneTrait.d.ts +1 -1
- package/traits/scene/sceneTrait.d.ts.map +1 -1
- package/traits/scene/sceneTrait.js +3 -3
- package/traits/scene/sceneTrait.js.map +1 -1
- package/traits/scenery/index.d.ts +2 -2
- package/traits/scenery/index.d.ts.map +1 -1
- package/traits/scenery/index.js +4 -4
- package/traits/scenery/index.js.map +1 -1
- package/traits/scenery/sceneryBehavior.d.ts +1 -1
- package/traits/scenery/sceneryBehavior.d.ts.map +1 -1
- package/traits/scenery/sceneryBehavior.js +5 -5
- package/traits/scenery/sceneryBehavior.js.map +1 -1
- package/traits/scenery/sceneryTrait.d.ts +1 -1
- package/traits/scenery/sceneryTrait.d.ts.map +1 -1
- package/traits/scenery/sceneryTrait.js +3 -3
- package/traits/scenery/sceneryTrait.js.map +1 -1
- package/traits/story-info/index.d.ts +1 -1
- package/traits/story-info/index.d.ts.map +1 -1
- package/traits/story-info/index.js +2 -2
- package/traits/story-info/index.js.map +1 -1
- package/traits/story-info/storyInfoTrait.d.ts +1 -1
- package/traits/story-info/storyInfoTrait.d.ts.map +1 -1
- package/traits/supporter/index.d.ts +2 -2
- package/traits/supporter/index.d.ts.map +1 -1
- package/traits/supporter/index.js +4 -4
- package/traits/supporter/index.js.map +1 -1
- package/traits/supporter/supporterBehavior.d.ts +3 -3
- package/traits/supporter/supporterBehavior.d.ts.map +1 -1
- package/traits/supporter/supporterBehavior.js +15 -15
- package/traits/supporter/supporterBehavior.js.map +1 -1
- package/traits/supporter/supporterTrait.d.ts +1 -1
- package/traits/supporter/supporterTrait.d.ts.map +1 -1
- package/traits/supporter/supporterTrait.js +3 -3
- package/traits/supporter/supporterTrait.js.map +1 -1
- package/traits/switchable/index.d.ts +2 -2
- package/traits/switchable/index.d.ts.map +1 -1
- package/traits/switchable/index.js +2 -2
- package/traits/switchable/index.js.map +1 -1
- package/traits/switchable/switchableBehavior.d.ts +2 -2
- package/traits/switchable/switchableBehavior.d.ts.map +1 -1
- package/traits/switchable/switchableBehavior.js +18 -18
- package/traits/switchable/switchableBehavior.js.map +1 -1
- package/traits/switchable/switchableTrait.d.ts +1 -1
- package/traits/switchable/switchableTrait.d.ts.map +1 -1
- package/traits/switchable/switchableTrait.js +3 -3
- package/traits/switchable/switchableTrait.js.map +1 -1
- package/traits/trait-types.d.ts +4 -1
- package/traits/trait-types.d.ts.map +1 -1
- package/traits/trait-types.js +12 -2
- package/traits/trait-types.js.map +1 -1
- package/traits/trait.d.ts +1 -1
- package/traits/trait.d.ts.map +1 -1
- package/traits/vehicle/index.d.ts +2 -2
- package/traits/vehicle/index.d.ts.map +1 -1
- package/traits/vehicle/index.js +2 -2
- package/traits/vehicle/index.js.map +1 -1
- package/traits/vehicle/vehicleBehavior.d.ts +2 -2
- package/traits/vehicle/vehicleBehavior.d.ts.map +1 -1
- package/traits/vehicle/vehicleBehavior.js +7 -7
- package/traits/vehicle/vehicleBehavior.js.map +1 -1
- package/traits/vehicle/vehicleTrait.d.ts +1 -1
- package/traits/vehicle/vehicleTrait.d.ts.map +1 -1
- package/traits/vehicle/vehicleTrait.js +4 -4
- package/traits/vehicle/vehicleTrait.js.map +1 -1
- package/traits/weapon/index.d.ts +2 -2
- package/traits/weapon/index.d.ts.map +1 -1
- package/traits/weapon/index.js +4 -4
- package/traits/weapon/index.js.map +1 -1
- package/traits/weapon/weaponBehavior.d.ts +11 -4
- package/traits/weapon/weaponBehavior.d.ts.map +1 -1
- package/traits/weapon/weaponBehavior.js +24 -19
- package/traits/weapon/weaponBehavior.js.map +1 -1
- package/traits/weapon/weaponTrait.d.ts +1 -1
- package/traits/weapon/weaponTrait.d.ts.map +1 -1
- package/traits/wearable/index.d.ts +2 -2
- package/traits/wearable/index.d.ts.map +1 -1
- package/traits/wearable/index.js +2 -2
- package/traits/wearable/index.js.map +1 -1
- package/traits/wearable/wearableBehavior.d.ts +1 -1
- package/traits/wearable/wearableBehavior.d.ts.map +1 -1
- package/traits/wearable/wearableBehavior.js +11 -11
- package/traits/wearable/wearableBehavior.js.map +1 -1
- package/traits/wearable/wearableTrait.d.ts +1 -1
- package/traits/wearable/wearableTrait.d.ts.map +1 -1
- package/traits/wearable/wearableTrait.js +3 -3
- package/traits/wearable/wearableTrait.js.map +1 -1
- package/world/AuthorModel.d.ts +23 -17
- package/world/AuthorModel.d.ts.map +1 -1
- package/world/AuthorModel.js +15 -4
- package/world/AuthorModel.js.map +1 -1
- package/world/SharedDataStore.d.ts +2 -2
- package/world/SharedDataStore.d.ts.map +1 -1
- package/world/SharedDataStore.js +2 -2
- package/world/SharedDataStore.js.map +1 -1
- package/world/VisibilityBehavior.d.ts +60 -4
- package/world/VisibilityBehavior.d.ts.map +1 -1
- package/world/VisibilityBehavior.js +193 -101
- package/world/VisibilityBehavior.js.map +1 -1
- package/world/WorldEventSystem.d.ts +1 -1
- package/world/WorldEventSystem.d.ts.map +1 -1
- package/world/WorldModel.d.ts +65 -18
- package/world/WorldModel.d.ts.map +1 -1
- package/world/WorldModel.js +164 -114
- package/world/WorldModel.js.map +1 -1
- package/world/WorldSerializer.d.ts +4 -4
- package/world/WorldSerializer.d.ts.map +1 -1
- package/world/WorldSerializer.js +2 -2
- package/world/WorldSerializer.js.map +1 -1
- package/world/default-trait-registry.d.ts +1 -1
- package/world/default-trait-registry.d.ts.map +1 -1
- package/world/default-trait-registry.js +3 -3
- package/world/default-trait-registry.js.map +1 -1
- package/world/index.d.ts +9 -9
- package/world/index.d.ts.map +1 -1
- package/world/index.js +17 -16
- package/world/index.js.map +1 -1
- package/world/wall-creation.d.ts +2 -2
- package/world/wall-creation.d.ts.map +1 -1
- package/world/wall-creation.js +6 -6
- package/world/wall-creation.js.map +1 -1
- package/world/wall-validation.d.ts +2 -2
- package/world/wall-validation.d.ts.map +1 -1
- package/world/wall-validation.js +3 -3
- package/world/wall-validation.js.map +1 -1
package/annotations/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './types';
|
|
1
|
+
export * from './types.js';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/annotations/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/annotations/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
package/annotations/index.js
CHANGED
|
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./types"), exports);
|
|
17
|
+
__exportStar(require("./types.js"), exports);
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
package/annotations/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/annotations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/annotations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
|
package/behaviors/attack.d.ts
CHANGED
|
@@ -3,9 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Coordinates the various combat behaviors to handle attacks
|
|
5
5
|
*/
|
|
6
|
-
import { IFEntity } from '../entities/if-entity';
|
|
7
|
-
import { WorldModel } from '../world/WorldModel';
|
|
8
|
-
import { EntityId } from '@sharpee/core';
|
|
6
|
+
import { IFEntity } from '../entities/if-entity.js';
|
|
7
|
+
import { WorldModel } from '../world/WorldModel.js';
|
|
8
|
+
import { EntityId, SeededRandom } from '@sharpee/core';
|
|
9
|
+
/**
|
|
10
|
+
* Why an unsuccessful attack had no effect. A reason CODE for the language
|
|
11
|
+
* layer (stdlib maps each to a message ID) — world-model never emits English
|
|
12
|
+
* (platform-issue-sweep Phase 3c, David's 2026-07-20 ruling).
|
|
13
|
+
*/
|
|
14
|
+
export type AttackIneffectiveReason = 'requires_weapon' | 'wrong_weapon_type' | 'invulnerable' | 'no_effect';
|
|
9
15
|
/**
|
|
10
16
|
* Combined result of an attack
|
|
11
17
|
*/
|
|
@@ -21,6 +27,14 @@ export interface IAttackResult {
|
|
|
21
27
|
exitRevealed?: string;
|
|
22
28
|
transformedTo?: EntityId;
|
|
23
29
|
weaponBroke?: boolean;
|
|
30
|
+
/** Set on failure (`success: false`): the reason code, never prose. */
|
|
31
|
+
reason?: AttackIneffectiveReason;
|
|
32
|
+
/**
|
|
33
|
+
* AUTHOR-provided prose passed through verbatim from trait fields
|
|
34
|
+
* (breakable message, destructible damage/destroy messages, combatant
|
|
35
|
+
* hit/death messages). Never platform-written English — failure paths
|
|
36
|
+
* carry `reason` instead.
|
|
37
|
+
*/
|
|
24
38
|
message?: string;
|
|
25
39
|
}
|
|
26
40
|
/**
|
|
@@ -35,9 +49,12 @@ export declare class AttackBehavior {
|
|
|
35
49
|
* @param target The entity being attacked
|
|
36
50
|
* @param weapon Optional weapon being used
|
|
37
51
|
* @param world The world model
|
|
52
|
+
* @param rng The caller's seeded RNG stream, threaded to
|
|
53
|
+
* WeaponBehavior.calculateDamage (ADR-231 D6 — world-model stays
|
|
54
|
+
* engine-free; stdlib's attacking action passes `context.random`)
|
|
38
55
|
* @returns Combined attack result
|
|
39
56
|
*/
|
|
40
|
-
static attack(target: IFEntity, weapon: IFEntity | undefined, world: WorldModel): IAttackResult;
|
|
57
|
+
static attack(target: IFEntity, weapon: IFEntity | undefined, world: WorldModel, rng: SeededRandom): IAttackResult;
|
|
41
58
|
/**
|
|
42
59
|
* Check if a target can be attacked
|
|
43
60
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attack.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/behaviors/attack.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"attack.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/behaviors/attack.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAMvD;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAC/B,iBAAiB,GACjB,mBAAmB,GACnB,cAAc,GACd,WAAW,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,aAAa,CAAC;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uEAAuE;IACvE,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IACzB;;;;;;;;;OASG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,GAAG,aAAa;IA4FlH;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO;IAO9D;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,GAAG,SAAS;CAkChE"}
|
package/behaviors/attack.js
CHANGED
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.AttackBehavior = void 0;
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
9
|
+
const trait_types_js_1 = require("../traits/trait-types.js");
|
|
10
|
+
const equippedTrait_js_1 = require("../traits/equipped/equippedTrait.js");
|
|
11
|
+
const weaponTrait_js_1 = require("../traits/weapon/weaponTrait.js");
|
|
12
|
+
const weaponBehavior_js_1 = require("../traits/weapon/weaponBehavior.js");
|
|
13
|
+
const breakableBehavior_js_1 = require("../traits/breakable/breakableBehavior.js");
|
|
14
|
+
const destructibleBehavior_js_1 = require("../traits/destructible/destructibleBehavior.js");
|
|
15
|
+
const combatantBehavior_js_1 = require("../traits/combatant/combatantBehavior.js");
|
|
16
16
|
/**
|
|
17
17
|
* Attack behavior coordinator.
|
|
18
18
|
*
|
|
@@ -25,22 +25,25 @@ class AttackBehavior {
|
|
|
25
25
|
* @param target The entity being attacked
|
|
26
26
|
* @param weapon Optional weapon being used
|
|
27
27
|
* @param world The world model
|
|
28
|
+
* @param rng The caller's seeded RNG stream, threaded to
|
|
29
|
+
* WeaponBehavior.calculateDamage (ADR-231 D6 — world-model stays
|
|
30
|
+
* engine-free; stdlib's attacking action passes `context.random`)
|
|
28
31
|
* @returns Combined attack result
|
|
29
32
|
*/
|
|
30
|
-
static attack(target, weapon, world) {
|
|
33
|
+
static attack(target, weapon, world, rng) {
|
|
31
34
|
// Calculate weapon damage if using a weapon
|
|
32
35
|
let weaponDamage = 1; // Default unarmed damage
|
|
33
36
|
let weaponType;
|
|
34
37
|
let weaponResult;
|
|
35
|
-
if (weapon && weapon.has(
|
|
36
|
-
weaponResult =
|
|
38
|
+
if (weapon && weapon.has(trait_types_js_1.TraitType.WEAPON)) {
|
|
39
|
+
weaponResult = weaponBehavior_js_1.WeaponBehavior.calculateDamage(weapon, rng);
|
|
37
40
|
weaponDamage = weaponResult.damage;
|
|
38
41
|
weaponType = weaponResult.weaponType;
|
|
39
42
|
}
|
|
40
43
|
// Try behaviors in order: Breakable, Destructible, Combatant
|
|
41
44
|
// 1. Check if target is breakable (one-hit destruction)
|
|
42
|
-
if (target.has(
|
|
43
|
-
const breakResult =
|
|
45
|
+
if (target.has(trait_types_js_1.TraitType.BREAKABLE)) {
|
|
46
|
+
const breakResult = breakableBehavior_js_1.BreakableBehavior.break(target, world);
|
|
44
47
|
if (breakResult.success) {
|
|
45
48
|
return {
|
|
46
49
|
success: true,
|
|
@@ -54,8 +57,8 @@ class AttackBehavior {
|
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
// 2. Check if target is destructible (multi-hit with HP)
|
|
57
|
-
if (target.has(
|
|
58
|
-
const damageResult =
|
|
60
|
+
if (target.has(trait_types_js_1.TraitType.DESTRUCTIBLE)) {
|
|
61
|
+
const damageResult = destructibleBehavior_js_1.DestructibleBehavior.damage(target, weaponDamage, weaponType, world);
|
|
59
62
|
if (damageResult.success) {
|
|
60
63
|
return {
|
|
61
64
|
success: true,
|
|
@@ -70,24 +73,25 @@ class AttackBehavior {
|
|
|
70
73
|
};
|
|
71
74
|
}
|
|
72
75
|
else {
|
|
73
|
-
// Attack failed due to requirements
|
|
76
|
+
// Attack failed due to requirements — emit the reason CODE; the
|
|
77
|
+
// language layer owns the prose (Phase 3c)
|
|
74
78
|
return {
|
|
75
79
|
success: false,
|
|
76
80
|
type: 'ineffective',
|
|
77
81
|
damage: 0,
|
|
78
|
-
|
|
79
|
-
? '
|
|
82
|
+
reason: damageResult.requiresWeapon
|
|
83
|
+
? 'requires_weapon'
|
|
80
84
|
: damageResult.wrongWeaponType
|
|
81
|
-
? '
|
|
85
|
+
? 'wrong_weapon_type'
|
|
82
86
|
: damageResult.invulnerable
|
|
83
|
-
? '
|
|
84
|
-
: '
|
|
87
|
+
? 'invulnerable'
|
|
88
|
+
: 'no_effect'
|
|
85
89
|
};
|
|
86
90
|
}
|
|
87
91
|
}
|
|
88
92
|
// 3. Check if target is a combatant (has health)
|
|
89
|
-
if (target.has(
|
|
90
|
-
const combatResult =
|
|
93
|
+
if (target.has(trait_types_js_1.TraitType.COMBATANT)) {
|
|
94
|
+
const combatResult = combatantBehavior_js_1.CombatBehavior.attack(target, weaponDamage, world);
|
|
91
95
|
if (combatResult.success) {
|
|
92
96
|
return {
|
|
93
97
|
success: true,
|
|
@@ -106,7 +110,7 @@ class AttackBehavior {
|
|
|
106
110
|
success: false,
|
|
107
111
|
type: 'ineffective',
|
|
108
112
|
damage: 0,
|
|
109
|
-
|
|
113
|
+
reason: 'no_effect'
|
|
110
114
|
};
|
|
111
115
|
}
|
|
112
116
|
/**
|
|
@@ -114,9 +118,9 @@ class AttackBehavior {
|
|
|
114
118
|
*/
|
|
115
119
|
static canAttack(target, weapon) {
|
|
116
120
|
// Can attack if target has any combat-related trait
|
|
117
|
-
return target.has(
|
|
118
|
-
target.has(
|
|
119
|
-
target.has(
|
|
121
|
+
return target.has(trait_types_js_1.TraitType.BREAKABLE) ||
|
|
122
|
+
target.has(trait_types_js_1.TraitType.DESTRUCTIBLE) ||
|
|
123
|
+
target.has(trait_types_js_1.TraitType.COMBATANT);
|
|
120
124
|
}
|
|
121
125
|
/**
|
|
122
126
|
* Infer the best weapon from inventory
|
|
@@ -125,21 +129,21 @@ class AttackBehavior {
|
|
|
125
129
|
*/
|
|
126
130
|
static inferWeapon(inventory) {
|
|
127
131
|
// Find all weapons
|
|
128
|
-
const weapons = inventory.filter(item => item.has(
|
|
132
|
+
const weapons = inventory.filter(item => item.has(trait_types_js_1.TraitType.WEAPON));
|
|
129
133
|
if (weapons.length === 0)
|
|
130
134
|
return undefined;
|
|
131
135
|
// Prefer equipped weapons
|
|
132
136
|
const equipped = weapons.filter(w => {
|
|
133
|
-
if (!w.has(
|
|
137
|
+
if (!w.has(trait_types_js_1.TraitType.EQUIPPED))
|
|
134
138
|
return false;
|
|
135
|
-
const equippedTrait = w.get(
|
|
139
|
+
const equippedTrait = w.get(equippedTrait_js_1.EquippedTrait);
|
|
136
140
|
return equippedTrait && equippedTrait.isEquipped;
|
|
137
141
|
});
|
|
138
142
|
if (equipped.length > 0) {
|
|
139
143
|
// Return equipped weapon with highest max damage
|
|
140
144
|
return equipped.reduce((best, current) => {
|
|
141
|
-
const bestWeapon = best.get(
|
|
142
|
-
const currentWeapon = current.get(
|
|
145
|
+
const bestWeapon = best.get(weaponTrait_js_1.WeaponTrait);
|
|
146
|
+
const currentWeapon = current.get(weaponTrait_js_1.WeaponTrait);
|
|
143
147
|
if (!bestWeapon || !currentWeapon)
|
|
144
148
|
return best;
|
|
145
149
|
const bestDamage = bestWeapon.maxDamage || 0;
|
|
@@ -149,8 +153,8 @@ class AttackBehavior {
|
|
|
149
153
|
}
|
|
150
154
|
// No equipped weapons, return weapon with highest max damage
|
|
151
155
|
return weapons.reduce((best, current) => {
|
|
152
|
-
const bestWeapon = best.get(
|
|
153
|
-
const currentWeapon = current.get(
|
|
156
|
+
const bestWeapon = best.get(weaponTrait_js_1.WeaponTrait);
|
|
157
|
+
const currentWeapon = current.get(weaponTrait_js_1.WeaponTrait);
|
|
154
158
|
if (!bestWeapon || !currentWeapon)
|
|
155
159
|
return best;
|
|
156
160
|
const bestDamage = bestWeapon.maxDamage || 0;
|
package/behaviors/attack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attack.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/behaviors/attack.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH,
|
|
1
|
+
{"version":3,"file":"attack.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/behaviors/attack.ts"],"names":[],"mappings":"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"}
|
package/behaviors/behavior.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { IFEntity } from '../entities/if-entity';
|
|
2
|
-
import { TraitType } from '../traits/trait-types';
|
|
3
|
-
import { ITrait } from '../traits/trait';
|
|
1
|
+
import { IFEntity } from '../entities/if-entity.js';
|
|
2
|
+
import { TraitType } from '../traits/trait-types.js';
|
|
3
|
+
import { ITrait } from '../traits/trait.js';
|
|
4
4
|
/**
|
|
5
5
|
* Base class for all behaviors in the IF system.
|
|
6
6
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/behaviors/behavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/behaviors/behavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;;;;;;GASG;AACH,8BAAsB,QAAQ;IAC5B;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAM;IAEnD;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,MAAM,EACvC,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,CAAC;IASJ;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,EACxC,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,CAAC,GAAG,SAAS;IAOhB;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAIhD;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE;CAGlE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,GAAG,GACZ,QAAQ,IAAI,mBAAmB,CAEjC"}
|
package/behaviors/index.d.ts
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
export { Behavior, IWorldAwareBehavior, isWorldAwareBehavior } from './behavior';
|
|
2
|
-
export { ContainerBehavior } from '../traits/container/containerBehavior';
|
|
3
|
-
export { SceneryBehavior } from '../traits/scenery/sceneryBehavior';
|
|
4
|
-
export { WearableBehavior } from '../traits/wearable/wearableBehavior';
|
|
5
|
-
export { ReadableBehavior } from '../traits/readable/readableBehavior';
|
|
6
|
-
export { LightSourceBehavior } from '../traits/light-source/lightSourceBehavior';
|
|
7
|
-
export { ExitBehavior } from '../traits/exit/exitBehavior';
|
|
8
|
-
export { ClimbableBehavior } from '../traits/climbable/climbableBehavior';
|
|
9
|
-
export { OpenableBehavior } from '../traits/openable/openableBehavior';
|
|
10
|
-
export { LockableBehavior } from '../traits/lockable/lockableBehavior';
|
|
11
|
-
export { WeaponBehavior } from '../traits/weapon/weaponBehavior';
|
|
12
|
-
export { BreakableBehavior } from '../traits/breakable/breakableBehavior';
|
|
13
|
-
export { DestructibleBehavior } from '../traits/destructible/destructibleBehavior';
|
|
14
|
-
export { CombatBehavior } from '../traits/combatant/combatantBehavior';
|
|
15
|
-
export { AttackBehavior, IAttackResult } from './attack';
|
|
16
|
-
export
|
|
17
|
-
export type {
|
|
18
|
-
export type {
|
|
19
|
-
export type {
|
|
20
|
-
export type {
|
|
1
|
+
export { Behavior, IWorldAwareBehavior, isWorldAwareBehavior } from './behavior.js';
|
|
2
|
+
export { ContainerBehavior } from '../traits/container/containerBehavior.js';
|
|
3
|
+
export { SceneryBehavior } from '../traits/scenery/sceneryBehavior.js';
|
|
4
|
+
export { WearableBehavior } from '../traits/wearable/wearableBehavior.js';
|
|
5
|
+
export { ReadableBehavior } from '../traits/readable/readableBehavior.js';
|
|
6
|
+
export { LightSourceBehavior } from '../traits/light-source/lightSourceBehavior.js';
|
|
7
|
+
export { ExitBehavior } from '../traits/exit/exitBehavior.js';
|
|
8
|
+
export { ClimbableBehavior } from '../traits/climbable/climbableBehavior.js';
|
|
9
|
+
export { OpenableBehavior } from '../traits/openable/openableBehavior.js';
|
|
10
|
+
export { LockableBehavior } from '../traits/lockable/lockableBehavior.js';
|
|
11
|
+
export { WeaponBehavior } from '../traits/weapon/weaponBehavior.js';
|
|
12
|
+
export { BreakableBehavior } from '../traits/breakable/breakableBehavior.js';
|
|
13
|
+
export { DestructibleBehavior } from '../traits/destructible/destructibleBehavior.js';
|
|
14
|
+
export { CombatBehavior } from '../traits/combatant/combatantBehavior.js';
|
|
15
|
+
export { AttackBehavior, IAttackResult, AttackIneffectiveReason } from './attack.js';
|
|
16
|
+
export { HealthBehavior } from '../traits/health/healthBehavior.js';
|
|
17
|
+
export type { IOpenResult, ICloseResult } from '../traits/openable/openableBehavior.js';
|
|
18
|
+
export type { IWeaponDamageResult } from '../traits/weapon/weaponBehavior.js';
|
|
19
|
+
export type { IBreakResult } from '../traits/breakable/breakableBehavior.js';
|
|
20
|
+
export type { IDamageResult } from '../traits/destructible/destructibleBehavior.js';
|
|
21
|
+
export type { ICombatResult } from '../traits/combatant/combatantBehavior.js';
|
|
21
22
|
//# sourceMappingURL=index.d.ts.map
|
package/behaviors/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/behaviors/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/behaviors/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAIpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG1E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGrF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACxF,YAAY,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,YAAY,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,YAAY,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AACpF,YAAY,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC"}
|
package/behaviors/index.js
CHANGED
|
@@ -1,39 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// packages/world-model/src/behaviors/index.ts
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.AttackBehavior = exports.CombatBehavior = exports.DestructibleBehavior = exports.BreakableBehavior = exports.WeaponBehavior = exports.LockableBehavior = exports.OpenableBehavior = exports.ClimbableBehavior = exports.ExitBehavior = exports.LightSourceBehavior = exports.ReadableBehavior = exports.WearableBehavior = exports.SceneryBehavior = exports.ContainerBehavior = exports.isWorldAwareBehavior = exports.Behavior = void 0;
|
|
5
|
-
var
|
|
6
|
-
Object.defineProperty(exports, "Behavior", { enumerable: true, get: function () { return
|
|
7
|
-
Object.defineProperty(exports, "isWorldAwareBehavior", { enumerable: true, get: function () { return
|
|
4
|
+
exports.HealthBehavior = exports.AttackBehavior = exports.CombatBehavior = exports.DestructibleBehavior = exports.BreakableBehavior = exports.WeaponBehavior = exports.LockableBehavior = exports.OpenableBehavior = exports.ClimbableBehavior = exports.ExitBehavior = exports.LightSourceBehavior = exports.ReadableBehavior = exports.WearableBehavior = exports.SceneryBehavior = exports.ContainerBehavior = exports.isWorldAwareBehavior = exports.Behavior = void 0;
|
|
5
|
+
var behavior_js_1 = require("./behavior.js");
|
|
6
|
+
Object.defineProperty(exports, "Behavior", { enumerable: true, get: function () { return behavior_js_1.Behavior; } });
|
|
7
|
+
Object.defineProperty(exports, "isWorldAwareBehavior", { enumerable: true, get: function () { return behavior_js_1.isWorldAwareBehavior; } });
|
|
8
8
|
// Re-export all behavior classes as they are added
|
|
9
9
|
// These will come from the trait folders
|
|
10
|
-
var
|
|
11
|
-
Object.defineProperty(exports, "ContainerBehavior", { enumerable: true, get: function () { return
|
|
12
|
-
var
|
|
13
|
-
Object.defineProperty(exports, "SceneryBehavior", { enumerable: true, get: function () { return
|
|
14
|
-
var
|
|
15
|
-
Object.defineProperty(exports, "WearableBehavior", { enumerable: true, get: function () { return
|
|
16
|
-
var
|
|
17
|
-
Object.defineProperty(exports, "ReadableBehavior", { enumerable: true, get: function () { return
|
|
18
|
-
var
|
|
19
|
-
Object.defineProperty(exports, "LightSourceBehavior", { enumerable: true, get: function () { return
|
|
20
|
-
var
|
|
21
|
-
Object.defineProperty(exports, "ExitBehavior", { enumerable: true, get: function () { return
|
|
22
|
-
var
|
|
23
|
-
Object.defineProperty(exports, "ClimbableBehavior", { enumerable: true, get: function () { return
|
|
24
|
-
var
|
|
25
|
-
Object.defineProperty(exports, "OpenableBehavior", { enumerable: true, get: function () { return
|
|
26
|
-
var
|
|
27
|
-
Object.defineProperty(exports, "LockableBehavior", { enumerable: true, get: function () { return
|
|
10
|
+
var containerBehavior_js_1 = require("../traits/container/containerBehavior.js");
|
|
11
|
+
Object.defineProperty(exports, "ContainerBehavior", { enumerable: true, get: function () { return containerBehavior_js_1.ContainerBehavior; } });
|
|
12
|
+
var sceneryBehavior_js_1 = require("../traits/scenery/sceneryBehavior.js");
|
|
13
|
+
Object.defineProperty(exports, "SceneryBehavior", { enumerable: true, get: function () { return sceneryBehavior_js_1.SceneryBehavior; } });
|
|
14
|
+
var wearableBehavior_js_1 = require("../traits/wearable/wearableBehavior.js");
|
|
15
|
+
Object.defineProperty(exports, "WearableBehavior", { enumerable: true, get: function () { return wearableBehavior_js_1.WearableBehavior; } });
|
|
16
|
+
var readableBehavior_js_1 = require("../traits/readable/readableBehavior.js");
|
|
17
|
+
Object.defineProperty(exports, "ReadableBehavior", { enumerable: true, get: function () { return readableBehavior_js_1.ReadableBehavior; } });
|
|
18
|
+
var lightSourceBehavior_js_1 = require("../traits/light-source/lightSourceBehavior.js");
|
|
19
|
+
Object.defineProperty(exports, "LightSourceBehavior", { enumerable: true, get: function () { return lightSourceBehavior_js_1.LightSourceBehavior; } });
|
|
20
|
+
var exitBehavior_js_1 = require("../traits/exit/exitBehavior.js");
|
|
21
|
+
Object.defineProperty(exports, "ExitBehavior", { enumerable: true, get: function () { return exitBehavior_js_1.ExitBehavior; } });
|
|
22
|
+
var climbableBehavior_js_1 = require("../traits/climbable/climbableBehavior.js");
|
|
23
|
+
Object.defineProperty(exports, "ClimbableBehavior", { enumerable: true, get: function () { return climbableBehavior_js_1.ClimbableBehavior; } });
|
|
24
|
+
var openableBehavior_js_1 = require("../traits/openable/openableBehavior.js");
|
|
25
|
+
Object.defineProperty(exports, "OpenableBehavior", { enumerable: true, get: function () { return openableBehavior_js_1.OpenableBehavior; } });
|
|
26
|
+
var lockableBehavior_js_1 = require("../traits/lockable/lockableBehavior.js");
|
|
27
|
+
Object.defineProperty(exports, "LockableBehavior", { enumerable: true, get: function () { return lockableBehavior_js_1.LockableBehavior; } });
|
|
28
28
|
// Combat behaviors
|
|
29
|
-
var
|
|
30
|
-
Object.defineProperty(exports, "WeaponBehavior", { enumerable: true, get: function () { return
|
|
31
|
-
var
|
|
32
|
-
Object.defineProperty(exports, "BreakableBehavior", { enumerable: true, get: function () { return
|
|
33
|
-
var
|
|
34
|
-
Object.defineProperty(exports, "DestructibleBehavior", { enumerable: true, get: function () { return
|
|
35
|
-
var
|
|
36
|
-
Object.defineProperty(exports, "CombatBehavior", { enumerable: true, get: function () { return
|
|
37
|
-
var
|
|
38
|
-
Object.defineProperty(exports, "AttackBehavior", { enumerable: true, get: function () { return
|
|
29
|
+
var weaponBehavior_js_1 = require("../traits/weapon/weaponBehavior.js");
|
|
30
|
+
Object.defineProperty(exports, "WeaponBehavior", { enumerable: true, get: function () { return weaponBehavior_js_1.WeaponBehavior; } });
|
|
31
|
+
var breakableBehavior_js_1 = require("../traits/breakable/breakableBehavior.js");
|
|
32
|
+
Object.defineProperty(exports, "BreakableBehavior", { enumerable: true, get: function () { return breakableBehavior_js_1.BreakableBehavior; } });
|
|
33
|
+
var destructibleBehavior_js_1 = require("../traits/destructible/destructibleBehavior.js");
|
|
34
|
+
Object.defineProperty(exports, "DestructibleBehavior", { enumerable: true, get: function () { return destructibleBehavior_js_1.DestructibleBehavior; } });
|
|
35
|
+
var combatantBehavior_js_1 = require("../traits/combatant/combatantBehavior.js");
|
|
36
|
+
Object.defineProperty(exports, "CombatBehavior", { enumerable: true, get: function () { return combatantBehavior_js_1.CombatBehavior; } });
|
|
37
|
+
var attack_js_1 = require("./attack.js");
|
|
38
|
+
Object.defineProperty(exports, "AttackBehavior", { enumerable: true, get: function () { return attack_js_1.AttackBehavior; } });
|
|
39
|
+
// Health / life-state (ADR-226, ADR-223 child A)
|
|
40
|
+
var healthBehavior_js_1 = require("../traits/health/healthBehavior.js");
|
|
41
|
+
Object.defineProperty(exports, "HealthBehavior", { enumerable: true, get: function () { return healthBehavior_js_1.HealthBehavior; } });
|
|
39
42
|
//# sourceMappingURL=index.js.map
|
package/behaviors/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/behaviors/index.ts"],"names":[],"mappings":";AAAA,8CAA8C;;;AAE9C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/behaviors/index.ts"],"names":[],"mappings":";AAAA,8CAA8C;;;AAE9C,6CAAoF;AAA3E,uGAAA,QAAQ,OAAA;AAAuB,mHAAA,oBAAoB,OAAA;AAE5D,mDAAmD;AACnD,yCAAyC;AACzC,iFAA6E;AAApE,yHAAA,iBAAiB,OAAA;AAC1B,2EAAuE;AAA9D,qHAAA,eAAe,OAAA;AACxB,8EAA0E;AAAjE,uHAAA,gBAAgB,OAAA;AACzB,8EAA0E;AAAjE,uHAAA,gBAAgB,OAAA;AACzB,wFAAoF;AAA3E,6HAAA,mBAAmB,OAAA;AAC5B,kEAA8D;AAArD,+GAAA,YAAY,OAAA;AACrB,iFAA6E;AAApE,yHAAA,iBAAiB,OAAA;AAC1B,8EAA0E;AAAjE,uHAAA,gBAAgB,OAAA;AACzB,8EAA0E;AAAjE,uHAAA,gBAAgB,OAAA;AAEzB,mBAAmB;AACnB,wEAAoE;AAA3D,mHAAA,cAAc,OAAA;AACvB,iFAA6E;AAApE,yHAAA,iBAAiB,OAAA;AAC1B,0FAAsF;AAA7E,+HAAA,oBAAoB,OAAA;AAC7B,iFAA0E;AAAjE,sHAAA,cAAc,OAAA;AACvB,yCAAqF;AAA5E,2GAAA,cAAc,OAAA;AAEvB,iDAAiD;AACjD,wEAAoE;AAA3D,mHAAA,cAAc,OAAA"}
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
* - ActionInterceptor: Hooks into phases, action owns core logic (ENTER, PUT)
|
|
12
12
|
*/
|
|
13
13
|
import { ISemanticEvent } from '@sharpee/core';
|
|
14
|
-
import { IFEntity } from '../entities';
|
|
15
|
-
import { WorldModel } from '../world';
|
|
16
|
-
import { CapabilityEffect } from './types';
|
|
14
|
+
import { IFEntity } from '../entities/index.js';
|
|
15
|
+
import { WorldModel } from '../world/index.js';
|
|
16
|
+
import { CapabilityEffect } from './types.js';
|
|
17
17
|
/**
|
|
18
18
|
* Shared data object for passing data between interceptor phases.
|
|
19
19
|
* Mirrors CapabilitySharedData pattern from capability-behavior.ts.
|
|
@@ -81,6 +81,44 @@ export interface InterceptorReportResult {
|
|
|
81
81
|
/** Emit additional events alongside the action's standard events. */
|
|
82
82
|
emit?: CapabilityEffect[];
|
|
83
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Result returned by `ActionInterceptor.onBlocked` (ADR-228, D2).
|
|
86
|
+
*
|
|
87
|
+
* Structurally symmetric with `InterceptorReportResult` so the whole
|
|
88
|
+
* interceptor API is teachable as one pattern:
|
|
89
|
+
*
|
|
90
|
+
* 1. `override` — swap the standard blocked event's `messageId` (and
|
|
91
|
+
* optional params/text). The blocked event's **type survives intact**
|
|
92
|
+
* (`if.event.take_blocked` etc.), so tests and state machines keyed on
|
|
93
|
+
* blocked events keep working while the interceptor controls the
|
|
94
|
+
* refusal's presentation.
|
|
95
|
+
*
|
|
96
|
+
* 2. `emit` — additional effects appended after the standard blocked
|
|
97
|
+
* event (side-channel narration, death events, etc.).
|
|
98
|
+
*
|
|
99
|
+
* Returning `null` or `{}` means standard blocked handling.
|
|
100
|
+
*
|
|
101
|
+
* The bare `CapabilityEffect[]` form (replace-the-event, with `[]`
|
|
102
|
+
* silently suppressing it) is retired: the standard blocked event is the
|
|
103
|
+
* machine-readable record of the refusal and can no longer be eaten.
|
|
104
|
+
* Note the primary custom-refusal path is unchanged and does not go
|
|
105
|
+
* through onBlocked at all: a pre/postValidate hook returning
|
|
106
|
+
* `{valid: false, error: customMessageId}` renders that message on the
|
|
107
|
+
* blocked event (the white-hot-axe pattern).
|
|
108
|
+
*
|
|
109
|
+
* @see applyInterceptorBlockedResult
|
|
110
|
+
*/
|
|
111
|
+
export interface InterceptorBlockedResult {
|
|
112
|
+
/** Override the standard blocked event's messageId (and optional params/text).
|
|
113
|
+
* The event type is preserved. */
|
|
114
|
+
override?: {
|
|
115
|
+
messageId: string;
|
|
116
|
+
params?: Record<string, unknown>;
|
|
117
|
+
text?: string;
|
|
118
|
+
};
|
|
119
|
+
/** Emit additional effects after the standard blocked event. */
|
|
120
|
+
emit?: CapabilityEffect[];
|
|
121
|
+
}
|
|
84
122
|
/**
|
|
85
123
|
* Minimal context shape required by `applyInterceptorReportResult`.
|
|
86
124
|
*
|
|
@@ -115,6 +153,11 @@ export interface InterceptorEventContext {
|
|
|
115
153
|
* @param result - The value returned from `interceptor.postReport`.
|
|
116
154
|
* @param context - The action context (any object exposing
|
|
117
155
|
* `event(type, data)`).
|
|
156
|
+
* @param options - `searchFrom`: index in `events` from which override
|
|
157
|
+
* targeting searches (default 0). Per-item applications
|
|
158
|
+
* in multi-object commands (ADR-228 D4) pass the index
|
|
159
|
+
* where the item's report began so the override lands on
|
|
160
|
+
* that item's event, not an earlier item's.
|
|
118
161
|
*
|
|
119
162
|
* @example
|
|
120
163
|
* ```typescript
|
|
@@ -126,7 +169,36 @@ export interface InterceptorEventContext {
|
|
|
126
169
|
* }
|
|
127
170
|
* ```
|
|
128
171
|
*/
|
|
129
|
-
export declare function applyInterceptorReportResult(events: ISemanticEvent[], primaryEventType: string, result: InterceptorReportResult, context: InterceptorEventContext
|
|
172
|
+
export declare function applyInterceptorReportResult(events: ISemanticEvent[], primaryEventType: string, result: InterceptorReportResult, context: InterceptorEventContext, options?: {
|
|
173
|
+
searchFrom?: number;
|
|
174
|
+
}): void;
|
|
175
|
+
/**
|
|
176
|
+
* Apply an interceptor's `onBlocked` result to an action's blocked events.
|
|
177
|
+
*
|
|
178
|
+
* - If `result.override` is set, copies `messageId` (and optional `params`/`text`)
|
|
179
|
+
* onto the data of the event whose type matches `blockedEventType`. The
|
|
180
|
+
* event itself — the machine-readable record of the refusal — survives.
|
|
181
|
+
* - If `result.emit` is set, converts each effect to an `ISemanticEvent`
|
|
182
|
+
* via `context.event(...)` and appends to `events`.
|
|
183
|
+
*
|
|
184
|
+
* The action's `blocked()` phase calls this helper with the events array
|
|
185
|
+
* it has built (containing the standard blocked event), the blocked event
|
|
186
|
+
* type (e.g. `'if.event.take_blocked'`), and the action context.
|
|
187
|
+
*
|
|
188
|
+
* @param events - The action's blocked events array; mutated in place.
|
|
189
|
+
* @param blockedEventType - The event type whose `messageId` an `override`
|
|
190
|
+
* should replace (e.g. `'if.event.take_blocked'`).
|
|
191
|
+
* @param result - The value returned from `interceptor.onBlocked`.
|
|
192
|
+
* @param context - The action context (any object exposing
|
|
193
|
+
* `event(type, data)`).
|
|
194
|
+
* @param options - `searchFrom`: index in `events` from which override
|
|
195
|
+
* targeting searches (default 0). See
|
|
196
|
+
* `applyInterceptorReportResult` for the ADR-228 D4
|
|
197
|
+
* per-item rationale.
|
|
198
|
+
*/
|
|
199
|
+
export declare function applyInterceptorBlockedResult(events: ISemanticEvent[], blockedEventType: string, result: InterceptorBlockedResult, context: InterceptorEventContext, options?: {
|
|
200
|
+
searchFrom?: number;
|
|
201
|
+
}): void;
|
|
130
202
|
/**
|
|
131
203
|
* Action interceptor interface.
|
|
132
204
|
*
|
|
@@ -268,18 +340,33 @@ export interface ActionInterceptor {
|
|
|
268
340
|
/**
|
|
269
341
|
* Called when action is blocked (validation failed).
|
|
270
342
|
*
|
|
271
|
-
*
|
|
272
|
-
*
|
|
343
|
+
* Return an `InterceptorBlockedResult` (ADR-228, D2) that declares either:
|
|
344
|
+
* - `override`: swap the standard blocked event's `messageId` — the event
|
|
345
|
+
* type survives as the machine-readable record of the refusal, or
|
|
346
|
+
* - `emit`: additional effects appended after the standard blocked event
|
|
347
|
+
* (side-channel narration, death events), or
|
|
348
|
+
* - both, or `null`/`{}` for standard blocked handling.
|
|
349
|
+
*
|
|
350
|
+
* The action's `blocked()` phase applies the result via
|
|
351
|
+
* `applyInterceptorBlockedResult`.
|
|
273
352
|
*
|
|
274
353
|
* @example
|
|
275
|
-
* //
|
|
354
|
+
* // Override: richer refusal presentation, record event intact
|
|
276
355
|
* onBlocked(entity, world, actorId, error, sharedData) {
|
|
277
356
|
* if (error === 'dungeo.troll.blocks_path') {
|
|
278
|
-
* return
|
|
357
|
+
* return { override: { messageId: 'dungeo.troll.snarls' } };
|
|
279
358
|
* }
|
|
280
359
|
* return null; // Use standard blocked handling
|
|
281
360
|
* }
|
|
361
|
+
*
|
|
362
|
+
* @example
|
|
363
|
+
* // Emit: refusal has side effects (poison death on blocked take)
|
|
364
|
+
* onBlocked(entity, world, actorId, error, sharedData) {
|
|
365
|
+
* if (!sharedData.poisonDeath) return null;
|
|
366
|
+
* killPlayer(world, world.getPlayer()!, { cause: 'poison', terminal: true });
|
|
367
|
+
* return { emit: [createEffect(PLAYER_DIED_EVENT, { cause: 'poison', terminal: true })] };
|
|
368
|
+
* }
|
|
282
369
|
*/
|
|
283
|
-
onBlocked?(entity: IFEntity, world: WorldModel, actorId: string, error: string, sharedData: InterceptorSharedData):
|
|
370
|
+
onBlocked?(entity: IFEntity, world: WorldModel, actorId: string, error: string, sharedData: InterceptorSharedData): InterceptorBlockedResult | null;
|
|
284
371
|
}
|
|
285
372
|
//# sourceMappingURL=action-interceptor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-interceptor.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/capabilities/action-interceptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"action-interceptor.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/capabilities/action-interceptor.ts"],"names":[],"mappings":"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"}
|