@sharpee/world-model 0.9.66-beta → 0.9.69-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/annotations/index.d.ts +2 -0
- package/annotations/index.d.ts.map +1 -0
- package/annotations/index.js +18 -0
- package/annotations/index.js.map +1 -0
- package/annotations/types.d.ts +35 -0
- package/annotations/types.d.ts.map +1 -0
- package/annotations/types.js +9 -0
- package/annotations/types.js.map +1 -0
- package/behaviors/attack.d.ts +52 -0
- package/behaviors/attack.d.ts.map +1 -0
- package/behaviors/attack.js +161 -0
- package/behaviors/attack.js.map +1 -0
- package/behaviors/behavior.d.ts +67 -0
- package/behaviors/behavior.d.ts.map +1 -0
- package/behaviors/behavior.js +80 -0
- package/behaviors/behavior.js.map +1 -0
- package/behaviors/index.d.ts +21 -0
- package/behaviors/index.d.ts.map +1 -0
- package/behaviors/index.js +39 -0
- package/behaviors/index.js.map +1 -0
- package/capabilities/action-interceptor.d.ts +169 -0
- package/capabilities/action-interceptor.d.ts.map +1 -0
- package/capabilities/action-interceptor.js +15 -0
- package/capabilities/action-interceptor.js.map +1 -0
- package/capabilities/capability-behavior.d.ts +112 -0
- package/capabilities/capability-behavior.d.ts.map +1 -0
- package/capabilities/capability-behavior.js +9 -0
- package/capabilities/capability-behavior.js.map +1 -0
- package/capabilities/capability-defaults.d.ts +67 -0
- package/capabilities/capability-defaults.d.ts.map +1 -0
- package/capabilities/capability-defaults.js +81 -0
- package/capabilities/capability-defaults.js.map +1 -0
- package/capabilities/capability-helpers.d.ts +76 -0
- package/capabilities/capability-helpers.d.ts.map +1 -0
- package/capabilities/capability-helpers.js +112 -0
- package/capabilities/capability-helpers.js.map +1 -0
- package/capabilities/capability-registry.d.ts +115 -0
- package/capabilities/capability-registry.d.ts.map +1 -0
- package/capabilities/capability-registry.js +136 -0
- package/capabilities/capability-registry.js.map +1 -0
- package/capabilities/entity-builder.d.ts +79 -0
- package/capabilities/entity-builder.d.ts.map +1 -0
- package/capabilities/entity-builder.js +116 -0
- package/capabilities/entity-builder.js.map +1 -0
- package/capabilities/index.d.ts +16 -0
- package/capabilities/index.d.ts.map +1 -0
- package/capabilities/index.js +56 -0
- package/capabilities/index.js.map +1 -0
- package/capabilities/interceptor-helpers.d.ts +74 -0
- package/capabilities/interceptor-helpers.d.ts.map +1 -0
- package/capabilities/interceptor-helpers.js +111 -0
- package/capabilities/interceptor-helpers.js.map +1 -0
- package/capabilities/interceptor-registry.d.ts +125 -0
- package/capabilities/interceptor-registry.d.ts.map +1 -0
- package/capabilities/interceptor-registry.js +176 -0
- package/capabilities/interceptor-registry.js.map +1 -0
- package/capabilities/types.d.ts +35 -0
- package/capabilities/types.d.ts.map +1 -0
- package/capabilities/types.js +16 -0
- package/capabilities/types.js.map +1 -0
- package/commands/command-types.d.ts +30 -0
- package/commands/command-types.d.ts.map +1 -0
- package/commands/command-types.js +6 -0
- package/commands/command-types.js.map +1 -0
- package/commands/index.d.ts +7 -0
- package/commands/index.d.ts.map +1 -0
- package/commands/index.js +23 -0
- package/commands/index.js.map +1 -0
- package/commands/parsed-command.d.ts +204 -0
- package/commands/parsed-command.d.ts.map +1 -0
- package/commands/parsed-command.js +25 -0
- package/commands/parsed-command.js.map +1 -0
- package/commands/validated-command.d.ts +52 -0
- package/commands/validated-command.d.ts.map +1 -0
- package/commands/validated-command.js +8 -0
- package/commands/validated-command.js.map +1 -0
- package/constants/action-failures.d.ts +54 -0
- package/constants/action-failures.d.ts.map +1 -0
- package/constants/action-failures.js +68 -0
- package/constants/action-failures.js.map +1 -0
- package/constants/directions.d.ts +32 -0
- package/constants/directions.d.ts.map +1 -0
- package/constants/directions.js +53 -0
- package/constants/directions.js.map +1 -0
- package/constants/if-events.d.ts +5 -0
- package/constants/if-events.d.ts.map +1 -0
- package/constants/if-events.js +10 -0
- package/constants/if-events.js.map +1 -0
- package/constants/index.d.ts +9 -0
- package/constants/index.d.ts.map +1 -0
- package/constants/index.js +25 -0
- package/constants/index.js.map +1 -0
- package/entities/entity-store.d.ts +66 -0
- package/entities/entity-store.d.ts.map +1 -0
- package/entities/entity-store.js +116 -0
- package/entities/entity-store.js.map +1 -0
- package/entities/entity-types.d.ts +40 -0
- package/entities/entity-types.d.ts.map +1 -0
- package/entities/entity-types.js +56 -0
- package/entities/entity-types.js.map +1 -0
- package/entities/if-entity.d.ts +314 -0
- package/entities/if-entity.d.ts.map +1 -0
- package/entities/if-entity.js +621 -0
- package/entities/if-entity.js.map +1 -0
- package/entities/index.d.ts +5 -0
- package/entities/index.d.ts.map +1 -0
- package/entities/index.js +13 -0
- package/entities/index.js.map +1 -0
- package/events/types.d.ts +45 -0
- package/events/types.d.ts.map +1 -0
- package/events/types.js +9 -0
- package/events/types.js.map +1 -0
- package/examples/event-handler-registration.d.ts +14 -0
- package/examples/event-handler-registration.d.ts.map +1 -0
- package/examples/event-handler-registration.js +158 -0
- package/examples/event-handler-registration.js.map +1 -0
- package/extensions/base-extension.d.ts +69 -0
- package/extensions/base-extension.d.ts.map +1 -0
- package/extensions/base-extension.js +83 -0
- package/extensions/base-extension.js.map +1 -0
- package/extensions/index.d.ts +11 -0
- package/extensions/index.d.ts.map +1 -0
- package/extensions/index.js +39 -0
- package/extensions/index.js.map +1 -0
- package/extensions/loader.d.ts +52 -0
- package/extensions/loader.d.ts.map +1 -0
- package/extensions/loader.js +177 -0
- package/extensions/loader.js.map +1 -0
- package/extensions/manager.d.ts +68 -0
- package/extensions/manager.d.ts.map +1 -0
- package/extensions/manager.js +164 -0
- package/extensions/manager.js.map +1 -0
- package/extensions/registry.d.ts +100 -0
- package/extensions/registry.d.ts.map +1 -0
- package/extensions/registry.js +193 -0
- package/extensions/registry.js.map +1 -0
- package/extensions/types.d.ts +226 -0
- package/extensions/types.d.ts.map +1 -0
- package/extensions/types.js +28 -0
- package/extensions/types.js.map +1 -0
- package/index.d.ts +41 -0
- package/index.d.ts.map +1 -0
- package/index.js +71 -0
- package/index.js.map +1 -0
- package/interfaces/command-executor.d.ts +17 -0
- package/interfaces/command-executor.d.ts.map +1 -0
- package/interfaces/command-executor.js +6 -0
- package/interfaces/command-executor.js.map +1 -0
- package/interfaces/command-processor.d.ts +17 -0
- package/interfaces/command-processor.d.ts.map +1 -0
- package/interfaces/command-processor.js +6 -0
- package/interfaces/command-processor.js.map +1 -0
- package/interfaces/command-validator.d.ts +17 -0
- package/interfaces/command-validator.d.ts.map +1 -0
- package/interfaces/command-validator.js +6 -0
- package/interfaces/command-validator.js.map +1 -0
- package/interfaces/index.d.ts +8 -0
- package/interfaces/index.d.ts.map +1 -0
- package/interfaces/index.js +24 -0
- package/interfaces/index.js.map +1 -0
- package/interfaces/language-provider.d.ts +86 -0
- package/interfaces/language-provider.d.ts.map +1 -0
- package/interfaces/language-provider.js +14 -0
- package/interfaces/language-provider.js.map +1 -0
- package/interfaces/parser.d.ts +16 -0
- package/interfaces/parser.d.ts.map +1 -0
- package/interfaces/parser.js +6 -0
- package/interfaces/parser.js.map +1 -0
- package/package.json +1 -16
- package/scope/index.d.ts +8 -0
- package/scope/index.d.ts.map +1 -0
- package/scope/index.js +24 -0
- package/scope/index.js.map +1 -0
- package/scope/scope-evaluator.d.ts +58 -0
- package/scope/scope-evaluator.d.ts.map +1 -0
- package/scope/scope-evaluator.js +207 -0
- package/scope/scope-evaluator.js.map +1 -0
- package/scope/scope-registry.d.ts +59 -0
- package/scope/scope-registry.d.ts.map +1 -0
- package/scope/scope-registry.js +182 -0
- package/scope/scope-registry.js.map +1 -0
- package/scope/scope-rule.d.ts +86 -0
- package/scope/scope-rule.d.ts.map +1 -0
- package/scope/scope-rule.js +7 -0
- package/scope/scope-rule.js.map +1 -0
- package/services/ScopeService.d.ts +8 -0
- package/services/ScopeService.d.ts.map +1 -0
- package/services/ScopeService.js +19 -0
- package/services/ScopeService.js.map +1 -0
- package/services/index.d.ts +2 -0
- package/services/index.d.ts.map +1 -0
- package/services/index.js +6 -0
- package/services/index.js.map +1 -0
- package/test-structure.d.ts +3 -0
- package/test-structure.d.ts.map +1 -0
- package/test-structure.js +26 -0
- package/test-structure.js.map +1 -0
- package/traits/actor/actorBehavior.d.ts +121 -0
- package/traits/actor/actorBehavior.d.ts.map +1 -0
- package/traits/actor/actorBehavior.js +288 -0
- package/traits/actor/actorBehavior.js.map +1 -0
- package/traits/actor/actorTrait.d.ts +158 -0
- package/traits/actor/actorTrait.d.ts.map +1 -0
- package/traits/actor/actorTrait.js +152 -0
- package/traits/actor/actorTrait.js.map +1 -0
- package/traits/actor/index.d.ts +3 -0
- package/traits/actor/index.d.ts.map +1 -0
- package/traits/actor/index.js +11 -0
- package/traits/actor/index.js.map +1 -0
- package/traits/all-traits.d.ts +95 -0
- package/traits/all-traits.d.ts.map +1 -0
- package/traits/all-traits.js +178 -0
- package/traits/all-traits.js.map +1 -0
- package/traits/attached/attachedTrait.d.ts +61 -0
- package/traits/attached/attachedTrait.d.ts.map +1 -0
- package/traits/attached/attachedTrait.js +36 -0
- package/traits/attached/attachedTrait.js.map +1 -0
- package/traits/attached/index.d.ts +2 -0
- package/traits/attached/index.d.ts.map +1 -0
- package/traits/attached/index.js +18 -0
- package/traits/attached/index.js.map +1 -0
- package/traits/breakable/breakableBehavior.d.ts +43 -0
- package/traits/breakable/breakableBehavior.d.ts.map +1 -0
- package/traits/breakable/breakableBehavior.js +70 -0
- package/traits/breakable/breakableBehavior.js.map +1 -0
- package/traits/breakable/breakableTrait.d.ts +22 -0
- package/traits/breakable/breakableTrait.d.ts.map +1 -0
- package/traits/breakable/breakableTrait.js +25 -0
- package/traits/breakable/breakableTrait.js.map +1 -0
- package/traits/breakable/index.d.ts +3 -0
- package/traits/breakable/index.d.ts.map +1 -0
- package/traits/breakable/index.js +8 -0
- package/traits/breakable/index.js.map +1 -0
- package/traits/button/buttonTrait.d.ts +53 -0
- package/traits/button/buttonTrait.d.ts.map +1 -0
- package/traits/button/buttonTrait.js +36 -0
- package/traits/button/buttonTrait.js.map +1 -0
- package/traits/button/index.d.ts +2 -0
- package/traits/button/index.d.ts.map +1 -0
- package/traits/button/index.js +18 -0
- package/traits/button/index.js.map +1 -0
- package/traits/climbable/climbableBehavior.d.ts +37 -0
- package/traits/climbable/climbableBehavior.d.ts.map +1 -0
- package/traits/climbable/climbableBehavior.js +70 -0
- package/traits/climbable/climbableBehavior.js.map +1 -0
- package/traits/climbable/climbableTrait.d.ts +31 -0
- package/traits/climbable/climbableTrait.d.ts.map +1 -0
- package/traits/climbable/climbableTrait.js +47 -0
- package/traits/climbable/climbableTrait.js.map +1 -0
- package/traits/climbable/index.d.ts +6 -0
- package/traits/climbable/index.d.ts.map +1 -0
- package/traits/climbable/index.js +22 -0
- package/traits/climbable/index.js.map +1 -0
- package/traits/clothing/clothingTrait.d.ts +58 -0
- package/traits/clothing/clothingTrait.d.ts.map +1 -0
- package/traits/clothing/clothingTrait.js +78 -0
- package/traits/clothing/clothingTrait.js.map +1 -0
- package/traits/clothing/index.d.ts +2 -0
- package/traits/clothing/index.d.ts.map +1 -0
- package/traits/clothing/index.js +19 -0
- package/traits/clothing/index.js.map +1 -0
- package/traits/combatant/combatantBehavior.d.ts +70 -0
- package/traits/combatant/combatantBehavior.d.ts.map +1 -0
- package/traits/combatant/combatantBehavior.js +155 -0
- package/traits/combatant/combatantBehavior.js.map +1 -0
- package/traits/combatant/combatantTrait.d.ts +98 -0
- package/traits/combatant/combatantTrait.d.ts.map +1 -0
- package/traits/combatant/combatantTrait.js +122 -0
- package/traits/combatant/combatantTrait.js.map +1 -0
- package/traits/combatant/index.d.ts +3 -0
- package/traits/combatant/index.d.ts.map +1 -0
- package/traits/combatant/index.js +8 -0
- package/traits/combatant/index.js.map +1 -0
- package/traits/container/container-utils.d.ts +39 -0
- package/traits/container/container-utils.d.ts.map +1 -0
- package/traits/container/container-utils.js +72 -0
- package/traits/container/container-utils.js.map +1 -0
- package/traits/container/containerBehavior.d.ts +94 -0
- package/traits/container/containerBehavior.d.ts.map +1 -0
- package/traits/container/containerBehavior.js +256 -0
- package/traits/container/containerBehavior.js.map +1 -0
- package/traits/container/containerTrait.d.ts +30 -0
- package/traits/container/containerTrait.d.ts.map +1 -0
- package/traits/container/containerTrait.js +45 -0
- package/traits/container/containerTrait.js.map +1 -0
- package/traits/container/index.d.ts +4 -0
- package/traits/container/index.d.ts.map +1 -0
- package/traits/container/index.js +14 -0
- package/traits/container/index.js.map +1 -0
- package/traits/destructible/destructibleBehavior.d.ts +57 -0
- package/traits/destructible/destructibleBehavior.d.ts.map +1 -0
- package/traits/destructible/destructibleBehavior.js +145 -0
- package/traits/destructible/destructibleBehavior.js.map +1 -0
- package/traits/destructible/destructibleTrait.d.ts +49 -0
- package/traits/destructible/destructibleTrait.d.ts.map +1 -0
- package/traits/destructible/destructibleTrait.js +43 -0
- package/traits/destructible/destructibleTrait.js.map +1 -0
- package/traits/destructible/index.d.ts +3 -0
- package/traits/destructible/index.d.ts.map +1 -0
- package/traits/destructible/index.js +8 -0
- package/traits/destructible/index.js.map +1 -0
- package/traits/door/doorBehavior.d.ts +42 -0
- package/traits/door/doorBehavior.d.ts.map +1 -0
- package/traits/door/doorBehavior.js +76 -0
- package/traits/door/doorBehavior.js.map +1 -0
- package/traits/door/doorTrait.d.ts +19 -0
- package/traits/door/doorTrait.d.ts.map +1 -0
- package/traits/door/doorTrait.js +33 -0
- package/traits/door/doorTrait.js.map +1 -0
- package/traits/door/index.d.ts +3 -0
- package/traits/door/index.d.ts.map +1 -0
- package/traits/door/index.js +9 -0
- package/traits/door/index.js.map +1 -0
- package/traits/edible/edibleBehavior.d.ts +63 -0
- package/traits/edible/edibleBehavior.d.ts.map +1 -0
- package/traits/edible/edibleBehavior.js +157 -0
- package/traits/edible/edibleBehavior.js.map +1 -0
- package/traits/edible/edibleTrait.d.ts +57 -0
- package/traits/edible/edibleTrait.d.ts.map +1 -0
- package/traits/edible/edibleTrait.js +51 -0
- package/traits/edible/edibleTrait.js.map +1 -0
- package/traits/edible/index.d.ts +3 -0
- package/traits/edible/index.d.ts.map +1 -0
- package/traits/edible/index.js +20 -0
- package/traits/edible/index.js.map +1 -0
- package/traits/enterable/enterableTrait.d.ts +33 -0
- package/traits/enterable/enterableTrait.d.ts.map +1 -0
- package/traits/enterable/enterableTrait.js +38 -0
- package/traits/enterable/enterableTrait.js.map +1 -0
- package/traits/enterable/index.d.ts +5 -0
- package/traits/enterable/index.d.ts.map +1 -0
- package/traits/enterable/index.js +21 -0
- package/traits/enterable/index.js.map +1 -0
- package/traits/equipped/equippedTrait.d.ts +46 -0
- package/traits/equipped/equippedTrait.d.ts.map +1 -0
- package/traits/equipped/equippedTrait.js +34 -0
- package/traits/equipped/equippedTrait.js.map +1 -0
- package/traits/equipped/index.d.ts +2 -0
- package/traits/equipped/index.d.ts.map +1 -0
- package/traits/equipped/index.js +6 -0
- package/traits/equipped/index.js.map +1 -0
- package/traits/exit/exitBehavior.d.ts +51 -0
- package/traits/exit/exitBehavior.d.ts.map +1 -0
- package/traits/exit/exitBehavior.js +231 -0
- package/traits/exit/exitBehavior.js.map +1 -0
- package/traits/exit/exitTrait.d.ts +41 -0
- package/traits/exit/exitTrait.d.ts.map +1 -0
- package/traits/exit/exitTrait.js +75 -0
- package/traits/exit/exitTrait.js.map +1 -0
- package/traits/exit/index.d.ts +3 -0
- package/traits/exit/index.d.ts.map +1 -0
- package/traits/exit/index.js +9 -0
- package/traits/exit/index.js.map +1 -0
- package/traits/identity/identityBehavior.d.ts +64 -0
- package/traits/identity/identityBehavior.d.ts.map +1 -0
- package/traits/identity/identityBehavior.js +154 -0
- package/traits/identity/identityBehavior.js.map +1 -0
- package/traits/identity/identityTrait.d.ts +70 -0
- package/traits/identity/identityTrait.d.ts.map +1 -0
- package/traits/identity/identityTrait.js +79 -0
- package/traits/identity/identityTrait.js.map +1 -0
- package/traits/identity/index.d.ts +3 -0
- package/traits/identity/index.d.ts.map +1 -0
- package/traits/identity/index.js +20 -0
- package/traits/identity/index.js.map +1 -0
- package/traits/implementations.d.ts +52 -0
- package/traits/implementations.d.ts.map +1 -0
- package/traits/implementations.js +150 -0
- package/traits/implementations.js.map +1 -0
- package/traits/index.d.ts +37 -0
- package/traits/index.d.ts.map +1 -0
- package/traits/index.js +64 -0
- package/traits/index.js.map +1 -0
- package/traits/light-source/index.d.ts +3 -0
- package/traits/light-source/index.d.ts.map +1 -0
- package/traits/light-source/index.js +9 -0
- package/traits/light-source/index.js.map +1 -0
- package/traits/light-source/lightSourceBehavior.d.ts +57 -0
- package/traits/light-source/lightSourceBehavior.d.ts.map +1 -0
- package/traits/light-source/lightSourceBehavior.js +135 -0
- package/traits/light-source/lightSourceBehavior.js.map +1 -0
- package/traits/light-source/lightSourceTrait.d.ts +28 -0
- package/traits/light-source/lightSourceTrait.d.ts.map +1 -0
- package/traits/light-source/lightSourceTrait.js +37 -0
- package/traits/light-source/lightSourceTrait.js.map +1 -0
- package/traits/lockable/index.d.ts +3 -0
- package/traits/lockable/index.d.ts.map +1 -0
- package/traits/lockable/index.js +20 -0
- package/traits/lockable/index.js.map +1 -0
- package/traits/lockable/lockableBehavior.d.ts +88 -0
- package/traits/lockable/lockableBehavior.d.ts.map +1 -0
- package/traits/lockable/lockableBehavior.js +196 -0
- package/traits/lockable/lockableBehavior.js.map +1 -0
- package/traits/lockable/lockableTrait.d.ts +59 -0
- package/traits/lockable/lockableTrait.d.ts.map +1 -0
- package/traits/lockable/lockableTrait.js +50 -0
- package/traits/lockable/lockableTrait.js.map +1 -0
- package/traits/moveable-scenery/index.d.ts +2 -0
- package/traits/moveable-scenery/index.d.ts.map +1 -0
- package/traits/moveable-scenery/index.js +18 -0
- package/traits/moveable-scenery/index.js.map +1 -0
- package/traits/moveable-scenery/moveableSceneryTrait.d.ts +69 -0
- package/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +1 -0
- package/traits/moveable-scenery/moveableSceneryTrait.js +43 -0
- package/traits/moveable-scenery/moveableSceneryTrait.js.map +1 -0
- package/traits/npc/index.d.ts +5 -0
- package/traits/npc/index.d.ts.map +1 -0
- package/traits/npc/index.js +9 -0
- package/traits/npc/index.js.map +1 -0
- package/traits/npc/npcTrait.d.ts +128 -0
- package/traits/npc/npcTrait.d.ts.map +1 -0
- package/traits/npc/npcTrait.js +180 -0
- package/traits/npc/npcTrait.js.map +1 -0
- package/traits/openable/index.d.ts +3 -0
- package/traits/openable/index.d.ts.map +1 -0
- package/traits/openable/index.js +20 -0
- package/traits/openable/index.js.map +1 -0
- package/traits/openable/openableBehavior.d.ts +64 -0
- package/traits/openable/openableBehavior.d.ts.map +1 -0
- package/traits/openable/openableBehavior.js +109 -0
- package/traits/openable/openableBehavior.js.map +1 -0
- package/traits/openable/openableTrait.d.ts +46 -0
- package/traits/openable/openableTrait.d.ts.map +1 -0
- package/traits/openable/openableTrait.js +42 -0
- package/traits/openable/openableTrait.js.map +1 -0
- package/traits/pullable/index.d.ts +2 -0
- package/traits/pullable/index.d.ts.map +1 -0
- package/traits/pullable/index.js +18 -0
- package/traits/pullable/index.js.map +1 -0
- package/traits/pullable/pullableTrait.d.ts +81 -0
- package/traits/pullable/pullableTrait.d.ts.map +1 -0
- package/traits/pullable/pullableTrait.js +44 -0
- package/traits/pullable/pullableTrait.js.map +1 -0
- package/traits/pushable/index.d.ts +2 -0
- package/traits/pushable/index.d.ts.map +1 -0
- package/traits/pushable/index.js +18 -0
- package/traits/pushable/index.js.map +1 -0
- package/traits/pushable/pushableTrait.d.ts +81 -0
- package/traits/pushable/pushableTrait.d.ts.map +1 -0
- package/traits/pushable/pushableTrait.js +44 -0
- package/traits/pushable/pushableTrait.js.map +1 -0
- package/traits/readable/index.d.ts +3 -0
- package/traits/readable/index.d.ts.map +1 -0
- package/traits/readable/index.js +9 -0
- package/traits/readable/index.js.map +1 -0
- package/traits/readable/readableBehavior.d.ts +42 -0
- package/traits/readable/readableBehavior.d.ts.map +1 -0
- package/traits/readable/readableBehavior.js +174 -0
- package/traits/readable/readableBehavior.js.map +1 -0
- package/traits/readable/readableTrait.d.ts +37 -0
- package/traits/readable/readableTrait.d.ts.map +1 -0
- package/traits/readable/readableTrait.js +51 -0
- package/traits/readable/readableTrait.js.map +1 -0
- package/traits/register-all.d.ts +10 -0
- package/traits/register-all.d.ts.map +1 -0
- package/traits/register-all.js +19 -0
- package/traits/register-all.js.map +1 -0
- package/traits/room/index.d.ts +9 -0
- package/traits/room/index.d.ts.map +1 -0
- package/traits/room/index.js +14 -0
- package/traits/room/index.js.map +1 -0
- package/traits/room/roomBehavior.d.ts +87 -0
- package/traits/room/roomBehavior.d.ts.map +1 -0
- package/traits/room/roomBehavior.js +232 -0
- package/traits/room/roomBehavior.js.map +1 -0
- package/traits/room/roomTrait.d.ts +101 -0
- package/traits/room/roomTrait.d.ts.map +1 -0
- package/traits/room/roomTrait.js +59 -0
- package/traits/room/roomTrait.js.map +1 -0
- package/traits/scenery/index.d.ts +3 -0
- package/traits/scenery/index.d.ts.map +1 -0
- package/traits/scenery/index.js +9 -0
- package/traits/scenery/index.js.map +1 -0
- package/traits/scenery/sceneryBehavior.d.ts +21 -0
- package/traits/scenery/sceneryBehavior.d.ts.map +1 -0
- package/traits/scenery/sceneryBehavior.js +42 -0
- package/traits/scenery/sceneryBehavior.js.map +1 -0
- package/traits/scenery/sceneryTrait.d.ts +30 -0
- package/traits/scenery/sceneryTrait.d.ts.map +1 -0
- package/traits/scenery/sceneryTrait.js +39 -0
- package/traits/scenery/sceneryTrait.js.map +1 -0
- package/traits/story-info/index.d.ts +2 -0
- package/traits/story-info/index.d.ts.map +1 -0
- package/traits/story-info/index.js +6 -0
- package/traits/story-info/index.js.map +1 -0
- package/traits/story-info/storyInfoTrait.d.ts +22 -0
- package/traits/story-info/storyInfoTrait.d.ts.map +1 -0
- package/traits/story-info/storyInfoTrait.js +30 -0
- package/traits/story-info/storyInfoTrait.js.map +1 -0
- package/traits/supporter/index.d.ts +3 -0
- package/traits/supporter/index.d.ts.map +1 -0
- package/traits/supporter/index.js +9 -0
- package/traits/supporter/index.js.map +1 -0
- package/traits/supporter/supporterBehavior.d.ts +83 -0
- package/traits/supporter/supporterBehavior.d.ts.map +1 -0
- package/traits/supporter/supporterBehavior.js +210 -0
- package/traits/supporter/supporterBehavior.js.map +1 -0
- package/traits/supporter/supporterTrait.d.ts +26 -0
- package/traits/supporter/supporterTrait.d.ts.map +1 -0
- package/traits/supporter/supporterTrait.js +30 -0
- package/traits/supporter/supporterTrait.js.map +1 -0
- package/traits/switchable/index.d.ts +3 -0
- package/traits/switchable/index.d.ts.map +1 -0
- package/traits/switchable/index.js +20 -0
- package/traits/switchable/index.js.map +1 -0
- package/traits/switchable/switchableBehavior.d.ts +73 -0
- package/traits/switchable/switchableBehavior.d.ts.map +1 -0
- package/traits/switchable/switchableBehavior.js +191 -0
- package/traits/switchable/switchableBehavior.js.map +1 -0
- package/traits/switchable/switchableTrait.d.ts +61 -0
- package/traits/switchable/switchableTrait.d.ts.map +1 -0
- package/traits/switchable/switchableTrait.js +52 -0
- package/traits/switchable/switchableTrait.js.map +1 -0
- package/traits/trait-types.d.ts +82 -0
- package/traits/trait-types.d.ts.map +1 -0
- package/traits/trait-types.js +150 -0
- package/traits/trait-types.js.map +1 -0
- package/traits/trait.d.ts +44 -0
- package/traits/trait.d.ts.map +1 -0
- package/traits/trait.js +42 -0
- package/traits/trait.js.map +1 -0
- package/traits/vehicle/index.d.ts +6 -0
- package/traits/vehicle/index.d.ts.map +1 -0
- package/traits/vehicle/index.js +22 -0
- package/traits/vehicle/index.js.map +1 -0
- package/traits/vehicle/vehicleBehavior.d.ts +62 -0
- package/traits/vehicle/vehicleBehavior.d.ts.map +1 -0
- package/traits/vehicle/vehicleBehavior.js +145 -0
- package/traits/vehicle/vehicleBehavior.js.map +1 -0
- package/traits/vehicle/vehicleTrait.d.ts +77 -0
- package/traits/vehicle/vehicleTrait.d.ts.map +1 -0
- package/traits/vehicle/vehicleTrait.js +92 -0
- package/traits/vehicle/vehicleTrait.js.map +1 -0
- package/traits/weapon/index.d.ts +3 -0
- package/traits/weapon/index.d.ts.map +1 -0
- package/traits/weapon/index.js +8 -0
- package/traits/weapon/index.js.map +1 -0
- package/traits/weapon/weaponBehavior.d.ts +47 -0
- package/traits/weapon/weaponBehavior.d.ts.map +1 -0
- package/traits/weapon/weaponBehavior.js +106 -0
- package/traits/weapon/weaponBehavior.js.map +1 -0
- package/traits/weapon/weaponTrait.d.ts +67 -0
- package/traits/weapon/weaponTrait.d.ts.map +1 -0
- package/traits/weapon/weaponTrait.js +60 -0
- package/traits/weapon/weaponTrait.js.map +1 -0
- package/traits/wearable/index.d.ts +3 -0
- package/traits/wearable/index.d.ts.map +1 -0
- package/traits/wearable/index.js +20 -0
- package/traits/wearable/index.js.map +1 -0
- package/traits/wearable/wearableBehavior.d.ts +64 -0
- package/traits/wearable/wearableBehavior.d.ts.map +1 -0
- package/traits/wearable/wearableBehavior.js +142 -0
- package/traits/wearable/wearableBehavior.js.map +1 -0
- package/traits/wearable/wearableTrait.d.ts +54 -0
- package/traits/wearable/wearableTrait.d.ts.map +1 -0
- package/traits/wearable/wearableTrait.js +53 -0
- package/traits/wearable/wearableTrait.js.map +1 -0
- package/utils/event-utils.d.ts +30 -0
- package/utils/event-utils.d.ts.map +1 -0
- package/utils/event-utils.js +33 -0
- package/utils/event-utils.js.map +1 -0
- package/world/AuthorModel.d.ts +151 -0
- package/world/AuthorModel.d.ts.map +1 -0
- package/world/AuthorModel.js +416 -0
- package/world/AuthorModel.js.map +1 -0
- package/world/SharedDataStore.d.ts +24 -0
- package/world/SharedDataStore.d.ts.map +1 -0
- package/world/SharedDataStore.js +50 -0
- package/world/SharedDataStore.js.map +1 -0
- package/world/SpatialIndex.d.ts +16 -0
- package/world/SpatialIndex.d.ts.map +1 -0
- package/world/SpatialIndex.js +117 -0
- package/world/SpatialIndex.js.map +1 -0
- package/world/VisibilityBehavior.d.ts +83 -0
- package/world/VisibilityBehavior.d.ts.map +1 -0
- package/world/VisibilityBehavior.js +484 -0
- package/world/VisibilityBehavior.js.map +1 -0
- package/world/WorldModel.d.ts +301 -0
- package/world/WorldModel.d.ts.map +1 -0
- package/world/WorldModel.js +1085 -0
- package/world/WorldModel.js.map +1 -0
- package/world/capabilities.d.ts +36 -0
- package/world/capabilities.d.ts.map +1 -0
- package/world/capabilities.js +18 -0
- package/world/capabilities.js.map +1 -0
- package/world/index.d.ts +7 -0
- package/world/index.d.ts.map +1 -0
- package/world/index.js +21 -0
- package/world/index.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../mnt/c/repotemp/sharpee/packages/world-model/src/annotations/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../mnt/c/repotemp/sharpee/packages/world-model/src/annotations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../mnt/c/repotemp/sharpee/packages/world-model/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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../../../mnt/c/repotemp/sharpee/packages/world-model/src/annotations/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,52 @@
|
|
|
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 "../src/index";
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attack.d.ts","sourceRoot":"","sources":["../../../../../../mnt/c/repotemp/sharpee/packages/world-model/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"}
|
|
@@ -0,0 +1,161 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attack.js","sourceRoot":"","sources":["../../../../../../../../../mnt/c/repotemp/sharpee/packages/world-model/src/behaviors/attack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../../../../../../mnt/c/repotemp/sharpee/packages/world-model/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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"behavior.js","sourceRoot":"","sources":["../../../../../../../../../mnt/c/repotemp/sharpee/packages/world-model/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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../mnt/c/repotemp/sharpee/packages/world-model/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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../mnt/c/repotemp/sharpee/packages/world-model/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"}
|