@ai-rpg-engine/modules 2.0.0 → 2.0.1
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/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/social-consequence.d.ts +43 -0
- package/dist/social-consequence.d.ts.map +1 -0
- package/dist/social-consequence.js +87 -0
- package/dist/social-consequence.js.map +1 -0
- package/package.json +13 -3
package/dist/index.d.ts
CHANGED
|
@@ -28,4 +28,6 @@ export { createObserverPresentation, presentForObserver, presentForAllObservers,
|
|
|
28
28
|
export type { ObserverContext, PresentationRule, ObserverPresentedEvent, ObserverPresentationConfig, DivergenceRecord, } from './observer-presentation.js';
|
|
29
29
|
export { createSimulationInspector, inspectEntity, inspectAllEntities, inspectFaction, inspectAllFactions, inspectZone, inspectAllZones, inspectDistrict, inspectAllDistricts, createSnapshot, formatEntityInspection, formatFactionInspection, formatDistrictInspection, } from './simulation-inspector.js';
|
|
30
30
|
export type { EntityInspection, FactionInspection, ZoneInspection, DistrictInspection, SimulationSnapshot, } from './simulation-inspector.js';
|
|
31
|
+
export { deriveStance, getReputationConsequence, evolveTitle, buildPlayerDescriptor, } from './social-consequence.js';
|
|
32
|
+
export type { Stance, ReputationConsequence, TitleEvolution, } from './social-consequence.js';
|
|
31
33
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,4 +15,5 @@ export { createDistrictCore, getDistrictForZone, getDistrictState, getDistrictDe
|
|
|
15
15
|
export { createBeliefProvenance, traceEntityBelief, traceFactionBelief, traceSubject, formatBeliefTrace, } from './belief-provenance.js';
|
|
16
16
|
export { createObserverPresentation, presentForObserver, presentForAllObservers, getDivergences, getEventDivergences, } from './observer-presentation.js';
|
|
17
17
|
export { createSimulationInspector, inspectEntity, inspectAllEntities, inspectFaction, inspectAllFactions, inspectZone, inspectAllZones, inspectDistrict, inspectAllDistricts, createSnapshot, formatEntityInspection, formatFactionInspection, formatDistrictInspection, } from './simulation-inspector.js';
|
|
18
|
+
export { deriveStance, getReputationConsequence, evolveTitle, buildPlayerDescriptor, } from './social-consequence.js';
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEzI,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,SAAS,EACT,cAAc,EACd,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAY7B,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,YAAY,GACb,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,UAAU,EACV,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,UAAU,EACV,cAAc,GACf,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEzI,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,SAAS,EACT,cAAc,EACd,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAY7B,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,YAAY,GACb,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,UAAU,EACV,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,UAAU,EACV,cAAc,GACf,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,WAAW,EACX,qBAAqB,GACtB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export type Stance = 'hostile' | 'fearful' | 'awed' | 'pitying' | 'opportunistic' | 'kinship' | 'neutral';
|
|
2
|
+
export type ReputationConsequence = {
|
|
3
|
+
/** Price multiplier: < 1 = discount, > 1 = markup */
|
|
4
|
+
priceModifier: number;
|
|
5
|
+
/** Access level granted by the faction */
|
|
6
|
+
accessLevel: 'denied' | 'restricted' | 'normal' | 'privileged';
|
|
7
|
+
/** One-liner for prompt injection describing faction attitude */
|
|
8
|
+
dialogueBias: string;
|
|
9
|
+
};
|
|
10
|
+
export type TitleEvolution = {
|
|
11
|
+
/** Prepend to current title */
|
|
12
|
+
prefix?: string;
|
|
13
|
+
/** Append to current title */
|
|
14
|
+
suffix?: string;
|
|
15
|
+
/** Full replacement (overrides prefix/suffix) */
|
|
16
|
+
replace?: string;
|
|
17
|
+
/** All of these milestone tags must be present */
|
|
18
|
+
requiredTags: string[];
|
|
19
|
+
/** Minimum count of each required tag (default: 1) */
|
|
20
|
+
minCount?: number;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Derive an NPC's social stance toward the player.
|
|
24
|
+
* Priority cascade — first matching condition wins.
|
|
25
|
+
*/
|
|
26
|
+
export declare function deriveStance(reputationValue: number, cognition: {
|
|
27
|
+
morale: number;
|
|
28
|
+
suspicion: number;
|
|
29
|
+
}, alertLevel: number): Stance;
|
|
30
|
+
/**
|
|
31
|
+
* Map a reputation value to mechanical consequences.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getReputationConsequence(reputationValue: number): ReputationConsequence;
|
|
34
|
+
/**
|
|
35
|
+
* Check if milestone tags qualify for a title evolution.
|
|
36
|
+
* Returns the evolved title, or the current title if no evolution matches.
|
|
37
|
+
*/
|
|
38
|
+
export declare function evolveTitle(currentTitle: string | undefined, milestoneTags: string[], evolutions: TitleEvolution[]): string | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Build a rumorized identity string for how NPCs describe the player.
|
|
41
|
+
*/
|
|
42
|
+
export declare function buildPlayerDescriptor(name: string, archetypeId: string, level: number, injuryNames: string[], titleStr?: string): string;
|
|
43
|
+
//# sourceMappingURL=social-consequence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"social-consequence.d.ts","sourceRoot":"","sources":["../src/social-consequence.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,MAAM,GACd,SAAS,GACT,SAAS,GACT,MAAM,GACN,SAAS,GACT,eAAe,GACf,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,qBAAqB,GAAG;IAClC,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,WAAW,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC/D,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAIF;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAChD,UAAU,EAAE,MAAM,GACjB,MAAM,CAQR;AAID;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,qBAAqB,CAcvF;AAID;;;GAGG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,aAAa,EAAE,MAAM,EAAE,EACvB,UAAU,EAAE,cAAc,EAAE,GAC3B,MAAM,GAAG,SAAS,CAqBpB;AAID;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAgBR"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// social-consequence — pure helpers for deriving social reactions
|
|
2
|
+
// No module registration; operates on existing cognition/faction/reputation data.
|
|
3
|
+
// --- Stance Derivation ---
|
|
4
|
+
/**
|
|
5
|
+
* Derive an NPC's social stance toward the player.
|
|
6
|
+
* Priority cascade — first matching condition wins.
|
|
7
|
+
*/
|
|
8
|
+
export function deriveStance(reputationValue, cognition, alertLevel) {
|
|
9
|
+
if (reputationValue <= -60)
|
|
10
|
+
return 'hostile';
|
|
11
|
+
if (cognition.suspicion >= 80)
|
|
12
|
+
return 'fearful';
|
|
13
|
+
if (reputationValue >= 60)
|
|
14
|
+
return 'awed';
|
|
15
|
+
if (cognition.morale <= 20)
|
|
16
|
+
return 'pitying';
|
|
17
|
+
if (alertLevel >= 50 && reputationValue < 0)
|
|
18
|
+
return 'opportunistic';
|
|
19
|
+
if (reputationValue >= 30)
|
|
20
|
+
return 'kinship';
|
|
21
|
+
return 'neutral';
|
|
22
|
+
}
|
|
23
|
+
// --- Reputation Consequences ---
|
|
24
|
+
/**
|
|
25
|
+
* Map a reputation value to mechanical consequences.
|
|
26
|
+
*/
|
|
27
|
+
export function getReputationConsequence(reputationValue) {
|
|
28
|
+
if (reputationValue <= -60) {
|
|
29
|
+
return { priceModifier: 1.5, accessLevel: 'denied', dialogueBias: 'This one is not welcome here.' };
|
|
30
|
+
}
|
|
31
|
+
if (reputationValue <= -20) {
|
|
32
|
+
return { priceModifier: 1.3, accessLevel: 'restricted', dialogueBias: 'Watch this one carefully.' };
|
|
33
|
+
}
|
|
34
|
+
if (reputationValue >= 60) {
|
|
35
|
+
return { priceModifier: 0.7, accessLevel: 'privileged', dialogueBias: 'We are honored by your presence.' };
|
|
36
|
+
}
|
|
37
|
+
if (reputationValue >= 20) {
|
|
38
|
+
return { priceModifier: 0.9, accessLevel: 'normal', dialogueBias: 'A friend of the faction.' };
|
|
39
|
+
}
|
|
40
|
+
return { priceModifier: 1.0, accessLevel: 'normal', dialogueBias: '' };
|
|
41
|
+
}
|
|
42
|
+
// --- Title Evolution ---
|
|
43
|
+
/**
|
|
44
|
+
* Check if milestone tags qualify for a title evolution.
|
|
45
|
+
* Returns the evolved title, or the current title if no evolution matches.
|
|
46
|
+
*/
|
|
47
|
+
export function evolveTitle(currentTitle, milestoneTags, evolutions) {
|
|
48
|
+
// Count tag occurrences
|
|
49
|
+
const tagCounts = new Map();
|
|
50
|
+
for (const tag of milestoneTags) {
|
|
51
|
+
tagCounts.set(tag, (tagCounts.get(tag) ?? 0) + 1);
|
|
52
|
+
}
|
|
53
|
+
for (const evo of evolutions) {
|
|
54
|
+
const minCount = evo.minCount ?? 1;
|
|
55
|
+
const qualifies = evo.requiredTags.every((tag) => (tagCounts.get(tag) ?? 0) >= minCount);
|
|
56
|
+
if (!qualifies)
|
|
57
|
+
continue;
|
|
58
|
+
if (evo.replace)
|
|
59
|
+
return evo.replace;
|
|
60
|
+
if (!currentTitle)
|
|
61
|
+
continue;
|
|
62
|
+
if (evo.prefix)
|
|
63
|
+
return `${evo.prefix} ${currentTitle}`;
|
|
64
|
+
if (evo.suffix)
|
|
65
|
+
return `${currentTitle} ${evo.suffix}`;
|
|
66
|
+
}
|
|
67
|
+
return currentTitle;
|
|
68
|
+
}
|
|
69
|
+
// --- Player Descriptor (for rumors) ---
|
|
70
|
+
/**
|
|
71
|
+
* Build a rumorized identity string for how NPCs describe the player.
|
|
72
|
+
*/
|
|
73
|
+
export function buildPlayerDescriptor(name, archetypeId, level, injuryNames, titleStr) {
|
|
74
|
+
const parts = [];
|
|
75
|
+
if (titleStr) {
|
|
76
|
+
parts.push(`${name} "${titleStr}"`);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
parts.push(name);
|
|
80
|
+
}
|
|
81
|
+
parts.push(`a level ${level} ${archetypeId}`);
|
|
82
|
+
if (injuryNames.length > 0) {
|
|
83
|
+
parts.push(`bearing ${injuryNames.join(' and ')}`);
|
|
84
|
+
}
|
|
85
|
+
return parts.join(', ');
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=social-consequence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"social-consequence.js","sourceRoot":"","sources":["../src/social-consequence.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-rpg-engine/modules",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "AI RPG Engine built-in modules: combat, dialogue, inventory, traversal, status",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
"import": "./dist/index.js"
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
|
-
"files": [
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
15
17
|
"scripts": {
|
|
16
18
|
"build": "tsc",
|
|
17
19
|
"test": "vitest run"
|
|
@@ -28,7 +30,15 @@
|
|
|
28
30
|
"url": "https://github.com/mcp-tool-shop-org/ai-rpg-engine.git",
|
|
29
31
|
"directory": "packages/modules"
|
|
30
32
|
},
|
|
31
|
-
"keywords": [
|
|
33
|
+
"keywords": [
|
|
34
|
+
"rpg",
|
|
35
|
+
"game-engine",
|
|
36
|
+
"simulation",
|
|
37
|
+
"combat",
|
|
38
|
+
"perception",
|
|
39
|
+
"cognition",
|
|
40
|
+
"factions"
|
|
41
|
+
],
|
|
32
42
|
"bugs": {
|
|
33
43
|
"url": "https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"
|
|
34
44
|
},
|