@sharpee/world-model 0.9.60-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -0
- package/dist/behaviors/attack.d.ts +52 -0
- package/dist/behaviors/attack.d.ts.map +1 -0
- package/dist/behaviors/attack.js +161 -0
- package/dist/behaviors/attack.js.map +1 -0
- package/dist/behaviors/behavior.d.ts +67 -0
- package/dist/behaviors/behavior.d.ts.map +1 -0
- package/dist/behaviors/behavior.js +80 -0
- package/dist/behaviors/behavior.js.map +1 -0
- package/dist/behaviors/index.d.ts +21 -0
- package/dist/behaviors/index.d.ts.map +1 -0
- package/dist/behaviors/index.js +39 -0
- package/dist/behaviors/index.js.map +1 -0
- package/dist/capabilities/capability-behavior.d.ts +112 -0
- package/dist/capabilities/capability-behavior.d.ts.map +1 -0
- package/dist/capabilities/capability-behavior.js +9 -0
- package/dist/capabilities/capability-behavior.js.map +1 -0
- package/dist/capabilities/capability-defaults.d.ts +67 -0
- package/dist/capabilities/capability-defaults.d.ts.map +1 -0
- package/dist/capabilities/capability-defaults.js +81 -0
- package/dist/capabilities/capability-defaults.js.map +1 -0
- package/dist/capabilities/capability-helpers.d.ts +76 -0
- package/dist/capabilities/capability-helpers.d.ts.map +1 -0
- package/dist/capabilities/capability-helpers.js +112 -0
- package/dist/capabilities/capability-helpers.js.map +1 -0
- package/dist/capabilities/capability-registry.d.ts +115 -0
- package/dist/capabilities/capability-registry.d.ts.map +1 -0
- package/dist/capabilities/capability-registry.js +136 -0
- package/dist/capabilities/capability-registry.js.map +1 -0
- package/dist/capabilities/entity-builder.d.ts +79 -0
- package/dist/capabilities/entity-builder.d.ts.map +1 -0
- package/dist/capabilities/entity-builder.js +116 -0
- package/dist/capabilities/entity-builder.js.map +1 -0
- package/dist/capabilities/index.d.ts +13 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/index.js +40 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/capabilities/types.d.ts +35 -0
- package/dist/capabilities/types.d.ts.map +1 -0
- package/dist/capabilities/types.js +16 -0
- package/dist/capabilities/types.js.map +1 -0
- package/dist/commands/command-types.d.ts +30 -0
- package/dist/commands/command-types.d.ts.map +1 -0
- package/dist/commands/command-types.js +6 -0
- package/dist/commands/command-types.js.map +1 -0
- package/dist/commands/index.d.ts +7 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +23 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/parsed-command.d.ts +204 -0
- package/dist/commands/parsed-command.d.ts.map +1 -0
- package/dist/commands/parsed-command.js +25 -0
- package/dist/commands/parsed-command.js.map +1 -0
- package/dist/commands/validated-command.d.ts +52 -0
- package/dist/commands/validated-command.d.ts.map +1 -0
- package/dist/commands/validated-command.js +8 -0
- package/dist/commands/validated-command.js.map +1 -0
- package/dist/constants/action-failures.d.ts +54 -0
- package/dist/constants/action-failures.d.ts.map +1 -0
- package/dist/constants/action-failures.js +68 -0
- package/dist/constants/action-failures.js.map +1 -0
- package/dist/constants/directions.d.ts +32 -0
- package/dist/constants/directions.d.ts.map +1 -0
- package/dist/constants/directions.js +53 -0
- package/dist/constants/directions.js.map +1 -0
- package/dist/constants/if-events.d.ts +5 -0
- package/dist/constants/if-events.d.ts.map +1 -0
- package/dist/constants/if-events.js +10 -0
- package/dist/constants/if-events.js.map +1 -0
- package/dist/constants/index.d.ts +9 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +25 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/entities/entity-store.d.ts +66 -0
- package/dist/entities/entity-store.d.ts.map +1 -0
- package/dist/entities/entity-store.js +116 -0
- package/dist/entities/entity-store.js.map +1 -0
- package/dist/entities/entity-types.d.ts +40 -0
- package/dist/entities/entity-types.d.ts.map +1 -0
- package/dist/entities/entity-types.js +56 -0
- package/dist/entities/entity-types.js.map +1 -0
- package/dist/entities/if-entity.d.ts +259 -0
- package/dist/entities/if-entity.d.ts.map +1 -0
- package/dist/entities/if-entity.js +498 -0
- package/dist/entities/if-entity.js.map +1 -0
- package/dist/entities/index.d.ts +5 -0
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +13 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/events/types.d.ts +45 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +9 -0
- package/dist/events/types.js.map +1 -0
- package/dist/examples/event-handler-registration.d.ts +14 -0
- package/dist/examples/event-handler-registration.d.ts.map +1 -0
- package/dist/examples/event-handler-registration.js +158 -0
- package/dist/examples/event-handler-registration.js.map +1 -0
- package/dist/extensions/base-extension.d.ts +69 -0
- package/dist/extensions/base-extension.d.ts.map +1 -0
- package/dist/extensions/base-extension.js +83 -0
- package/dist/extensions/base-extension.js.map +1 -0
- package/dist/extensions/index.d.ts +11 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +39 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/loader.d.ts +52 -0
- package/dist/extensions/loader.d.ts.map +1 -0
- package/dist/extensions/loader.js +177 -0
- package/dist/extensions/loader.js.map +1 -0
- package/dist/extensions/manager.d.ts +68 -0
- package/dist/extensions/manager.d.ts.map +1 -0
- package/dist/extensions/manager.js +164 -0
- package/dist/extensions/manager.js.map +1 -0
- package/dist/extensions/registry.d.ts +100 -0
- package/dist/extensions/registry.d.ts.map +1 -0
- package/dist/extensions/registry.js +193 -0
- package/dist/extensions/registry.js.map +1 -0
- package/dist/extensions/types.d.ts +226 -0
- package/dist/extensions/types.d.ts.map +1 -0
- package/dist/extensions/types.js +28 -0
- package/dist/extensions/types.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +68 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/command-executor.d.ts +17 -0
- package/dist/interfaces/command-executor.d.ts.map +1 -0
- package/dist/interfaces/command-executor.js +6 -0
- package/dist/interfaces/command-executor.js.map +1 -0
- package/dist/interfaces/command-processor.d.ts +17 -0
- package/dist/interfaces/command-processor.d.ts.map +1 -0
- package/dist/interfaces/command-processor.js +6 -0
- package/dist/interfaces/command-processor.js.map +1 -0
- package/dist/interfaces/command-validator.d.ts +17 -0
- package/dist/interfaces/command-validator.d.ts.map +1 -0
- package/dist/interfaces/command-validator.js +6 -0
- package/dist/interfaces/command-validator.js.map +1 -0
- package/dist/interfaces/index.d.ts +8 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +24 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/language-provider.d.ts +86 -0
- package/dist/interfaces/language-provider.d.ts.map +1 -0
- package/dist/interfaces/language-provider.js +14 -0
- package/dist/interfaces/language-provider.js.map +1 -0
- package/dist/interfaces/parser.d.ts +16 -0
- package/dist/interfaces/parser.d.ts.map +1 -0
- package/dist/interfaces/parser.js +6 -0
- package/dist/interfaces/parser.js.map +1 -0
- package/dist/scope/index.d.ts +8 -0
- package/dist/scope/index.d.ts.map +1 -0
- package/dist/scope/index.js +24 -0
- package/dist/scope/index.js.map +1 -0
- package/dist/scope/scope-evaluator.d.ts +58 -0
- package/dist/scope/scope-evaluator.d.ts.map +1 -0
- package/dist/scope/scope-evaluator.js +207 -0
- package/dist/scope/scope-evaluator.js.map +1 -0
- package/dist/scope/scope-registry.d.ts +59 -0
- package/dist/scope/scope-registry.d.ts.map +1 -0
- package/dist/scope/scope-registry.js +182 -0
- package/dist/scope/scope-registry.js.map +1 -0
- package/dist/scope/scope-rule.d.ts +86 -0
- package/dist/scope/scope-rule.d.ts.map +1 -0
- package/dist/scope/scope-rule.js +7 -0
- package/dist/scope/scope-rule.js.map +1 -0
- package/dist/services/ScopeService.d.ts +8 -0
- package/dist/services/ScopeService.d.ts.map +1 -0
- package/dist/services/ScopeService.js +19 -0
- package/dist/services/ScopeService.js.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +6 -0
- package/dist/services/index.js.map +1 -0
- package/dist/test-structure.d.ts +3 -0
- package/dist/test-structure.d.ts.map +1 -0
- package/dist/test-structure.js +26 -0
- package/dist/test-structure.js.map +1 -0
- package/dist/traits/actor/actorBehavior.d.ts +121 -0
- package/dist/traits/actor/actorBehavior.d.ts.map +1 -0
- package/dist/traits/actor/actorBehavior.js +288 -0
- package/dist/traits/actor/actorBehavior.js.map +1 -0
- package/dist/traits/actor/actorTrait.d.ts +158 -0
- package/dist/traits/actor/actorTrait.d.ts.map +1 -0
- package/dist/traits/actor/actorTrait.js +152 -0
- package/dist/traits/actor/actorTrait.js.map +1 -0
- package/dist/traits/actor/index.d.ts +3 -0
- package/dist/traits/actor/index.d.ts.map +1 -0
- package/dist/traits/actor/index.js +11 -0
- package/dist/traits/actor/index.js.map +1 -0
- package/dist/traits/all-traits.d.ts +95 -0
- package/dist/traits/all-traits.d.ts.map +1 -0
- package/dist/traits/all-traits.js +178 -0
- package/dist/traits/all-traits.js.map +1 -0
- package/dist/traits/attached/attachedTrait.d.ts +61 -0
- package/dist/traits/attached/attachedTrait.d.ts.map +1 -0
- package/dist/traits/attached/attachedTrait.js +36 -0
- package/dist/traits/attached/attachedTrait.js.map +1 -0
- package/dist/traits/attached/index.d.ts +2 -0
- package/dist/traits/attached/index.d.ts.map +1 -0
- package/dist/traits/attached/index.js +18 -0
- package/dist/traits/attached/index.js.map +1 -0
- package/dist/traits/breakable/breakableBehavior.d.ts +43 -0
- package/dist/traits/breakable/breakableBehavior.d.ts.map +1 -0
- package/dist/traits/breakable/breakableBehavior.js +70 -0
- package/dist/traits/breakable/breakableBehavior.js.map +1 -0
- package/dist/traits/breakable/breakableTrait.d.ts +22 -0
- package/dist/traits/breakable/breakableTrait.d.ts.map +1 -0
- package/dist/traits/breakable/breakableTrait.js +25 -0
- package/dist/traits/breakable/breakableTrait.js.map +1 -0
- package/dist/traits/breakable/index.d.ts +3 -0
- package/dist/traits/breakable/index.d.ts.map +1 -0
- package/dist/traits/breakable/index.js +8 -0
- package/dist/traits/breakable/index.js.map +1 -0
- package/dist/traits/button/buttonTrait.d.ts +53 -0
- package/dist/traits/button/buttonTrait.d.ts.map +1 -0
- package/dist/traits/button/buttonTrait.js +36 -0
- package/dist/traits/button/buttonTrait.js.map +1 -0
- package/dist/traits/button/index.d.ts +2 -0
- package/dist/traits/button/index.d.ts.map +1 -0
- package/dist/traits/button/index.js +18 -0
- package/dist/traits/button/index.js.map +1 -0
- package/dist/traits/climbable/climbableBehavior.d.ts +37 -0
- package/dist/traits/climbable/climbableBehavior.d.ts.map +1 -0
- package/dist/traits/climbable/climbableBehavior.js +70 -0
- package/dist/traits/climbable/climbableBehavior.js.map +1 -0
- package/dist/traits/climbable/climbableTrait.d.ts +31 -0
- package/dist/traits/climbable/climbableTrait.d.ts.map +1 -0
- package/dist/traits/climbable/climbableTrait.js +47 -0
- package/dist/traits/climbable/climbableTrait.js.map +1 -0
- package/dist/traits/climbable/index.d.ts +6 -0
- package/dist/traits/climbable/index.d.ts.map +1 -0
- package/dist/traits/climbable/index.js +22 -0
- package/dist/traits/climbable/index.js.map +1 -0
- package/dist/traits/clothing/clothingTrait.d.ts +58 -0
- package/dist/traits/clothing/clothingTrait.d.ts.map +1 -0
- package/dist/traits/clothing/clothingTrait.js +78 -0
- package/dist/traits/clothing/clothingTrait.js.map +1 -0
- package/dist/traits/clothing/index.d.ts +2 -0
- package/dist/traits/clothing/index.d.ts.map +1 -0
- package/dist/traits/clothing/index.js +19 -0
- package/dist/traits/clothing/index.js.map +1 -0
- package/dist/traits/combatant/combatantBehavior.d.ts +70 -0
- package/dist/traits/combatant/combatantBehavior.d.ts.map +1 -0
- package/dist/traits/combatant/combatantBehavior.js +155 -0
- package/dist/traits/combatant/combatantBehavior.js.map +1 -0
- package/dist/traits/combatant/combatantTrait.d.ts +98 -0
- package/dist/traits/combatant/combatantTrait.d.ts.map +1 -0
- package/dist/traits/combatant/combatantTrait.js +122 -0
- package/dist/traits/combatant/combatantTrait.js.map +1 -0
- package/dist/traits/combatant/index.d.ts +3 -0
- package/dist/traits/combatant/index.d.ts.map +1 -0
- package/dist/traits/combatant/index.js +8 -0
- package/dist/traits/combatant/index.js.map +1 -0
- package/dist/traits/container/container-utils.d.ts +39 -0
- package/dist/traits/container/container-utils.d.ts.map +1 -0
- package/dist/traits/container/container-utils.js +72 -0
- package/dist/traits/container/container-utils.js.map +1 -0
- package/dist/traits/container/containerBehavior.d.ts +94 -0
- package/dist/traits/container/containerBehavior.d.ts.map +1 -0
- package/dist/traits/container/containerBehavior.js +256 -0
- package/dist/traits/container/containerBehavior.js.map +1 -0
- package/dist/traits/container/containerTrait.d.ts +30 -0
- package/dist/traits/container/containerTrait.d.ts.map +1 -0
- package/dist/traits/container/containerTrait.js +45 -0
- package/dist/traits/container/containerTrait.js.map +1 -0
- package/dist/traits/container/index.d.ts +4 -0
- package/dist/traits/container/index.d.ts.map +1 -0
- package/dist/traits/container/index.js +14 -0
- package/dist/traits/container/index.js.map +1 -0
- package/dist/traits/destructible/destructibleBehavior.d.ts +57 -0
- package/dist/traits/destructible/destructibleBehavior.d.ts.map +1 -0
- package/dist/traits/destructible/destructibleBehavior.js +145 -0
- package/dist/traits/destructible/destructibleBehavior.js.map +1 -0
- package/dist/traits/destructible/destructibleTrait.d.ts +49 -0
- package/dist/traits/destructible/destructibleTrait.d.ts.map +1 -0
- package/dist/traits/destructible/destructibleTrait.js +43 -0
- package/dist/traits/destructible/destructibleTrait.js.map +1 -0
- package/dist/traits/destructible/index.d.ts +3 -0
- package/dist/traits/destructible/index.d.ts.map +1 -0
- package/dist/traits/destructible/index.js +8 -0
- package/dist/traits/destructible/index.js.map +1 -0
- package/dist/traits/door/doorBehavior.d.ts +42 -0
- package/dist/traits/door/doorBehavior.d.ts.map +1 -0
- package/dist/traits/door/doorBehavior.js +76 -0
- package/dist/traits/door/doorBehavior.js.map +1 -0
- package/dist/traits/door/doorTrait.d.ts +19 -0
- package/dist/traits/door/doorTrait.d.ts.map +1 -0
- package/dist/traits/door/doorTrait.js +33 -0
- package/dist/traits/door/doorTrait.js.map +1 -0
- package/dist/traits/door/index.d.ts +3 -0
- package/dist/traits/door/index.d.ts.map +1 -0
- package/dist/traits/door/index.js +9 -0
- package/dist/traits/door/index.js.map +1 -0
- package/dist/traits/edible/edibleBehavior.d.ts +63 -0
- package/dist/traits/edible/edibleBehavior.d.ts.map +1 -0
- package/dist/traits/edible/edibleBehavior.js +157 -0
- package/dist/traits/edible/edibleBehavior.js.map +1 -0
- package/dist/traits/edible/edibleTrait.d.ts +57 -0
- package/dist/traits/edible/edibleTrait.d.ts.map +1 -0
- package/dist/traits/edible/edibleTrait.js +51 -0
- package/dist/traits/edible/edibleTrait.js.map +1 -0
- package/dist/traits/edible/index.d.ts +3 -0
- package/dist/traits/edible/index.d.ts.map +1 -0
- package/dist/traits/edible/index.js +20 -0
- package/dist/traits/edible/index.js.map +1 -0
- package/dist/traits/enterable/enterableTrait.d.ts +33 -0
- package/dist/traits/enterable/enterableTrait.d.ts.map +1 -0
- package/dist/traits/enterable/enterableTrait.js +38 -0
- package/dist/traits/enterable/enterableTrait.js.map +1 -0
- package/dist/traits/enterable/index.d.ts +5 -0
- package/dist/traits/enterable/index.d.ts.map +1 -0
- package/dist/traits/enterable/index.js +21 -0
- package/dist/traits/enterable/index.js.map +1 -0
- package/dist/traits/equipped/equippedTrait.d.ts +46 -0
- package/dist/traits/equipped/equippedTrait.d.ts.map +1 -0
- package/dist/traits/equipped/equippedTrait.js +34 -0
- package/dist/traits/equipped/equippedTrait.js.map +1 -0
- package/dist/traits/equipped/index.d.ts +2 -0
- package/dist/traits/equipped/index.d.ts.map +1 -0
- package/dist/traits/equipped/index.js +6 -0
- package/dist/traits/equipped/index.js.map +1 -0
- package/dist/traits/exit/exitBehavior.d.ts +51 -0
- package/dist/traits/exit/exitBehavior.d.ts.map +1 -0
- package/dist/traits/exit/exitBehavior.js +231 -0
- package/dist/traits/exit/exitBehavior.js.map +1 -0
- package/dist/traits/exit/exitTrait.d.ts +41 -0
- package/dist/traits/exit/exitTrait.d.ts.map +1 -0
- package/dist/traits/exit/exitTrait.js +75 -0
- package/dist/traits/exit/exitTrait.js.map +1 -0
- package/dist/traits/exit/index.d.ts +3 -0
- package/dist/traits/exit/index.d.ts.map +1 -0
- package/dist/traits/exit/index.js +9 -0
- package/dist/traits/exit/index.js.map +1 -0
- package/dist/traits/identity/identityBehavior.d.ts +64 -0
- package/dist/traits/identity/identityBehavior.d.ts.map +1 -0
- package/dist/traits/identity/identityBehavior.js +154 -0
- package/dist/traits/identity/identityBehavior.js.map +1 -0
- package/dist/traits/identity/identityTrait.d.ts +70 -0
- package/dist/traits/identity/identityTrait.d.ts.map +1 -0
- package/dist/traits/identity/identityTrait.js +79 -0
- package/dist/traits/identity/identityTrait.js.map +1 -0
- package/dist/traits/identity/index.d.ts +3 -0
- package/dist/traits/identity/index.d.ts.map +1 -0
- package/dist/traits/identity/index.js +20 -0
- package/dist/traits/identity/index.js.map +1 -0
- package/dist/traits/implementations.d.ts +51 -0
- package/dist/traits/implementations.d.ts.map +1 -0
- package/dist/traits/implementations.js +145 -0
- package/dist/traits/implementations.js.map +1 -0
- package/dist/traits/index.d.ts +36 -0
- package/dist/traits/index.d.ts.map +1 -0
- package/dist/traits/index.js +62 -0
- package/dist/traits/index.js.map +1 -0
- package/dist/traits/light-source/index.d.ts +3 -0
- package/dist/traits/light-source/index.d.ts.map +1 -0
- package/dist/traits/light-source/index.js +9 -0
- package/dist/traits/light-source/index.js.map +1 -0
- package/dist/traits/light-source/lightSourceBehavior.d.ts +57 -0
- package/dist/traits/light-source/lightSourceBehavior.d.ts.map +1 -0
- package/dist/traits/light-source/lightSourceBehavior.js +135 -0
- package/dist/traits/light-source/lightSourceBehavior.js.map +1 -0
- package/dist/traits/light-source/lightSourceTrait.d.ts +28 -0
- package/dist/traits/light-source/lightSourceTrait.d.ts.map +1 -0
- package/dist/traits/light-source/lightSourceTrait.js +37 -0
- package/dist/traits/light-source/lightSourceTrait.js.map +1 -0
- package/dist/traits/lockable/index.d.ts +3 -0
- package/dist/traits/lockable/index.d.ts.map +1 -0
- package/dist/traits/lockable/index.js +20 -0
- package/dist/traits/lockable/index.js.map +1 -0
- package/dist/traits/lockable/lockableBehavior.d.ts +88 -0
- package/dist/traits/lockable/lockableBehavior.d.ts.map +1 -0
- package/dist/traits/lockable/lockableBehavior.js +196 -0
- package/dist/traits/lockable/lockableBehavior.js.map +1 -0
- package/dist/traits/lockable/lockableTrait.d.ts +59 -0
- package/dist/traits/lockable/lockableTrait.d.ts.map +1 -0
- package/dist/traits/lockable/lockableTrait.js +50 -0
- package/dist/traits/lockable/lockableTrait.js.map +1 -0
- package/dist/traits/moveable-scenery/index.d.ts +2 -0
- package/dist/traits/moveable-scenery/index.d.ts.map +1 -0
- package/dist/traits/moveable-scenery/index.js +18 -0
- package/dist/traits/moveable-scenery/index.js.map +1 -0
- package/dist/traits/moveable-scenery/moveableSceneryTrait.d.ts +69 -0
- package/dist/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +1 -0
- package/dist/traits/moveable-scenery/moveableSceneryTrait.js +43 -0
- package/dist/traits/moveable-scenery/moveableSceneryTrait.js.map +1 -0
- package/dist/traits/npc/index.d.ts +5 -0
- package/dist/traits/npc/index.d.ts.map +1 -0
- package/dist/traits/npc/index.js +9 -0
- package/dist/traits/npc/index.js.map +1 -0
- package/dist/traits/npc/npcTrait.d.ts +128 -0
- package/dist/traits/npc/npcTrait.d.ts.map +1 -0
- package/dist/traits/npc/npcTrait.js +180 -0
- package/dist/traits/npc/npcTrait.js.map +1 -0
- package/dist/traits/openable/index.d.ts +3 -0
- package/dist/traits/openable/index.d.ts.map +1 -0
- package/dist/traits/openable/index.js +20 -0
- package/dist/traits/openable/index.js.map +1 -0
- package/dist/traits/openable/openableBehavior.d.ts +64 -0
- package/dist/traits/openable/openableBehavior.d.ts.map +1 -0
- package/dist/traits/openable/openableBehavior.js +109 -0
- package/dist/traits/openable/openableBehavior.js.map +1 -0
- package/dist/traits/openable/openableTrait.d.ts +46 -0
- package/dist/traits/openable/openableTrait.d.ts.map +1 -0
- package/dist/traits/openable/openableTrait.js +42 -0
- package/dist/traits/openable/openableTrait.js.map +1 -0
- package/dist/traits/portable/portableTrait.d.ts +26 -0
- package/dist/traits/portable/portableTrait.d.ts.map +1 -0
- package/dist/traits/portable/portableTrait.js +35 -0
- package/dist/traits/portable/portableTrait.js.map +1 -0
- package/dist/traits/pullable/index.d.ts +2 -0
- package/dist/traits/pullable/index.d.ts.map +1 -0
- package/dist/traits/pullable/index.js +18 -0
- package/dist/traits/pullable/index.js.map +1 -0
- package/dist/traits/pullable/pullableTrait.d.ts +81 -0
- package/dist/traits/pullable/pullableTrait.d.ts.map +1 -0
- package/dist/traits/pullable/pullableTrait.js +44 -0
- package/dist/traits/pullable/pullableTrait.js.map +1 -0
- package/dist/traits/pushable/index.d.ts +2 -0
- package/dist/traits/pushable/index.d.ts.map +1 -0
- package/dist/traits/pushable/index.js +18 -0
- package/dist/traits/pushable/index.js.map +1 -0
- package/dist/traits/pushable/pushableTrait.d.ts +81 -0
- package/dist/traits/pushable/pushableTrait.d.ts.map +1 -0
- package/dist/traits/pushable/pushableTrait.js +44 -0
- package/dist/traits/pushable/pushableTrait.js.map +1 -0
- package/dist/traits/readable/index.d.ts +3 -0
- package/dist/traits/readable/index.d.ts.map +1 -0
- package/dist/traits/readable/index.js +9 -0
- package/dist/traits/readable/index.js.map +1 -0
- package/dist/traits/readable/readableBehavior.d.ts +42 -0
- package/dist/traits/readable/readableBehavior.d.ts.map +1 -0
- package/dist/traits/readable/readableBehavior.js +174 -0
- package/dist/traits/readable/readableBehavior.js.map +1 -0
- package/dist/traits/readable/readableTrait.d.ts +37 -0
- package/dist/traits/readable/readableTrait.d.ts.map +1 -0
- package/dist/traits/readable/readableTrait.js +51 -0
- package/dist/traits/readable/readableTrait.js.map +1 -0
- package/dist/traits/register-all.d.ts +10 -0
- package/dist/traits/register-all.d.ts.map +1 -0
- package/dist/traits/register-all.js +19 -0
- package/dist/traits/register-all.js.map +1 -0
- package/dist/traits/room/index.d.ts +9 -0
- package/dist/traits/room/index.d.ts.map +1 -0
- package/dist/traits/room/index.js +14 -0
- package/dist/traits/room/index.js.map +1 -0
- package/dist/traits/room/roomBehavior.d.ts +87 -0
- package/dist/traits/room/roomBehavior.d.ts.map +1 -0
- package/dist/traits/room/roomBehavior.js +232 -0
- package/dist/traits/room/roomBehavior.js.map +1 -0
- package/dist/traits/room/roomTrait.d.ts +87 -0
- package/dist/traits/room/roomTrait.d.ts.map +1 -0
- package/dist/traits/room/roomTrait.js +59 -0
- package/dist/traits/room/roomTrait.js.map +1 -0
- package/dist/traits/scenery/index.d.ts +3 -0
- package/dist/traits/scenery/index.d.ts.map +1 -0
- package/dist/traits/scenery/index.js +9 -0
- package/dist/traits/scenery/index.js.map +1 -0
- package/dist/traits/scenery/sceneryBehavior.d.ts +21 -0
- package/dist/traits/scenery/sceneryBehavior.d.ts.map +1 -0
- package/dist/traits/scenery/sceneryBehavior.js +42 -0
- package/dist/traits/scenery/sceneryBehavior.js.map +1 -0
- package/dist/traits/scenery/sceneryTrait.d.ts +30 -0
- package/dist/traits/scenery/sceneryTrait.d.ts.map +1 -0
- package/dist/traits/scenery/sceneryTrait.js +39 -0
- package/dist/traits/scenery/sceneryTrait.js.map +1 -0
- package/dist/traits/supporter/index.d.ts +3 -0
- package/dist/traits/supporter/index.d.ts.map +1 -0
- package/dist/traits/supporter/index.js +9 -0
- package/dist/traits/supporter/index.js.map +1 -0
- package/dist/traits/supporter/supporterBehavior.d.ts +83 -0
- package/dist/traits/supporter/supporterBehavior.d.ts.map +1 -0
- package/dist/traits/supporter/supporterBehavior.js +210 -0
- package/dist/traits/supporter/supporterBehavior.js.map +1 -0
- package/dist/traits/supporter/supporterTrait.d.ts +26 -0
- package/dist/traits/supporter/supporterTrait.d.ts.map +1 -0
- package/dist/traits/supporter/supporterTrait.js +30 -0
- package/dist/traits/supporter/supporterTrait.js.map +1 -0
- package/dist/traits/switchable/index.d.ts +3 -0
- package/dist/traits/switchable/index.d.ts.map +1 -0
- package/dist/traits/switchable/index.js +20 -0
- package/dist/traits/switchable/index.js.map +1 -0
- package/dist/traits/switchable/switchableBehavior.d.ts +73 -0
- package/dist/traits/switchable/switchableBehavior.d.ts.map +1 -0
- package/dist/traits/switchable/switchableBehavior.js +191 -0
- package/dist/traits/switchable/switchableBehavior.js.map +1 -0
- package/dist/traits/switchable/switchableTrait.d.ts +61 -0
- package/dist/traits/switchable/switchableTrait.d.ts.map +1 -0
- package/dist/traits/switchable/switchableTrait.js +52 -0
- package/dist/traits/switchable/switchableTrait.js.map +1 -0
- package/dist/traits/trait-types.d.ts +81 -0
- package/dist/traits/trait-types.d.ts.map +1 -0
- package/dist/traits/trait-types.js +146 -0
- package/dist/traits/trait-types.js.map +1 -0
- package/dist/traits/trait.d.ts +42 -0
- package/dist/traits/trait.d.ts.map +1 -0
- package/dist/traits/trait.js +42 -0
- package/dist/traits/trait.js.map +1 -0
- package/dist/traits/vehicle/index.d.ts +6 -0
- package/dist/traits/vehicle/index.d.ts.map +1 -0
- package/dist/traits/vehicle/index.js +22 -0
- package/dist/traits/vehicle/index.js.map +1 -0
- package/dist/traits/vehicle/vehicleBehavior.d.ts +62 -0
- package/dist/traits/vehicle/vehicleBehavior.d.ts.map +1 -0
- package/dist/traits/vehicle/vehicleBehavior.js +145 -0
- package/dist/traits/vehicle/vehicleBehavior.js.map +1 -0
- package/dist/traits/vehicle/vehicleTrait.d.ts +77 -0
- package/dist/traits/vehicle/vehicleTrait.d.ts.map +1 -0
- package/dist/traits/vehicle/vehicleTrait.js +92 -0
- package/dist/traits/vehicle/vehicleTrait.js.map +1 -0
- package/dist/traits/weapon/index.d.ts +3 -0
- package/dist/traits/weapon/index.d.ts.map +1 -0
- package/dist/traits/weapon/index.js +8 -0
- package/dist/traits/weapon/index.js.map +1 -0
- package/dist/traits/weapon/weaponBehavior.d.ts +47 -0
- package/dist/traits/weapon/weaponBehavior.d.ts.map +1 -0
- package/dist/traits/weapon/weaponBehavior.js +106 -0
- package/dist/traits/weapon/weaponBehavior.js.map +1 -0
- package/dist/traits/weapon/weaponTrait.d.ts +67 -0
- package/dist/traits/weapon/weaponTrait.d.ts.map +1 -0
- package/dist/traits/weapon/weaponTrait.js +60 -0
- package/dist/traits/weapon/weaponTrait.js.map +1 -0
- package/dist/traits/wearable/index.d.ts +3 -0
- package/dist/traits/wearable/index.d.ts.map +1 -0
- package/dist/traits/wearable/index.js +20 -0
- package/dist/traits/wearable/index.js.map +1 -0
- package/dist/traits/wearable/wearableBehavior.d.ts +64 -0
- package/dist/traits/wearable/wearableBehavior.d.ts.map +1 -0
- package/dist/traits/wearable/wearableBehavior.js +142 -0
- package/dist/traits/wearable/wearableBehavior.js.map +1 -0
- package/dist/traits/wearable/wearableTrait.d.ts +54 -0
- package/dist/traits/wearable/wearableTrait.d.ts.map +1 -0
- package/dist/traits/wearable/wearableTrait.js +53 -0
- package/dist/traits/wearable/wearableTrait.js.map +1 -0
- package/dist/utils/event-utils.d.ts +30 -0
- package/dist/utils/event-utils.d.ts.map +1 -0
- package/dist/utils/event-utils.js +33 -0
- package/dist/utils/event-utils.js.map +1 -0
- package/dist/world/AuthorModel.d.ts +151 -0
- package/dist/world/AuthorModel.d.ts.map +1 -0
- package/dist/world/AuthorModel.js +416 -0
- package/dist/world/AuthorModel.js.map +1 -0
- package/dist/world/SharedDataStore.d.ts +24 -0
- package/dist/world/SharedDataStore.d.ts.map +1 -0
- package/dist/world/SharedDataStore.js +50 -0
- package/dist/world/SharedDataStore.js.map +1 -0
- package/dist/world/SpatialIndex.d.ts +16 -0
- package/dist/world/SpatialIndex.d.ts.map +1 -0
- package/dist/world/SpatialIndex.js +117 -0
- package/dist/world/SpatialIndex.js.map +1 -0
- package/dist/world/VisibilityBehavior.d.ts +83 -0
- package/dist/world/VisibilityBehavior.d.ts.map +1 -0
- package/dist/world/VisibilityBehavior.js +484 -0
- package/dist/world/VisibilityBehavior.js.map +1 -0
- package/dist/world/WorldModel.d.ts +270 -0
- package/dist/world/WorldModel.d.ts.map +1 -0
- package/dist/world/WorldModel.js +1028 -0
- package/dist/world/WorldModel.js.map +1 -0
- package/dist/world/capabilities.d.ts +36 -0
- package/dist/world/capabilities.d.ts.map +1 -0
- package/dist/world/capabilities.js +18 -0
- package/dist/world/capabilities.js.map +1 -0
- package/dist/world/index.d.ts +7 -0
- package/dist/world/index.d.ts.map +1 -0
- package/dist/world/index.js +21 -0
- package/dist/world/index.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// packages/world-model/src/traits/identity/identityBehavior.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.IdentityBehavior = void 0;
|
|
5
|
+
const behavior_1 = require("../../behaviors/behavior");
|
|
6
|
+
const trait_types_1 = require("../trait-types");
|
|
7
|
+
/**
|
|
8
|
+
* Behavior for entities with identity.
|
|
9
|
+
*
|
|
10
|
+
* Handles name formatting, visibility, and validation of identity data.
|
|
11
|
+
*/
|
|
12
|
+
class IdentityBehavior extends behavior_1.Behavior {
|
|
13
|
+
static requiredTraits = [trait_types_1.TraitType.IDENTITY];
|
|
14
|
+
/**
|
|
15
|
+
* Check if identity data is valid for game use
|
|
16
|
+
* @throws Error if identity data is invalid
|
|
17
|
+
*/
|
|
18
|
+
static validateIdentity(entity) {
|
|
19
|
+
const identity = IdentityBehavior.require(entity, trait_types_1.TraitType.IDENTITY);
|
|
20
|
+
if (!identity.name || !identity.name.trim()) {
|
|
21
|
+
throw new Error(`Entity ${entity.id} has no name`);
|
|
22
|
+
}
|
|
23
|
+
if (identity.properName && identity.article) {
|
|
24
|
+
// Proper names shouldn't have articles
|
|
25
|
+
identity.article = '';
|
|
26
|
+
}
|
|
27
|
+
if (identity.weight !== undefined && identity.weight < 0) {
|
|
28
|
+
throw new Error(`Entity ${entity.id} has negative weight`);
|
|
29
|
+
}
|
|
30
|
+
if (identity.volume !== undefined && identity.volume < 0) {
|
|
31
|
+
throw new Error(`Entity ${entity.id} has negative volume`);
|
|
32
|
+
}
|
|
33
|
+
const validSizes = ['tiny', 'small', 'medium', 'large', 'huge'];
|
|
34
|
+
if (identity.size !== undefined && !validSizes.includes(identity.size)) {
|
|
35
|
+
throw new Error(`Entity ${entity.id} has invalid size: ${identity.size}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Format an entity's name for display with proper article
|
|
40
|
+
*/
|
|
41
|
+
static formatName(entity, options) {
|
|
42
|
+
const identity = IdentityBehavior.require(entity, trait_types_1.TraitType.IDENTITY);
|
|
43
|
+
let name;
|
|
44
|
+
if (identity.properName || !identity.article) {
|
|
45
|
+
name = identity.name;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
name = `${identity.article} ${identity.name}`;
|
|
49
|
+
}
|
|
50
|
+
// Handle definite article request
|
|
51
|
+
if (options?.definite && !identity.properName && identity.article !== 'the') {
|
|
52
|
+
name = `the ${identity.name}`;
|
|
53
|
+
}
|
|
54
|
+
// Handle capitalization
|
|
55
|
+
if (options?.capitalize) {
|
|
56
|
+
name = name.charAt(0).toUpperCase() + name.slice(1);
|
|
57
|
+
}
|
|
58
|
+
return name;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Get a possessive form of the entity's name
|
|
62
|
+
*/
|
|
63
|
+
static getPossessiveName(entity) {
|
|
64
|
+
const name = IdentityBehavior.formatName(entity);
|
|
65
|
+
// Handle names ending in 's'
|
|
66
|
+
if (name.endsWith('s')) {
|
|
67
|
+
return `${name}'`;
|
|
68
|
+
}
|
|
69
|
+
return `${name}'s`;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Check if a given name matches this entity
|
|
73
|
+
*/
|
|
74
|
+
static matchesName(entity, name) {
|
|
75
|
+
const identity = IdentityBehavior.require(entity, trait_types_1.TraitType.IDENTITY);
|
|
76
|
+
const lowerName = name.toLowerCase();
|
|
77
|
+
// Check main name
|
|
78
|
+
if (identity.name.toLowerCase() === lowerName)
|
|
79
|
+
return true;
|
|
80
|
+
// Check aliases
|
|
81
|
+
return identity.aliases.some((alias) => alias.toLowerCase() === lowerName);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Check if an entity should be visible in normal circumstances
|
|
85
|
+
*/
|
|
86
|
+
static isConcealed(entity) {
|
|
87
|
+
const identity = IdentityBehavior.require(entity, trait_types_1.TraitType.IDENTITY);
|
|
88
|
+
return identity.concealed;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Set whether an entity is concealed
|
|
92
|
+
*/
|
|
93
|
+
static setConcealed(entity, concealed) {
|
|
94
|
+
const identity = IdentityBehavior.require(entity, trait_types_1.TraitType.IDENTITY);
|
|
95
|
+
identity.concealed = concealed;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Reveal a concealed entity (convenience method)
|
|
99
|
+
*/
|
|
100
|
+
static reveal(entity) {
|
|
101
|
+
IdentityBehavior.setConcealed(entity, false);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Conceal an entity (convenience method)
|
|
105
|
+
*/
|
|
106
|
+
static conceal(entity) {
|
|
107
|
+
IdentityBehavior.setConcealed(entity, true);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get the weight of the entity (not including contents)
|
|
111
|
+
*/
|
|
112
|
+
static getWeight(entity) {
|
|
113
|
+
if (!entity.has(trait_types_1.TraitType.IDENTITY)) {
|
|
114
|
+
return 0; // Default weight for items without identity trait
|
|
115
|
+
}
|
|
116
|
+
const identity = entity.get(trait_types_1.TraitType.IDENTITY);
|
|
117
|
+
return identity?.weight || 0;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Get the volume of the entity
|
|
121
|
+
*/
|
|
122
|
+
static getVolume(entity) {
|
|
123
|
+
if (!entity.has(trait_types_1.TraitType.IDENTITY)) {
|
|
124
|
+
return 0; // Default volume for items without identity trait
|
|
125
|
+
}
|
|
126
|
+
const identity = entity.get(trait_types_1.TraitType.IDENTITY);
|
|
127
|
+
return identity?.volume || 0;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Get the size category of the entity
|
|
131
|
+
*/
|
|
132
|
+
static getSize(entity) {
|
|
133
|
+
const identity = IdentityBehavior.require(entity, trait_types_1.TraitType.IDENTITY);
|
|
134
|
+
return identity.size;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get total weight including contents (for containers/supporters)
|
|
138
|
+
* Note: This method needs a world context to access contents
|
|
139
|
+
*/
|
|
140
|
+
static getTotalWeight(entity, getContents) {
|
|
141
|
+
const identity = IdentityBehavior.require(entity, trait_types_1.TraitType.IDENTITY);
|
|
142
|
+
let weight = identity.weight || 0;
|
|
143
|
+
// Add weight of contents if this is a container/supporter and we have a way to get contents
|
|
144
|
+
if (getContents && (entity.has(trait_types_1.TraitType.CONTAINER) || entity.has(trait_types_1.TraitType.SUPPORTER))) {
|
|
145
|
+
const contents = getContents(entity.id);
|
|
146
|
+
for (const item of contents) {
|
|
147
|
+
weight += IdentityBehavior.getTotalWeight(item, getContents);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return weight;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
exports.IdentityBehavior = IdentityBehavior;
|
|
154
|
+
//# sourceMappingURL=identityBehavior.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identityBehavior.js","sourceRoot":"","sources":["../../../src/traits/identity/identityBehavior.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { ITrait } from '../trait';
|
|
2
|
+
/**
|
|
3
|
+
* Identity trait provides basic naming and description for entities.
|
|
4
|
+
* This is one of the most fundamental traits in IF.
|
|
5
|
+
*
|
|
6
|
+
* This is a pure data structure - all validation and logic
|
|
7
|
+
* should be handled by IdentityBehavior.
|
|
8
|
+
*/
|
|
9
|
+
export declare class IdentityTrait implements ITrait {
|
|
10
|
+
static readonly type: "identity";
|
|
11
|
+
readonly type: "identity";
|
|
12
|
+
/** Primary name of the entity */
|
|
13
|
+
name: string;
|
|
14
|
+
/** Full description shown when examining */
|
|
15
|
+
description: string;
|
|
16
|
+
/**
|
|
17
|
+
* Message ID for localized name (ADR-107).
|
|
18
|
+
* If set, the language layer resolves this ID to the actual name text.
|
|
19
|
+
* Takes precedence over literal `name` if both are set.
|
|
20
|
+
*/
|
|
21
|
+
nameId?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Message ID for localized description (ADR-107).
|
|
24
|
+
* If set, the language layer resolves this ID to the actual description text.
|
|
25
|
+
* Takes precedence over literal `description` if both are set.
|
|
26
|
+
*/
|
|
27
|
+
descriptionId?: string;
|
|
28
|
+
/** Alternative names/aliases the entity can be referred to by */
|
|
29
|
+
aliases: string[];
|
|
30
|
+
/** Brief description shown in room listings */
|
|
31
|
+
brief?: string;
|
|
32
|
+
/** Whether the entity has a proper name (like "John" vs "a man") */
|
|
33
|
+
properName: boolean;
|
|
34
|
+
/** Article to use with the name ("a", "an", "the", "some", or empty for proper names) */
|
|
35
|
+
article: string;
|
|
36
|
+
/** Whether this entity is concealed from normal view */
|
|
37
|
+
concealed: boolean;
|
|
38
|
+
/** Weight of the object (undefined = negligible/not tracked) */
|
|
39
|
+
weight?: number;
|
|
40
|
+
/** Volume of the object (undefined = negligible/not tracked) */
|
|
41
|
+
volume?: number;
|
|
42
|
+
/** Size category of the object */
|
|
43
|
+
size?: 'tiny' | 'small' | 'medium' | 'large' | 'huge';
|
|
44
|
+
/**
|
|
45
|
+
* Grammatical number for inanimate objects (ADR-089).
|
|
46
|
+
* - 'singular': "it" (default) - "take it", "the lamp"
|
|
47
|
+
* - 'plural': "them" - "take them", "the coins"
|
|
48
|
+
* Only used for entities WITHOUT ActorTrait.
|
|
49
|
+
*/
|
|
50
|
+
grammaticalNumber?: 'singular' | 'plural';
|
|
51
|
+
/**
|
|
52
|
+
* Adjectives that can be used to refer to this entity (ADR-093).
|
|
53
|
+
* Used for disambiguation when multiple entities share a noun.
|
|
54
|
+
* Example: ['yellow'] for "yellow button" vs ['red'] for "red button"
|
|
55
|
+
*/
|
|
56
|
+
adjectives: string[];
|
|
57
|
+
/**
|
|
58
|
+
* Noun type for article/formatter selection (ADR-095).
|
|
59
|
+
* - 'common': Regular countable noun (a sword, the sword)
|
|
60
|
+
* - 'proper': Proper name (John, not "a John")
|
|
61
|
+
* - 'mass': Uncountable noun (water, not "a water" - use "some water")
|
|
62
|
+
* - 'unique': One-of-a-kind (the sun, not "a sun")
|
|
63
|
+
* - 'plural': Inherently plural (scissors, pants)
|
|
64
|
+
*
|
|
65
|
+
* If not set, formatters use `properName` and `grammaticalNumber` as fallback.
|
|
66
|
+
*/
|
|
67
|
+
nounType?: 'common' | 'proper' | 'mass' | 'unique' | 'plural';
|
|
68
|
+
constructor(data?: Partial<IdentityTrait>);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=identityTrait.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identityTrait.d.ts","sourceRoot":"","sources":["../../../src/traits/identity/identityTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,MAAM;IAC1C,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAsB;IAC1C,QAAQ,CAAC,IAAI,aAAsB;IAEnC,iCAAiC;IACjC,IAAI,SAAM;IAEV,4CAA4C;IAC5C,WAAW,SAAM;IAEjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,iEAAiE;IACjE,OAAO,EAAE,MAAM,EAAE,CAAM;IAEvB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oEAAoE;IACpE,UAAU,UAAS;IAEnB,yFAAyF;IACzF,OAAO,SAAO;IAEd,wDAAwD;IACxD,SAAS,UAAS;IAElB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAEtD;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IAE1C;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,CAAM;IAE1B;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;gBAElD,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;CAK1C"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// packages/world-model/src/traits/identity/identityTrait.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.IdentityTrait = void 0;
|
|
5
|
+
const trait_types_1 = require("../trait-types");
|
|
6
|
+
/**
|
|
7
|
+
* Identity trait provides basic naming and description for entities.
|
|
8
|
+
* This is one of the most fundamental traits in IF.
|
|
9
|
+
*
|
|
10
|
+
* This is a pure data structure - all validation and logic
|
|
11
|
+
* should be handled by IdentityBehavior.
|
|
12
|
+
*/
|
|
13
|
+
class IdentityTrait {
|
|
14
|
+
static type = trait_types_1.TraitType.IDENTITY;
|
|
15
|
+
type = trait_types_1.TraitType.IDENTITY;
|
|
16
|
+
/** Primary name of the entity */
|
|
17
|
+
name = '';
|
|
18
|
+
/** Full description shown when examining */
|
|
19
|
+
description = '';
|
|
20
|
+
/**
|
|
21
|
+
* Message ID for localized name (ADR-107).
|
|
22
|
+
* If set, the language layer resolves this ID to the actual name text.
|
|
23
|
+
* Takes precedence over literal `name` if both are set.
|
|
24
|
+
*/
|
|
25
|
+
nameId;
|
|
26
|
+
/**
|
|
27
|
+
* Message ID for localized description (ADR-107).
|
|
28
|
+
* If set, the language layer resolves this ID to the actual description text.
|
|
29
|
+
* Takes precedence over literal `description` if both are set.
|
|
30
|
+
*/
|
|
31
|
+
descriptionId;
|
|
32
|
+
/** Alternative names/aliases the entity can be referred to by */
|
|
33
|
+
aliases = [];
|
|
34
|
+
/** Brief description shown in room listings */
|
|
35
|
+
brief;
|
|
36
|
+
/** Whether the entity has a proper name (like "John" vs "a man") */
|
|
37
|
+
properName = false;
|
|
38
|
+
/** Article to use with the name ("a", "an", "the", "some", or empty for proper names) */
|
|
39
|
+
article = 'a';
|
|
40
|
+
/** Whether this entity is concealed from normal view */
|
|
41
|
+
concealed = false;
|
|
42
|
+
/** Weight of the object (undefined = negligible/not tracked) */
|
|
43
|
+
weight;
|
|
44
|
+
/** Volume of the object (undefined = negligible/not tracked) */
|
|
45
|
+
volume;
|
|
46
|
+
/** Size category of the object */
|
|
47
|
+
size;
|
|
48
|
+
/**
|
|
49
|
+
* Grammatical number for inanimate objects (ADR-089).
|
|
50
|
+
* - 'singular': "it" (default) - "take it", "the lamp"
|
|
51
|
+
* - 'plural': "them" - "take them", "the coins"
|
|
52
|
+
* Only used for entities WITHOUT ActorTrait.
|
|
53
|
+
*/
|
|
54
|
+
grammaticalNumber;
|
|
55
|
+
/**
|
|
56
|
+
* Adjectives that can be used to refer to this entity (ADR-093).
|
|
57
|
+
* Used for disambiguation when multiple entities share a noun.
|
|
58
|
+
* Example: ['yellow'] for "yellow button" vs ['red'] for "red button"
|
|
59
|
+
*/
|
|
60
|
+
adjectives = [];
|
|
61
|
+
/**
|
|
62
|
+
* Noun type for article/formatter selection (ADR-095).
|
|
63
|
+
* - 'common': Regular countable noun (a sword, the sword)
|
|
64
|
+
* - 'proper': Proper name (John, not "a John")
|
|
65
|
+
* - 'mass': Uncountable noun (water, not "a water" - use "some water")
|
|
66
|
+
* - 'unique': One-of-a-kind (the sun, not "a sun")
|
|
67
|
+
* - 'plural': Inherently plural (scissors, pants)
|
|
68
|
+
*
|
|
69
|
+
* If not set, formatters use `properName` and `grammaticalNumber` as fallback.
|
|
70
|
+
*/
|
|
71
|
+
nounType;
|
|
72
|
+
constructor(data) {
|
|
73
|
+
if (data) {
|
|
74
|
+
Object.assign(this, data);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.IdentityTrait = IdentityTrait;
|
|
79
|
+
//# sourceMappingURL=identityTrait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identityTrait.js","sourceRoot":"","sources":["../../../src/traits/identity/identityTrait.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;AAG5D,gDAA2C;AAE3C;;;;;;GAMG;AACH,MAAa,aAAa;IACxB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,QAAQ,CAAC;IACjC,IAAI,GAAG,uBAAS,CAAC,QAAQ,CAAC;IAEnC,iCAAiC;IACjC,IAAI,GAAG,EAAE,CAAC;IAEV,4CAA4C;IAC5C,WAAW,GAAG,EAAE,CAAC;IAEjB;;;;OAIG;IACH,MAAM,CAAU;IAEhB;;;;OAIG;IACH,aAAa,CAAU;IAEvB,iEAAiE;IACjE,OAAO,GAAa,EAAE,CAAC;IAEvB,+CAA+C;IAC/C,KAAK,CAAU;IAEf,oEAAoE;IACpE,UAAU,GAAG,KAAK,CAAC;IAEnB,yFAAyF;IACzF,OAAO,GAAG,GAAG,CAAC;IAEd,wDAAwD;IACxD,SAAS,GAAG,KAAK,CAAC;IAElB,gEAAgE;IAChE,MAAM,CAAU;IAEhB,gEAAgE;IAChE,MAAM,CAAU;IAEhB,kCAAkC;IAClC,IAAI,CAAkD;IAEtD;;;;;OAKG;IACH,iBAAiB,CAAyB;IAE1C;;;;OAIG;IACH,UAAU,GAAa,EAAE,CAAC;IAE1B;;;;;;;;;OASG;IACH,QAAQ,CAAsD;IAE9D,YAAY,IAA6B;QACvC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;;AA/EH,sCAgFC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/traits/identity/index.ts"],"names":[],"mappings":"AAEA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// packages/world-model/src/traits/identity/index.ts
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
__exportStar(require("./identityTrait"), exports);
|
|
19
|
+
__exportStar(require("./identityBehavior"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/traits/identity/index.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;;;;;;;;;;;AAEpD,kDAAgC;AAChC,qDAAmC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trait implementations map
|
|
3
|
+
*
|
|
4
|
+
* Maps trait types to their implementation classes
|
|
5
|
+
*/
|
|
6
|
+
import { TraitType } from './trait-types';
|
|
7
|
+
import { ITraitConstructor } from './trait';
|
|
8
|
+
import { IdentityTrait } from './identity/identityTrait';
|
|
9
|
+
import { ContainerTrait } from './container/containerTrait';
|
|
10
|
+
import { SupporterTrait } from './supporter/supporterTrait';
|
|
11
|
+
import { RoomTrait } from './room/roomTrait';
|
|
12
|
+
import { WearableTrait } from './wearable/wearableTrait';
|
|
13
|
+
import { ClothingTrait } from './clothing/clothingTrait';
|
|
14
|
+
import { EdibleTrait } from './edible/edibleTrait';
|
|
15
|
+
import { SceneryTrait } from './scenery/sceneryTrait';
|
|
16
|
+
import { OpenableTrait } from './openable/openableTrait';
|
|
17
|
+
import { LockableTrait } from './lockable/lockableTrait';
|
|
18
|
+
import { SwitchableTrait } from './switchable/switchableTrait';
|
|
19
|
+
import { ReadableTrait } from './readable/readableTrait';
|
|
20
|
+
import { LightSourceTrait } from './light-source/lightSourceTrait';
|
|
21
|
+
import { DoorTrait } from './door/doorTrait';
|
|
22
|
+
import { ClimbableTrait } from './climbable/climbableTrait';
|
|
23
|
+
import { ActorTrait } from './actor/actorTrait';
|
|
24
|
+
import { ExitTrait } from './exit/exitTrait';
|
|
25
|
+
import { PullableTrait } from './pullable/pullableTrait';
|
|
26
|
+
import { AttachedTrait } from './attached/attachedTrait';
|
|
27
|
+
import { PushableTrait } from './pushable/pushableTrait';
|
|
28
|
+
import { ButtonTrait } from './button/buttonTrait';
|
|
29
|
+
import { MoveableSceneryTrait } from './moveable-scenery/moveableSceneryTrait';
|
|
30
|
+
import { WeaponTrait } from './weapon/weaponTrait';
|
|
31
|
+
import { BreakableTrait } from './breakable/breakableTrait';
|
|
32
|
+
import { DestructibleTrait } from './destructible/destructibleTrait';
|
|
33
|
+
import { CombatantTrait } from './combatant/combatantTrait';
|
|
34
|
+
import { EquippedTrait } from './equipped/equippedTrait';
|
|
35
|
+
import { NpcTrait } from './npc/npcTrait';
|
|
36
|
+
import { VehicleTrait } from './vehicle/vehicleTrait';
|
|
37
|
+
import { EnterableTrait } from './enterable/enterableTrait';
|
|
38
|
+
/**
|
|
39
|
+
* Map of trait types to their constructors
|
|
40
|
+
*/
|
|
41
|
+
export declare const TRAIT_IMPLEMENTATIONS: Record<TraitType, ITraitConstructor>;
|
|
42
|
+
/**
|
|
43
|
+
* Get trait implementation by type
|
|
44
|
+
*/
|
|
45
|
+
export declare function getTraitImplementation(type: TraitType): ITraitConstructor | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Create trait instance by type
|
|
48
|
+
*/
|
|
49
|
+
export declare function createTrait(type: TraitType, data?: any): InstanceType<ITraitConstructor>;
|
|
50
|
+
export { IdentityTrait, ContainerTrait, SupporterTrait, RoomTrait, WearableTrait, ClothingTrait, EdibleTrait, SceneryTrait, OpenableTrait, LockableTrait, SwitchableTrait, ReadableTrait, LightSourceTrait, DoorTrait, ActorTrait, ExitTrait, ClimbableTrait, PullableTrait, AttachedTrait, PushableTrait, ButtonTrait, MoveableSceneryTrait, WeaponTrait, BreakableTrait, DestructibleTrait, CombatantTrait, EquippedTrait, NpcTrait, VehicleTrait, EnterableTrait };
|
|
51
|
+
//# sourceMappingURL=implementations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implementations.d.ts","sourceRoot":"","sources":["../../src/traits/implementations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAG/E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAuDtE,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAErF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAMxF;AAGD,OAAO,EAEL,aAAa,EACb,cAAc,EACd,cAAc,EACd,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,EACX,YAAY,EAGZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACb,gBAAgB,EAGhB,SAAS,EAGT,UAAU,EAGV,SAAS,EACT,cAAc,EAGd,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EACX,oBAAoB,EAGpB,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,aAAa,EAGb,QAAQ,EAGR,YAAY,EACZ,cAAc,EAGf,CAAC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Trait implementations map
|
|
4
|
+
*
|
|
5
|
+
* Maps trait types to their implementation classes
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.EnterableTrait = exports.VehicleTrait = exports.NpcTrait = exports.EquippedTrait = exports.CombatantTrait = exports.DestructibleTrait = exports.BreakableTrait = exports.WeaponTrait = exports.MoveableSceneryTrait = exports.ButtonTrait = exports.PushableTrait = exports.AttachedTrait = exports.PullableTrait = exports.ClimbableTrait = exports.ExitTrait = exports.ActorTrait = exports.DoorTrait = exports.LightSourceTrait = exports.ReadableTrait = exports.SwitchableTrait = exports.LockableTrait = exports.OpenableTrait = exports.SceneryTrait = exports.EdibleTrait = exports.ClothingTrait = exports.WearableTrait = exports.RoomTrait = exports.SupporterTrait = exports.ContainerTrait = exports.IdentityTrait = exports.TRAIT_IMPLEMENTATIONS = void 0;
|
|
9
|
+
exports.getTraitImplementation = getTraitImplementation;
|
|
10
|
+
exports.createTrait = createTrait;
|
|
11
|
+
const trait_types_1 = require("./trait-types");
|
|
12
|
+
// Import all trait implementations from their new locations
|
|
13
|
+
const identityTrait_1 = require("./identity/identityTrait");
|
|
14
|
+
Object.defineProperty(exports, "IdentityTrait", { enumerable: true, get: function () { return identityTrait_1.IdentityTrait; } });
|
|
15
|
+
const containerTrait_1 = require("./container/containerTrait");
|
|
16
|
+
Object.defineProperty(exports, "ContainerTrait", { enumerable: true, get: function () { return containerTrait_1.ContainerTrait; } });
|
|
17
|
+
const supporterTrait_1 = require("./supporter/supporterTrait");
|
|
18
|
+
Object.defineProperty(exports, "SupporterTrait", { enumerable: true, get: function () { return supporterTrait_1.SupporterTrait; } });
|
|
19
|
+
const roomTrait_1 = require("./room/roomTrait");
|
|
20
|
+
Object.defineProperty(exports, "RoomTrait", { enumerable: true, get: function () { return roomTrait_1.RoomTrait; } });
|
|
21
|
+
const wearableTrait_1 = require("./wearable/wearableTrait");
|
|
22
|
+
Object.defineProperty(exports, "WearableTrait", { enumerable: true, get: function () { return wearableTrait_1.WearableTrait; } });
|
|
23
|
+
const clothingTrait_1 = require("./clothing/clothingTrait");
|
|
24
|
+
Object.defineProperty(exports, "ClothingTrait", { enumerable: true, get: function () { return clothingTrait_1.ClothingTrait; } });
|
|
25
|
+
const edibleTrait_1 = require("./edible/edibleTrait");
|
|
26
|
+
Object.defineProperty(exports, "EdibleTrait", { enumerable: true, get: function () { return edibleTrait_1.EdibleTrait; } });
|
|
27
|
+
const sceneryTrait_1 = require("./scenery/sceneryTrait");
|
|
28
|
+
Object.defineProperty(exports, "SceneryTrait", { enumerable: true, get: function () { return sceneryTrait_1.SceneryTrait; } });
|
|
29
|
+
const openableTrait_1 = require("./openable/openableTrait");
|
|
30
|
+
Object.defineProperty(exports, "OpenableTrait", { enumerable: true, get: function () { return openableTrait_1.OpenableTrait; } });
|
|
31
|
+
const lockableTrait_1 = require("./lockable/lockableTrait");
|
|
32
|
+
Object.defineProperty(exports, "LockableTrait", { enumerable: true, get: function () { return lockableTrait_1.LockableTrait; } });
|
|
33
|
+
const switchableTrait_1 = require("./switchable/switchableTrait");
|
|
34
|
+
Object.defineProperty(exports, "SwitchableTrait", { enumerable: true, get: function () { return switchableTrait_1.SwitchableTrait; } });
|
|
35
|
+
const readableTrait_1 = require("./readable/readableTrait");
|
|
36
|
+
Object.defineProperty(exports, "ReadableTrait", { enumerable: true, get: function () { return readableTrait_1.ReadableTrait; } });
|
|
37
|
+
const lightSourceTrait_1 = require("./light-source/lightSourceTrait");
|
|
38
|
+
Object.defineProperty(exports, "LightSourceTrait", { enumerable: true, get: function () { return lightSourceTrait_1.LightSourceTrait; } });
|
|
39
|
+
// Spatial traits
|
|
40
|
+
const doorTrait_1 = require("./door/doorTrait");
|
|
41
|
+
Object.defineProperty(exports, "DoorTrait", { enumerable: true, get: function () { return doorTrait_1.DoorTrait; } });
|
|
42
|
+
const climbableTrait_1 = require("./climbable/climbableTrait");
|
|
43
|
+
Object.defineProperty(exports, "ClimbableTrait", { enumerable: true, get: function () { return climbableTrait_1.ClimbableTrait; } });
|
|
44
|
+
// Basic traits
|
|
45
|
+
const actorTrait_1 = require("./actor/actorTrait");
|
|
46
|
+
Object.defineProperty(exports, "ActorTrait", { enumerable: true, get: function () { return actorTrait_1.ActorTrait; } });
|
|
47
|
+
// New traits
|
|
48
|
+
const exitTrait_1 = require("./exit/exitTrait");
|
|
49
|
+
Object.defineProperty(exports, "ExitTrait", { enumerable: true, get: function () { return exitTrait_1.ExitTrait; } });
|
|
50
|
+
// Manipulation traits
|
|
51
|
+
const pullableTrait_1 = require("./pullable/pullableTrait");
|
|
52
|
+
Object.defineProperty(exports, "PullableTrait", { enumerable: true, get: function () { return pullableTrait_1.PullableTrait; } });
|
|
53
|
+
const attachedTrait_1 = require("./attached/attachedTrait");
|
|
54
|
+
Object.defineProperty(exports, "AttachedTrait", { enumerable: true, get: function () { return attachedTrait_1.AttachedTrait; } });
|
|
55
|
+
const pushableTrait_1 = require("./pushable/pushableTrait");
|
|
56
|
+
Object.defineProperty(exports, "PushableTrait", { enumerable: true, get: function () { return pushableTrait_1.PushableTrait; } });
|
|
57
|
+
const buttonTrait_1 = require("./button/buttonTrait");
|
|
58
|
+
Object.defineProperty(exports, "ButtonTrait", { enumerable: true, get: function () { return buttonTrait_1.ButtonTrait; } });
|
|
59
|
+
const moveableSceneryTrait_1 = require("./moveable-scenery/moveableSceneryTrait");
|
|
60
|
+
Object.defineProperty(exports, "MoveableSceneryTrait", { enumerable: true, get: function () { return moveableSceneryTrait_1.MoveableSceneryTrait; } });
|
|
61
|
+
// Combat traits
|
|
62
|
+
const weaponTrait_1 = require("./weapon/weaponTrait");
|
|
63
|
+
Object.defineProperty(exports, "WeaponTrait", { enumerable: true, get: function () { return weaponTrait_1.WeaponTrait; } });
|
|
64
|
+
const breakableTrait_1 = require("./breakable/breakableTrait");
|
|
65
|
+
Object.defineProperty(exports, "BreakableTrait", { enumerable: true, get: function () { return breakableTrait_1.BreakableTrait; } });
|
|
66
|
+
const destructibleTrait_1 = require("./destructible/destructibleTrait");
|
|
67
|
+
Object.defineProperty(exports, "DestructibleTrait", { enumerable: true, get: function () { return destructibleTrait_1.DestructibleTrait; } });
|
|
68
|
+
const combatantTrait_1 = require("./combatant/combatantTrait");
|
|
69
|
+
Object.defineProperty(exports, "CombatantTrait", { enumerable: true, get: function () { return combatantTrait_1.CombatantTrait; } });
|
|
70
|
+
const equippedTrait_1 = require("./equipped/equippedTrait");
|
|
71
|
+
Object.defineProperty(exports, "EquippedTrait", { enumerable: true, get: function () { return equippedTrait_1.EquippedTrait; } });
|
|
72
|
+
// NPC traits (ADR-070)
|
|
73
|
+
const npcTrait_1 = require("./npc/npcTrait");
|
|
74
|
+
Object.defineProperty(exports, "NpcTrait", { enumerable: true, get: function () { return npcTrait_1.NpcTrait; } });
|
|
75
|
+
// Transport traits
|
|
76
|
+
const vehicleTrait_1 = require("./vehicle/vehicleTrait");
|
|
77
|
+
Object.defineProperty(exports, "VehicleTrait", { enumerable: true, get: function () { return vehicleTrait_1.VehicleTrait; } });
|
|
78
|
+
const enterableTrait_1 = require("./enterable/enterableTrait");
|
|
79
|
+
Object.defineProperty(exports, "EnterableTrait", { enumerable: true, get: function () { return enterableTrait_1.EnterableTrait; } });
|
|
80
|
+
/**
|
|
81
|
+
* Map of trait types to their constructors
|
|
82
|
+
*/
|
|
83
|
+
exports.TRAIT_IMPLEMENTATIONS = {
|
|
84
|
+
// Core traits (organized in their own folders)
|
|
85
|
+
[trait_types_1.TraitType.IDENTITY]: identityTrait_1.IdentityTrait,
|
|
86
|
+
[trait_types_1.TraitType.CONTAINER]: containerTrait_1.ContainerTrait,
|
|
87
|
+
[trait_types_1.TraitType.SUPPORTER]: supporterTrait_1.SupporterTrait,
|
|
88
|
+
[trait_types_1.TraitType.ROOM]: roomTrait_1.RoomTrait,
|
|
89
|
+
[trait_types_1.TraitType.WEARABLE]: wearableTrait_1.WearableTrait,
|
|
90
|
+
[trait_types_1.TraitType.CLOTHING]: clothingTrait_1.ClothingTrait,
|
|
91
|
+
[trait_types_1.TraitType.EDIBLE]: edibleTrait_1.EdibleTrait,
|
|
92
|
+
[trait_types_1.TraitType.SCENERY]: sceneryTrait_1.SceneryTrait,
|
|
93
|
+
// Interactive traits
|
|
94
|
+
[trait_types_1.TraitType.OPENABLE]: openableTrait_1.OpenableTrait,
|
|
95
|
+
[trait_types_1.TraitType.LOCKABLE]: lockableTrait_1.LockableTrait,
|
|
96
|
+
[trait_types_1.TraitType.SWITCHABLE]: switchableTrait_1.SwitchableTrait,
|
|
97
|
+
[trait_types_1.TraitType.READABLE]: readableTrait_1.ReadableTrait,
|
|
98
|
+
[trait_types_1.TraitType.LIGHT_SOURCE]: lightSourceTrait_1.LightSourceTrait,
|
|
99
|
+
// Spatial traits
|
|
100
|
+
[trait_types_1.TraitType.DOOR]: doorTrait_1.DoorTrait,
|
|
101
|
+
[trait_types_1.TraitType.CLIMBABLE]: climbableTrait_1.ClimbableTrait,
|
|
102
|
+
// Basic traits
|
|
103
|
+
[trait_types_1.TraitType.ACTOR]: actorTrait_1.ActorTrait,
|
|
104
|
+
// New traits
|
|
105
|
+
[trait_types_1.TraitType.EXIT]: exitTrait_1.ExitTrait,
|
|
106
|
+
// Manipulation traits
|
|
107
|
+
[trait_types_1.TraitType.PULLABLE]: pullableTrait_1.PullableTrait,
|
|
108
|
+
[trait_types_1.TraitType.ATTACHED]: attachedTrait_1.AttachedTrait,
|
|
109
|
+
[trait_types_1.TraitType.PUSHABLE]: pushableTrait_1.PushableTrait,
|
|
110
|
+
[trait_types_1.TraitType.BUTTON]: buttonTrait_1.ButtonTrait,
|
|
111
|
+
[trait_types_1.TraitType.MOVEABLE_SCENERY]: moveableSceneryTrait_1.MoveableSceneryTrait,
|
|
112
|
+
// Combat traits
|
|
113
|
+
[trait_types_1.TraitType.WEAPON]: weaponTrait_1.WeaponTrait,
|
|
114
|
+
[trait_types_1.TraitType.BREAKABLE]: breakableTrait_1.BreakableTrait,
|
|
115
|
+
[trait_types_1.TraitType.DESTRUCTIBLE]: destructibleTrait_1.DestructibleTrait,
|
|
116
|
+
[trait_types_1.TraitType.COMBATANT]: combatantTrait_1.CombatantTrait,
|
|
117
|
+
[trait_types_1.TraitType.EQUIPPED]: equippedTrait_1.EquippedTrait,
|
|
118
|
+
// NPC traits (ADR-070)
|
|
119
|
+
[trait_types_1.TraitType.NPC]: npcTrait_1.NpcTrait,
|
|
120
|
+
// Transport traits
|
|
121
|
+
[trait_types_1.TraitType.VEHICLE]: vehicleTrait_1.VehicleTrait,
|
|
122
|
+
[trait_types_1.TraitType.ENTERABLE]: enterableTrait_1.EnterableTrait,
|
|
123
|
+
// Object property traits
|
|
124
|
+
// Deprecated traits - these are handled differently now:
|
|
125
|
+
// LOCATION - tracked by world model internally
|
|
126
|
+
// PORTABLE - objects are takeable by default unless they have SceneryTrait
|
|
127
|
+
// FIXED - replaced by SCENERY
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Get trait implementation by type
|
|
131
|
+
*/
|
|
132
|
+
function getTraitImplementation(type) {
|
|
133
|
+
return exports.TRAIT_IMPLEMENTATIONS[type];
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Create trait instance by type
|
|
137
|
+
*/
|
|
138
|
+
function createTrait(type, data) {
|
|
139
|
+
const TraitClass = exports.TRAIT_IMPLEMENTATIONS[type];
|
|
140
|
+
if (!TraitClass) {
|
|
141
|
+
throw new Error(`Unknown trait type: ${type}`);
|
|
142
|
+
}
|
|
143
|
+
return new TraitClass(data);
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=implementations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implementations.js","sourceRoot":"","sources":["../../src/traits/implementations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export * from './trait';
|
|
2
|
+
export * from './trait-types';
|
|
3
|
+
export * from './implementations';
|
|
4
|
+
export * from './identity';
|
|
5
|
+
export * from './container';
|
|
6
|
+
export * from './room';
|
|
7
|
+
export * from './openable';
|
|
8
|
+
export * from './lockable';
|
|
9
|
+
export * from './readable';
|
|
10
|
+
export * from './light-source';
|
|
11
|
+
export * from './exit';
|
|
12
|
+
export * from './climbable';
|
|
13
|
+
export * from './scenery';
|
|
14
|
+
export * from './supporter';
|
|
15
|
+
export * from './switchable';
|
|
16
|
+
export * from './wearable';
|
|
17
|
+
export * from './clothing';
|
|
18
|
+
export * from './edible';
|
|
19
|
+
export * from './door';
|
|
20
|
+
export * from './actor';
|
|
21
|
+
export * from './pullable';
|
|
22
|
+
export * from './attached';
|
|
23
|
+
export * from './pushable';
|
|
24
|
+
export * from './button';
|
|
25
|
+
export * from './moveable-scenery';
|
|
26
|
+
export * from './weapon';
|
|
27
|
+
export * from './breakable';
|
|
28
|
+
export * from './destructible';
|
|
29
|
+
export * from './combatant';
|
|
30
|
+
export * from './equipped';
|
|
31
|
+
export * from './vehicle';
|
|
32
|
+
export * from './enterable';
|
|
33
|
+
export * from './npc';
|
|
34
|
+
export * from './register-all';
|
|
35
|
+
export * from './all-traits';
|
|
36
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/traits/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AAGxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AAGnC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAG3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAG5B,cAAc,OAAO,CAAC;AAGtB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC"}
|