@sharpee/world-model 0.9.62-beta → 0.9.66-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 +0 -0
- package/package.json +17 -30
- package/LICENSE +0 -21
- package/dist-npm/annotations/index.d.ts +0 -2
- package/dist-npm/annotations/index.d.ts.map +0 -1
- package/dist-npm/annotations/index.js +0 -18
- package/dist-npm/annotations/index.js.map +0 -1
- package/dist-npm/annotations/types.d.ts +0 -35
- package/dist-npm/annotations/types.d.ts.map +0 -1
- package/dist-npm/annotations/types.js +0 -9
- package/dist-npm/annotations/types.js.map +0 -1
- package/dist-npm/behaviors/attack.d.ts +0 -52
- package/dist-npm/behaviors/attack.d.ts.map +0 -1
- package/dist-npm/behaviors/attack.js +0 -161
- package/dist-npm/behaviors/attack.js.map +0 -1
- package/dist-npm/behaviors/behavior.d.ts +0 -67
- package/dist-npm/behaviors/behavior.d.ts.map +0 -1
- package/dist-npm/behaviors/behavior.js +0 -80
- package/dist-npm/behaviors/behavior.js.map +0 -1
- package/dist-npm/behaviors/index.d.ts +0 -21
- package/dist-npm/behaviors/index.d.ts.map +0 -1
- package/dist-npm/behaviors/index.js +0 -39
- package/dist-npm/behaviors/index.js.map +0 -1
- package/dist-npm/capabilities/action-interceptor.d.ts +0 -169
- package/dist-npm/capabilities/action-interceptor.d.ts.map +0 -1
- package/dist-npm/capabilities/action-interceptor.js +0 -15
- package/dist-npm/capabilities/action-interceptor.js.map +0 -1
- package/dist-npm/capabilities/capability-behavior.d.ts +0 -112
- package/dist-npm/capabilities/capability-behavior.d.ts.map +0 -1
- package/dist-npm/capabilities/capability-behavior.js +0 -9
- package/dist-npm/capabilities/capability-behavior.js.map +0 -1
- package/dist-npm/capabilities/capability-defaults.d.ts +0 -67
- package/dist-npm/capabilities/capability-defaults.d.ts.map +0 -1
- package/dist-npm/capabilities/capability-defaults.js +0 -81
- package/dist-npm/capabilities/capability-defaults.js.map +0 -1
- package/dist-npm/capabilities/capability-helpers.d.ts +0 -76
- package/dist-npm/capabilities/capability-helpers.d.ts.map +0 -1
- package/dist-npm/capabilities/capability-helpers.js +0 -112
- package/dist-npm/capabilities/capability-helpers.js.map +0 -1
- package/dist-npm/capabilities/capability-registry.d.ts +0 -115
- package/dist-npm/capabilities/capability-registry.d.ts.map +0 -1
- package/dist-npm/capabilities/capability-registry.js +0 -136
- package/dist-npm/capabilities/capability-registry.js.map +0 -1
- package/dist-npm/capabilities/entity-builder.d.ts +0 -79
- package/dist-npm/capabilities/entity-builder.d.ts.map +0 -1
- package/dist-npm/capabilities/entity-builder.js +0 -116
- package/dist-npm/capabilities/entity-builder.js.map +0 -1
- package/dist-npm/capabilities/index.d.ts +0 -16
- package/dist-npm/capabilities/index.d.ts.map +0 -1
- package/dist-npm/capabilities/index.js +0 -56
- package/dist-npm/capabilities/index.js.map +0 -1
- package/dist-npm/capabilities/interceptor-helpers.d.ts +0 -74
- package/dist-npm/capabilities/interceptor-helpers.d.ts.map +0 -1
- package/dist-npm/capabilities/interceptor-helpers.js +0 -111
- package/dist-npm/capabilities/interceptor-helpers.js.map +0 -1
- package/dist-npm/capabilities/interceptor-registry.d.ts +0 -125
- package/dist-npm/capabilities/interceptor-registry.d.ts.map +0 -1
- package/dist-npm/capabilities/interceptor-registry.js +0 -176
- package/dist-npm/capabilities/interceptor-registry.js.map +0 -1
- package/dist-npm/capabilities/types.d.ts +0 -35
- package/dist-npm/capabilities/types.d.ts.map +0 -1
- package/dist-npm/capabilities/types.js +0 -16
- package/dist-npm/capabilities/types.js.map +0 -1
- package/dist-npm/commands/command-types.d.ts +0 -30
- package/dist-npm/commands/command-types.d.ts.map +0 -1
- package/dist-npm/commands/command-types.js +0 -6
- package/dist-npm/commands/command-types.js.map +0 -1
- package/dist-npm/commands/index.d.ts +0 -7
- package/dist-npm/commands/index.d.ts.map +0 -1
- package/dist-npm/commands/index.js +0 -23
- package/dist-npm/commands/index.js.map +0 -1
- package/dist-npm/commands/parsed-command.d.ts +0 -204
- package/dist-npm/commands/parsed-command.d.ts.map +0 -1
- package/dist-npm/commands/parsed-command.js +0 -25
- package/dist-npm/commands/parsed-command.js.map +0 -1
- package/dist-npm/commands/validated-command.d.ts +0 -52
- package/dist-npm/commands/validated-command.d.ts.map +0 -1
- package/dist-npm/commands/validated-command.js +0 -8
- package/dist-npm/commands/validated-command.js.map +0 -1
- package/dist-npm/constants/action-failures.d.ts +0 -54
- package/dist-npm/constants/action-failures.d.ts.map +0 -1
- package/dist-npm/constants/action-failures.js +0 -68
- package/dist-npm/constants/action-failures.js.map +0 -1
- package/dist-npm/constants/directions.d.ts +0 -32
- package/dist-npm/constants/directions.d.ts.map +0 -1
- package/dist-npm/constants/directions.js +0 -53
- package/dist-npm/constants/directions.js.map +0 -1
- package/dist-npm/constants/if-events.d.ts +0 -5
- package/dist-npm/constants/if-events.d.ts.map +0 -1
- package/dist-npm/constants/if-events.js +0 -10
- package/dist-npm/constants/if-events.js.map +0 -1
- package/dist-npm/constants/index.d.ts +0 -9
- package/dist-npm/constants/index.d.ts.map +0 -1
- package/dist-npm/constants/index.js +0 -25
- package/dist-npm/constants/index.js.map +0 -1
- package/dist-npm/entities/entity-store.d.ts +0 -66
- package/dist-npm/entities/entity-store.d.ts.map +0 -1
- package/dist-npm/entities/entity-store.js +0 -116
- package/dist-npm/entities/entity-store.js.map +0 -1
- package/dist-npm/entities/entity-types.d.ts +0 -40
- package/dist-npm/entities/entity-types.d.ts.map +0 -1
- package/dist-npm/entities/entity-types.js +0 -56
- package/dist-npm/entities/entity-types.js.map +0 -1
- package/dist-npm/entities/if-entity.d.ts +0 -314
- package/dist-npm/entities/if-entity.d.ts.map +0 -1
- package/dist-npm/entities/if-entity.js +0 -621
- package/dist-npm/entities/if-entity.js.map +0 -1
- package/dist-npm/entities/index.d.ts +0 -5
- package/dist-npm/entities/index.d.ts.map +0 -1
- package/dist-npm/entities/index.js +0 -13
- package/dist-npm/entities/index.js.map +0 -1
- package/dist-npm/events/types.d.ts +0 -45
- package/dist-npm/events/types.d.ts.map +0 -1
- package/dist-npm/events/types.js +0 -9
- package/dist-npm/events/types.js.map +0 -1
- package/dist-npm/examples/event-handler-registration.d.ts +0 -14
- package/dist-npm/examples/event-handler-registration.d.ts.map +0 -1
- package/dist-npm/examples/event-handler-registration.js +0 -158
- package/dist-npm/examples/event-handler-registration.js.map +0 -1
- package/dist-npm/extensions/base-extension.d.ts +0 -69
- package/dist-npm/extensions/base-extension.d.ts.map +0 -1
- package/dist-npm/extensions/base-extension.js +0 -83
- package/dist-npm/extensions/base-extension.js.map +0 -1
- package/dist-npm/extensions/index.d.ts +0 -11
- package/dist-npm/extensions/index.d.ts.map +0 -1
- package/dist-npm/extensions/index.js +0 -39
- package/dist-npm/extensions/index.js.map +0 -1
- package/dist-npm/extensions/loader.d.ts +0 -52
- package/dist-npm/extensions/loader.d.ts.map +0 -1
- package/dist-npm/extensions/loader.js +0 -177
- package/dist-npm/extensions/loader.js.map +0 -1
- package/dist-npm/extensions/manager.d.ts +0 -68
- package/dist-npm/extensions/manager.d.ts.map +0 -1
- package/dist-npm/extensions/manager.js +0 -164
- package/dist-npm/extensions/manager.js.map +0 -1
- package/dist-npm/extensions/registry.d.ts +0 -100
- package/dist-npm/extensions/registry.d.ts.map +0 -1
- package/dist-npm/extensions/registry.js +0 -193
- package/dist-npm/extensions/registry.js.map +0 -1
- package/dist-npm/extensions/types.d.ts +0 -226
- package/dist-npm/extensions/types.d.ts.map +0 -1
- package/dist-npm/extensions/types.js +0 -28
- package/dist-npm/extensions/types.js.map +0 -1
- package/dist-npm/index.d.ts +0 -40
- package/dist-npm/index.d.ts.map +0 -1
- package/dist-npm/index.js +0 -70
- package/dist-npm/index.js.map +0 -1
- package/dist-npm/interfaces/command-executor.d.ts +0 -17
- package/dist-npm/interfaces/command-executor.d.ts.map +0 -1
- package/dist-npm/interfaces/command-executor.js +0 -6
- package/dist-npm/interfaces/command-executor.js.map +0 -1
- package/dist-npm/interfaces/command-processor.d.ts +0 -17
- package/dist-npm/interfaces/command-processor.d.ts.map +0 -1
- package/dist-npm/interfaces/command-processor.js +0 -6
- package/dist-npm/interfaces/command-processor.js.map +0 -1
- package/dist-npm/interfaces/command-validator.d.ts +0 -17
- package/dist-npm/interfaces/command-validator.d.ts.map +0 -1
- package/dist-npm/interfaces/command-validator.js +0 -6
- package/dist-npm/interfaces/command-validator.js.map +0 -1
- package/dist-npm/interfaces/index.d.ts +0 -8
- package/dist-npm/interfaces/index.d.ts.map +0 -1
- package/dist-npm/interfaces/index.js +0 -24
- package/dist-npm/interfaces/index.js.map +0 -1
- package/dist-npm/interfaces/language-provider.d.ts +0 -86
- package/dist-npm/interfaces/language-provider.d.ts.map +0 -1
- package/dist-npm/interfaces/language-provider.js +0 -14
- package/dist-npm/interfaces/language-provider.js.map +0 -1
- package/dist-npm/interfaces/parser.d.ts +0 -16
- package/dist-npm/interfaces/parser.d.ts.map +0 -1
- package/dist-npm/interfaces/parser.js +0 -6
- package/dist-npm/interfaces/parser.js.map +0 -1
- package/dist-npm/scope/index.d.ts +0 -8
- package/dist-npm/scope/index.d.ts.map +0 -1
- package/dist-npm/scope/index.js +0 -24
- package/dist-npm/scope/index.js.map +0 -1
- package/dist-npm/scope/scope-evaluator.d.ts +0 -58
- package/dist-npm/scope/scope-evaluator.d.ts.map +0 -1
- package/dist-npm/scope/scope-evaluator.js +0 -207
- package/dist-npm/scope/scope-evaluator.js.map +0 -1
- package/dist-npm/scope/scope-registry.d.ts +0 -59
- package/dist-npm/scope/scope-registry.d.ts.map +0 -1
- package/dist-npm/scope/scope-registry.js +0 -182
- package/dist-npm/scope/scope-registry.js.map +0 -1
- package/dist-npm/scope/scope-rule.d.ts +0 -86
- package/dist-npm/scope/scope-rule.d.ts.map +0 -1
- package/dist-npm/scope/scope-rule.js +0 -7
- package/dist-npm/scope/scope-rule.js.map +0 -1
- package/dist-npm/services/ScopeService.d.ts +0 -8
- package/dist-npm/services/ScopeService.d.ts.map +0 -1
- package/dist-npm/services/ScopeService.js +0 -19
- package/dist-npm/services/ScopeService.js.map +0 -1
- package/dist-npm/services/index.d.ts +0 -2
- package/dist-npm/services/index.d.ts.map +0 -1
- package/dist-npm/services/index.js +0 -6
- package/dist-npm/services/index.js.map +0 -1
- package/dist-npm/test-structure.d.ts +0 -3
- package/dist-npm/test-structure.d.ts.map +0 -1
- package/dist-npm/test-structure.js +0 -26
- package/dist-npm/test-structure.js.map +0 -1
- package/dist-npm/traits/actor/actorBehavior.d.ts +0 -121
- package/dist-npm/traits/actor/actorBehavior.d.ts.map +0 -1
- package/dist-npm/traits/actor/actorBehavior.js +0 -288
- package/dist-npm/traits/actor/actorBehavior.js.map +0 -1
- package/dist-npm/traits/actor/actorTrait.d.ts +0 -158
- package/dist-npm/traits/actor/actorTrait.d.ts.map +0 -1
- package/dist-npm/traits/actor/actorTrait.js +0 -152
- package/dist-npm/traits/actor/actorTrait.js.map +0 -1
- package/dist-npm/traits/actor/index.d.ts +0 -3
- package/dist-npm/traits/actor/index.d.ts.map +0 -1
- package/dist-npm/traits/actor/index.js +0 -11
- package/dist-npm/traits/actor/index.js.map +0 -1
- package/dist-npm/traits/all-traits.d.ts +0 -95
- package/dist-npm/traits/all-traits.d.ts.map +0 -1
- package/dist-npm/traits/all-traits.js +0 -178
- package/dist-npm/traits/all-traits.js.map +0 -1
- package/dist-npm/traits/attached/attachedTrait.d.ts +0 -61
- package/dist-npm/traits/attached/attachedTrait.d.ts.map +0 -1
- package/dist-npm/traits/attached/attachedTrait.js +0 -36
- package/dist-npm/traits/attached/attachedTrait.js.map +0 -1
- package/dist-npm/traits/attached/index.d.ts +0 -2
- package/dist-npm/traits/attached/index.d.ts.map +0 -1
- package/dist-npm/traits/attached/index.js +0 -18
- package/dist-npm/traits/attached/index.js.map +0 -1
- package/dist-npm/traits/breakable/breakableBehavior.d.ts +0 -43
- package/dist-npm/traits/breakable/breakableBehavior.d.ts.map +0 -1
- package/dist-npm/traits/breakable/breakableBehavior.js +0 -70
- package/dist-npm/traits/breakable/breakableBehavior.js.map +0 -1
- package/dist-npm/traits/breakable/breakableTrait.d.ts +0 -22
- package/dist-npm/traits/breakable/breakableTrait.d.ts.map +0 -1
- package/dist-npm/traits/breakable/breakableTrait.js +0 -25
- package/dist-npm/traits/breakable/breakableTrait.js.map +0 -1
- package/dist-npm/traits/breakable/index.d.ts +0 -3
- package/dist-npm/traits/breakable/index.d.ts.map +0 -1
- package/dist-npm/traits/breakable/index.js +0 -8
- package/dist-npm/traits/breakable/index.js.map +0 -1
- package/dist-npm/traits/button/buttonTrait.d.ts +0 -53
- package/dist-npm/traits/button/buttonTrait.d.ts.map +0 -1
- package/dist-npm/traits/button/buttonTrait.js +0 -36
- package/dist-npm/traits/button/buttonTrait.js.map +0 -1
- package/dist-npm/traits/button/index.d.ts +0 -2
- package/dist-npm/traits/button/index.d.ts.map +0 -1
- package/dist-npm/traits/button/index.js +0 -18
- package/dist-npm/traits/button/index.js.map +0 -1
- package/dist-npm/traits/climbable/climbableBehavior.d.ts +0 -37
- package/dist-npm/traits/climbable/climbableBehavior.d.ts.map +0 -1
- package/dist-npm/traits/climbable/climbableBehavior.js +0 -70
- package/dist-npm/traits/climbable/climbableBehavior.js.map +0 -1
- package/dist-npm/traits/climbable/climbableTrait.d.ts +0 -31
- package/dist-npm/traits/climbable/climbableTrait.d.ts.map +0 -1
- package/dist-npm/traits/climbable/climbableTrait.js +0 -47
- package/dist-npm/traits/climbable/climbableTrait.js.map +0 -1
- package/dist-npm/traits/climbable/index.d.ts +0 -6
- package/dist-npm/traits/climbable/index.d.ts.map +0 -1
- package/dist-npm/traits/climbable/index.js +0 -22
- package/dist-npm/traits/climbable/index.js.map +0 -1
- package/dist-npm/traits/clothing/clothingTrait.d.ts +0 -58
- package/dist-npm/traits/clothing/clothingTrait.d.ts.map +0 -1
- package/dist-npm/traits/clothing/clothingTrait.js +0 -78
- package/dist-npm/traits/clothing/clothingTrait.js.map +0 -1
- package/dist-npm/traits/clothing/index.d.ts +0 -2
- package/dist-npm/traits/clothing/index.d.ts.map +0 -1
- package/dist-npm/traits/clothing/index.js +0 -19
- package/dist-npm/traits/clothing/index.js.map +0 -1
- package/dist-npm/traits/combatant/combatantBehavior.d.ts +0 -70
- package/dist-npm/traits/combatant/combatantBehavior.d.ts.map +0 -1
- package/dist-npm/traits/combatant/combatantBehavior.js +0 -155
- package/dist-npm/traits/combatant/combatantBehavior.js.map +0 -1
- package/dist-npm/traits/combatant/combatantTrait.d.ts +0 -98
- package/dist-npm/traits/combatant/combatantTrait.d.ts.map +0 -1
- package/dist-npm/traits/combatant/combatantTrait.js +0 -122
- package/dist-npm/traits/combatant/combatantTrait.js.map +0 -1
- package/dist-npm/traits/combatant/index.d.ts +0 -3
- package/dist-npm/traits/combatant/index.d.ts.map +0 -1
- package/dist-npm/traits/combatant/index.js +0 -8
- package/dist-npm/traits/combatant/index.js.map +0 -1
- package/dist-npm/traits/container/container-utils.d.ts +0 -39
- package/dist-npm/traits/container/container-utils.d.ts.map +0 -1
- package/dist-npm/traits/container/container-utils.js +0 -72
- package/dist-npm/traits/container/container-utils.js.map +0 -1
- package/dist-npm/traits/container/containerBehavior.d.ts +0 -94
- package/dist-npm/traits/container/containerBehavior.d.ts.map +0 -1
- package/dist-npm/traits/container/containerBehavior.js +0 -256
- package/dist-npm/traits/container/containerBehavior.js.map +0 -1
- package/dist-npm/traits/container/containerTrait.d.ts +0 -30
- package/dist-npm/traits/container/containerTrait.d.ts.map +0 -1
- package/dist-npm/traits/container/containerTrait.js +0 -45
- package/dist-npm/traits/container/containerTrait.js.map +0 -1
- package/dist-npm/traits/container/index.d.ts +0 -4
- package/dist-npm/traits/container/index.d.ts.map +0 -1
- package/dist-npm/traits/container/index.js +0 -14
- package/dist-npm/traits/container/index.js.map +0 -1
- package/dist-npm/traits/destructible/destructibleBehavior.d.ts +0 -57
- package/dist-npm/traits/destructible/destructibleBehavior.d.ts.map +0 -1
- package/dist-npm/traits/destructible/destructibleBehavior.js +0 -145
- package/dist-npm/traits/destructible/destructibleBehavior.js.map +0 -1
- package/dist-npm/traits/destructible/destructibleTrait.d.ts +0 -49
- package/dist-npm/traits/destructible/destructibleTrait.d.ts.map +0 -1
- package/dist-npm/traits/destructible/destructibleTrait.js +0 -43
- package/dist-npm/traits/destructible/destructibleTrait.js.map +0 -1
- package/dist-npm/traits/destructible/index.d.ts +0 -3
- package/dist-npm/traits/destructible/index.d.ts.map +0 -1
- package/dist-npm/traits/destructible/index.js +0 -8
- package/dist-npm/traits/destructible/index.js.map +0 -1
- package/dist-npm/traits/door/doorBehavior.d.ts +0 -42
- package/dist-npm/traits/door/doorBehavior.d.ts.map +0 -1
- package/dist-npm/traits/door/doorBehavior.js +0 -76
- package/dist-npm/traits/door/doorBehavior.js.map +0 -1
- package/dist-npm/traits/door/doorTrait.d.ts +0 -19
- package/dist-npm/traits/door/doorTrait.d.ts.map +0 -1
- package/dist-npm/traits/door/doorTrait.js +0 -33
- package/dist-npm/traits/door/doorTrait.js.map +0 -1
- package/dist-npm/traits/door/index.d.ts +0 -3
- package/dist-npm/traits/door/index.d.ts.map +0 -1
- package/dist-npm/traits/door/index.js +0 -9
- package/dist-npm/traits/door/index.js.map +0 -1
- package/dist-npm/traits/edible/edibleBehavior.d.ts +0 -63
- package/dist-npm/traits/edible/edibleBehavior.d.ts.map +0 -1
- package/dist-npm/traits/edible/edibleBehavior.js +0 -157
- package/dist-npm/traits/edible/edibleBehavior.js.map +0 -1
- package/dist-npm/traits/edible/edibleTrait.d.ts +0 -57
- package/dist-npm/traits/edible/edibleTrait.d.ts.map +0 -1
- package/dist-npm/traits/edible/edibleTrait.js +0 -51
- package/dist-npm/traits/edible/edibleTrait.js.map +0 -1
- package/dist-npm/traits/edible/index.d.ts +0 -3
- package/dist-npm/traits/edible/index.d.ts.map +0 -1
- package/dist-npm/traits/edible/index.js +0 -20
- package/dist-npm/traits/edible/index.js.map +0 -1
- package/dist-npm/traits/enterable/enterableTrait.d.ts +0 -33
- package/dist-npm/traits/enterable/enterableTrait.d.ts.map +0 -1
- package/dist-npm/traits/enterable/enterableTrait.js +0 -38
- package/dist-npm/traits/enterable/enterableTrait.js.map +0 -1
- package/dist-npm/traits/enterable/index.d.ts +0 -5
- package/dist-npm/traits/enterable/index.d.ts.map +0 -1
- package/dist-npm/traits/enterable/index.js +0 -21
- package/dist-npm/traits/enterable/index.js.map +0 -1
- package/dist-npm/traits/equipped/equippedTrait.d.ts +0 -46
- package/dist-npm/traits/equipped/equippedTrait.d.ts.map +0 -1
- package/dist-npm/traits/equipped/equippedTrait.js +0 -34
- package/dist-npm/traits/equipped/equippedTrait.js.map +0 -1
- package/dist-npm/traits/equipped/index.d.ts +0 -2
- package/dist-npm/traits/equipped/index.d.ts.map +0 -1
- package/dist-npm/traits/equipped/index.js +0 -6
- package/dist-npm/traits/equipped/index.js.map +0 -1
- package/dist-npm/traits/exit/exitBehavior.d.ts +0 -51
- package/dist-npm/traits/exit/exitBehavior.d.ts.map +0 -1
- package/dist-npm/traits/exit/exitBehavior.js +0 -231
- package/dist-npm/traits/exit/exitBehavior.js.map +0 -1
- package/dist-npm/traits/exit/exitTrait.d.ts +0 -41
- package/dist-npm/traits/exit/exitTrait.d.ts.map +0 -1
- package/dist-npm/traits/exit/exitTrait.js +0 -75
- package/dist-npm/traits/exit/exitTrait.js.map +0 -1
- package/dist-npm/traits/exit/index.d.ts +0 -3
- package/dist-npm/traits/exit/index.d.ts.map +0 -1
- package/dist-npm/traits/exit/index.js +0 -9
- package/dist-npm/traits/exit/index.js.map +0 -1
- package/dist-npm/traits/identity/identityBehavior.d.ts +0 -64
- package/dist-npm/traits/identity/identityBehavior.d.ts.map +0 -1
- package/dist-npm/traits/identity/identityBehavior.js +0 -154
- package/dist-npm/traits/identity/identityBehavior.js.map +0 -1
- package/dist-npm/traits/identity/identityTrait.d.ts +0 -70
- package/dist-npm/traits/identity/identityTrait.d.ts.map +0 -1
- package/dist-npm/traits/identity/identityTrait.js +0 -79
- package/dist-npm/traits/identity/identityTrait.js.map +0 -1
- package/dist-npm/traits/identity/index.d.ts +0 -3
- package/dist-npm/traits/identity/index.d.ts.map +0 -1
- package/dist-npm/traits/identity/index.js +0 -20
- package/dist-npm/traits/identity/index.js.map +0 -1
- package/dist-npm/traits/implementations.d.ts +0 -51
- package/dist-npm/traits/implementations.d.ts.map +0 -1
- package/dist-npm/traits/implementations.js +0 -145
- package/dist-npm/traits/implementations.js.map +0 -1
- package/dist-npm/traits/index.d.ts +0 -36
- package/dist-npm/traits/index.d.ts.map +0 -1
- package/dist-npm/traits/index.js +0 -62
- package/dist-npm/traits/index.js.map +0 -1
- package/dist-npm/traits/light-source/index.d.ts +0 -3
- package/dist-npm/traits/light-source/index.d.ts.map +0 -1
- package/dist-npm/traits/light-source/index.js +0 -9
- package/dist-npm/traits/light-source/index.js.map +0 -1
- package/dist-npm/traits/light-source/lightSourceBehavior.d.ts +0 -57
- package/dist-npm/traits/light-source/lightSourceBehavior.d.ts.map +0 -1
- package/dist-npm/traits/light-source/lightSourceBehavior.js +0 -135
- package/dist-npm/traits/light-source/lightSourceBehavior.js.map +0 -1
- package/dist-npm/traits/light-source/lightSourceTrait.d.ts +0 -28
- package/dist-npm/traits/light-source/lightSourceTrait.d.ts.map +0 -1
- package/dist-npm/traits/light-source/lightSourceTrait.js +0 -37
- package/dist-npm/traits/light-source/lightSourceTrait.js.map +0 -1
- package/dist-npm/traits/lockable/index.d.ts +0 -3
- package/dist-npm/traits/lockable/index.d.ts.map +0 -1
- package/dist-npm/traits/lockable/index.js +0 -20
- package/dist-npm/traits/lockable/index.js.map +0 -1
- package/dist-npm/traits/lockable/lockableBehavior.d.ts +0 -88
- package/dist-npm/traits/lockable/lockableBehavior.d.ts.map +0 -1
- package/dist-npm/traits/lockable/lockableBehavior.js +0 -196
- package/dist-npm/traits/lockable/lockableBehavior.js.map +0 -1
- package/dist-npm/traits/lockable/lockableTrait.d.ts +0 -59
- package/dist-npm/traits/lockable/lockableTrait.d.ts.map +0 -1
- package/dist-npm/traits/lockable/lockableTrait.js +0 -50
- package/dist-npm/traits/lockable/lockableTrait.js.map +0 -1
- package/dist-npm/traits/moveable-scenery/index.d.ts +0 -2
- package/dist-npm/traits/moveable-scenery/index.d.ts.map +0 -1
- package/dist-npm/traits/moveable-scenery/index.js +0 -18
- package/dist-npm/traits/moveable-scenery/index.js.map +0 -1
- package/dist-npm/traits/moveable-scenery/moveableSceneryTrait.d.ts +0 -69
- package/dist-npm/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +0 -1
- package/dist-npm/traits/moveable-scenery/moveableSceneryTrait.js +0 -43
- package/dist-npm/traits/moveable-scenery/moveableSceneryTrait.js.map +0 -1
- package/dist-npm/traits/npc/index.d.ts +0 -5
- package/dist-npm/traits/npc/index.d.ts.map +0 -1
- package/dist-npm/traits/npc/index.js +0 -9
- package/dist-npm/traits/npc/index.js.map +0 -1
- package/dist-npm/traits/npc/npcTrait.d.ts +0 -128
- package/dist-npm/traits/npc/npcTrait.d.ts.map +0 -1
- package/dist-npm/traits/npc/npcTrait.js +0 -180
- package/dist-npm/traits/npc/npcTrait.js.map +0 -1
- package/dist-npm/traits/openable/index.d.ts +0 -3
- package/dist-npm/traits/openable/index.d.ts.map +0 -1
- package/dist-npm/traits/openable/index.js +0 -20
- package/dist-npm/traits/openable/index.js.map +0 -1
- package/dist-npm/traits/openable/openableBehavior.d.ts +0 -64
- package/dist-npm/traits/openable/openableBehavior.d.ts.map +0 -1
- package/dist-npm/traits/openable/openableBehavior.js +0 -109
- package/dist-npm/traits/openable/openableBehavior.js.map +0 -1
- package/dist-npm/traits/openable/openableTrait.d.ts +0 -46
- package/dist-npm/traits/openable/openableTrait.d.ts.map +0 -1
- package/dist-npm/traits/openable/openableTrait.js +0 -42
- package/dist-npm/traits/openable/openableTrait.js.map +0 -1
- package/dist-npm/traits/pullable/index.d.ts +0 -2
- package/dist-npm/traits/pullable/index.d.ts.map +0 -1
- package/dist-npm/traits/pullable/index.js +0 -18
- package/dist-npm/traits/pullable/index.js.map +0 -1
- package/dist-npm/traits/pullable/pullableTrait.d.ts +0 -81
- package/dist-npm/traits/pullable/pullableTrait.d.ts.map +0 -1
- package/dist-npm/traits/pullable/pullableTrait.js +0 -44
- package/dist-npm/traits/pullable/pullableTrait.js.map +0 -1
- package/dist-npm/traits/pushable/index.d.ts +0 -2
- package/dist-npm/traits/pushable/index.d.ts.map +0 -1
- package/dist-npm/traits/pushable/index.js +0 -18
- package/dist-npm/traits/pushable/index.js.map +0 -1
- package/dist-npm/traits/pushable/pushableTrait.d.ts +0 -81
- package/dist-npm/traits/pushable/pushableTrait.d.ts.map +0 -1
- package/dist-npm/traits/pushable/pushableTrait.js +0 -44
- package/dist-npm/traits/pushable/pushableTrait.js.map +0 -1
- package/dist-npm/traits/readable/index.d.ts +0 -3
- package/dist-npm/traits/readable/index.d.ts.map +0 -1
- package/dist-npm/traits/readable/index.js +0 -9
- package/dist-npm/traits/readable/index.js.map +0 -1
- package/dist-npm/traits/readable/readableBehavior.d.ts +0 -42
- package/dist-npm/traits/readable/readableBehavior.d.ts.map +0 -1
- package/dist-npm/traits/readable/readableBehavior.js +0 -174
- package/dist-npm/traits/readable/readableBehavior.js.map +0 -1
- package/dist-npm/traits/readable/readableTrait.d.ts +0 -37
- package/dist-npm/traits/readable/readableTrait.d.ts.map +0 -1
- package/dist-npm/traits/readable/readableTrait.js +0 -51
- package/dist-npm/traits/readable/readableTrait.js.map +0 -1
- package/dist-npm/traits/register-all.d.ts +0 -10
- package/dist-npm/traits/register-all.d.ts.map +0 -1
- package/dist-npm/traits/register-all.js +0 -19
- package/dist-npm/traits/register-all.js.map +0 -1
- package/dist-npm/traits/room/index.d.ts +0 -9
- package/dist-npm/traits/room/index.d.ts.map +0 -1
- package/dist-npm/traits/room/index.js +0 -14
- package/dist-npm/traits/room/index.js.map +0 -1
- package/dist-npm/traits/room/roomBehavior.d.ts +0 -87
- package/dist-npm/traits/room/roomBehavior.d.ts.map +0 -1
- package/dist-npm/traits/room/roomBehavior.js +0 -232
- package/dist-npm/traits/room/roomBehavior.js.map +0 -1
- package/dist-npm/traits/room/roomTrait.d.ts +0 -101
- package/dist-npm/traits/room/roomTrait.d.ts.map +0 -1
- package/dist-npm/traits/room/roomTrait.js +0 -59
- package/dist-npm/traits/room/roomTrait.js.map +0 -1
- package/dist-npm/traits/scenery/index.d.ts +0 -3
- package/dist-npm/traits/scenery/index.d.ts.map +0 -1
- package/dist-npm/traits/scenery/index.js +0 -9
- package/dist-npm/traits/scenery/index.js.map +0 -1
- package/dist-npm/traits/scenery/sceneryBehavior.d.ts +0 -21
- package/dist-npm/traits/scenery/sceneryBehavior.d.ts.map +0 -1
- package/dist-npm/traits/scenery/sceneryBehavior.js +0 -42
- package/dist-npm/traits/scenery/sceneryBehavior.js.map +0 -1
- package/dist-npm/traits/scenery/sceneryTrait.d.ts +0 -30
- package/dist-npm/traits/scenery/sceneryTrait.d.ts.map +0 -1
- package/dist-npm/traits/scenery/sceneryTrait.js +0 -39
- package/dist-npm/traits/scenery/sceneryTrait.js.map +0 -1
- package/dist-npm/traits/supporter/index.d.ts +0 -3
- package/dist-npm/traits/supporter/index.d.ts.map +0 -1
- package/dist-npm/traits/supporter/index.js +0 -9
- package/dist-npm/traits/supporter/index.js.map +0 -1
- package/dist-npm/traits/supporter/supporterBehavior.d.ts +0 -83
- package/dist-npm/traits/supporter/supporterBehavior.d.ts.map +0 -1
- package/dist-npm/traits/supporter/supporterBehavior.js +0 -210
- package/dist-npm/traits/supporter/supporterBehavior.js.map +0 -1
- package/dist-npm/traits/supporter/supporterTrait.d.ts +0 -26
- package/dist-npm/traits/supporter/supporterTrait.d.ts.map +0 -1
- package/dist-npm/traits/supporter/supporterTrait.js +0 -30
- package/dist-npm/traits/supporter/supporterTrait.js.map +0 -1
- package/dist-npm/traits/switchable/index.d.ts +0 -3
- package/dist-npm/traits/switchable/index.d.ts.map +0 -1
- package/dist-npm/traits/switchable/index.js +0 -20
- package/dist-npm/traits/switchable/index.js.map +0 -1
- package/dist-npm/traits/switchable/switchableBehavior.d.ts +0 -73
- package/dist-npm/traits/switchable/switchableBehavior.d.ts.map +0 -1
- package/dist-npm/traits/switchable/switchableBehavior.js +0 -191
- package/dist-npm/traits/switchable/switchableBehavior.js.map +0 -1
- package/dist-npm/traits/switchable/switchableTrait.d.ts +0 -61
- package/dist-npm/traits/switchable/switchableTrait.d.ts.map +0 -1
- package/dist-npm/traits/switchable/switchableTrait.js +0 -52
- package/dist-npm/traits/switchable/switchableTrait.js.map +0 -1
- package/dist-npm/traits/trait-types.d.ts +0 -81
- package/dist-npm/traits/trait-types.d.ts.map +0 -1
- package/dist-npm/traits/trait-types.js +0 -146
- package/dist-npm/traits/trait-types.js.map +0 -1
- package/dist-npm/traits/trait.d.ts +0 -44
- package/dist-npm/traits/trait.d.ts.map +0 -1
- package/dist-npm/traits/trait.js +0 -42
- package/dist-npm/traits/trait.js.map +0 -1
- package/dist-npm/traits/vehicle/index.d.ts +0 -6
- package/dist-npm/traits/vehicle/index.d.ts.map +0 -1
- package/dist-npm/traits/vehicle/index.js +0 -22
- package/dist-npm/traits/vehicle/index.js.map +0 -1
- package/dist-npm/traits/vehicle/vehicleBehavior.d.ts +0 -62
- package/dist-npm/traits/vehicle/vehicleBehavior.d.ts.map +0 -1
- package/dist-npm/traits/vehicle/vehicleBehavior.js +0 -145
- package/dist-npm/traits/vehicle/vehicleBehavior.js.map +0 -1
- package/dist-npm/traits/vehicle/vehicleTrait.d.ts +0 -77
- package/dist-npm/traits/vehicle/vehicleTrait.d.ts.map +0 -1
- package/dist-npm/traits/vehicle/vehicleTrait.js +0 -92
- package/dist-npm/traits/vehicle/vehicleTrait.js.map +0 -1
- package/dist-npm/traits/weapon/index.d.ts +0 -3
- package/dist-npm/traits/weapon/index.d.ts.map +0 -1
- package/dist-npm/traits/weapon/index.js +0 -8
- package/dist-npm/traits/weapon/index.js.map +0 -1
- package/dist-npm/traits/weapon/weaponBehavior.d.ts +0 -47
- package/dist-npm/traits/weapon/weaponBehavior.d.ts.map +0 -1
- package/dist-npm/traits/weapon/weaponBehavior.js +0 -106
- package/dist-npm/traits/weapon/weaponBehavior.js.map +0 -1
- package/dist-npm/traits/weapon/weaponTrait.d.ts +0 -67
- package/dist-npm/traits/weapon/weaponTrait.d.ts.map +0 -1
- package/dist-npm/traits/weapon/weaponTrait.js +0 -60
- package/dist-npm/traits/weapon/weaponTrait.js.map +0 -1
- package/dist-npm/traits/wearable/index.d.ts +0 -3
- package/dist-npm/traits/wearable/index.d.ts.map +0 -1
- package/dist-npm/traits/wearable/index.js +0 -20
- package/dist-npm/traits/wearable/index.js.map +0 -1
- package/dist-npm/traits/wearable/wearableBehavior.d.ts +0 -64
- package/dist-npm/traits/wearable/wearableBehavior.d.ts.map +0 -1
- package/dist-npm/traits/wearable/wearableBehavior.js +0 -142
- package/dist-npm/traits/wearable/wearableBehavior.js.map +0 -1
- package/dist-npm/traits/wearable/wearableTrait.d.ts +0 -54
- package/dist-npm/traits/wearable/wearableTrait.d.ts.map +0 -1
- package/dist-npm/traits/wearable/wearableTrait.js +0 -53
- package/dist-npm/traits/wearable/wearableTrait.js.map +0 -1
- package/dist-npm/utils/event-utils.d.ts +0 -30
- package/dist-npm/utils/event-utils.d.ts.map +0 -1
- package/dist-npm/utils/event-utils.js +0 -33
- package/dist-npm/utils/event-utils.js.map +0 -1
- package/dist-npm/world/AuthorModel.d.ts +0 -151
- package/dist-npm/world/AuthorModel.d.ts.map +0 -1
- package/dist-npm/world/AuthorModel.js +0 -416
- package/dist-npm/world/AuthorModel.js.map +0 -1
- package/dist-npm/world/SharedDataStore.d.ts +0 -24
- package/dist-npm/world/SharedDataStore.d.ts.map +0 -1
- package/dist-npm/world/SharedDataStore.js +0 -50
- package/dist-npm/world/SharedDataStore.js.map +0 -1
- package/dist-npm/world/SpatialIndex.d.ts +0 -16
- package/dist-npm/world/SpatialIndex.d.ts.map +0 -1
- package/dist-npm/world/SpatialIndex.js +0 -117
- package/dist-npm/world/SpatialIndex.js.map +0 -1
- package/dist-npm/world/VisibilityBehavior.d.ts +0 -83
- package/dist-npm/world/VisibilityBehavior.d.ts.map +0 -1
- package/dist-npm/world/VisibilityBehavior.js +0 -484
- package/dist-npm/world/VisibilityBehavior.js.map +0 -1
- package/dist-npm/world/WorldModel.d.ts +0 -301
- package/dist-npm/world/WorldModel.d.ts.map +0 -1
- package/dist-npm/world/WorldModel.js +0 -1085
- package/dist-npm/world/WorldModel.js.map +0 -1
- package/dist-npm/world/capabilities.d.ts +0 -36
- package/dist-npm/world/capabilities.d.ts.map +0 -1
- package/dist-npm/world/capabilities.js +0 -18
- package/dist-npm/world/capabilities.js.map +0 -1
- package/dist-npm/world/index.d.ts +0 -7
- package/dist-npm/world/index.d.ts.map +0 -1
- package/dist-npm/world/index.js +0 -21
- package/dist-npm/world/index.js.map +0 -1
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Destructible trait for entities that require multiple hits or specific tools to destroy
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DestructibleTrait = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Destructible trait indicates an entity can be destroyed with multiple hits.
|
|
9
|
-
*
|
|
10
|
-
* This trait contains only data - all destruction logic
|
|
11
|
-
* is in DestructibleBehavior. Messages are stored here to be
|
|
12
|
-
* injected into events during the report phase.
|
|
13
|
-
*/
|
|
14
|
-
class DestructibleTrait {
|
|
15
|
-
static type = 'destructible';
|
|
16
|
-
type = 'destructible';
|
|
17
|
-
// DestructibleData properties
|
|
18
|
-
hitPoints;
|
|
19
|
-
maxHitPoints;
|
|
20
|
-
requiresWeapon;
|
|
21
|
-
requiresType;
|
|
22
|
-
transformTo;
|
|
23
|
-
revealExit;
|
|
24
|
-
damageMessage;
|
|
25
|
-
destroyMessage;
|
|
26
|
-
invulnerable;
|
|
27
|
-
armor;
|
|
28
|
-
constructor(data = {}) {
|
|
29
|
-
// Set defaults and merge with provided data
|
|
30
|
-
this.hitPoints = data.hitPoints ?? data.maxHitPoints ?? 3;
|
|
31
|
-
this.maxHitPoints = data.maxHitPoints ?? 3;
|
|
32
|
-
this.requiresWeapon = data.requiresWeapon ?? false;
|
|
33
|
-
this.requiresType = data.requiresType;
|
|
34
|
-
this.transformTo = data.transformTo;
|
|
35
|
-
this.revealExit = data.revealExit;
|
|
36
|
-
this.damageMessage = data.damageMessage;
|
|
37
|
-
this.destroyMessage = data.destroyMessage;
|
|
38
|
-
this.invulnerable = data.invulnerable ?? false;
|
|
39
|
-
this.armor = data.armor ?? 0;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
exports.DestructibleTrait = DestructibleTrait;
|
|
43
|
-
//# sourceMappingURL=destructibleTrait.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"destructibleTrait.js","sourceRoot":"","sources":["../../../src/traits/destructible/destructibleTrait.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAqCH;;;;;;GAMG;AACH,MAAa,iBAAiB;IAC5B,MAAM,CAAU,IAAI,GAAG,cAAuB,CAAC;IACtC,IAAI,GAAG,cAAuB,CAAC;IAExC,8BAA8B;IAC9B,SAAS,CAAS;IAClB,YAAY,CAAS;IACrB,cAAc,CAAU;IACxB,YAAY,CAAU;IACtB,WAAW,CAAU;IACrB,UAAU,CAAU;IACpB,aAAa,CAAU;IACvB,cAAc,CAAU;IACxB,YAAY,CAAU;IACtB,KAAK,CAAS;IAEd,YAAY,OAA0B,EAAE;QACtC,4CAA4C;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/B,CAAC;;AA5BH,8CA6BC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/traits/destructible/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DestructibleBehavior = exports.DestructibleTrait = void 0;
|
|
4
|
-
var destructibleTrait_1 = require("./destructibleTrait");
|
|
5
|
-
Object.defineProperty(exports, "DestructibleTrait", { enumerable: true, get: function () { return destructibleTrait_1.DestructibleTrait; } });
|
|
6
|
-
var destructibleBehavior_1 = require("./destructibleBehavior");
|
|
7
|
-
Object.defineProperty(exports, "DestructibleBehavior", { enumerable: true, get: function () { return destructibleBehavior_1.DestructibleBehavior; } });
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/traits/destructible/index.ts"],"names":[],"mappings":";;;AAAA,yDAA2E;AAAlE,sHAAA,iBAAiB,OAAA;AAC1B,+DAA6E;AAApE,4HAAA,oBAAoB,OAAA"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Behavior } from '../../behaviors/behavior';
|
|
2
|
-
import { IFEntity } from '../../entities/if-entity';
|
|
3
|
-
/**
|
|
4
|
-
* Behavior for door entities.
|
|
5
|
-
*
|
|
6
|
-
* Handles the logic for doors that connect two rooms.
|
|
7
|
-
*/
|
|
8
|
-
export declare class DoorBehavior extends Behavior {
|
|
9
|
-
static requiredTraits: "door"[];
|
|
10
|
-
/**
|
|
11
|
-
* Get the rooms this door connects
|
|
12
|
-
*/
|
|
13
|
-
static getRooms(door: IFEntity): [string, string];
|
|
14
|
-
/**
|
|
15
|
-
* Get the other room when coming from a specific room
|
|
16
|
-
* @returns The other room ID, or undefined if the door doesn't connect to the current room
|
|
17
|
-
*/
|
|
18
|
-
static getOtherRoom(door: IFEntity, currentRoom: string): string | undefined;
|
|
19
|
-
/**
|
|
20
|
-
* Check if the door can be traversed in both directions
|
|
21
|
-
*/
|
|
22
|
-
static isBidirectional(door: IFEntity): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Check if the door connects two specific rooms (in any order)
|
|
25
|
-
*/
|
|
26
|
-
static connects(door: IFEntity, room1: string, room2: string): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Check if the door connects to a specific room
|
|
29
|
-
*/
|
|
30
|
-
static connectsTo(door: IFEntity, roomId: string): boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Get the entry room (for one-way doors)
|
|
33
|
-
* This is the room you can enter from
|
|
34
|
-
*/
|
|
35
|
-
static getEntryRoom(door: IFEntity): string;
|
|
36
|
-
/**
|
|
37
|
-
* Get the exit room (for one-way doors)
|
|
38
|
-
* This is the room you exit to
|
|
39
|
-
*/
|
|
40
|
-
static getExitRoom(door: IFEntity): string;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=doorBehavior.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doorBehavior.d.ts","sourceRoot":"","sources":["../../../src/traits/door/doorBehavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIpD;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACxC,MAAM,CAAC,cAAc,WAAoB;IAEzC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAKjD;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAa5E;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAK/C;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAMtE;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAK1D;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAK3C;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;CAI3C"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// packages/world-model/src/traits/door/doorBehavior.ts
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.DoorBehavior = void 0;
|
|
5
|
-
const behavior_1 = require("../../behaviors/behavior");
|
|
6
|
-
const trait_types_1 = require("../trait-types");
|
|
7
|
-
/**
|
|
8
|
-
* Behavior for door entities.
|
|
9
|
-
*
|
|
10
|
-
* Handles the logic for doors that connect two rooms.
|
|
11
|
-
*/
|
|
12
|
-
class DoorBehavior extends behavior_1.Behavior {
|
|
13
|
-
static requiredTraits = [trait_types_1.TraitType.DOOR];
|
|
14
|
-
/**
|
|
15
|
-
* Get the rooms this door connects
|
|
16
|
-
*/
|
|
17
|
-
static getRooms(door) {
|
|
18
|
-
const trait = DoorBehavior.require(door, trait_types_1.TraitType.DOOR);
|
|
19
|
-
return [trait.room1, trait.room2];
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Get the other room when coming from a specific room
|
|
23
|
-
* @returns The other room ID, or undefined if the door doesn't connect to the current room
|
|
24
|
-
*/
|
|
25
|
-
static getOtherRoom(door, currentRoom) {
|
|
26
|
-
const trait = DoorBehavior.require(door, trait_types_1.TraitType.DOOR);
|
|
27
|
-
if (trait.room1 === currentRoom) {
|
|
28
|
-
return trait.room2;
|
|
29
|
-
}
|
|
30
|
-
else if (trait.room2 === currentRoom) {
|
|
31
|
-
// Check if traversal is allowed in this direction
|
|
32
|
-
return trait.bidirectional ? trait.room1 : undefined;
|
|
33
|
-
}
|
|
34
|
-
return undefined;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Check if the door can be traversed in both directions
|
|
38
|
-
*/
|
|
39
|
-
static isBidirectional(door) {
|
|
40
|
-
const trait = DoorBehavior.require(door, trait_types_1.TraitType.DOOR);
|
|
41
|
-
return trait.bidirectional;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Check if the door connects two specific rooms (in any order)
|
|
45
|
-
*/
|
|
46
|
-
static connects(door, room1, room2) {
|
|
47
|
-
const trait = DoorBehavior.require(door, trait_types_1.TraitType.DOOR);
|
|
48
|
-
return (trait.room1 === room1 && trait.room2 === room2) ||
|
|
49
|
-
(trait.room1 === room2 && trait.room2 === room1);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Check if the door connects to a specific room
|
|
53
|
-
*/
|
|
54
|
-
static connectsTo(door, roomId) {
|
|
55
|
-
const trait = DoorBehavior.require(door, trait_types_1.TraitType.DOOR);
|
|
56
|
-
return trait.room1 === roomId || trait.room2 === roomId;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Get the entry room (for one-way doors)
|
|
60
|
-
* This is the room you can enter from
|
|
61
|
-
*/
|
|
62
|
-
static getEntryRoom(door) {
|
|
63
|
-
const trait = DoorBehavior.require(door, trait_types_1.TraitType.DOOR);
|
|
64
|
-
return trait.room1;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Get the exit room (for one-way doors)
|
|
68
|
-
* This is the room you exit to
|
|
69
|
-
*/
|
|
70
|
-
static getExitRoom(door) {
|
|
71
|
-
const trait = DoorBehavior.require(door, trait_types_1.TraitType.DOOR);
|
|
72
|
-
return trait.room2;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
exports.DoorBehavior = DoorBehavior;
|
|
76
|
-
//# sourceMappingURL=doorBehavior.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doorBehavior.js","sourceRoot":"","sources":["../../../src/traits/door/doorBehavior.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAEvD,uDAAoD;AAEpD,gDAA2C;AAG3C;;;;GAIG;AACH,MAAa,YAAa,SAAQ,mBAAQ;IACxC,MAAM,CAAC,cAAc,GAAG,CAAC,uBAAS,CAAC,IAAI,CAAC,CAAC;IAEzC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAc;QAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAY,IAAI,EAAE,uBAAS,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,IAAc,EAAE,WAAmB;QACrD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAY,IAAI,EAAE,uBAAS,CAAC,IAAI,CAAC,CAAC;QAEpE,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACvC,kDAAkD;YAClD,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACvD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,IAAc;QACnC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAY,IAAI,EAAE,uBAAS,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC,aAAa,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAc,EAAE,KAAa,EAAE,KAAa;QAC1D,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAY,IAAI,EAAE,uBAAS,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC;YAChD,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAc,EAAE,MAAc;QAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAY,IAAI,EAAE,uBAAS,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,IAAc;QAChC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAY,IAAI,EAAE,uBAAS,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,IAAc;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAY,IAAI,EAAE,uBAAS,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;;AArEH,oCAsEC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ITrait } from '../trait';
|
|
2
|
-
/**
|
|
3
|
-
* Door trait marks an entity as a connection between two rooms.
|
|
4
|
-
*
|
|
5
|
-
* This is a pure data structure - all validation and logic
|
|
6
|
-
* should be handled by DoorBehavior.
|
|
7
|
-
*/
|
|
8
|
-
export declare class DoorTrait implements ITrait {
|
|
9
|
-
static readonly type: "door";
|
|
10
|
-
readonly type: "door";
|
|
11
|
-
/** First room this door connects (must be an entity ID, not a name) */
|
|
12
|
-
room1: string;
|
|
13
|
-
/** Second room this door connects (must be an entity ID, not a name) */
|
|
14
|
-
room2: string;
|
|
15
|
-
/** Whether the door can be traversed in both directions */
|
|
16
|
-
bidirectional: boolean;
|
|
17
|
-
constructor(data?: Partial<DoorTrait>);
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=doorTrait.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doorTrait.d.ts","sourceRoot":"","sources":["../../../src/traits/door/doorTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;GAKG;AACH,qBAAa,SAAU,YAAW,MAAM;IACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAkB;IACtC,QAAQ,CAAC,IAAI,SAAkB;IAE/B,uEAAuE;IACvE,KAAK,EAAG,MAAM,CAAC;IAEf,wEAAwE;IACxE,KAAK,EAAG,MAAM,CAAC;IAEf,2DAA2D;IAC3D,aAAa,UAAQ;gBAET,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;CAWtC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// packages/world-model/src/traits/door/doorTrait.ts
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.DoorTrait = void 0;
|
|
5
|
-
const trait_types_1 = require("../trait-types");
|
|
6
|
-
/**
|
|
7
|
-
* Door trait marks an entity as a connection between two rooms.
|
|
8
|
-
*
|
|
9
|
-
* This is a pure data structure - all validation and logic
|
|
10
|
-
* should be handled by DoorBehavior.
|
|
11
|
-
*/
|
|
12
|
-
class DoorTrait {
|
|
13
|
-
static type = trait_types_1.TraitType.DOOR;
|
|
14
|
-
type = trait_types_1.TraitType.DOOR;
|
|
15
|
-
/** First room this door connects (must be an entity ID, not a name) */
|
|
16
|
-
room1;
|
|
17
|
-
/** Second room this door connects (must be an entity ID, not a name) */
|
|
18
|
-
room2;
|
|
19
|
-
/** Whether the door can be traversed in both directions */
|
|
20
|
-
bidirectional = true;
|
|
21
|
-
constructor(data) {
|
|
22
|
-
// Set defaults first
|
|
23
|
-
if (data) {
|
|
24
|
-
Object.assign(this, data);
|
|
25
|
-
}
|
|
26
|
-
// Validate required fields
|
|
27
|
-
if (!this.room1 || !this.room2) {
|
|
28
|
-
throw new Error('Door must connect two rooms');
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.DoorTrait = DoorTrait;
|
|
33
|
-
//# sourceMappingURL=doorTrait.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doorTrait.js","sourceRoot":"","sources":["../../../src/traits/door/doorTrait.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAGpD,gDAA2C;AAE3C;;;;;GAKG;AACH,MAAa,SAAS;IACpB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,IAAI,CAAC;IAC7B,IAAI,GAAG,uBAAS,CAAC,IAAI,CAAC;IAE/B,uEAAuE;IACvE,KAAK,CAAU;IAEf,wEAAwE;IACxE,KAAK,CAAU;IAEf,2DAA2D;IAC3D,aAAa,GAAG,IAAI,CAAC;IAErB,YAAY,IAAyB;QACnC,qBAAqB;QACrB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;;AAvBH,8BAwBC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/traits/door/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// packages/world-model/src/traits/door/index.ts
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.DoorBehavior = exports.DoorTrait = void 0;
|
|
5
|
-
var doorTrait_1 = require("./doorTrait");
|
|
6
|
-
Object.defineProperty(exports, "DoorTrait", { enumerable: true, get: function () { return doorTrait_1.DoorTrait; } });
|
|
7
|
-
var doorBehavior_1 = require("./doorBehavior");
|
|
8
|
-
Object.defineProperty(exports, "DoorBehavior", { enumerable: true, get: function () { return doorBehavior_1.DoorBehavior; } });
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/traits/door/index.ts"],"names":[],"mappings":";AAAA,gDAAgD;;;AAEhD,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { Behavior } from '../../behaviors/behavior';
|
|
2
|
-
import { IFEntity } from '../../entities/if-entity';
|
|
3
|
-
import { TasteQuality } from './edibleTrait';
|
|
4
|
-
import { ISemanticEvent } from '@sharpee/core';
|
|
5
|
-
/**
|
|
6
|
-
* Behavior for edible entities.
|
|
7
|
-
*
|
|
8
|
-
* Handles the logic for consuming food and drink.
|
|
9
|
-
*/
|
|
10
|
-
export declare class EdibleBehavior extends Behavior {
|
|
11
|
-
static requiredTraits: "edible"[];
|
|
12
|
-
/**
|
|
13
|
-
* Check if an item can be consumed
|
|
14
|
-
* Supports both 'servings' (canonical) and 'consumed' (legacy) property names
|
|
15
|
-
*/
|
|
16
|
-
static canConsume(item: IFEntity): boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Consume the item
|
|
19
|
-
* @returns Events describing what happened
|
|
20
|
-
* Supports both 'servings' (canonical) and 'portions' (legacy) property names
|
|
21
|
-
*/
|
|
22
|
-
static consume(item: IFEntity, actor: IFEntity): ISemanticEvent[];
|
|
23
|
-
/**
|
|
24
|
-
* Check if item is fully consumed
|
|
25
|
-
* Supports both 'servings' (canonical) and 'consumed' (legacy) property names
|
|
26
|
-
*/
|
|
27
|
-
static isEmpty(item: IFEntity): boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Check if this is a liquid
|
|
30
|
-
* Supports both 'liquid' (canonical) and 'isDrink' (legacy) property names
|
|
31
|
-
*/
|
|
32
|
-
static isLiquid(item: IFEntity): boolean;
|
|
33
|
-
/**
|
|
34
|
-
* Get nutrition value
|
|
35
|
-
*/
|
|
36
|
-
static getNutrition(item: IFEntity): number;
|
|
37
|
-
/**
|
|
38
|
-
* Get remaining servings
|
|
39
|
-
* Supports both 'servings' (canonical) and 'portions' (legacy) property names
|
|
40
|
-
*/
|
|
41
|
-
static getServings(item: IFEntity): number;
|
|
42
|
-
/**
|
|
43
|
-
* Check if consuming has special effects
|
|
44
|
-
*/
|
|
45
|
-
static hasEffect(item: IFEntity): boolean;
|
|
46
|
-
/**
|
|
47
|
-
* Get taste quality
|
|
48
|
-
*/
|
|
49
|
-
static getTaste(item: IFEntity): TasteQuality | undefined;
|
|
50
|
-
/**
|
|
51
|
-
* Get effects array
|
|
52
|
-
*/
|
|
53
|
-
static getEffects(item: IFEntity): string[] | undefined;
|
|
54
|
-
/**
|
|
55
|
-
* Check if item has a specific effect
|
|
56
|
-
*/
|
|
57
|
-
static hasSpecificEffect(item: IFEntity, effect: string): boolean;
|
|
58
|
-
/**
|
|
59
|
-
* Check if eating satisfies hunger
|
|
60
|
-
*/
|
|
61
|
-
static satisfiesHunger(item: IFEntity): boolean | undefined;
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=edibleBehavior.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"edibleBehavior.d.ts","sourceRoot":"","sources":["../../../src/traits/edible/edibleBehavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAe,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAe,MAAM,eAAe,CAAC;AAI5D;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,MAAM,CAAC,cAAc,aAAsB;IAE3C;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAW1C;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,cAAc,EAAE;IA+DjE;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAWvC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAMxC;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAK3C;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAS1C;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAKzC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS;IAKzD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,SAAS;IAKvD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKjE;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS;CAI5D"}
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// packages/world-model/src/traits/edible/edibleBehavior.ts
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.EdibleBehavior = void 0;
|
|
5
|
-
const behavior_1 = require("../../behaviors/behavior");
|
|
6
|
-
const trait_types_1 = require("../trait-types");
|
|
7
|
-
const core_1 = require("@sharpee/core");
|
|
8
|
-
const if_events_1 = require("../../constants/if-events");
|
|
9
|
-
const action_failures_1 = require("../../constants/action-failures");
|
|
10
|
-
/**
|
|
11
|
-
* Behavior for edible entities.
|
|
12
|
-
*
|
|
13
|
-
* Handles the logic for consuming food and drink.
|
|
14
|
-
*/
|
|
15
|
-
class EdibleBehavior extends behavior_1.Behavior {
|
|
16
|
-
static requiredTraits = [trait_types_1.TraitType.EDIBLE];
|
|
17
|
-
/**
|
|
18
|
-
* Check if an item can be consumed
|
|
19
|
-
* Supports both 'servings' (canonical) and 'consumed' (legacy) property names
|
|
20
|
-
*/
|
|
21
|
-
static canConsume(item) {
|
|
22
|
-
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
23
|
-
// Check legacy 'consumed' flag first
|
|
24
|
-
if (edible.consumed === true) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
// Then check servings (default to 1 if undefined)
|
|
28
|
-
const servings = edible.servings ?? edible.portions ?? 1;
|
|
29
|
-
return servings > 0;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Consume the item
|
|
33
|
-
* @returns Events describing what happened
|
|
34
|
-
* Supports both 'servings' (canonical) and 'portions' (legacy) property names
|
|
35
|
-
*/
|
|
36
|
-
static consume(item, actor) {
|
|
37
|
-
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
38
|
-
// Get current servings (supporting legacy properties)
|
|
39
|
-
let currentServings = edible.servings ?? edible.portions ?? 1;
|
|
40
|
-
const isLiquid = edible.liquid || edible.isDrink || false;
|
|
41
|
-
if (currentServings <= 0 || edible.consumed === true) {
|
|
42
|
-
return [
|
|
43
|
-
(0, core_1.createEvent)(if_events_1.IFEvents.ACTION_FAILED, {
|
|
44
|
-
action: isLiquid ? 'drink' : 'eat',
|
|
45
|
-
reason: action_failures_1.ActionFailureReason.NOTHING_LEFT,
|
|
46
|
-
customMessage: "There's nothing left."
|
|
47
|
-
}, { target: item.id, actor: actor.id })
|
|
48
|
-
];
|
|
49
|
-
}
|
|
50
|
-
// Consume one serving - update both properties for compatibility
|
|
51
|
-
currentServings--;
|
|
52
|
-
edible.servings = currentServings;
|
|
53
|
-
if (edible.portions !== undefined) {
|
|
54
|
-
edible.portions = currentServings;
|
|
55
|
-
}
|
|
56
|
-
// Mark as consumed if no servings left
|
|
57
|
-
if (currentServings <= 0) {
|
|
58
|
-
edible.consumed = true;
|
|
59
|
-
}
|
|
60
|
-
const events = [
|
|
61
|
-
(0, core_1.createEvent)(isLiquid ? if_events_1.IFEvents.ITEM_DRUNK : if_events_1.IFEvents.ITEM_EATEN, {
|
|
62
|
-
nutrition: edible.nutrition,
|
|
63
|
-
servingsLeft: currentServings,
|
|
64
|
-
customMessage: edible.consumeMessage,
|
|
65
|
-
hasEffect: edible.hasEffect,
|
|
66
|
-
effectDescription: edible.effectDescription
|
|
67
|
-
}, { target: item.id, actor: actor.id })
|
|
68
|
-
];
|
|
69
|
-
// If fully consumed, note that
|
|
70
|
-
if (currentServings <= 0) {
|
|
71
|
-
events.push((0, core_1.createEvent)(if_events_1.IFEvents.ITEM_DESTROYED, {
|
|
72
|
-
reason: 'consumed',
|
|
73
|
-
remainsType: edible.remainsType
|
|
74
|
-
}, { target: item.id, actor: actor.id }));
|
|
75
|
-
}
|
|
76
|
-
return events;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Check if item is fully consumed
|
|
80
|
-
* Supports both 'servings' (canonical) and 'consumed' (legacy) property names
|
|
81
|
-
*/
|
|
82
|
-
static isEmpty(item) {
|
|
83
|
-
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
84
|
-
// Check legacy 'consumed' flag first
|
|
85
|
-
if (edible.consumed === true) {
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
// Then check servings
|
|
89
|
-
const servings = edible.servings ?? edible.portions ?? 1;
|
|
90
|
-
return servings <= 0;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Check if this is a liquid
|
|
94
|
-
* Supports both 'liquid' (canonical) and 'isDrink' (legacy) property names
|
|
95
|
-
*/
|
|
96
|
-
static isLiquid(item) {
|
|
97
|
-
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
98
|
-
// Support both property names for backward compatibility
|
|
99
|
-
return edible.liquid || edible.isDrink || false;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Get nutrition value
|
|
103
|
-
*/
|
|
104
|
-
static getNutrition(item) {
|
|
105
|
-
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
106
|
-
return edible.nutrition;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Get remaining servings
|
|
110
|
-
* Supports both 'servings' (canonical) and 'portions' (legacy) property names
|
|
111
|
-
*/
|
|
112
|
-
static getServings(item) {
|
|
113
|
-
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
114
|
-
// Check legacy 'consumed' flag - if consumed, return 0
|
|
115
|
-
if (edible.consumed === true) {
|
|
116
|
-
return 0;
|
|
117
|
-
}
|
|
118
|
-
return edible.servings ?? edible.portions ?? 1;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Check if consuming has special effects
|
|
122
|
-
*/
|
|
123
|
-
static hasEffect(item) {
|
|
124
|
-
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
125
|
-
return edible.hasEffect;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Get taste quality
|
|
129
|
-
*/
|
|
130
|
-
static getTaste(item) {
|
|
131
|
-
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
132
|
-
return edible.taste;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Get effects array
|
|
136
|
-
*/
|
|
137
|
-
static getEffects(item) {
|
|
138
|
-
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
139
|
-
return edible.effects;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Check if item has a specific effect
|
|
143
|
-
*/
|
|
144
|
-
static hasSpecificEffect(item, effect) {
|
|
145
|
-
const effects = EdibleBehavior.getEffects(item);
|
|
146
|
-
return effects?.includes(effect) ?? false;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Check if eating satisfies hunger
|
|
150
|
-
*/
|
|
151
|
-
static satisfiesHunger(item) {
|
|
152
|
-
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
153
|
-
return edible.satisfiesHunger;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
exports.EdibleBehavior = EdibleBehavior;
|
|
157
|
-
//# sourceMappingURL=edibleBehavior.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"edibleBehavior.js","sourceRoot":"","sources":["../../../src/traits/edible/edibleBehavior.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { ITrait } from '../trait';
|
|
2
|
-
/** Taste quality values */
|
|
3
|
-
export type TasteQuality = 'delicious' | 'tasty' | 'good' | 'plain' | 'bland' | 'awful' | 'terrible';
|
|
4
|
-
export interface IEdibleData {
|
|
5
|
-
/** Nutrition value (arbitrary units) */
|
|
6
|
-
nutrition?: number;
|
|
7
|
-
/** Number of bites/servings remaining (alias: portions) */
|
|
8
|
-
servings?: number;
|
|
9
|
-
/** Whether this is a liquid (drunk vs eaten) */
|
|
10
|
-
liquid?: boolean;
|
|
11
|
-
/** Custom message when eating/drinking */
|
|
12
|
-
consumeMessage?: string;
|
|
13
|
-
/** What remains after consumption (entity type to create) */
|
|
14
|
-
remainsType?: string;
|
|
15
|
-
/** Whether consuming this has special effects */
|
|
16
|
-
hasEffect?: boolean;
|
|
17
|
-
/** Effect description if hasEffect is true */
|
|
18
|
-
effectDescription?: string;
|
|
19
|
-
/** Weight of the item (since we removed PortableTrait) */
|
|
20
|
-
weight?: number;
|
|
21
|
-
/** Bulk of the item */
|
|
22
|
-
bulk?: number;
|
|
23
|
-
/** Taste quality of the food */
|
|
24
|
-
taste?: TasteQuality;
|
|
25
|
-
/** Array of effect names (e.g., 'poison', 'heal', 'sleep') */
|
|
26
|
-
effects?: string[];
|
|
27
|
-
/** Whether eating this satisfies hunger */
|
|
28
|
-
satisfiesHunger?: boolean;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Edible trait indicates an entity can be eaten or drunk.
|
|
32
|
-
*
|
|
33
|
-
* This trait contains only data - all consumption logic
|
|
34
|
-
* is in EdibleBehavior.
|
|
35
|
-
*/
|
|
36
|
-
export declare class EdibleTrait implements ITrait, IEdibleData {
|
|
37
|
-
static readonly type: "edible";
|
|
38
|
-
readonly type: "edible";
|
|
39
|
-
nutrition: number;
|
|
40
|
-
servings: number;
|
|
41
|
-
liquid: boolean;
|
|
42
|
-
consumeMessage?: string;
|
|
43
|
-
remainsType?: string;
|
|
44
|
-
hasEffect: boolean;
|
|
45
|
-
effectDescription?: string;
|
|
46
|
-
weight: number;
|
|
47
|
-
bulk: number;
|
|
48
|
-
taste?: TasteQuality;
|
|
49
|
-
effects?: string[];
|
|
50
|
-
satisfiesHunger?: boolean;
|
|
51
|
-
constructor(data?: IEdibleData & {
|
|
52
|
-
portions?: number;
|
|
53
|
-
isDrink?: boolean;
|
|
54
|
-
consumed?: boolean;
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=edibleTrait.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"edibleTrait.d.ts","sourceRoot":"","sources":["../../../src/traits/edible/edibleTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,2BAA2B;AAC3B,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AAErG,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAId,gCAAgC;IAChC,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,WAAY,YAAW,MAAM,EAAE,WAAW;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAoB;IACxC,QAAQ,CAAC,IAAI,WAAoB;IAGjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;gBAEd,IAAI,GAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO;CAsBlG"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// packages/world-model/src/traits/edible/edibleTrait.ts
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.EdibleTrait = void 0;
|
|
5
|
-
const trait_types_1 = require("../trait-types");
|
|
6
|
-
/**
|
|
7
|
-
* Edible trait indicates an entity can be eaten or drunk.
|
|
8
|
-
*
|
|
9
|
-
* This trait contains only data - all consumption logic
|
|
10
|
-
* is in EdibleBehavior.
|
|
11
|
-
*/
|
|
12
|
-
class EdibleTrait {
|
|
13
|
-
static type = trait_types_1.TraitType.EDIBLE;
|
|
14
|
-
type = trait_types_1.TraitType.EDIBLE;
|
|
15
|
-
// Core EdibleData properties
|
|
16
|
-
nutrition;
|
|
17
|
-
servings;
|
|
18
|
-
liquid;
|
|
19
|
-
consumeMessage;
|
|
20
|
-
remainsType;
|
|
21
|
-
hasEffect;
|
|
22
|
-
effectDescription;
|
|
23
|
-
weight;
|
|
24
|
-
bulk;
|
|
25
|
-
// Extended properties
|
|
26
|
-
taste;
|
|
27
|
-
effects;
|
|
28
|
-
satisfiesHunger;
|
|
29
|
-
constructor(data = {}) {
|
|
30
|
-
// Set defaults and merge with provided data
|
|
31
|
-
// Support both 'servings' and legacy 'portions' naming
|
|
32
|
-
// If consumed is true, set servings to 0
|
|
33
|
-
const baseServings = data.servings ?? data.portions ?? 1;
|
|
34
|
-
this.servings = data.consumed ? 0 : baseServings;
|
|
35
|
-
this.nutrition = data.nutrition ?? 1;
|
|
36
|
-
// Support both 'liquid' and legacy 'isDrink' naming
|
|
37
|
-
this.liquid = data.liquid ?? data.isDrink ?? false;
|
|
38
|
-
this.consumeMessage = data.consumeMessage;
|
|
39
|
-
this.remainsType = data.remainsType;
|
|
40
|
-
this.hasEffect = data.hasEffect ?? (data.effects && data.effects.length > 0) ?? false;
|
|
41
|
-
this.effectDescription = data.effectDescription;
|
|
42
|
-
this.weight = data.weight ?? 1;
|
|
43
|
-
this.bulk = data.bulk ?? 1;
|
|
44
|
-
// Extended properties
|
|
45
|
-
this.taste = data.taste;
|
|
46
|
-
this.effects = data.effects;
|
|
47
|
-
this.satisfiesHunger = data.satisfiesHunger;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.EdibleTrait = EdibleTrait;
|
|
51
|
-
//# sourceMappingURL=edibleTrait.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"edibleTrait.js","sourceRoot":"","sources":["../../../src/traits/edible/edibleTrait.ts"],"names":[],"mappings":";AAAA,wDAAwD;;;AAGxD,gDAA2C;AA6C3C;;;;;GAKG;AACH,MAAa,WAAW;IACtB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,MAAM,CAAC;IAC/B,IAAI,GAAG,uBAAS,CAAC,MAAM,CAAC;IAEjC,6BAA6B;IAC7B,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,MAAM,CAAU;IAChB,cAAc,CAAU;IACxB,WAAW,CAAU;IACrB,SAAS,CAAU;IACnB,iBAAiB,CAAU;IAC3B,MAAM,CAAS;IACf,IAAI,CAAS;IAEb,sBAAsB;IACtB,KAAK,CAAgB;IACrB,OAAO,CAAY;IACnB,eAAe,CAAW;IAE1B,YAAY,OAAmF,EAAE;QAC/F,4CAA4C;QAC5C,uDAAuD;QACvD,yCAAyC;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAEjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QACrC,oDAAoD;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;QACtF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAE3B,sBAAsB;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IAC9C,CAAC;;AAzCH,kCA0CC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/traits/edible/index.ts"],"names":[],"mappings":"AAEA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
|