@sharpee/world-model 0.9.95 → 0.9.97
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/behaviors/attack.d.ts.map +1 -1
- package/behaviors/attack.js +7 -5
- package/behaviors/attack.js.map +1 -1
- package/capabilities/capability-behavior.d.ts +1 -1
- package/entities/if-entity.d.ts +6 -8
- package/entities/if-entity.d.ts.map +1 -1
- package/entities/if-entity.js +39 -15
- package/entities/if-entity.js.map +1 -1
- package/events/types.d.ts +7 -30
- package/events/types.d.ts.map +1 -1
- package/events/types.js +4 -3
- package/events/types.js.map +1 -1
- package/examples/event-handler-registration.d.ts.map +1 -1
- package/examples/event-handler-registration.js +6 -4
- package/examples/event-handler-registration.js.map +1 -1
- package/index.d.ts +0 -1
- package/index.d.ts.map +1 -1
- package/index.js +0 -2
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/scope/scope-evaluator.d.ts +13 -3
- package/scope/scope-evaluator.d.ts.map +1 -1
- package/scope/scope-evaluator.js +15 -5
- package/scope/scope-evaluator.js.map +1 -1
- package/services/index.d.ts +0 -1
- package/services/index.d.ts.map +1 -1
- package/services/index.js +3 -4
- package/services/index.js.map +1 -1
- package/traits/container/containerTrait.d.ts +6 -0
- package/traits/container/containerTrait.d.ts.map +1 -1
- package/traits/container/containerTrait.js +12 -0
- package/traits/container/containerTrait.js.map +1 -1
- package/traits/edible/edibleBehavior.d.ts +0 -5
- package/traits/edible/edibleBehavior.d.ts.map +1 -1
- package/traits/edible/edibleBehavior.js +7 -38
- package/traits/edible/edibleBehavior.js.map +1 -1
- package/traits/edible/edibleTrait.d.ts +5 -6
- package/traits/edible/edibleTrait.d.ts.map +1 -1
- package/traits/edible/edibleTrait.js +4 -7
- package/traits/edible/edibleTrait.js.map +1 -1
- package/traits/implementations.d.ts +2 -1
- package/traits/implementations.d.ts.map +1 -1
- package/traits/implementations.js +4 -1
- package/traits/implementations.js.map +1 -1
- package/traits/index.d.ts +1 -0
- package/traits/index.d.ts.map +1 -1
- package/traits/index.js +1 -0
- package/traits/index.js.map +1 -1
- package/traits/light-source/lightSourceTrait.d.ts +4 -0
- package/traits/light-source/lightSourceTrait.d.ts.map +1 -1
- package/traits/light-source/lightSourceTrait.js +4 -0
- package/traits/light-source/lightSourceTrait.js.map +1 -1
- package/traits/open-inventory/index.d.ts +2 -0
- package/traits/open-inventory/index.d.ts.map +1 -0
- package/traits/open-inventory/index.js +6 -0
- package/traits/open-inventory/index.js.map +1 -0
- package/traits/open-inventory/openInventoryTrait.d.ts +30 -0
- package/traits/open-inventory/openInventoryTrait.d.ts.map +1 -0
- package/traits/open-inventory/openInventoryTrait.js +38 -0
- package/traits/open-inventory/openInventoryTrait.js.map +1 -0
- package/traits/openable/openableTrait.d.ts +6 -0
- package/traits/openable/openableTrait.d.ts.map +1 -1
- package/traits/openable/openableTrait.js +4 -0
- package/traits/openable/openableTrait.js.map +1 -1
- package/traits/room/index.d.ts +1 -1
- package/traits/room/index.d.ts.map +1 -1
- package/traits/room/index.js.map +1 -1
- package/traits/switchable/switchableTrait.d.ts +6 -0
- package/traits/switchable/switchableTrait.d.ts.map +1 -1
- package/traits/switchable/switchableTrait.js +4 -0
- package/traits/switchable/switchableTrait.js.map +1 -1
- package/traits/trait-types.d.ts +1 -0
- package/traits/trait-types.d.ts.map +1 -1
- package/traits/trait-types.js +3 -1
- package/traits/trait-types.js.map +1 -1
- package/world/AuthorModel.d.ts.map +1 -1
- package/world/AuthorModel.js +6 -5
- package/world/AuthorModel.js.map +1 -1
- package/world/VisibilityBehavior.d.ts +22 -5
- package/world/VisibilityBehavior.d.ts.map +1 -1
- package/world/VisibilityBehavior.js +70 -125
- package/world/VisibilityBehavior.js.map +1 -1
- package/world/WorldModel.d.ts.map +1 -1
- package/world/WorldModel.js +12 -8
- package/world/WorldModel.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-evaluator.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/scope/scope-evaluator.ts"],"names":[],"mappings":";AAAA;;;
|
|
1
|
+
{"version":3,"file":"scope-evaluator.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/scope/scope-evaluator.ts"],"names":[],"mappings":"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"}
|
package/services/index.d.ts
CHANGED
package/services/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/services/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/services/index.ts"],"names":[],"mappings":""}
|
package/services/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "ScopeService", { enumerable: true, get: function () { return ScopeService_1.ScopeService; } });
|
|
2
|
+
// ScopeService stub removed (ISSUE-065) — was dead code, never imported by any consumer.
|
|
3
|
+
// Scope is handled by RuleScopeEvaluator (world-model), GrammarScopeResolver (parser),
|
|
4
|
+
// and StandardScopeResolver (stdlib).
|
|
6
5
|
//# sourceMappingURL=index.js.map
|
package/services/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/services/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/services/index.ts"],"names":[],"mappings":";AAAA,yFAAyF;AACzF,uFAAuF;AACvF,sCAAsC"}
|
|
@@ -25,6 +25,12 @@ export declare class ContainerTrait implements ITrait {
|
|
|
25
25
|
allowedTypes?: string[];
|
|
26
26
|
/** These entity types cannot be placed in the container */
|
|
27
27
|
excludedTypes?: string[];
|
|
28
|
+
/** Whether this container holds a liquid */
|
|
29
|
+
containsLiquid?: boolean;
|
|
30
|
+
/** Type of liquid in the container (e.g., 'water', 'ale') */
|
|
31
|
+
liquidType?: string;
|
|
32
|
+
/** Amount of liquid remaining (arbitrary units) */
|
|
33
|
+
liquidAmount?: number;
|
|
28
34
|
constructor(data?: Partial<ContainerTrait>);
|
|
29
35
|
}
|
|
30
36
|
//# sourceMappingURL=containerTrait.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/container/containerTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,MAAM;IAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAuB;IAC3C,QAAQ,CAAC,IAAI,cAAuB;IAEpC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE;QACT,0DAA0D;QAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,8DAA8D;QAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,qDAAqD;QACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,gEAAgE;IAChE,aAAa,EAAE,OAAO,CAAC;IAEvB,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IAEnB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"containerTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/container/containerTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,MAAM;IAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAuB;IAC3C,QAAQ,CAAC,IAAI,cAAuB;IAEpC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE;QACT,0DAA0D;QAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,8DAA8D;QAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,qDAAqD;QACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,gEAAgE;IAChE,aAAa,EAAE,OAAO,CAAC;IAEvB,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IAEnB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;gBAEV,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;CAiB3C"}
|
|
@@ -22,6 +22,12 @@ class ContainerTrait {
|
|
|
22
22
|
allowedTypes;
|
|
23
23
|
/** These entity types cannot be placed in the container */
|
|
24
24
|
excludedTypes;
|
|
25
|
+
/** Whether this container holds a liquid */
|
|
26
|
+
containsLiquid;
|
|
27
|
+
/** Type of liquid in the container (e.g., 'water', 'ale') */
|
|
28
|
+
liquidType;
|
|
29
|
+
/** Amount of liquid remaining (arbitrary units) */
|
|
30
|
+
liquidAmount;
|
|
25
31
|
constructor(data) {
|
|
26
32
|
// Set defaults
|
|
27
33
|
this.isTransparent = false;
|
|
@@ -38,6 +44,12 @@ class ContainerTrait {
|
|
|
38
44
|
this.allowedTypes = data.allowedTypes;
|
|
39
45
|
if (data.excludedTypes !== undefined)
|
|
40
46
|
this.excludedTypes = data.excludedTypes;
|
|
47
|
+
if (data.containsLiquid !== undefined)
|
|
48
|
+
this.containsLiquid = data.containsLiquid;
|
|
49
|
+
if (data.liquidType !== undefined)
|
|
50
|
+
this.liquidType = data.liquidType;
|
|
51
|
+
if (data.liquidAmount !== undefined)
|
|
52
|
+
this.liquidAmount = data.liquidAmount;
|
|
41
53
|
}
|
|
42
54
|
}
|
|
43
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/container/containerTrait.ts"],"names":[],"mappings":";AAAA,8DAA8D;;;AAG9D,gDAA2C;AAE3C;;;;;GAKG;AACH,MAAa,cAAc;IACzB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,SAAS,CAAC;IAClC,IAAI,GAAG,uBAAS,CAAC,SAAS,CAAC;IAEpC,6CAA6C;IAC7C,QAAQ,CASN;IAEF,gEAAgE;IAChE,aAAa,CAAU;IAEvB,8CAA8C;IAC9C,SAAS,CAAU;IAEnB,6DAA6D;IAC7D,YAAY,CAAY;IAExB,2DAA2D;IAC3D,aAAa,CAAY;IAEzB,YAAY,IAA8B;QACxC,eAAe;QACf,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,8BAA8B;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/D,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9E,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAClE,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3E,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"containerTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/container/containerTrait.ts"],"names":[],"mappings":";AAAA,8DAA8D;;;AAG9D,gDAA2C;AAE3C;;;;;GAKG;AACH,MAAa,cAAc;IACzB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,SAAS,CAAC;IAClC,IAAI,GAAG,uBAAS,CAAC,SAAS,CAAC;IAEpC,6CAA6C;IAC7C,QAAQ,CASN;IAEF,gEAAgE;IAChE,aAAa,CAAU;IAEvB,8CAA8C;IAC9C,SAAS,CAAU;IAEnB,6DAA6D;IAC7D,YAAY,CAAY;IAExB,2DAA2D;IAC3D,aAAa,CAAY;IAEzB,4CAA4C;IAC5C,cAAc,CAAW;IAEzB,6DAA6D;IAC7D,UAAU,CAAU;IAEpB,mDAAmD;IACnD,YAAY,CAAU;IAEtB,YAAY,IAA8B;QACxC,eAAe;QACf,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,8BAA8B;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/D,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9E,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAClE,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3E,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9E,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;gBAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YACjF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACrE,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7E,CAAC;IACH,CAAC;;AArDH,wCAsDC"}
|
|
@@ -11,23 +11,19 @@ export declare class EdibleBehavior extends Behavior {
|
|
|
11
11
|
static requiredTraits: "edible"[];
|
|
12
12
|
/**
|
|
13
13
|
* Check if an item can be consumed
|
|
14
|
-
* Supports both 'servings' (canonical) and 'consumed' (legacy) property names
|
|
15
14
|
*/
|
|
16
15
|
static canConsume(item: IFEntity): boolean;
|
|
17
16
|
/**
|
|
18
17
|
* Consume the item
|
|
19
18
|
* @returns Events describing what happened
|
|
20
|
-
* Supports both 'servings' (canonical) and 'portions' (legacy) property names
|
|
21
19
|
*/
|
|
22
20
|
static consume(item: IFEntity, actor: IFEntity): ISemanticEvent[];
|
|
23
21
|
/**
|
|
24
22
|
* Check if item is fully consumed
|
|
25
|
-
* Supports both 'servings' (canonical) and 'consumed' (legacy) property names
|
|
26
23
|
*/
|
|
27
24
|
static isEmpty(item: IFEntity): boolean;
|
|
28
25
|
/**
|
|
29
26
|
* Check if this is a liquid
|
|
30
|
-
* Supports both 'liquid' (canonical) and 'isDrink' (legacy) property names
|
|
31
27
|
*/
|
|
32
28
|
static isLiquid(item: IFEntity): boolean;
|
|
33
29
|
/**
|
|
@@ -36,7 +32,6 @@ export declare class EdibleBehavior extends Behavior {
|
|
|
36
32
|
static getNutrition(item: IFEntity): number;
|
|
37
33
|
/**
|
|
38
34
|
* Get remaining servings
|
|
39
|
-
* Supports both 'servings' (canonical) and 'portions' (legacy) property names
|
|
40
35
|
*/
|
|
41
36
|
static getServings(item: IFEntity): number;
|
|
42
37
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edibleBehavior.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleBehavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAe,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAe,MAAM,eAAe,CAAC;AAI5D;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,MAAM,CAAC,cAAc,aAAsB;IAE3C
|
|
1
|
+
{"version":3,"file":"edibleBehavior.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleBehavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAe,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAe,MAAM,eAAe,CAAC;AAI5D;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,MAAM,CAAC,cAAc,aAAsB;IAE3C;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAK1C;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,cAAc,EAAE;IAsDjE;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAKvC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAKxC;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAK3C;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAK1C;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAKzC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS;IAKzD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,SAAS;IAKvD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKjE;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS;CAI5D"}
|
|
@@ -16,29 +16,20 @@ class EdibleBehavior extends behavior_1.Behavior {
|
|
|
16
16
|
static requiredTraits = [trait_types_1.TraitType.EDIBLE];
|
|
17
17
|
/**
|
|
18
18
|
* Check if an item can be consumed
|
|
19
|
-
* Supports both 'servings' (canonical) and 'consumed' (legacy) property names
|
|
20
19
|
*/
|
|
21
20
|
static canConsume(item) {
|
|
22
21
|
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
23
|
-
|
|
24
|
-
if (edible.consumed === true) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
// Then check servings (default to 1 if undefined)
|
|
28
|
-
const servings = edible.servings ?? edible.portions ?? 1;
|
|
29
|
-
return servings > 0;
|
|
22
|
+
return (edible.servings ?? 1) > 0;
|
|
30
23
|
}
|
|
31
24
|
/**
|
|
32
25
|
* Consume the item
|
|
33
26
|
* @returns Events describing what happened
|
|
34
|
-
* Supports both 'servings' (canonical) and 'portions' (legacy) property names
|
|
35
27
|
*/
|
|
36
28
|
static consume(item, actor) {
|
|
37
29
|
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if (currentServings <= 0 || edible.consumed === true) {
|
|
30
|
+
let currentServings = edible.servings ?? 1;
|
|
31
|
+
const isLiquid = edible.liquid ?? false;
|
|
32
|
+
if (currentServings <= 0) {
|
|
42
33
|
return [
|
|
43
34
|
(0, core_1.createEvent)(if_events_1.IFEvents.ACTION_FAILED, {
|
|
44
35
|
action: isLiquid ? 'drink' : 'eat',
|
|
@@ -47,16 +38,8 @@ class EdibleBehavior extends behavior_1.Behavior {
|
|
|
47
38
|
}, { target: item.id, actor: actor.id })
|
|
48
39
|
];
|
|
49
40
|
}
|
|
50
|
-
// Consume one serving - update both properties for compatibility
|
|
51
41
|
currentServings--;
|
|
52
42
|
edible.servings = currentServings;
|
|
53
|
-
if (edible.portions !== undefined) {
|
|
54
|
-
edible.portions = currentServings;
|
|
55
|
-
}
|
|
56
|
-
// Mark as consumed if no servings left
|
|
57
|
-
if (currentServings <= 0) {
|
|
58
|
-
edible.consumed = true;
|
|
59
|
-
}
|
|
60
43
|
const events = [
|
|
61
44
|
(0, core_1.createEvent)(isLiquid ? if_events_1.IFEvents.ITEM_DRUNK : if_events_1.IFEvents.ITEM_EATEN, {
|
|
62
45
|
nutrition: edible.nutrition,
|
|
@@ -77,26 +60,17 @@ class EdibleBehavior extends behavior_1.Behavior {
|
|
|
77
60
|
}
|
|
78
61
|
/**
|
|
79
62
|
* Check if item is fully consumed
|
|
80
|
-
* Supports both 'servings' (canonical) and 'consumed' (legacy) property names
|
|
81
63
|
*/
|
|
82
64
|
static isEmpty(item) {
|
|
83
65
|
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
84
|
-
|
|
85
|
-
if (edible.consumed === true) {
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
// Then check servings
|
|
89
|
-
const servings = edible.servings ?? edible.portions ?? 1;
|
|
90
|
-
return servings <= 0;
|
|
66
|
+
return (edible.servings ?? 1) <= 0;
|
|
91
67
|
}
|
|
92
68
|
/**
|
|
93
69
|
* Check if this is a liquid
|
|
94
|
-
* Supports both 'liquid' (canonical) and 'isDrink' (legacy) property names
|
|
95
70
|
*/
|
|
96
71
|
static isLiquid(item) {
|
|
97
72
|
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
98
|
-
|
|
99
|
-
return edible.liquid || edible.isDrink || false;
|
|
73
|
+
return edible.liquid ?? false;
|
|
100
74
|
}
|
|
101
75
|
/**
|
|
102
76
|
* Get nutrition value
|
|
@@ -107,15 +81,10 @@ class EdibleBehavior extends behavior_1.Behavior {
|
|
|
107
81
|
}
|
|
108
82
|
/**
|
|
109
83
|
* Get remaining servings
|
|
110
|
-
* Supports both 'servings' (canonical) and 'portions' (legacy) property names
|
|
111
84
|
*/
|
|
112
85
|
static getServings(item) {
|
|
113
86
|
const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
|
|
114
|
-
|
|
115
|
-
if (edible.consumed === true) {
|
|
116
|
-
return 0;
|
|
117
|
-
}
|
|
118
|
-
return edible.servings ?? edible.portions ?? 1;
|
|
87
|
+
return edible.servings ?? 1;
|
|
119
88
|
}
|
|
120
89
|
/**
|
|
121
90
|
* Check if consuming has special effects
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edibleBehavior.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleBehavior.ts"],"names":[],"mappings":";AAAA,2DAA2D;;;AAE3D,uDAAoD;AAEpD,gDAA2C;AAE3C,wCAA4D;AAC5D,yDAAqD;AACrD,qEAAsE;AAEtE;;;;GAIG;AACH,MAAa,cAAe,SAAQ,mBAAQ;IAC1C,MAAM,CAAC,cAAc,GAAG,CAAC,uBAAS,CAAC,MAAM,CAAC,CAAC;IAE3C
|
|
1
|
+
{"version":3,"file":"edibleBehavior.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleBehavior.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ export type TasteQuality = 'delicious' | 'tasty' | 'good' | 'plain' | 'bland' |
|
|
|
4
4
|
export interface IEdibleData {
|
|
5
5
|
/** Nutrition value (arbitrary units) */
|
|
6
6
|
nutrition?: number;
|
|
7
|
-
/** Number of bites/servings remaining
|
|
7
|
+
/** Number of bites/servings remaining */
|
|
8
8
|
servings?: number;
|
|
9
9
|
/** Whether this is a liquid (drunk vs eaten) */
|
|
10
10
|
liquid?: boolean;
|
|
@@ -26,6 +26,8 @@ export interface IEdibleData {
|
|
|
26
26
|
effects?: string[];
|
|
27
27
|
/** Whether eating this satisfies hunger */
|
|
28
28
|
satisfiesHunger?: boolean;
|
|
29
|
+
/** Whether drinking this satisfies thirst */
|
|
30
|
+
satisfiesThirst?: boolean;
|
|
29
31
|
}
|
|
30
32
|
/**
|
|
31
33
|
* Edible trait indicates an entity can be eaten or drunk.
|
|
@@ -48,10 +50,7 @@ export declare class EdibleTrait implements ITrait, IEdibleData {
|
|
|
48
50
|
taste?: TasteQuality;
|
|
49
51
|
effects?: string[];
|
|
50
52
|
satisfiesHunger?: boolean;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
isDrink?: boolean;
|
|
54
|
-
consumed?: boolean;
|
|
55
|
-
});
|
|
53
|
+
satisfiesThirst?: boolean;
|
|
54
|
+
constructor(data?: IEdibleData);
|
|
56
55
|
}
|
|
57
56
|
//# sourceMappingURL=edibleTrait.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edibleTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,2BAA2B;AAC3B,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AAErG,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,
|
|
1
|
+
{"version":3,"file":"edibleTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,2BAA2B;AAC3B,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AAErG,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAId,gCAAgC;IAChC,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,WAAY,YAAW,MAAM,EAAE,WAAW;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAoB;IACxC,QAAQ,CAAC,IAAI,WAAoB;IAGjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;gBAEd,IAAI,GAAE,WAAgB;CAiBnC"}
|
|
@@ -26,15 +26,11 @@ class EdibleTrait {
|
|
|
26
26
|
taste;
|
|
27
27
|
effects;
|
|
28
28
|
satisfiesHunger;
|
|
29
|
+
satisfiesThirst;
|
|
29
30
|
constructor(data = {}) {
|
|
30
|
-
|
|
31
|
-
// Support both 'servings' and legacy 'portions' naming
|
|
32
|
-
// If consumed is true, set servings to 0
|
|
33
|
-
const baseServings = data.servings ?? data.portions ?? 1;
|
|
34
|
-
this.servings = data.consumed ? 0 : baseServings;
|
|
31
|
+
this.servings = data.servings ?? 1;
|
|
35
32
|
this.nutrition = data.nutrition ?? 1;
|
|
36
|
-
|
|
37
|
-
this.liquid = data.liquid ?? data.isDrink ?? false;
|
|
33
|
+
this.liquid = data.liquid ?? false;
|
|
38
34
|
this.consumeMessage = data.consumeMessage;
|
|
39
35
|
this.remainsType = data.remainsType;
|
|
40
36
|
this.hasEffect = data.hasEffect ?? (data.effects && data.effects.length > 0) ?? false;
|
|
@@ -45,6 +41,7 @@ class EdibleTrait {
|
|
|
45
41
|
this.taste = data.taste;
|
|
46
42
|
this.effects = data.effects;
|
|
47
43
|
this.satisfiesHunger = data.satisfiesHunger;
|
|
44
|
+
this.satisfiesThirst = data.satisfiesThirst;
|
|
48
45
|
}
|
|
49
46
|
}
|
|
50
47
|
exports.EdibleTrait = EdibleTrait;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edibleTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleTrait.ts"],"names":[],"mappings":";AAAA,wDAAwD;;;AAGxD,gDAA2C;
|
|
1
|
+
{"version":3,"file":"edibleTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleTrait.ts"],"names":[],"mappings":";AAAA,wDAAwD;;;AAGxD,gDAA2C;AAgD3C;;;;;GAKG;AACH,MAAa,WAAW;IACtB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,MAAM,CAAC;IAC/B,IAAI,GAAG,uBAAS,CAAC,MAAM,CAAC;IAEjC,6BAA6B;IAC7B,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,MAAM,CAAU;IAChB,cAAc,CAAU;IACxB,WAAW,CAAU;IACrB,SAAS,CAAU;IACnB,iBAAiB,CAAU;IAC3B,MAAM,CAAS;IACf,IAAI,CAAS;IAEb,sBAAsB;IACtB,KAAK,CAAgB;IACrB,OAAO,CAAY;IACnB,eAAe,CAAW;IAC1B,eAAe,CAAW;IAE1B,YAAY,OAAoB,EAAE;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;QACtF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAE3B,sBAAsB;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IAC9C,CAAC;;AArCH,kCAsCC"}
|
|
@@ -33,6 +33,7 @@ import { DestructibleTrait } from './destructible/destructibleTrait';
|
|
|
33
33
|
import { CombatantTrait } from './combatant/combatantTrait';
|
|
34
34
|
import { EquippedTrait } from './equipped/equippedTrait';
|
|
35
35
|
import { NpcTrait } from './npc/npcTrait';
|
|
36
|
+
import { OpenInventoryTrait } from './open-inventory/openInventoryTrait';
|
|
36
37
|
import { VehicleTrait } from './vehicle/vehicleTrait';
|
|
37
38
|
import { EnterableTrait } from './enterable/enterableTrait';
|
|
38
39
|
import { StoryInfoTrait } from './story-info/storyInfoTrait';
|
|
@@ -48,5 +49,5 @@ export declare function getTraitImplementation(type: TraitType): ITraitConstruct
|
|
|
48
49
|
* Create trait instance by type
|
|
49
50
|
*/
|
|
50
51
|
export declare function createTrait(type: TraitType, data?: any): InstanceType<ITraitConstructor>;
|
|
51
|
-
export { IdentityTrait, ContainerTrait, SupporterTrait, RoomTrait, WearableTrait, ClothingTrait, EdibleTrait, SceneryTrait, OpenableTrait, LockableTrait, SwitchableTrait, ReadableTrait, LightSourceTrait, DoorTrait, ActorTrait, ExitTrait, ClimbableTrait, PullableTrait, AttachedTrait, PushableTrait, ButtonTrait, MoveableSceneryTrait, WeaponTrait, BreakableTrait, DestructibleTrait, CombatantTrait, EquippedTrait, NpcTrait, VehicleTrait, EnterableTrait, StoryInfoTrait };
|
|
52
|
+
export { IdentityTrait, ContainerTrait, SupporterTrait, RoomTrait, WearableTrait, ClothingTrait, EdibleTrait, SceneryTrait, OpenableTrait, LockableTrait, SwitchableTrait, ReadableTrait, LightSourceTrait, DoorTrait, ActorTrait, ExitTrait, ClimbableTrait, PullableTrait, AttachedTrait, PushableTrait, ButtonTrait, MoveableSceneryTrait, WeaponTrait, BreakableTrait, DestructibleTrait, CombatantTrait, EquippedTrait, NpcTrait, OpenInventoryTrait, VehicleTrait, EnterableTrait, StoryInfoTrait };
|
|
52
53
|
//# sourceMappingURL=implementations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementations.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/implementations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAG/E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"implementations.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/implementations.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Maps trait types to their implementation classes
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.StoryInfoTrait = exports.EnterableTrait = exports.VehicleTrait = exports.NpcTrait = exports.EquippedTrait = exports.CombatantTrait = exports.DestructibleTrait = exports.BreakableTrait = exports.WeaponTrait = exports.MoveableSceneryTrait = exports.ButtonTrait = exports.PushableTrait = exports.AttachedTrait = exports.PullableTrait = exports.ClimbableTrait = exports.ExitTrait = exports.ActorTrait = exports.DoorTrait = exports.LightSourceTrait = exports.ReadableTrait = exports.SwitchableTrait = exports.LockableTrait = exports.OpenableTrait = exports.SceneryTrait = exports.EdibleTrait = exports.ClothingTrait = exports.WearableTrait = exports.RoomTrait = exports.SupporterTrait = exports.ContainerTrait = exports.IdentityTrait = exports.TRAIT_IMPLEMENTATIONS = void 0;
|
|
8
|
+
exports.StoryInfoTrait = exports.EnterableTrait = exports.VehicleTrait = exports.OpenInventoryTrait = exports.NpcTrait = exports.EquippedTrait = exports.CombatantTrait = exports.DestructibleTrait = exports.BreakableTrait = exports.WeaponTrait = exports.MoveableSceneryTrait = exports.ButtonTrait = exports.PushableTrait = exports.AttachedTrait = exports.PullableTrait = exports.ClimbableTrait = exports.ExitTrait = exports.ActorTrait = exports.DoorTrait = exports.LightSourceTrait = exports.ReadableTrait = exports.SwitchableTrait = exports.LockableTrait = exports.OpenableTrait = exports.SceneryTrait = exports.EdibleTrait = exports.ClothingTrait = exports.WearableTrait = exports.RoomTrait = exports.SupporterTrait = exports.ContainerTrait = exports.IdentityTrait = exports.TRAIT_IMPLEMENTATIONS = void 0;
|
|
9
9
|
exports.getTraitImplementation = getTraitImplementation;
|
|
10
10
|
exports.createTrait = createTrait;
|
|
11
11
|
const trait_types_1 = require("./trait-types");
|
|
@@ -72,6 +72,8 @@ Object.defineProperty(exports, "EquippedTrait", { enumerable: true, get: functio
|
|
|
72
72
|
// NPC traits (ADR-070)
|
|
73
73
|
const npcTrait_1 = require("./npc/npcTrait");
|
|
74
74
|
Object.defineProperty(exports, "NpcTrait", { enumerable: true, get: function () { return npcTrait_1.NpcTrait; } });
|
|
75
|
+
const openInventoryTrait_1 = require("./open-inventory/openInventoryTrait");
|
|
76
|
+
Object.defineProperty(exports, "OpenInventoryTrait", { enumerable: true, get: function () { return openInventoryTrait_1.OpenInventoryTrait; } });
|
|
75
77
|
// Transport traits
|
|
76
78
|
const vehicleTrait_1 = require("./vehicle/vehicleTrait");
|
|
77
79
|
Object.defineProperty(exports, "VehicleTrait", { enumerable: true, get: function () { return vehicleTrait_1.VehicleTrait; } });
|
|
@@ -120,6 +122,7 @@ exports.TRAIT_IMPLEMENTATIONS = {
|
|
|
120
122
|
[trait_types_1.TraitType.EQUIPPED]: equippedTrait_1.EquippedTrait,
|
|
121
123
|
// NPC traits (ADR-070)
|
|
122
124
|
[trait_types_1.TraitType.NPC]: npcTrait_1.NpcTrait,
|
|
125
|
+
[trait_types_1.TraitType.OPEN_INVENTORY]: openInventoryTrait_1.OpenInventoryTrait,
|
|
123
126
|
// Transport traits
|
|
124
127
|
[trait_types_1.TraitType.VEHICLE]: vehicleTrait_1.VehicleTrait,
|
|
125
128
|
[trait_types_1.TraitType.ENTERABLE]: enterableTrait_1.EnterableTrait,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementations.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/implementations.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"implementations.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/implementations.ts"],"names":[],"mappings":"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"}
|
package/traits/index.d.ts
CHANGED
package/traits/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AAGxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AAGnC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAG3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAG5B,cAAc,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AAGxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AAGnC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAG3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAG5B,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC"}
|
package/traits/index.js
CHANGED
|
@@ -55,6 +55,7 @@ __exportStar(require("./vehicle"), exports);
|
|
|
55
55
|
__exportStar(require("./enterable"), exports);
|
|
56
56
|
// NPC traits
|
|
57
57
|
__exportStar(require("./npc"), exports);
|
|
58
|
+
__exportStar(require("./open-inventory"), exports);
|
|
58
59
|
// System traits
|
|
59
60
|
__exportStar(require("./story-info"), exports);
|
|
60
61
|
// Register function
|
package/traits/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/index.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,sCAAsC;;;;;;;;;;;;;;;;AAEtC,mBAAmB;AACnB,0CAAwB;AACxB,gDAA8B;AAC9B,oDAAkC;AAElC,kEAAkE;AAClE,6CAA2B;AAC3B,8CAA4B;AAC5B,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,iDAA+B;AAC/B,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AAExB,sBAAsB;AACtB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,qDAAmC;AAEnC,gBAAgB;AAChB,2CAAyB;AACzB,8CAA4B;AAC5B,iDAA+B;AAC/B,8CAA4B;AAC5B,6CAA2B;AAE3B,mBAAmB;AACnB,4CAA0B;AAC1B,8CAA4B;AAE5B,aAAa;AACb,wCAAsB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/index.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,sCAAsC;;;;;;;;;;;;;;;;AAEtC,mBAAmB;AACnB,0CAAwB;AACxB,gDAA8B;AAC9B,oDAAkC;AAElC,kEAAkE;AAClE,6CAA2B;AAC3B,8CAA4B;AAC5B,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,iDAA+B;AAC/B,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AAExB,sBAAsB;AACtB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,qDAAmC;AAEnC,gBAAgB;AAChB,2CAAyB;AACzB,8CAA4B;AAC5B,iDAA+B;AAC/B,8CAA4B;AAC5B,6CAA2B;AAE3B,mBAAmB;AACnB,4CAA0B;AAC1B,8CAA4B;AAE5B,aAAa;AACb,wCAAsB;AACtB,mDAAiC;AAEjC,gBAAgB;AAChB,+CAA6B;AAE7B,oBAAoB;AACpB,iDAA+B;AAE/B,2BAA2B;AAC3B,+CAA6B"}
|
|
@@ -23,6 +23,10 @@ export declare class LightSourceTrait implements ITrait {
|
|
|
23
23
|
maxFuel?: number;
|
|
24
24
|
/** Fuel consumption rate per turn (when lit) */
|
|
25
25
|
fuelConsumptionRate?: number;
|
|
26
|
+
/** Description when lit (used by computed description getter on IFEntity) */
|
|
27
|
+
litDescription?: string;
|
|
28
|
+
/** Description when unlit (used by computed description getter on IFEntity) */
|
|
29
|
+
unlitDescription?: string;
|
|
26
30
|
constructor(data?: Partial<LightSourceTrait>);
|
|
27
31
|
}
|
|
28
32
|
//# sourceMappingURL=lightSourceTrait.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightSourceTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/light-source/lightSourceTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,MAAM;IAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAA0B;IAC9C,QAAQ,CAAC,IAAI,gBAA0B;IAEvC,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAK;IAEvB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"lightSourceTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/light-source/lightSourceTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,MAAM;IAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAA0B;IAC9C,QAAQ,CAAC,IAAI,gBAA0B;IAEvC,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAK;IAEvB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAC;gBAEd,IAAI,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;CAK7C"}
|
|
@@ -27,6 +27,10 @@ class LightSourceTrait {
|
|
|
27
27
|
maxFuel;
|
|
28
28
|
/** Fuel consumption rate per turn (when lit) */
|
|
29
29
|
fuelConsumptionRate;
|
|
30
|
+
/** Description when lit (used by computed description getter on IFEntity) */
|
|
31
|
+
litDescription;
|
|
32
|
+
/** Description when unlit (used by computed description getter on IFEntity) */
|
|
33
|
+
unlitDescription;
|
|
30
34
|
constructor(data) {
|
|
31
35
|
if (data) {
|
|
32
36
|
Object.assign(this, data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightSourceTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/light-source/lightSourceTrait.ts"],"names":[],"mappings":";AAAA,mEAAmE;;;AAGnE,gDAA2C;AAE3C;;;;;GAKG;AACH,MAAa,gBAAgB;IAC3B,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,YAAY,CAAC;IACrC,IAAI,GAAG,uBAAS,CAAC,YAAY,CAAC;IAEvC,gCAAgC;IAChC,UAAU,GAAW,CAAC,CAAC;IAEvB;;;;;OAKG;IACH,KAAK,CAAW;IAEhB,6DAA6D;IAC7D,aAAa,CAAU;IAEvB,oDAAoD;IACpD,OAAO,CAAU;IAEjB,gDAAgD;IAChD,mBAAmB,CAAU;IAE7B,YAAY,IAAgC;QAC1C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;;
|
|
1
|
+
{"version":3,"file":"lightSourceTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/light-source/lightSourceTrait.ts"],"names":[],"mappings":";AAAA,mEAAmE;;;AAGnE,gDAA2C;AAE3C;;;;;GAKG;AACH,MAAa,gBAAgB;IAC3B,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,YAAY,CAAC;IACrC,IAAI,GAAG,uBAAS,CAAC,YAAY,CAAC;IAEvC,gCAAgC;IAChC,UAAU,GAAW,CAAC,CAAC;IAEvB;;;;;OAKG;IACH,KAAK,CAAW;IAEhB,6DAA6D;IAC7D,aAAa,CAAU;IAEvB,oDAAoD;IACpD,OAAO,CAAU;IAEjB,gDAAgD;IAChD,mBAAmB,CAAU;IAE7B,6EAA6E;IAC7E,cAAc,CAAU;IAExB,+EAA+E;IAC/E,gBAAgB,CAAU;IAE1B,YAAY,IAAgC;QAC1C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;;AAlCH,4CAmCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/open-inventory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenInventoryTrait = void 0;
|
|
4
|
+
var openInventoryTrait_1 = require("./openInventoryTrait");
|
|
5
|
+
Object.defineProperty(exports, "OpenInventoryTrait", { enumerable: true, get: function () { return openInventoryTrait_1.OpenInventoryTrait; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/open-inventory/index.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Open Inventory Trait
|
|
3
|
+
* @description Marks an NPC's inventory as reachable by other actors.
|
|
4
|
+
*
|
|
5
|
+
* By default, items held by an NPC (actor) are visible but not reachable
|
|
6
|
+
* by the player — like a closed transparent container. Adding this trait
|
|
7
|
+
* to an actor makes their inventory reachable, allowing the player to
|
|
8
|
+
* take items directly from them.
|
|
9
|
+
*
|
|
10
|
+
* @public OpenInventoryTrait
|
|
11
|
+
* @owner world-model / scope
|
|
12
|
+
*/
|
|
13
|
+
import { ITrait } from '../trait';
|
|
14
|
+
/**
|
|
15
|
+
* When applied to an actor, makes their carried items reachable by others.
|
|
16
|
+
*
|
|
17
|
+
* Without this trait, NPC inventory items are VISIBLE but not REACHABLE.
|
|
18
|
+
* With this trait, NPC inventory items follow normal reachability rules.
|
|
19
|
+
*
|
|
20
|
+
* Use cases:
|
|
21
|
+
* - A horse carrying saddlebags the player can reach into
|
|
22
|
+
* - A friendly NPC holding out an item for the player to take
|
|
23
|
+
* - A dead NPC whose belongings are accessible
|
|
24
|
+
*/
|
|
25
|
+
export declare class OpenInventoryTrait implements ITrait {
|
|
26
|
+
static readonly type: "openInventory";
|
|
27
|
+
readonly type: "openInventory";
|
|
28
|
+
constructor(data?: Partial<OpenInventoryTrait>);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=openInventoryTrait.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openInventoryTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/open-inventory/openInventoryTrait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;;;;;;GAUG;AACH,qBAAa,kBAAmB,YAAW,MAAM;IAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,kBAA4B;IAChD,QAAQ,CAAC,IAAI,kBAA4B;gBAE7B,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;CAK/C"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file Open Inventory Trait
|
|
4
|
+
* @description Marks an NPC's inventory as reachable by other actors.
|
|
5
|
+
*
|
|
6
|
+
* By default, items held by an NPC (actor) are visible but not reachable
|
|
7
|
+
* by the player — like a closed transparent container. Adding this trait
|
|
8
|
+
* to an actor makes their inventory reachable, allowing the player to
|
|
9
|
+
* take items directly from them.
|
|
10
|
+
*
|
|
11
|
+
* @public OpenInventoryTrait
|
|
12
|
+
* @owner world-model / scope
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.OpenInventoryTrait = void 0;
|
|
16
|
+
const trait_types_1 = require("../trait-types");
|
|
17
|
+
/**
|
|
18
|
+
* When applied to an actor, makes their carried items reachable by others.
|
|
19
|
+
*
|
|
20
|
+
* Without this trait, NPC inventory items are VISIBLE but not REACHABLE.
|
|
21
|
+
* With this trait, NPC inventory items follow normal reachability rules.
|
|
22
|
+
*
|
|
23
|
+
* Use cases:
|
|
24
|
+
* - A horse carrying saddlebags the player can reach into
|
|
25
|
+
* - A friendly NPC holding out an item for the player to take
|
|
26
|
+
* - A dead NPC whose belongings are accessible
|
|
27
|
+
*/
|
|
28
|
+
class OpenInventoryTrait {
|
|
29
|
+
static type = trait_types_1.TraitType.OPEN_INVENTORY;
|
|
30
|
+
type = trait_types_1.TraitType.OPEN_INVENTORY;
|
|
31
|
+
constructor(data) {
|
|
32
|
+
if (data) {
|
|
33
|
+
Object.assign(this, data);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.OpenInventoryTrait = OpenInventoryTrait;
|
|
38
|
+
//# sourceMappingURL=openInventoryTrait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openInventoryTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/open-inventory/openInventoryTrait.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAGH,gDAA2C;AAE3C;;;;;;;;;;GAUG;AACH,MAAa,kBAAkB;IAC7B,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,cAAc,CAAC;IACvC,IAAI,GAAG,uBAAS,CAAC,cAAc,CAAC;IAEzC,YAAY,IAAkC;QAC5C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;;AARH,gDASC"}
|