@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
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
// packages/world-model/src/traits/exit/exitBehavior.ts
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.ExitBehavior = void 0;
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
5
|
+
const if_entity_js_1 = require("../../entities/if-entity.js");
|
|
6
|
+
const trait_types_js_1 = require("../trait-types.js");
|
|
7
|
+
const exitTrait_js_1 = require("./exitTrait.js");
|
|
8
8
|
const core_1 = require("@sharpee/core");
|
|
9
|
-
const
|
|
9
|
+
const if_events_js_1 = require("../../constants/if-events.js");
|
|
10
10
|
/**
|
|
11
11
|
* Behavior for exit entities.
|
|
12
12
|
* Handles all logic related to movement through exits.
|
|
13
13
|
*/
|
|
14
14
|
class ExitBehavior {
|
|
15
|
-
static requiredTraits = [
|
|
15
|
+
static requiredTraits = [trait_types_js_1.TraitType.EXIT];
|
|
16
16
|
/**
|
|
17
17
|
* Check if an exit matches a command
|
|
18
18
|
*/
|
|
19
19
|
static matchesCommand(exit, command) {
|
|
20
|
-
const trait = exit.get(
|
|
20
|
+
const trait = exit.get(trait_types_js_1.TraitType.EXIT);
|
|
21
21
|
if (!trait)
|
|
22
22
|
return false;
|
|
23
23
|
// Check main command
|
|
@@ -38,7 +38,7 @@ class ExitBehavior {
|
|
|
38
38
|
* Check if an exit can be used
|
|
39
39
|
*/
|
|
40
40
|
static canUse(exit, actor, world) {
|
|
41
|
-
const trait = exit.get(
|
|
41
|
+
const trait = exit.get(trait_types_js_1.TraitType.EXIT);
|
|
42
42
|
if (!trait)
|
|
43
43
|
return false;
|
|
44
44
|
// Check if exit is visible
|
|
@@ -52,14 +52,14 @@ class ExitBehavior {
|
|
|
52
52
|
return true; // For now, allow all conditional exits
|
|
53
53
|
}
|
|
54
54
|
// Check if exit is blocked (door closed, etc.)
|
|
55
|
-
if (exit.has(
|
|
56
|
-
const openable = exit.get(
|
|
55
|
+
if (exit.has(trait_types_js_1.TraitType.OPENABLE)) {
|
|
56
|
+
const openable = exit.get(trait_types_js_1.TraitType.OPENABLE);
|
|
57
57
|
if (openable && !openable.isOpen) {
|
|
58
58
|
return false;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
if (exit.has(
|
|
62
|
-
const lockable = exit.get(
|
|
61
|
+
if (exit.has(trait_types_js_1.TraitType.LOCKABLE)) {
|
|
62
|
+
const lockable = exit.get(trait_types_js_1.TraitType.LOCKABLE);
|
|
63
63
|
if (lockable && lockable.isLocked) {
|
|
64
64
|
return false;
|
|
65
65
|
}
|
|
@@ -70,10 +70,10 @@ class ExitBehavior {
|
|
|
70
70
|
* Use an exit to move between locations
|
|
71
71
|
*/
|
|
72
72
|
static use(exit, actor, world) {
|
|
73
|
-
const trait = exit.get(
|
|
73
|
+
const trait = exit.get(trait_types_js_1.TraitType.EXIT);
|
|
74
74
|
if (!trait) {
|
|
75
75
|
return [
|
|
76
|
-
(0, core_1.createEvent)(
|
|
76
|
+
(0, core_1.createEvent)(if_events_js_1.IFEvents.ACTION_FAILED, {
|
|
77
77
|
action: 'use_exit',
|
|
78
78
|
reason: 'not_an_exit'
|
|
79
79
|
}, { target: exit.id, actor: actor.id })
|
|
@@ -83,7 +83,7 @@ class ExitBehavior {
|
|
|
83
83
|
if (!this.canUse(exit, actor, world)) {
|
|
84
84
|
const reason = this.getBlockedReason(exit);
|
|
85
85
|
return [
|
|
86
|
-
(0, core_1.createEvent)(
|
|
86
|
+
(0, core_1.createEvent)(if_events_js_1.IFEvents.ACTION_FAILED, {
|
|
87
87
|
action: 'use_exit',
|
|
88
88
|
reason,
|
|
89
89
|
message: trait.blockedMessage
|
|
@@ -94,10 +94,10 @@ class ExitBehavior {
|
|
|
94
94
|
const events = [];
|
|
95
95
|
// Custom use message event
|
|
96
96
|
if (trait.useMessage) {
|
|
97
|
-
events.push((0, core_1.createEvent)(
|
|
97
|
+
events.push((0, core_1.createEvent)(if_events_js_1.IFEvents.CUSTOM_MESSAGE, { message: trait.useMessage }, { actor: actor.id }));
|
|
98
98
|
}
|
|
99
99
|
// Movement event
|
|
100
|
-
events.push((0, core_1.createEvent)(
|
|
100
|
+
events.push((0, core_1.createEvent)(if_events_js_1.IFEvents.MOVED, {
|
|
101
101
|
from: trait.from,
|
|
102
102
|
to: trait.to,
|
|
103
103
|
via: exit.id,
|
|
@@ -110,20 +110,20 @@ class ExitBehavior {
|
|
|
110
110
|
* Get reason why exit is blocked
|
|
111
111
|
*/
|
|
112
112
|
static getBlockedReason(exit) {
|
|
113
|
-
const trait = exit.get(
|
|
113
|
+
const trait = exit.get(trait_types_js_1.TraitType.EXIT);
|
|
114
114
|
if (!trait)
|
|
115
115
|
return 'not_an_exit';
|
|
116
116
|
if (!trait.visible) {
|
|
117
117
|
return 'exit_not_visible';
|
|
118
118
|
}
|
|
119
|
-
if (exit.has(
|
|
120
|
-
const lockable = exit.get(
|
|
119
|
+
if (exit.has(trait_types_js_1.TraitType.LOCKABLE)) {
|
|
120
|
+
const lockable = exit.get(trait_types_js_1.TraitType.LOCKABLE);
|
|
121
121
|
if (lockable && lockable.isLocked) {
|
|
122
122
|
return 'exit_locked';
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
|
-
if (exit.has(
|
|
126
|
-
const openable = exit.get(
|
|
125
|
+
if (exit.has(trait_types_js_1.TraitType.OPENABLE)) {
|
|
126
|
+
const openable = exit.get(trait_types_js_1.TraitType.OPENABLE);
|
|
127
127
|
if (openable && !openable.isOpen) {
|
|
128
128
|
return 'exit_closed';
|
|
129
129
|
}
|
|
@@ -149,7 +149,7 @@ class ExitBehavior {
|
|
|
149
149
|
*/
|
|
150
150
|
static getVisibleExitsFrom(locationId, world) {
|
|
151
151
|
return this.getExitsFrom(locationId, world).filter(exit => {
|
|
152
|
-
const trait = exit.get(
|
|
152
|
+
const trait = exit.get(trait_types_js_1.TraitType.EXIT);
|
|
153
153
|
return trait && trait.visible;
|
|
154
154
|
});
|
|
155
155
|
}
|
|
@@ -158,7 +158,7 @@ class ExitBehavior {
|
|
|
158
158
|
*/
|
|
159
159
|
static getListedExitsFrom(locationId, world) {
|
|
160
160
|
return this.getExitsFrom(locationId, world).filter(exit => {
|
|
161
|
-
const trait = exit.get(
|
|
161
|
+
const trait = exit.get(trait_types_js_1.TraitType.EXIT);
|
|
162
162
|
return trait && trait.visible && trait.listed;
|
|
163
163
|
});
|
|
164
164
|
}
|
|
@@ -171,14 +171,14 @@ class ExitBehavior {
|
|
|
171
171
|
}
|
|
172
172
|
// Create forward exit
|
|
173
173
|
const forwardId = `${exitData.from}-to-${exitData.to}`;
|
|
174
|
-
const forward = new
|
|
175
|
-
forward.add(new
|
|
174
|
+
const forward = new if_entity_js_1.IFEntity(forwardId, 'exit');
|
|
175
|
+
forward.add(new exitTrait_js_1.ExitTrait({
|
|
176
176
|
...exitData,
|
|
177
177
|
bidirectional: true
|
|
178
178
|
}));
|
|
179
179
|
// Create reverse exit
|
|
180
180
|
const reverseId = `${exitData.to}-to-${exitData.from}`;
|
|
181
|
-
const reverse = new
|
|
181
|
+
const reverse = new if_entity_js_1.IFEntity(reverseId, 'exit');
|
|
182
182
|
const reverseData = {
|
|
183
183
|
from: exitData.to,
|
|
184
184
|
to: exitData.from,
|
|
@@ -188,7 +188,7 @@ class ExitBehavior {
|
|
|
188
188
|
listed: exitData.listed,
|
|
189
189
|
bidirectional: true
|
|
190
190
|
};
|
|
191
|
-
reverse.add(new
|
|
191
|
+
reverse.add(new exitTrait_js_1.ExitTrait(reverseData));
|
|
192
192
|
return [forward, reverse];
|
|
193
193
|
}
|
|
194
194
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exitBehavior.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/exit/exitBehavior.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAEvD,
|
|
1
|
+
{"version":3,"file":"exitBehavior.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/exit/exitBehavior.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exitTrait.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/exit/exitTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"exitTrait.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/exit/exitTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;;;GAKG;AACH,qBAAa,SAAU,YAAW,MAAM;IACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAkB;IACtC,QAAQ,CAAC,IAAI,SAAkB;IAE/B,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IAEb,iEAAiE;IACjE,EAAE,EAAE,MAAM,CAAC;IAEX,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAEhB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAQ;IAExB,qDAAqD;IACrD,MAAM,EAAE,OAAO,CAAQ;IAEvB,yDAAyD;IACzD,aAAa,EAAE,OAAO,CAAS;IAE/B,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,oDAAoD;IACpD,WAAW,EAAE,OAAO,CAAS;IAE7B,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;gBAET,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC;CAqBrC"}
|
package/traits/exit/exitTrait.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// packages/world-model/src/traits/exit/exitTrait.ts
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.ExitTrait = void 0;
|
|
5
|
-
const
|
|
5
|
+
const trait_types_js_1 = require("../trait-types.js");
|
|
6
6
|
/**
|
|
7
7
|
* Exit trait for entities that represent passages between locations.
|
|
8
8
|
* Used for doors, passages, portals, and any custom exits like "xyzzy".
|
|
@@ -10,8 +10,8 @@ const trait_types_1 = require("../trait-types");
|
|
|
10
10
|
* This trait contains only data - all behavior is in ExitBehavior.
|
|
11
11
|
*/
|
|
12
12
|
class ExitTrait {
|
|
13
|
-
static type =
|
|
14
|
-
type =
|
|
13
|
+
static type = trait_types_js_1.TraitType.EXIT;
|
|
14
|
+
type = trait_types_js_1.TraitType.EXIT;
|
|
15
15
|
/** Source location ID (must be an entity ID, not a name) */
|
|
16
16
|
from;
|
|
17
17
|
/** Destination location ID (must be an entity ID, not a name) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exitTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/exit/exitTrait.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAGpD,
|
|
1
|
+
{"version":3,"file":"exitTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/exit/exitTrait.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAGpD,sDAA8C;AAE9C;;;;;GAKG;AACH,MAAa,SAAS;IACpB,MAAM,CAAU,IAAI,GAAG,0BAAS,CAAC,IAAI,CAAC;IAC7B,IAAI,GAAG,0BAAS,CAAC,IAAI,CAAC;IAE/B,4DAA4D;IAC5D,IAAI,CAAS;IAEb,iEAAiE;IACjE,EAAE,CAAS;IAEX,6DAA6D;IAC7D,SAAS,CAAU;IAEnB,2EAA2E;IAC3E,OAAO,CAAS;IAEhB,mDAAmD;IACnD,OAAO,CAAY;IAEnB,8CAA8C;IAC9C,OAAO,GAAY,IAAI,CAAC;IAExB,qDAAqD;IACrD,MAAM,GAAY,IAAI,CAAC;IAEvB,yDAAyD;IACzD,aAAa,GAAY,KAAK,CAAC;IAE/B,2CAA2C;IAC3C,cAAc,CAAU;IAExB,6CAA6C;IAC7C,gBAAgB,CAAU;IAE1B,0CAA0C;IAC1C,UAAU,CAAU;IAEpB,+CAA+C;IAC/C,cAAc,CAAU;IAExB,oDAAoD;IACpD,WAAW,GAAY,KAAK,CAAC;IAE7B,kDAAkD;IAClD,WAAW,CAAU;IAErB,YAAY,IAAwB;QAClC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClE,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5D,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9E,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjF,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACvF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACrE,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjF,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACxE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC1E,CAAC;;AAlEH,8BAmEC"}
|
package/traits/exit/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { ExitTrait } from './exitTrait';
|
|
2
|
-
export { ExitBehavior } from './exitBehavior';
|
|
1
|
+
export { ExitTrait } from './exitTrait.js';
|
|
2
|
+
export { ExitBehavior } from './exitBehavior.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/exit/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/exit/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
package/traits/exit/index.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// packages/world-model/src/traits/exit/index.ts
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.ExitBehavior = exports.ExitTrait = void 0;
|
|
5
|
-
var
|
|
6
|
-
Object.defineProperty(exports, "ExitTrait", { enumerable: true, get: function () { return
|
|
7
|
-
var
|
|
8
|
-
Object.defineProperty(exports, "ExitBehavior", { enumerable: true, get: function () { return
|
|
5
|
+
var exitTrait_js_1 = require("./exitTrait.js");
|
|
6
|
+
Object.defineProperty(exports, "ExitTrait", { enumerable: true, get: function () { return exitTrait_js_1.ExitTrait; } });
|
|
7
|
+
var exitBehavior_js_1 = require("./exitBehavior.js");
|
|
8
|
+
Object.defineProperty(exports, "ExitBehavior", { enumerable: true, get: function () { return exitBehavior_js_1.ExitBehavior; } });
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
package/traits/exit/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/exit/index.ts"],"names":[],"mappings":";AAAA,gDAAgD;;;AAEhD
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/exit/index.ts"],"names":[],"mappings":";AAAA,gDAAgD;;;AAEhD,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAClB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Behavior for the HEALTH layer (ADR-226).
|
|
3
|
+
*
|
|
4
|
+
* All derivation and mutation over {@link HealthTrait} data. Consumers call these
|
|
5
|
+
* static methods rather than reading the trait's fields through getters, so the
|
|
6
|
+
* model survives `loadJSON()` (the `npc-service` `canAct`-getter footgun this layer
|
|
7
|
+
* removes). Consciousness is purely derived from `health` — there is no stored
|
|
8
|
+
* knocked-out flag, no `knockOut`/`wakeUp`, and no recovery timer (ADR-226 §1 F1).
|
|
9
|
+
*
|
|
10
|
+
* Public interface: `isAlive` / `isConscious` / `canAct` (pure derivation) and
|
|
11
|
+
* `takeDamage` / `heal` / `kill` (mutation). All operate on a `HealthTrait` directly;
|
|
12
|
+
* callers first confirm the entity has one (an entity with no `HealthTrait` is alive
|
|
13
|
+
* and conscious by default — ADR-226 §3 opt-in rule — a check owned by the caller).
|
|
14
|
+
* Owner context: `@sharpee/world-model` — HEALTH layer (ADR-223 child A).
|
|
15
|
+
*/
|
|
16
|
+
import { Behavior } from '../../behaviors/behavior.js';
|
|
17
|
+
import { HealthTrait } from './healthTrait.js';
|
|
18
|
+
export declare class HealthBehavior extends Behavior {
|
|
19
|
+
static requiredTraits: "health"[];
|
|
20
|
+
/**
|
|
21
|
+
* Whether the entity is alive: not terminally dead and above zero health.
|
|
22
|
+
* @param t the entity's health trait
|
|
23
|
+
*/
|
|
24
|
+
static isAlive(t: HealthTrait): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Whether the entity is conscious: alive, not asleep, and above the
|
|
27
|
+
* unconsciousness threshold. Consciousness is derived from `health` alone.
|
|
28
|
+
* @param t the entity's health trait
|
|
29
|
+
*/
|
|
30
|
+
static isConscious(t: HealthTrait): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Whether the entity can take a turn / act. Alias of {@link isConscious} — the
|
|
33
|
+
* turn loop's eligibility predicate (replaces `NpcTrait.canAct`).
|
|
34
|
+
* @param t the entity's health trait
|
|
35
|
+
*/
|
|
36
|
+
static canAct(t: HealthTrait): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Apply damage to health. Armor is the caller's concern (a `CombatantTrait` stat),
|
|
39
|
+
* so `amount` is already post-armor. On reaching zero health the entity dies with
|
|
40
|
+
* the given `cause`.
|
|
41
|
+
* @param t the entity's health trait
|
|
42
|
+
* @param amount post-armor damage; negatives are treated as zero
|
|
43
|
+
* @param cause cause recorded if this blow is lethal (default 'damage')
|
|
44
|
+
* @returns `true` iff the entity is now dead
|
|
45
|
+
*/
|
|
46
|
+
static takeDamage(t: HealthTrait, amount: number, cause?: string): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Restore health, clamped to `maxHealth`. Healing back above the unconsciousness
|
|
49
|
+
* threshold *is* regaining consciousness (no separate wake step). The dead do not
|
|
50
|
+
* heal — resurrection is a deliberate separate act, not `heal`.
|
|
51
|
+
* @param t the entity's health trait
|
|
52
|
+
* @param amount healing; negatives are treated as zero
|
|
53
|
+
* @returns the actual amount healed
|
|
54
|
+
*/
|
|
55
|
+
static heal(t: HealthTrait, amount: number): number;
|
|
56
|
+
/**
|
|
57
|
+
* Kill the entity: set the terminal `dead` flag and its `cause`, leaving `health`
|
|
58
|
+
* untouched. This is death's single writer — non-damage deaths (grue/fall/drown,
|
|
59
|
+
* ADR-224 `killPlayer`) call it directly; `takeDamage` calls it on a lethal blow.
|
|
60
|
+
* Death is distinct from `health === 0` (an entity can be dead at full health).
|
|
61
|
+
* @param t the entity's health trait
|
|
62
|
+
* @param cause the cause of death (e.g. 'grue', 'fall', 'combat')
|
|
63
|
+
*/
|
|
64
|
+
static kill(t: HealthTrait, cause: string): void;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=healthBehavior.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthBehavior.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/health/healthBehavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,MAAM,CAAC,cAAc,aAAsB;IAI3C;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO;IAIvC;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO;IAQ3C;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO;IAMtC;;;;;;;;OAQG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAiB,GAAG,OAAO;IAUpF;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAOnD;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAIjD"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Behavior for the HEALTH layer (ADR-226).
|
|
4
|
+
*
|
|
5
|
+
* All derivation and mutation over {@link HealthTrait} data. Consumers call these
|
|
6
|
+
* static methods rather than reading the trait's fields through getters, so the
|
|
7
|
+
* model survives `loadJSON()` (the `npc-service` `canAct`-getter footgun this layer
|
|
8
|
+
* removes). Consciousness is purely derived from `health` — there is no stored
|
|
9
|
+
* knocked-out flag, no `knockOut`/`wakeUp`, and no recovery timer (ADR-226 §1 F1).
|
|
10
|
+
*
|
|
11
|
+
* Public interface: `isAlive` / `isConscious` / `canAct` (pure derivation) and
|
|
12
|
+
* `takeDamage` / `heal` / `kill` (mutation). All operate on a `HealthTrait` directly;
|
|
13
|
+
* callers first confirm the entity has one (an entity with no `HealthTrait` is alive
|
|
14
|
+
* and conscious by default — ADR-226 §3 opt-in rule — a check owned by the caller).
|
|
15
|
+
* Owner context: `@sharpee/world-model` — HEALTH layer (ADR-223 child A).
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.HealthBehavior = void 0;
|
|
19
|
+
const behavior_js_1 = require("../../behaviors/behavior.js");
|
|
20
|
+
const trait_types_js_1 = require("../trait-types.js");
|
|
21
|
+
class HealthBehavior extends behavior_js_1.Behavior {
|
|
22
|
+
static requiredTraits = [trait_types_js_1.TraitType.HEALTH];
|
|
23
|
+
// ---- Derivation (pure — no mutation) ----
|
|
24
|
+
/**
|
|
25
|
+
* Whether the entity is alive: not terminally dead and above zero health.
|
|
26
|
+
* @param t the entity's health trait
|
|
27
|
+
*/
|
|
28
|
+
static isAlive(t) {
|
|
29
|
+
return !t.dead && t.health > 0;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Whether the entity is conscious: alive, not asleep, and above the
|
|
33
|
+
* unconsciousness threshold. Consciousness is derived from `health` alone.
|
|
34
|
+
* @param t the entity's health trait
|
|
35
|
+
*/
|
|
36
|
+
static isConscious(t) {
|
|
37
|
+
return (HealthBehavior.isAlive(t) &&
|
|
38
|
+
!t.asleep &&
|
|
39
|
+
t.health > t.maxHealth * t.unconsciousThreshold);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Whether the entity can take a turn / act. Alias of {@link isConscious} — the
|
|
43
|
+
* turn loop's eligibility predicate (replaces `NpcTrait.canAct`).
|
|
44
|
+
* @param t the entity's health trait
|
|
45
|
+
*/
|
|
46
|
+
static canAct(t) {
|
|
47
|
+
return HealthBehavior.isConscious(t);
|
|
48
|
+
}
|
|
49
|
+
// ---- Mutation (behaviors own mutations) ----
|
|
50
|
+
/**
|
|
51
|
+
* Apply damage to health. Armor is the caller's concern (a `CombatantTrait` stat),
|
|
52
|
+
* so `amount` is already post-armor. On reaching zero health the entity dies with
|
|
53
|
+
* the given `cause`.
|
|
54
|
+
* @param t the entity's health trait
|
|
55
|
+
* @param amount post-armor damage; negatives are treated as zero
|
|
56
|
+
* @param cause cause recorded if this blow is lethal (default 'damage')
|
|
57
|
+
* @returns `true` iff the entity is now dead
|
|
58
|
+
*/
|
|
59
|
+
static takeDamage(t, amount, cause = 'damage') {
|
|
60
|
+
if (t.dead)
|
|
61
|
+
return true; // a corpse takes no further damage (idempotent)
|
|
62
|
+
t.health = Math.max(0, t.health - Math.max(0, amount));
|
|
63
|
+
if (t.health <= 0) {
|
|
64
|
+
HealthBehavior.kill(t, cause);
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Restore health, clamped to `maxHealth`. Healing back above the unconsciousness
|
|
71
|
+
* threshold *is* regaining consciousness (no separate wake step). The dead do not
|
|
72
|
+
* heal — resurrection is a deliberate separate act, not `heal`.
|
|
73
|
+
* @param t the entity's health trait
|
|
74
|
+
* @param amount healing; negatives are treated as zero
|
|
75
|
+
* @returns the actual amount healed
|
|
76
|
+
*/
|
|
77
|
+
static heal(t, amount) {
|
|
78
|
+
if (t.dead)
|
|
79
|
+
return 0;
|
|
80
|
+
const before = t.health;
|
|
81
|
+
t.health = Math.min(t.maxHealth, t.health + Math.max(0, amount));
|
|
82
|
+
return t.health - before;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Kill the entity: set the terminal `dead` flag and its `cause`, leaving `health`
|
|
86
|
+
* untouched. This is death's single writer — non-damage deaths (grue/fall/drown,
|
|
87
|
+
* ADR-224 `killPlayer`) call it directly; `takeDamage` calls it on a lethal blow.
|
|
88
|
+
* Death is distinct from `health === 0` (an entity can be dead at full health).
|
|
89
|
+
* @param t the entity's health trait
|
|
90
|
+
* @param cause the cause of death (e.g. 'grue', 'fall', 'combat')
|
|
91
|
+
*/
|
|
92
|
+
static kill(t, cause) {
|
|
93
|
+
t.dead = true;
|
|
94
|
+
t.causeOfDeath = cause;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.HealthBehavior = HealthBehavior;
|
|
98
|
+
//# sourceMappingURL=healthBehavior.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthBehavior.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/health/healthBehavior.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,6DAAuD;AACvD,sDAA8C;AAG9C,MAAa,cAAe,SAAQ,sBAAQ;IAC1C,MAAM,CAAC,cAAc,GAAG,CAAC,0BAAS,CAAC,MAAM,CAAC,CAAC;IAE3C,4CAA4C;IAE5C;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,CAAc;QAC3B,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,CAAc;QAC/B,OAAO,CACL,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC,MAAM;YACT,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,oBAAoB,CAChD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,CAAc;QAC1B,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,+CAA+C;IAE/C;;;;;;;;OAQG;IACH,MAAM,CAAC,UAAU,CAAC,CAAc,EAAE,MAAc,EAAE,QAAgB,QAAQ;QACxE,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,CAAC,gDAAgD;QACzE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAClB,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,CAAc,EAAE,MAAc;QACxC,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACxB,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,CAAc,EAAE,KAAa;QACvC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC;IACzB,CAAC;;AAlFH,wCAmFC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Health Trait (ADR-226 — the HEALTH layer of ADR-223's four-layer NPC model).
|
|
3
|
+
*
|
|
4
|
+
* The single creature life-state model: current/max health, a derived
|
|
5
|
+
* consciousness threshold, an `asleep` flag, and a first-class terminal
|
|
6
|
+
* dead-by-cause state. This is the one source of mortality/consciousness truth —
|
|
7
|
+
* `CombatantTrait` and `NpcTrait` no longer carry their own `isAlive`/`isConscious`.
|
|
8
|
+
*
|
|
9
|
+
* Data only — no methods. All derivation (alive/conscious/can-act) and mutation
|
|
10
|
+
* (takeDamage/heal/kill) live in {@link HealthBehavior}, because a getter on the
|
|
11
|
+
* trait does not survive `loadJSON()` deserialization (the `npc-service` `canAct`
|
|
12
|
+
* footgun this layer removes).
|
|
13
|
+
*
|
|
14
|
+
* Public interface: read life-state via `HealthBehavior.{isAlive,isConscious,canAct}`
|
|
15
|
+
* and mutate via `HealthBehavior.{takeDamage,heal,kill}`.
|
|
16
|
+
* Owner context: `@sharpee/world-model` — HEALTH layer (ADR-223 child A).
|
|
17
|
+
*/
|
|
18
|
+
import { ITrait } from '../trait.js';
|
|
19
|
+
/**
|
|
20
|
+
* Constructor/serialization data for {@link HealthTrait}. Every field is optional;
|
|
21
|
+
* see the class constructor for defaults.
|
|
22
|
+
*/
|
|
23
|
+
export interface IHealthData {
|
|
24
|
+
/** Current health. Defaults to `maxHealth`. */
|
|
25
|
+
health?: number;
|
|
26
|
+
/** Maximum health; `heal` clamps to this. Defaults to `health`, else 10. */
|
|
27
|
+
maxHealth?: number;
|
|
28
|
+
/** Terminal dead-by-cause flag (ADR-224). Defaults to `false`. */
|
|
29
|
+
dead?: boolean;
|
|
30
|
+
/** Cause recorded alongside `dead` (e.g. 'combat', 'grue', 'fall'). */
|
|
31
|
+
causeOfDeath?: string;
|
|
32
|
+
/** Full health but voluntarily not acting (a daemon/story concern). Defaults to `false`. */
|
|
33
|
+
asleep?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Fraction of `maxHealth` at/below which the entity is unconscious.
|
|
36
|
+
* Defaults to `0.2` (ADR-072 20%-health parity).
|
|
37
|
+
*/
|
|
38
|
+
unconsciousThreshold?: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The creature life-state trait. Data-only; see file header.
|
|
42
|
+
*
|
|
43
|
+
* Invariants (enforced by {@link HealthBehavior}, not by getters here):
|
|
44
|
+
* - `alive` ⇔ `!dead && health > 0`
|
|
45
|
+
* - `conscious` ⇔ `alive && !asleep && health > maxHealth * unconsciousThreshold`
|
|
46
|
+
* There is no stored knocked-out flag and no recovery timer — consciousness is
|
|
47
|
+
* purely derived from `health` (ADR-226 §1 F1).
|
|
48
|
+
*/
|
|
49
|
+
export declare class HealthTrait implements ITrait, IHealthData {
|
|
50
|
+
static readonly type: "health";
|
|
51
|
+
readonly type: "health";
|
|
52
|
+
health: number;
|
|
53
|
+
maxHealth: number;
|
|
54
|
+
dead: boolean;
|
|
55
|
+
causeOfDeath?: string;
|
|
56
|
+
asleep: boolean;
|
|
57
|
+
unconsciousThreshold: number;
|
|
58
|
+
constructor(data?: IHealthData);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=healthTrait.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthTrait.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/health/healthTrait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,kEAAkE;IAClE,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAY,YAAW,MAAM,EAAE,WAAW;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IACzC,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAElC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;gBAEjB,IAAI,GAAE,WAAgB;CAQnC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Health Trait (ADR-226 — the HEALTH layer of ADR-223's four-layer NPC model).
|
|
4
|
+
*
|
|
5
|
+
* The single creature life-state model: current/max health, a derived
|
|
6
|
+
* consciousness threshold, an `asleep` flag, and a first-class terminal
|
|
7
|
+
* dead-by-cause state. This is the one source of mortality/consciousness truth —
|
|
8
|
+
* `CombatantTrait` and `NpcTrait` no longer carry their own `isAlive`/`isConscious`.
|
|
9
|
+
*
|
|
10
|
+
* Data only — no methods. All derivation (alive/conscious/can-act) and mutation
|
|
11
|
+
* (takeDamage/heal/kill) live in {@link HealthBehavior}, because a getter on the
|
|
12
|
+
* trait does not survive `loadJSON()` deserialization (the `npc-service` `canAct`
|
|
13
|
+
* footgun this layer removes).
|
|
14
|
+
*
|
|
15
|
+
* Public interface: read life-state via `HealthBehavior.{isAlive,isConscious,canAct}`
|
|
16
|
+
* and mutate via `HealthBehavior.{takeDamage,heal,kill}`.
|
|
17
|
+
* Owner context: `@sharpee/world-model` — HEALTH layer (ADR-223 child A).
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.HealthTrait = void 0;
|
|
21
|
+
/**
|
|
22
|
+
* The creature life-state trait. Data-only; see file header.
|
|
23
|
+
*
|
|
24
|
+
* Invariants (enforced by {@link HealthBehavior}, not by getters here):
|
|
25
|
+
* - `alive` ⇔ `!dead && health > 0`
|
|
26
|
+
* - `conscious` ⇔ `alive && !asleep && health > maxHealth * unconsciousThreshold`
|
|
27
|
+
* There is no stored knocked-out flag and no recovery timer — consciousness is
|
|
28
|
+
* purely derived from `health` (ADR-226 §1 F1).
|
|
29
|
+
*/
|
|
30
|
+
class HealthTrait {
|
|
31
|
+
static type = 'health';
|
|
32
|
+
type = 'health';
|
|
33
|
+
health;
|
|
34
|
+
maxHealth;
|
|
35
|
+
dead;
|
|
36
|
+
causeOfDeath;
|
|
37
|
+
asleep;
|
|
38
|
+
unconsciousThreshold;
|
|
39
|
+
constructor(data = {}) {
|
|
40
|
+
this.maxHealth = data.maxHealth ?? data.health ?? 10;
|
|
41
|
+
this.health = data.health ?? this.maxHealth;
|
|
42
|
+
this.dead = data.dead ?? false;
|
|
43
|
+
this.causeOfDeath = data.causeOfDeath;
|
|
44
|
+
this.asleep = data.asleep ?? false;
|
|
45
|
+
this.unconsciousThreshold = data.unconsciousThreshold ?? 0.2;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.HealthTrait = HealthTrait;
|
|
49
|
+
//# sourceMappingURL=healthTrait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/health/healthTrait.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AA+BH;;;;;;;;GAQG;AACH,MAAa,WAAW;IACtB,MAAM,CAAU,IAAI,GAAG,QAAiB,CAAC;IAChC,IAAI,GAAG,QAAiB,CAAC;IAElC,MAAM,CAAS;IACf,SAAS,CAAS;IAClB,IAAI,CAAU;IACd,YAAY,CAAU;IACtB,MAAM,CAAU;IAChB,oBAAoB,CAAS;IAE7B,YAAY,OAAoB,EAAE;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACnC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,IAAI,GAAG,CAAC;IAC/D,CAAC;;AAlBH,kCAmBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/health/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HealthBehavior = exports.HealthTrait = void 0;
|
|
4
|
+
var healthTrait_js_1 = require("./healthTrait.js");
|
|
5
|
+
Object.defineProperty(exports, "HealthTrait", { enumerable: true, get: function () { return healthTrait_js_1.HealthTrait; } });
|
|
6
|
+
var healthBehavior_js_1 = require("./healthBehavior.js");
|
|
7
|
+
Object.defineProperty(exports, "HealthBehavior", { enumerable: true, get: function () { return healthBehavior_js_1.HealthBehavior; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/health/index.ts"],"names":[],"mappings":";;;AAAA,mDAA4D;AAAnD,6GAAA,WAAW,OAAA;AACpB,yDAAqD;AAA5C,mHAAA,cAAc,OAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Behavior } from '../../behaviors/behavior';
|
|
2
|
-
import { IFEntity } from '../../entities/if-entity';
|
|
1
|
+
import { Behavior } from '../../behaviors/behavior.js';
|
|
2
|
+
import { IFEntity } from '../../entities/if-entity.js';
|
|
3
3
|
/**
|
|
4
4
|
* Behavior for entities with identity.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identityBehavior.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/identity/identityBehavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"identityBehavior.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/identity/identityBehavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAIvD;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C,MAAM,CAAC,cAAc,eAAwB;IAE7C;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IA0B/C;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QAC5C,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,GAAG,MAAM;IAwBV;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM;IAWlD;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAW3D;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAK7C;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAK/D;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IAIrC;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IAItC;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM;IAQ1C;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM;IAQ1C;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS;IAK5F;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,EAAE,GAAG,MAAM;CAchG"}
|