@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
package/README.md
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,29 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sharpee/world-model",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.66-beta",
|
|
4
4
|
"description": "World model for Sharpee IF platform - entities, traits, and behaviors",
|
|
5
|
-
"main": "
|
|
5
|
+
"main": "./index.js",
|
|
6
6
|
"module": "dist-npm/index.js",
|
|
7
|
-
"types": "
|
|
7
|
+
"types": "./index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
|
-
"types": "./
|
|
11
|
-
"
|
|
12
|
-
"
|
|
10
|
+
"types": "./index.d.ts",
|
|
11
|
+
"require": "./index.js",
|
|
12
|
+
"default": "./index.js"
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"rimraf": "^5.0.5",
|
|
26
|
-
"typescript": "^5.2.2"
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"clean": "rimraf dist",
|
|
18
|
+
"test": "vitest",
|
|
19
|
+
"test:ci": "vitest run",
|
|
20
|
+
"test:watch": "vitest",
|
|
21
|
+
"test:coverage": "vitest run --coverage",
|
|
22
|
+
"test:verbose": "vitest run --reporter=verbose",
|
|
23
|
+
"lint": "eslint src --ext .ts",
|
|
24
|
+
"build:npm": "tsc --outDir dist-npm"
|
|
27
25
|
},
|
|
28
26
|
"files": [
|
|
29
27
|
"dist-npm"
|
|
@@ -53,16 +51,5 @@
|
|
|
53
51
|
},
|
|
54
52
|
"publishConfig": {
|
|
55
53
|
"access": "public"
|
|
56
|
-
},
|
|
57
|
-
"scripts": {
|
|
58
|
-
"build": "tsc",
|
|
59
|
-
"clean": "rimraf dist",
|
|
60
|
-
"test": "vitest",
|
|
61
|
-
"test:ci": "vitest run",
|
|
62
|
-
"test:watch": "vitest",
|
|
63
|
-
"test:coverage": "vitest run --coverage",
|
|
64
|
-
"test:verbose": "vitest run --reporter=verbose",
|
|
65
|
-
"lint": "eslint src --ext .ts",
|
|
66
|
-
"build:npm": "tsc --outDir dist-npm"
|
|
67
54
|
}
|
|
68
|
-
}
|
|
55
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 David Cornelson
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/annotations/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./types"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/annotations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Entity Annotations (ADR-124)
|
|
3
|
-
*
|
|
4
|
-
* Presentation metadata attached to entities. Annotations are separate from
|
|
5
|
-
* traits — they carry UI hints that the engine ignores and clients interpret.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* A single annotation on an entity.
|
|
9
|
-
* Annotations are keyed by kind (e.g., 'illustration', 'portrait', 'voice').
|
|
10
|
-
*/
|
|
11
|
-
export interface Annotation {
|
|
12
|
-
/** The annotation kind — groups annotations by purpose */
|
|
13
|
-
kind: string;
|
|
14
|
-
/** Unique identifier within entity+kind */
|
|
15
|
-
id: string;
|
|
16
|
-
/** Kind-specific payload (clients interpret this) */
|
|
17
|
-
data: Record<string, unknown>;
|
|
18
|
-
/** Optional condition — when absent, annotation is always active */
|
|
19
|
-
condition?: AnnotationCondition;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Pure-data condition evaluated against trait state.
|
|
23
|
-
* No callbacks — serializable and evaluable at any time.
|
|
24
|
-
*/
|
|
25
|
-
export interface AnnotationCondition {
|
|
26
|
-
/** Trait type to check (e.g., 'switchable', 'custom') */
|
|
27
|
-
trait: string;
|
|
28
|
-
/** Property name on the trait */
|
|
29
|
-
property: string;
|
|
30
|
-
/** Expected value (strict equality) */
|
|
31
|
-
value: unknown;
|
|
32
|
-
/** Which entity to check: self (default), player, or location */
|
|
33
|
-
scope?: 'self' | 'player' | 'location';
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/annotations/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,oEAAoE;IACpE,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;CACxC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Entity Annotations (ADR-124)
|
|
4
|
-
*
|
|
5
|
-
* Presentation metadata attached to entities. Annotations are separate from
|
|
6
|
-
* traits — they carry UI hints that the engine ignores and clients interpret.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/annotations/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Attack behavior coordinator
|
|
3
|
-
*
|
|
4
|
-
* Coordinates the various combat behaviors to handle attacks
|
|
5
|
-
*/
|
|
6
|
-
import { IFEntity } from '../entities/if-entity';
|
|
7
|
-
import { WorldModel } from '../world/WorldModel';
|
|
8
|
-
import { EntityId } from '@sharpee/core';
|
|
9
|
-
/**
|
|
10
|
-
* Combined result of an attack
|
|
11
|
-
*/
|
|
12
|
-
export interface IAttackResult {
|
|
13
|
-
success: boolean;
|
|
14
|
-
type: 'broke' | 'damaged' | 'destroyed' | 'killed' | 'hit' | 'ineffective';
|
|
15
|
-
damage?: number;
|
|
16
|
-
remainingHitPoints?: number;
|
|
17
|
-
targetDestroyed?: boolean;
|
|
18
|
-
targetKilled?: boolean;
|
|
19
|
-
itemsDropped?: EntityId[];
|
|
20
|
-
debrisCreated?: EntityId[];
|
|
21
|
-
exitRevealed?: string;
|
|
22
|
-
transformedTo?: EntityId;
|
|
23
|
-
weaponBroke?: boolean;
|
|
24
|
-
message?: string;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Attack behavior coordinator.
|
|
28
|
-
*
|
|
29
|
-
* This behavior coordinates attacks using weapon, breakable, destructible, and combat behaviors.
|
|
30
|
-
* It determines which behavior to use based on the target's traits.
|
|
31
|
-
*/
|
|
32
|
-
export declare class AttackBehavior {
|
|
33
|
-
/**
|
|
34
|
-
* Perform an attack
|
|
35
|
-
* @param target The entity being attacked
|
|
36
|
-
* @param weapon Optional weapon being used
|
|
37
|
-
* @param world The world model
|
|
38
|
-
* @returns Combined attack result
|
|
39
|
-
*/
|
|
40
|
-
static attack(target: IFEntity, weapon: IFEntity | undefined, world: WorldModel): IAttackResult;
|
|
41
|
-
/**
|
|
42
|
-
* Check if a target can be attacked
|
|
43
|
-
*/
|
|
44
|
-
static canAttack(target: IFEntity, weapon?: IFEntity): boolean;
|
|
45
|
-
/**
|
|
46
|
-
* Infer the best weapon from inventory
|
|
47
|
-
* @param inventory Array of entities in player's inventory
|
|
48
|
-
* @returns The best weapon found, or undefined
|
|
49
|
-
*/
|
|
50
|
-
static inferWeapon(inventory: IFEntity[]): IFEntity | undefined;
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=attack.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attack.d.ts","sourceRoot":"","sources":["../../src/behaviors/attack.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAMzC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,aAAa,CAAC;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IACzB;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa;IA2F/F;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO;IAO9D;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,GAAG,SAAS;CAkChE"}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Attack behavior coordinator
|
|
4
|
-
*
|
|
5
|
-
* Coordinates the various combat behaviors to handle attacks
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.AttackBehavior = void 0;
|
|
9
|
-
const trait_types_1 = require("../traits/trait-types");
|
|
10
|
-
const weaponBehavior_1 = require("../traits/weapon/weaponBehavior");
|
|
11
|
-
const breakableBehavior_1 = require("../traits/breakable/breakableBehavior");
|
|
12
|
-
const destructibleBehavior_1 = require("../traits/destructible/destructibleBehavior");
|
|
13
|
-
const combatantBehavior_1 = require("../traits/combatant/combatantBehavior");
|
|
14
|
-
/**
|
|
15
|
-
* Attack behavior coordinator.
|
|
16
|
-
*
|
|
17
|
-
* This behavior coordinates attacks using weapon, breakable, destructible, and combat behaviors.
|
|
18
|
-
* It determines which behavior to use based on the target's traits.
|
|
19
|
-
*/
|
|
20
|
-
class AttackBehavior {
|
|
21
|
-
/**
|
|
22
|
-
* Perform an attack
|
|
23
|
-
* @param target The entity being attacked
|
|
24
|
-
* @param weapon Optional weapon being used
|
|
25
|
-
* @param world The world model
|
|
26
|
-
* @returns Combined attack result
|
|
27
|
-
*/
|
|
28
|
-
static attack(target, weapon, world) {
|
|
29
|
-
// Calculate weapon damage if using a weapon
|
|
30
|
-
let weaponDamage = 1; // Default unarmed damage
|
|
31
|
-
let weaponType;
|
|
32
|
-
let weaponResult;
|
|
33
|
-
if (weapon && weapon.has(trait_types_1.TraitType.WEAPON)) {
|
|
34
|
-
weaponResult = weaponBehavior_1.WeaponBehavior.calculateDamage(weapon);
|
|
35
|
-
weaponDamage = weaponResult.damage;
|
|
36
|
-
weaponType = weaponResult.weaponType;
|
|
37
|
-
}
|
|
38
|
-
// Try behaviors in order: Breakable, Destructible, Combatant
|
|
39
|
-
// 1. Check if target is breakable (one-hit destruction)
|
|
40
|
-
if (target.has(trait_types_1.TraitType.BREAKABLE)) {
|
|
41
|
-
const breakResult = breakableBehavior_1.BreakableBehavior.break(target, world);
|
|
42
|
-
if (breakResult.success) {
|
|
43
|
-
return {
|
|
44
|
-
success: true,
|
|
45
|
-
type: 'broke',
|
|
46
|
-
damage: weaponDamage,
|
|
47
|
-
targetDestroyed: true,
|
|
48
|
-
debrisCreated: breakResult.debrisCreated,
|
|
49
|
-
weaponBroke: weaponResult?.weaponBroke,
|
|
50
|
-
message: breakResult.message
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
// 2. Check if target is destructible (multi-hit with HP)
|
|
55
|
-
if (target.has(trait_types_1.TraitType.DESTRUCTIBLE)) {
|
|
56
|
-
const damageResult = destructibleBehavior_1.DestructibleBehavior.damage(target, weaponDamage, weaponType, world);
|
|
57
|
-
if (damageResult.success) {
|
|
58
|
-
return {
|
|
59
|
-
success: true,
|
|
60
|
-
type: damageResult.destroyed ? 'destroyed' : 'damaged',
|
|
61
|
-
damage: damageResult.damage,
|
|
62
|
-
remainingHitPoints: damageResult.remainingHitPoints,
|
|
63
|
-
targetDestroyed: damageResult.destroyed,
|
|
64
|
-
transformedTo: damageResult.transformedTo,
|
|
65
|
-
exitRevealed: damageResult.exitRevealed,
|
|
66
|
-
weaponBroke: weaponResult?.weaponBroke,
|
|
67
|
-
message: damageResult.message
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
// Attack failed due to requirements
|
|
72
|
-
return {
|
|
73
|
-
success: false,
|
|
74
|
-
type: 'ineffective',
|
|
75
|
-
damage: 0,
|
|
76
|
-
message: damageResult.requiresWeapon
|
|
77
|
-
? 'You need a weapon to damage that.'
|
|
78
|
-
: damageResult.wrongWeaponType
|
|
79
|
-
? 'That weapon won\'t work on this target.'
|
|
80
|
-
: damageResult.invulnerable
|
|
81
|
-
? 'That cannot be damaged.'
|
|
82
|
-
: 'Your attack has no effect.'
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
// 3. Check if target is a combatant (has health)
|
|
87
|
-
if (target.has(trait_types_1.TraitType.COMBATANT)) {
|
|
88
|
-
const combatResult = combatantBehavior_1.CombatBehavior.attack(target, weaponDamage, world);
|
|
89
|
-
if (combatResult.success) {
|
|
90
|
-
return {
|
|
91
|
-
success: true,
|
|
92
|
-
type: combatResult.killed ? 'killed' : 'hit',
|
|
93
|
-
damage: combatResult.damage,
|
|
94
|
-
remainingHitPoints: combatResult.remainingHealth,
|
|
95
|
-
targetKilled: combatResult.killed,
|
|
96
|
-
itemsDropped: combatResult.droppedItems,
|
|
97
|
-
weaponBroke: weaponResult?.weaponBroke,
|
|
98
|
-
message: combatResult.killed ? combatResult.deathMessage : combatResult.message
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
// 4. Target has no combat-related traits - attack is ineffective
|
|
103
|
-
return {
|
|
104
|
-
success: false,
|
|
105
|
-
type: 'ineffective',
|
|
106
|
-
damage: 0,
|
|
107
|
-
message: 'Your attack has no effect on that.'
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Check if a target can be attacked
|
|
112
|
-
*/
|
|
113
|
-
static canAttack(target, weapon) {
|
|
114
|
-
// Can attack if target has any combat-related trait
|
|
115
|
-
return target.has(trait_types_1.TraitType.BREAKABLE) ||
|
|
116
|
-
target.has(trait_types_1.TraitType.DESTRUCTIBLE) ||
|
|
117
|
-
target.has(trait_types_1.TraitType.COMBATANT);
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Infer the best weapon from inventory
|
|
121
|
-
* @param inventory Array of entities in player's inventory
|
|
122
|
-
* @returns The best weapon found, or undefined
|
|
123
|
-
*/
|
|
124
|
-
static inferWeapon(inventory) {
|
|
125
|
-
// Find all weapons
|
|
126
|
-
const weapons = inventory.filter(item => item.has(trait_types_1.TraitType.WEAPON));
|
|
127
|
-
if (weapons.length === 0)
|
|
128
|
-
return undefined;
|
|
129
|
-
// Prefer equipped weapons
|
|
130
|
-
const equipped = weapons.filter(w => {
|
|
131
|
-
if (!w.has(trait_types_1.TraitType.EQUIPPED))
|
|
132
|
-
return false;
|
|
133
|
-
const equippedTrait = w.get(trait_types_1.TraitType.EQUIPPED);
|
|
134
|
-
return equippedTrait && equippedTrait.isEquipped;
|
|
135
|
-
});
|
|
136
|
-
if (equipped.length > 0) {
|
|
137
|
-
// Return equipped weapon with highest max damage
|
|
138
|
-
return equipped.reduce((best, current) => {
|
|
139
|
-
const bestWeapon = best.get(trait_types_1.TraitType.WEAPON);
|
|
140
|
-
const currentWeapon = current.get(trait_types_1.TraitType.WEAPON);
|
|
141
|
-
if (!bestWeapon || !currentWeapon)
|
|
142
|
-
return best;
|
|
143
|
-
const bestDamage = bestWeapon.maxDamage || 0;
|
|
144
|
-
const currentDamage = currentWeapon.maxDamage || 0;
|
|
145
|
-
return currentDamage > bestDamage ? current : best;
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
// No equipped weapons, return weapon with highest max damage
|
|
149
|
-
return weapons.reduce((best, current) => {
|
|
150
|
-
const bestWeapon = best.get(trait_types_1.TraitType.WEAPON);
|
|
151
|
-
const currentWeapon = current.get(trait_types_1.TraitType.WEAPON);
|
|
152
|
-
if (!bestWeapon || !currentWeapon)
|
|
153
|
-
return best;
|
|
154
|
-
const bestDamage = bestWeapon.maxDamage || 0;
|
|
155
|
-
const currentDamage = currentWeapon.maxDamage || 0;
|
|
156
|
-
return currentDamage > bestDamage ? current : best;
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
exports.AttackBehavior = AttackBehavior;
|
|
161
|
-
//# sourceMappingURL=attack.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attack.js","sourceRoot":"","sources":["../../src/behaviors/attack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { IFEntity } from '../entities/if-entity';
|
|
2
|
-
import { TraitType } from '../traits/trait-types';
|
|
3
|
-
import { ITrait } from '../traits/trait';
|
|
4
|
-
/**
|
|
5
|
-
* Base class for all behaviors in the IF system.
|
|
6
|
-
*
|
|
7
|
-
* Behaviors contain the logic that operates on trait data.
|
|
8
|
-
* They declare their required traits and provide helper methods
|
|
9
|
-
* for safely accessing those traits.
|
|
10
|
-
*
|
|
11
|
-
* Note: In the new architecture, behaviors are primarily static
|
|
12
|
-
* utility classes rather than instantiated objects.
|
|
13
|
-
*/
|
|
14
|
-
export declare abstract class Behavior {
|
|
15
|
-
/**
|
|
16
|
-
* List of trait types that must be present on an entity
|
|
17
|
-
* for this behavior to function properly.
|
|
18
|
-
*
|
|
19
|
-
* Example:
|
|
20
|
-
* static requiredTraits = [TraitType.LOCKABLE, TraitType.OPENABLE];
|
|
21
|
-
*/
|
|
22
|
-
static requiredTraits: (TraitType | string)[];
|
|
23
|
-
/**
|
|
24
|
-
* Helper method to require and retrieve a trait from an entity.
|
|
25
|
-
* Throws an error if the trait is not present.
|
|
26
|
-
*
|
|
27
|
-
* @param entity - The entity to get the trait from
|
|
28
|
-
* @param traitType - The type of trait to retrieve
|
|
29
|
-
* @returns The trait instance
|
|
30
|
-
* @throws Error if the trait is not present on the entity
|
|
31
|
-
*/
|
|
32
|
-
protected static require<T extends ITrait>(entity: IFEntity, traitType: TraitType | string): T;
|
|
33
|
-
/**
|
|
34
|
-
* Helper method to optionally retrieve a trait from an entity.
|
|
35
|
-
* Returns undefined if the trait is not present.
|
|
36
|
-
*
|
|
37
|
-
* @param entity - The entity to get the trait from
|
|
38
|
-
* @param traitType - The type of trait to retrieve
|
|
39
|
-
* @returns The trait instance or undefined
|
|
40
|
-
*/
|
|
41
|
-
protected static optional<T extends ITrait>(entity: IFEntity, traitType: TraitType | string): T | undefined;
|
|
42
|
-
/**
|
|
43
|
-
* Validates that an entity has all required traits for this behavior.
|
|
44
|
-
*
|
|
45
|
-
* @param entity - The entity to validate
|
|
46
|
-
* @returns true if all required traits are present
|
|
47
|
-
*/
|
|
48
|
-
static validateEntity(entity: IFEntity): boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Gets a list of missing required traits for an entity.
|
|
51
|
-
*
|
|
52
|
-
* @param entity - The entity to check
|
|
53
|
-
* @returns Array of missing trait types
|
|
54
|
-
*/
|
|
55
|
-
static getMissingTraits(entity: IFEntity): (TraitType | string)[];
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Interface for behaviors that need access to the world context
|
|
59
|
-
*/
|
|
60
|
-
export interface IWorldAwareBehavior {
|
|
61
|
-
setWorldContext(context: any): void;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Type guard to check if a behavior is world-aware
|
|
65
|
-
*/
|
|
66
|
-
export declare function isWorldAwareBehavior(behavior: any): behavior is IWorldAwareBehavior;
|
|
67
|
-
//# sourceMappingURL=behavior.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../../src/behaviors/behavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;;;;;;;;GASG;AACH,8BAAsB,QAAQ;IAC5B;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAM;IAEnD;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,MAAM,EACvC,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,CAAC;IASJ;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,EACxC,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,CAAC,GAAG,SAAS;IAOhB;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAIhD;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE;CAGlE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,GAAG,GACZ,QAAQ,IAAI,mBAAmB,CAEjC"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// packages/world-model/src/behaviors/behavior.ts
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.Behavior = void 0;
|
|
5
|
-
exports.isWorldAwareBehavior = isWorldAwareBehavior;
|
|
6
|
-
/**
|
|
7
|
-
* Base class for all behaviors in the IF system.
|
|
8
|
-
*
|
|
9
|
-
* Behaviors contain the logic that operates on trait data.
|
|
10
|
-
* They declare their required traits and provide helper methods
|
|
11
|
-
* for safely accessing those traits.
|
|
12
|
-
*
|
|
13
|
-
* Note: In the new architecture, behaviors are primarily static
|
|
14
|
-
* utility classes rather than instantiated objects.
|
|
15
|
-
*/
|
|
16
|
-
class Behavior {
|
|
17
|
-
/**
|
|
18
|
-
* List of trait types that must be present on an entity
|
|
19
|
-
* for this behavior to function properly.
|
|
20
|
-
*
|
|
21
|
-
* Example:
|
|
22
|
-
* static requiredTraits = [TraitType.LOCKABLE, TraitType.OPENABLE];
|
|
23
|
-
*/
|
|
24
|
-
static requiredTraits = [];
|
|
25
|
-
/**
|
|
26
|
-
* Helper method to require and retrieve a trait from an entity.
|
|
27
|
-
* Throws an error if the trait is not present.
|
|
28
|
-
*
|
|
29
|
-
* @param entity - The entity to get the trait from
|
|
30
|
-
* @param traitType - The type of trait to retrieve
|
|
31
|
-
* @returns The trait instance
|
|
32
|
-
* @throws Error if the trait is not present on the entity
|
|
33
|
-
*/
|
|
34
|
-
static require(entity, traitType) {
|
|
35
|
-
if (!entity.has(traitType)) {
|
|
36
|
-
throw new Error(`Entity "${entity.id}" missing required trait: ${traitType}`);
|
|
37
|
-
}
|
|
38
|
-
return entity.get(traitType);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Helper method to optionally retrieve a trait from an entity.
|
|
42
|
-
* Returns undefined if the trait is not present.
|
|
43
|
-
*
|
|
44
|
-
* @param entity - The entity to get the trait from
|
|
45
|
-
* @param traitType - The type of trait to retrieve
|
|
46
|
-
* @returns The trait instance or undefined
|
|
47
|
-
*/
|
|
48
|
-
static optional(entity, traitType) {
|
|
49
|
-
if (!entity.has(traitType)) {
|
|
50
|
-
return undefined;
|
|
51
|
-
}
|
|
52
|
-
return entity.get(traitType);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Validates that an entity has all required traits for this behavior.
|
|
56
|
-
*
|
|
57
|
-
* @param entity - The entity to validate
|
|
58
|
-
* @returns true if all required traits are present
|
|
59
|
-
*/
|
|
60
|
-
static validateEntity(entity) {
|
|
61
|
-
return this.requiredTraits.every(trait => entity.has(trait));
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Gets a list of missing required traits for an entity.
|
|
65
|
-
*
|
|
66
|
-
* @param entity - The entity to check
|
|
67
|
-
* @returns Array of missing trait types
|
|
68
|
-
*/
|
|
69
|
-
static getMissingTraits(entity) {
|
|
70
|
-
return this.requiredTraits.filter(trait => !entity.has(trait));
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.Behavior = Behavior;
|
|
74
|
-
/**
|
|
75
|
-
* Type guard to check if a behavior is world-aware
|
|
76
|
-
*/
|
|
77
|
-
function isWorldAwareBehavior(behavior) {
|
|
78
|
-
return 'setWorldContext' in behavior;
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=behavior.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"behavior.js","sourceRoot":"","sources":["../../src/behaviors/behavior.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;AAgGjD,oDAIC;AA9FD;;;;;;;;;GASG;AACH,MAAsB,QAAQ;IAC5B;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,GAA2B,EAAE,CAAC;IAEnD;;;;;;;;OAQG;IACO,MAAM,CAAC,OAAO,CACtB,MAAgB,EAChB,SAA6B;QAE7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,EAAE,6BAA6B,SAAS,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAM,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACO,MAAM,CAAC,QAAQ,CACvB,MAAgB,EAChB,SAA6B;QAE7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAM,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,MAAgB;QACpC,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAgB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;;AAnEH,4BAoEC;AASD;;GAEG;AACH,SAAgB,oBAAoB,CAClC,QAAa;IAEb,OAAO,iBAAiB,IAAI,QAAQ,CAAC;AACvC,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export { Behavior, IWorldAwareBehavior, isWorldAwareBehavior } from './behavior';
|
|
2
|
-
export { ContainerBehavior } from '../traits/container/containerBehavior';
|
|
3
|
-
export { SceneryBehavior } from '../traits/scenery/sceneryBehavior';
|
|
4
|
-
export { WearableBehavior } from '../traits/wearable/wearableBehavior';
|
|
5
|
-
export { ReadableBehavior } from '../traits/readable/readableBehavior';
|
|
6
|
-
export { LightSourceBehavior } from '../traits/light-source/lightSourceBehavior';
|
|
7
|
-
export { ExitBehavior } from '../traits/exit/exitBehavior';
|
|
8
|
-
export { ClimbableBehavior } from '../traits/climbable/climbableBehavior';
|
|
9
|
-
export { OpenableBehavior } from '../traits/openable/openableBehavior';
|
|
10
|
-
export { LockableBehavior } from '../traits/lockable/lockableBehavior';
|
|
11
|
-
export { WeaponBehavior } from '../traits/weapon/weaponBehavior';
|
|
12
|
-
export { BreakableBehavior } from '../traits/breakable/breakableBehavior';
|
|
13
|
-
export { DestructibleBehavior } from '../traits/destructible/destructibleBehavior';
|
|
14
|
-
export { CombatBehavior } from '../traits/combatant/combatantBehavior';
|
|
15
|
-
export { AttackBehavior, IAttackResult } from './attack';
|
|
16
|
-
export type { IOpenResult, ICloseResult } from '../traits/openable/openableBehavior';
|
|
17
|
-
export type { IWeaponDamageResult } from '../traits/weapon/weaponBehavior';
|
|
18
|
-
export type { IBreakResult } from '../traits/breakable/breakableBehavior';
|
|
19
|
-
export type { IDamageResult } from '../traits/destructible/destructibleBehavior';
|
|
20
|
-
export type { ICombatResult } from '../traits/combatant/combatantBehavior';
|
|
21
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/behaviors/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACrF,YAAY,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,YAAY,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// packages/world-model/src/behaviors/index.ts
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.AttackBehavior = exports.CombatBehavior = exports.DestructibleBehavior = exports.BreakableBehavior = exports.WeaponBehavior = exports.LockableBehavior = exports.OpenableBehavior = exports.ClimbableBehavior = exports.ExitBehavior = exports.LightSourceBehavior = exports.ReadableBehavior = exports.WearableBehavior = exports.SceneryBehavior = exports.ContainerBehavior = exports.isWorldAwareBehavior = exports.Behavior = void 0;
|
|
5
|
-
var behavior_1 = require("./behavior");
|
|
6
|
-
Object.defineProperty(exports, "Behavior", { enumerable: true, get: function () { return behavior_1.Behavior; } });
|
|
7
|
-
Object.defineProperty(exports, "isWorldAwareBehavior", { enumerable: true, get: function () { return behavior_1.isWorldAwareBehavior; } });
|
|
8
|
-
// Re-export all behavior classes as they are added
|
|
9
|
-
// These will come from the trait folders
|
|
10
|
-
var containerBehavior_1 = require("../traits/container/containerBehavior");
|
|
11
|
-
Object.defineProperty(exports, "ContainerBehavior", { enumerable: true, get: function () { return containerBehavior_1.ContainerBehavior; } });
|
|
12
|
-
var sceneryBehavior_1 = require("../traits/scenery/sceneryBehavior");
|
|
13
|
-
Object.defineProperty(exports, "SceneryBehavior", { enumerable: true, get: function () { return sceneryBehavior_1.SceneryBehavior; } });
|
|
14
|
-
var wearableBehavior_1 = require("../traits/wearable/wearableBehavior");
|
|
15
|
-
Object.defineProperty(exports, "WearableBehavior", { enumerable: true, get: function () { return wearableBehavior_1.WearableBehavior; } });
|
|
16
|
-
var readableBehavior_1 = require("../traits/readable/readableBehavior");
|
|
17
|
-
Object.defineProperty(exports, "ReadableBehavior", { enumerable: true, get: function () { return readableBehavior_1.ReadableBehavior; } });
|
|
18
|
-
var lightSourceBehavior_1 = require("../traits/light-source/lightSourceBehavior");
|
|
19
|
-
Object.defineProperty(exports, "LightSourceBehavior", { enumerable: true, get: function () { return lightSourceBehavior_1.LightSourceBehavior; } });
|
|
20
|
-
var exitBehavior_1 = require("../traits/exit/exitBehavior");
|
|
21
|
-
Object.defineProperty(exports, "ExitBehavior", { enumerable: true, get: function () { return exitBehavior_1.ExitBehavior; } });
|
|
22
|
-
var climbableBehavior_1 = require("../traits/climbable/climbableBehavior");
|
|
23
|
-
Object.defineProperty(exports, "ClimbableBehavior", { enumerable: true, get: function () { return climbableBehavior_1.ClimbableBehavior; } });
|
|
24
|
-
var openableBehavior_1 = require("../traits/openable/openableBehavior");
|
|
25
|
-
Object.defineProperty(exports, "OpenableBehavior", { enumerable: true, get: function () { return openableBehavior_1.OpenableBehavior; } });
|
|
26
|
-
var lockableBehavior_1 = require("../traits/lockable/lockableBehavior");
|
|
27
|
-
Object.defineProperty(exports, "LockableBehavior", { enumerable: true, get: function () { return lockableBehavior_1.LockableBehavior; } });
|
|
28
|
-
// Combat behaviors
|
|
29
|
-
var weaponBehavior_1 = require("../traits/weapon/weaponBehavior");
|
|
30
|
-
Object.defineProperty(exports, "WeaponBehavior", { enumerable: true, get: function () { return weaponBehavior_1.WeaponBehavior; } });
|
|
31
|
-
var breakableBehavior_1 = require("../traits/breakable/breakableBehavior");
|
|
32
|
-
Object.defineProperty(exports, "BreakableBehavior", { enumerable: true, get: function () { return breakableBehavior_1.BreakableBehavior; } });
|
|
33
|
-
var destructibleBehavior_1 = require("../traits/destructible/destructibleBehavior");
|
|
34
|
-
Object.defineProperty(exports, "DestructibleBehavior", { enumerable: true, get: function () { return destructibleBehavior_1.DestructibleBehavior; } });
|
|
35
|
-
var combatantBehavior_1 = require("../traits/combatant/combatantBehavior");
|
|
36
|
-
Object.defineProperty(exports, "CombatBehavior", { enumerable: true, get: function () { return combatantBehavior_1.CombatBehavior; } });
|
|
37
|
-
var attack_1 = require("./attack");
|
|
38
|
-
Object.defineProperty(exports, "AttackBehavior", { enumerable: true, get: function () { return attack_1.AttackBehavior; } });
|
|
39
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/behaviors/index.ts"],"names":[],"mappings":";AAAA,8CAA8C;;;AAE9C,uCAAiF;AAAxE,oGAAA,QAAQ,OAAA;AAAuB,gHAAA,oBAAoB,OAAA;AAE5D,mDAAmD;AACnD,yCAAyC;AACzC,2EAA0E;AAAjE,sHAAA,iBAAiB,OAAA;AAC1B,qEAAoE;AAA3D,kHAAA,eAAe,OAAA;AACxB,wEAAuE;AAA9D,oHAAA,gBAAgB,OAAA;AACzB,wEAAuE;AAA9D,oHAAA,gBAAgB,OAAA;AACzB,kFAAiF;AAAxE,0HAAA,mBAAmB,OAAA;AAC5B,4DAA2D;AAAlD,4GAAA,YAAY,OAAA;AACrB,2EAA0E;AAAjE,sHAAA,iBAAiB,OAAA;AAC1B,wEAAuE;AAA9D,oHAAA,gBAAgB,OAAA;AACzB,wEAAuE;AAA9D,oHAAA,gBAAgB,OAAA;AAEzB,mBAAmB;AACnB,kEAAiE;AAAxD,gHAAA,cAAc,OAAA;AACvB,2EAA0E;AAAjE,sHAAA,iBAAiB,OAAA;AAC1B,oFAAmF;AAA1E,4HAAA,oBAAoB,OAAA;AAC7B,2EAAuE;AAA9D,mHAAA,cAAc,OAAA;AACvB,mCAAyD;AAAhD,wGAAA,cAAc,OAAA"}
|