@ai-rpg-engine/modules 1.0.0

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.
Files changed (117) hide show
  1. package/dist/belief-provenance.d.ts +41 -0
  2. package/dist/belief-provenance.d.ts.map +1 -0
  3. package/dist/belief-provenance.js +254 -0
  4. package/dist/belief-provenance.js.map +1 -0
  5. package/dist/belief-provenance.test.d.ts +2 -0
  6. package/dist/belief-provenance.test.d.ts.map +1 -0
  7. package/dist/belief-provenance.test.js +139 -0
  8. package/dist/belief-provenance.test.js.map +1 -0
  9. package/dist/cognition-core.d.ts +89 -0
  10. package/dist/cognition-core.d.ts.map +1 -0
  11. package/dist/cognition-core.js +370 -0
  12. package/dist/cognition-core.js.map +1 -0
  13. package/dist/cognition-core.test.d.ts +2 -0
  14. package/dist/cognition-core.test.d.ts.map +1 -0
  15. package/dist/cognition-core.test.js +215 -0
  16. package/dist/cognition-core.test.js.map +1 -0
  17. package/dist/combat-core.d.ts +11 -0
  18. package/dist/combat-core.d.ts.map +1 -0
  19. package/dist/combat-core.js +152 -0
  20. package/dist/combat-core.js.map +1 -0
  21. package/dist/dialogue-core.d.ts +10 -0
  22. package/dist/dialogue-core.d.ts.map +1 -0
  23. package/dist/dialogue-core.js +172 -0
  24. package/dist/dialogue-core.js.map +1 -0
  25. package/dist/district-core.d.ts +59 -0
  26. package/dist/district-core.d.ts.map +1 -0
  27. package/dist/district-core.js +224 -0
  28. package/dist/district-core.js.map +1 -0
  29. package/dist/district-core.test.d.ts +2 -0
  30. package/dist/district-core.test.d.ts.map +1 -0
  31. package/dist/district-core.test.js +157 -0
  32. package/dist/district-core.test.js.map +1 -0
  33. package/dist/environment-core.d.ts +78 -0
  34. package/dist/environment-core.d.ts.map +1 -0
  35. package/dist/environment-core.js +229 -0
  36. package/dist/environment-core.js.map +1 -0
  37. package/dist/environment-core.test.d.ts +2 -0
  38. package/dist/environment-core.test.d.ts.map +1 -0
  39. package/dist/environment-core.test.js +252 -0
  40. package/dist/environment-core.test.js.map +1 -0
  41. package/dist/faction-cognition.d.ts +39 -0
  42. package/dist/faction-cognition.d.ts.map +1 -0
  43. package/dist/faction-cognition.js +139 -0
  44. package/dist/faction-cognition.js.map +1 -0
  45. package/dist/faction-cognition.test.d.ts +2 -0
  46. package/dist/faction-cognition.test.d.ts.map +1 -0
  47. package/dist/faction-cognition.test.js +166 -0
  48. package/dist/faction-cognition.test.js.map +1 -0
  49. package/dist/index.d.ts +31 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +18 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/inventory-core.d.ts +10 -0
  54. package/dist/inventory-core.d.ts.map +1 -0
  55. package/dist/inventory-core.js +69 -0
  56. package/dist/inventory-core.js.map +1 -0
  57. package/dist/knowledge-decay.test.d.ts +2 -0
  58. package/dist/knowledge-decay.test.d.ts.map +1 -0
  59. package/dist/knowledge-decay.test.js +143 -0
  60. package/dist/knowledge-decay.test.js.map +1 -0
  61. package/dist/narrative-authority.d.ts +40 -0
  62. package/dist/narrative-authority.d.ts.map +1 -0
  63. package/dist/narrative-authority.js +89 -0
  64. package/dist/narrative-authority.js.map +1 -0
  65. package/dist/narrative-authority.test.d.ts +2 -0
  66. package/dist/narrative-authority.test.d.ts.map +1 -0
  67. package/dist/narrative-authority.test.js +237 -0
  68. package/dist/narrative-authority.test.js.map +1 -0
  69. package/dist/observer-presentation.d.ts +74 -0
  70. package/dist/observer-presentation.d.ts.map +1 -0
  71. package/dist/observer-presentation.js +277 -0
  72. package/dist/observer-presentation.js.map +1 -0
  73. package/dist/observer-presentation.test.d.ts +2 -0
  74. package/dist/observer-presentation.test.d.ts.map +1 -0
  75. package/dist/observer-presentation.test.js +156 -0
  76. package/dist/observer-presentation.test.js.map +1 -0
  77. package/dist/perception-filter.d.ts +46 -0
  78. package/dist/perception-filter.d.ts.map +1 -0
  79. package/dist/perception-filter.js +281 -0
  80. package/dist/perception-filter.js.map +1 -0
  81. package/dist/perception-filter.test.d.ts +2 -0
  82. package/dist/perception-filter.test.d.ts.map +1 -0
  83. package/dist/perception-filter.test.js +308 -0
  84. package/dist/perception-filter.test.js.map +1 -0
  85. package/dist/progression-core.d.ts +63 -0
  86. package/dist/progression-core.d.ts.map +1 -0
  87. package/dist/progression-core.js +232 -0
  88. package/dist/progression-core.js.map +1 -0
  89. package/dist/progression-core.test.d.ts +2 -0
  90. package/dist/progression-core.test.d.ts.map +1 -0
  91. package/dist/progression-core.test.js +328 -0
  92. package/dist/progression-core.test.js.map +1 -0
  93. package/dist/rumor-propagation.d.ts +31 -0
  94. package/dist/rumor-propagation.d.ts.map +1 -0
  95. package/dist/rumor-propagation.js +180 -0
  96. package/dist/rumor-propagation.js.map +1 -0
  97. package/dist/rumor-propagation.test.d.ts +2 -0
  98. package/dist/rumor-propagation.test.d.ts.map +1 -0
  99. package/dist/rumor-propagation.test.js +176 -0
  100. package/dist/rumor-propagation.test.js.map +1 -0
  101. package/dist/simulation-inspector.d.ts +78 -0
  102. package/dist/simulation-inspector.d.ts.map +1 -0
  103. package/dist/simulation-inspector.js +263 -0
  104. package/dist/simulation-inspector.js.map +1 -0
  105. package/dist/simulation-inspector.test.d.ts +2 -0
  106. package/dist/simulation-inspector.test.d.ts.map +1 -0
  107. package/dist/simulation-inspector.test.js +152 -0
  108. package/dist/simulation-inspector.test.js.map +1 -0
  109. package/dist/status-core.d.ts +17 -0
  110. package/dist/status-core.d.ts.map +1 -0
  111. package/dist/status-core.js +106 -0
  112. package/dist/status-core.js.map +1 -0
  113. package/dist/traversal-core.d.ts +3 -0
  114. package/dist/traversal-core.d.ts.map +1 -0
  115. package/dist/traversal-core.js +93 -0
  116. package/dist/traversal-core.js.map +1 -0
  117. package/package.json +34 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"district-core.js","sourceRoot":"","sources":["../src/district-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=district-core.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"district-core.test.d.ts","sourceRoot":"","sources":["../src/district-core.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,157 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { Engine } from '@ai-rpg-engine/core';
3
+ import { traversalCore, combatCore, createCognitionCore, createPerceptionFilter, createEnvironmentCore, createFactionCognition, createRumorPropagation, createDistrictCore, getDistrictState, getDistrictForZone, getDistrictMetric, modifyDistrictMetric, isDistrictOnAlert, getDistrictThreatLevel, getAllDistrictIds, } from './index.js';
4
+ const manifest = {
5
+ id: 'district-test', title: '', version: '0.1.0',
6
+ engineVersion: '0.1.0', ruleset: 'test', modules: [], contentPacks: [],
7
+ };
8
+ const zones = [
9
+ { id: 'zone-a', roomId: 'r1', name: 'Zone A', tags: [], neighbors: ['zone-b'], stability: 5 },
10
+ { id: 'zone-b', roomId: 'r1', name: 'Zone B', tags: [], neighbors: ['zone-a', 'zone-c'], stability: 3 },
11
+ { id: 'zone-c', roomId: 'r2', name: 'Zone C', tags: [], neighbors: ['zone-b'] },
12
+ ];
13
+ const districts = [
14
+ {
15
+ id: 'district-alpha',
16
+ name: 'Alpha District',
17
+ zoneIds: ['zone-a', 'zone-b'],
18
+ tags: ['patrolled'],
19
+ controllingFaction: 'guards',
20
+ },
21
+ {
22
+ id: 'district-beta',
23
+ name: 'Beta District',
24
+ zoneIds: ['zone-c'],
25
+ tags: ['neutral'],
26
+ },
27
+ ];
28
+ const player = {
29
+ id: 'player', blueprintId: 'player', type: 'player', name: 'Player',
30
+ tags: ['player'], stats: { vigor: 5, instinct: 5 }, resources: { hp: 20, stamina: 8 },
31
+ statuses: [], zoneId: 'zone-a',
32
+ };
33
+ const guard = {
34
+ id: 'guard', blueprintId: 'guard', type: 'enemy', name: 'Guard',
35
+ tags: ['enemy'], stats: { vigor: 4, instinct: 4 }, resources: { hp: 15, stamina: 4 },
36
+ statuses: [], zoneId: 'zone-b',
37
+ ai: { profileId: 'aggressive', goals: [], fears: [], alertLevel: 0, knowledge: {} },
38
+ };
39
+ function createTestEngine() {
40
+ const engine = new Engine({
41
+ manifest,
42
+ seed: 42,
43
+ modules: [
44
+ traversalCore,
45
+ combatCore,
46
+ createCognitionCore(),
47
+ createPerceptionFilter(),
48
+ createEnvironmentCore(),
49
+ createFactionCognition({
50
+ factions: [{ factionId: 'guards', entityIds: ['guard'], cohesion: 0.8 }],
51
+ }),
52
+ createRumorPropagation(),
53
+ createDistrictCore({ districts }),
54
+ ],
55
+ });
56
+ for (const zone of zones)
57
+ engine.store.addZone(zone);
58
+ engine.store.addEntity({ ...player });
59
+ engine.store.addEntity({ ...guard });
60
+ engine.store.state.playerId = 'player';
61
+ engine.store.state.locationId = 'zone-a';
62
+ return engine;
63
+ }
64
+ describe('District Core', () => {
65
+ it('initializes districts with correct zone mapping', () => {
66
+ const engine = createTestEngine();
67
+ expect(getDistrictForZone(engine.world, 'zone-a')).toBe('district-alpha');
68
+ expect(getDistrictForZone(engine.world, 'zone-b')).toBe('district-alpha');
69
+ expect(getDistrictForZone(engine.world, 'zone-c')).toBe('district-beta');
70
+ });
71
+ it('initializes district state with default metrics', () => {
72
+ const engine = createTestEngine();
73
+ const state = getDistrictState(engine.world, 'district-alpha');
74
+ expect(state).toBeDefined();
75
+ expect(state.alertPressure).toBe(0);
76
+ expect(state.rumorDensity).toBe(0);
77
+ expect(state.intruderLikelihood).toBe(0);
78
+ expect(state.surveillance).toBe(0);
79
+ });
80
+ it('returns all district IDs', () => {
81
+ const engine = createTestEngine();
82
+ const ids = getAllDistrictIds(engine.world);
83
+ expect(ids).toContain('district-alpha');
84
+ expect(ids).toContain('district-beta');
85
+ expect(ids.length).toBe(2);
86
+ });
87
+ it('raises alert pressure on combat events', () => {
88
+ const engine = createTestEngine();
89
+ engine.store.state.entities['player'].zoneId = 'zone-b';
90
+ engine.store.state.locationId = 'zone-b';
91
+ engine.submitAction('attack', { targetIds: ['guard'] });
92
+ const state = getDistrictState(engine.world, 'district-alpha');
93
+ expect(state.alertPressure).toBeGreaterThan(0);
94
+ expect(state.eventCount).toBeGreaterThan(0);
95
+ });
96
+ it('raises intruder likelihood when non-faction entity enters', () => {
97
+ const engine = createTestEngine();
98
+ // Player (not in guards faction) moves into the faction-controlled district
99
+ engine.submitAction('move', { targetIds: ['zone-b'] });
100
+ const state = getDistrictState(engine.world, 'district-alpha');
101
+ expect(state.intruderLikelihood).toBe(10);
102
+ });
103
+ it('does not raise intruder likelihood for factionless districts', () => {
104
+ const engine = createTestEngine();
105
+ engine.store.state.entities['player'].zoneId = 'zone-b';
106
+ engine.store.state.locationId = 'zone-b';
107
+ engine.submitAction('move', { targetIds: ['zone-c'] });
108
+ const state = getDistrictState(engine.world, 'district-beta');
109
+ expect(state.intruderLikelihood).toBe(0);
110
+ });
111
+ it('decays metrics on district-tick', () => {
112
+ const engine = createTestEngine();
113
+ // Set up some pressure
114
+ modifyDistrictMetric(engine.world, 'district-alpha', 'alertPressure', 20);
115
+ engine.submitAction('district-tick');
116
+ const state = getDistrictState(engine.world, 'district-alpha');
117
+ expect(state.alertPressure).toBe(19); // decayed by 1
118
+ });
119
+ it('modifyDistrictMetric clamps to 0-100', () => {
120
+ const engine = createTestEngine();
121
+ modifyDistrictMetric(engine.world, 'district-alpha', 'alertPressure', -50);
122
+ expect(getDistrictMetric(engine.world, 'district-alpha', 'alertPressure')).toBe(0);
123
+ modifyDistrictMetric(engine.world, 'district-alpha', 'alertPressure', 150);
124
+ expect(getDistrictMetric(engine.world, 'district-alpha', 'alertPressure')).toBe(100);
125
+ });
126
+ it('isDistrictOnAlert returns true when alertPressure > 30', () => {
127
+ const engine = createTestEngine();
128
+ expect(isDistrictOnAlert(engine.world, 'district-alpha')).toBe(false);
129
+ modifyDistrictMetric(engine.world, 'district-alpha', 'alertPressure', 35);
130
+ expect(isDistrictOnAlert(engine.world, 'district-alpha')).toBe(true);
131
+ });
132
+ it('getDistrictThreatLevel combines metrics', () => {
133
+ const engine = createTestEngine();
134
+ modifyDistrictMetric(engine.world, 'district-alpha', 'alertPressure', 50);
135
+ modifyDistrictMetric(engine.world, 'district-alpha', 'intruderLikelihood', 40);
136
+ modifyDistrictMetric(engine.world, 'district-alpha', 'rumorDensity', 30);
137
+ const threat = getDistrictThreatLevel(engine.world, 'district-alpha');
138
+ // 50*0.4 + 40*0.35 + 30*0.25 = 20 + 14 + 7.5 = 41.5 → 42
139
+ expect(threat).toBe(42);
140
+ });
141
+ it('updates surveillance based on faction member presence', () => {
142
+ const engine = createTestEngine();
143
+ // Guard is in zone-b which is in district-alpha
144
+ engine.submitAction('district-tick');
145
+ const state = getDistrictState(engine.world, 'district-alpha');
146
+ // Guard is the only faction member, surveillance = 1 * 15 = 15
147
+ expect(state.surveillance).toBe(15);
148
+ });
149
+ it('syncs stability from constituent zones', () => {
150
+ const engine = createTestEngine();
151
+ engine.submitAction('district-tick');
152
+ const state = getDistrictState(engine.world, 'district-alpha');
153
+ // zone-a stability=5, zone-b stability=3, average = 4
154
+ expect(state.stability).toBe(4);
155
+ });
156
+ });
157
+ //# sourceMappingURL=district-core.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"district-core.test.js","sourceRoot":"","sources":["../src/district-core.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import type { EngineModule, WorldState, ZoneState, EntityState, ResolvedEvent } from '@ai-rpg-engine/core';
2
+ /** A rule that modifies zone properties in response to events */
3
+ export type EnvironmentRule = {
4
+ id: string;
5
+ /** Event pattern to react to */
6
+ eventPattern: string;
7
+ /** Which zone property to modify */
8
+ property: string;
9
+ /** How much to change by (or function of event) */
10
+ delta: number | ((event: ResolvedEvent, zone: ZoneState, world: WorldState) => number);
11
+ /** Optional: decay back toward a baseline over time */
12
+ decay?: {
13
+ rate: number;
14
+ baseline: number;
15
+ };
16
+ };
17
+ /** A hazard that triggers effects on entities */
18
+ export type HazardDefinition = {
19
+ id: string;
20
+ /** Event pattern that triggers the hazard check */
21
+ triggerOn: string;
22
+ /** Condition: does this hazard activate? */
23
+ condition: (zone: ZoneState, entity: EntityState, world: WorldState) => boolean;
24
+ /** What happens when the hazard activates */
25
+ effect: (zone: ZoneState, entity: EntityState, world: WorldState, tick: number) => ResolvedEvent[];
26
+ };
27
+ /** Passive zone tick effect (runs every tick for affected zones) */
28
+ export type ZoneTickEffect = {
29
+ id: string;
30
+ /** Condition: which zones get this effect? */
31
+ condition: (zone: ZoneState, world: WorldState) => boolean;
32
+ /** Apply the effect */
33
+ apply: (zone: ZoneState, world: WorldState, tick: number) => ResolvedEvent[];
34
+ };
35
+ export type EnvironmentCoreConfig = {
36
+ /** Rules that modify zone properties in response to events */
37
+ rules?: EnvironmentRule[];
38
+ /** Hazard definitions */
39
+ hazards?: HazardDefinition[];
40
+ /** Passive zone tick effects */
41
+ tickEffects?: ZoneTickEffect[];
42
+ };
43
+ export type EnvironmentState = {
44
+ /** Zone property overrides/dynamic values: zoneId → property → value */
45
+ dynamics: Record<string, Record<string, number>>;
46
+ /** Active decay timers */
47
+ decays: DecayTimer[];
48
+ /** Hazard activation log */
49
+ hazardLog: HazardEvent[];
50
+ };
51
+ export type DecayTimer = {
52
+ zoneId: string;
53
+ property: string;
54
+ rate: number;
55
+ baseline: number;
56
+ };
57
+ export type HazardEvent = {
58
+ hazardId: string;
59
+ zoneId: string;
60
+ entityId: string;
61
+ tick: number;
62
+ };
63
+ export declare function createEnvironmentCore(config?: EnvironmentCoreConfig): EngineModule;
64
+ /** Get effective zone property value (base + dynamic override) */
65
+ export declare function getZoneProperty(world: WorldState, zoneId: string, property: string): number;
66
+ /** Set a dynamic zone property (overrides base) */
67
+ export declare function setZoneProperty(world: WorldState, zoneId: string, property: string, value: number): void;
68
+ /** Modify a zone property by delta */
69
+ export declare function modifyZoneProperty(world: WorldState, zoneId: string, property: string, delta: number): number;
70
+ /** Process environmental decay (call between actions or on tick) */
71
+ export declare function processEnvironmentDecays(world: WorldState): void;
72
+ /** Get all active hazard events for a zone */
73
+ export declare function getHazardLog(world: WorldState, zoneId?: string): HazardEvent[];
74
+ /** Check if a zone has a specific tag */
75
+ export declare function zoneHasTag(world: WorldState, zoneId: string, tag: string): boolean;
76
+ /** Get all entities in a zone */
77
+ export declare function entitiesInZone(world: WorldState, zoneId: string): EntityState[];
78
+ //# sourceMappingURL=environment-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-core.d.ts","sourceRoot":"","sources":["../src/environment-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,229 @@
1
+ // environment-core — zones as active simulation participants
2
+ // Light, noise, stability, hazards react to events and affect mechanics.
3
+ // Environment is not decorative — it participates.
4
+ // --- Module ---
5
+ export function createEnvironmentCore(config) {
6
+ const rules = config?.rules ?? [];
7
+ const hazards = config?.hazards ?? [];
8
+ const tickEffects = config?.tickEffects ?? [];
9
+ // Add built-in rules
10
+ const allRules = [
11
+ ...getBuiltinRules(),
12
+ ...rules,
13
+ ];
14
+ return {
15
+ id: 'environment-core',
16
+ version: '0.1.0',
17
+ register(ctx) {
18
+ ctx.persistence.registerNamespace('environment-core', {
19
+ dynamics: {},
20
+ decays: [],
21
+ hazardLog: [],
22
+ });
23
+ // Register environment rules
24
+ for (const rule of allRules) {
25
+ ctx.events.on(rule.eventPattern, (event, world) => {
26
+ applyEnvironmentRule(rule, event, world);
27
+ });
28
+ }
29
+ // Register hazard checks
30
+ for (const hazard of hazards) {
31
+ ctx.events.on(hazard.triggerOn, (event, world) => {
32
+ checkHazard(hazard, event, world);
33
+ });
34
+ }
35
+ // Register 'environment-tick' verb for tick processing (decays + tick effects)
36
+ ctx.actions.registerVerb('environment-tick', (action, world) => {
37
+ processDecays(world);
38
+ return processEnvironmentTick(world, tickEffects, action.issuedAtTick);
39
+ });
40
+ },
41
+ };
42
+ }
43
+ // --- State Access ---
44
+ function getEnvironmentState(world) {
45
+ return (world.modules['environment-core'] ?? {
46
+ dynamics: {},
47
+ decays: [],
48
+ hazardLog: [],
49
+ });
50
+ }
51
+ // --- Zone Property Access ---
52
+ /** Get effective zone property value (base + dynamic override) */
53
+ export function getZoneProperty(world, zoneId, property) {
54
+ const zone = world.zones[zoneId];
55
+ if (!zone)
56
+ return 0;
57
+ // Check dynamic override first
58
+ const state = getEnvironmentState(world);
59
+ const dynamic = state.dynamics[zoneId]?.[property];
60
+ // Base value from zone definition
61
+ const base = zone[property];
62
+ if (dynamic !== undefined)
63
+ return dynamic;
64
+ return base ?? 0;
65
+ }
66
+ /** Set a dynamic zone property (overrides base) */
67
+ export function setZoneProperty(world, zoneId, property, value) {
68
+ const state = getEnvironmentState(world);
69
+ if (!state.dynamics[zoneId]) {
70
+ state.dynamics[zoneId] = {};
71
+ }
72
+ state.dynamics[zoneId][property] = value;
73
+ }
74
+ /** Modify a zone property by delta */
75
+ export function modifyZoneProperty(world, zoneId, property, delta) {
76
+ const current = getZoneProperty(world, zoneId, property);
77
+ const newValue = current + delta;
78
+ setZoneProperty(world, zoneId, property, newValue);
79
+ return newValue;
80
+ }
81
+ /** Process environmental decay (call between actions or on tick) */
82
+ export function processEnvironmentDecays(world) {
83
+ processDecays(world);
84
+ }
85
+ /** Get all active hazard events for a zone */
86
+ export function getHazardLog(world, zoneId) {
87
+ const state = getEnvironmentState(world);
88
+ if (zoneId)
89
+ return state.hazardLog.filter((h) => h.zoneId === zoneId);
90
+ return state.hazardLog;
91
+ }
92
+ /** Check if a zone has a specific tag */
93
+ export function zoneHasTag(world, zoneId, tag) {
94
+ return world.zones[zoneId]?.tags.includes(tag) ?? false;
95
+ }
96
+ /** Get all entities in a zone */
97
+ export function entitiesInZone(world, zoneId) {
98
+ return Object.values(world.entities).filter((e) => e.zoneId === zoneId);
99
+ }
100
+ // --- Built-in Rules ---
101
+ function getBuiltinRules() {
102
+ return [
103
+ // Combat raises noise in the zone
104
+ {
105
+ id: 'combat-noise',
106
+ eventPattern: 'combat.contact.hit',
107
+ property: 'noise',
108
+ delta: 3,
109
+ decay: { rate: 1, baseline: 0 },
110
+ },
111
+ // Missed attacks still make noise
112
+ {
113
+ id: 'combat-miss-noise',
114
+ eventPattern: 'combat.contact.miss',
115
+ property: 'noise',
116
+ delta: 2,
117
+ decay: { rate: 1, baseline: 0 },
118
+ },
119
+ // Entity defeat is very noticeable
120
+ {
121
+ id: 'defeat-noise',
122
+ eventPattern: 'combat.entity.defeated',
123
+ property: 'noise',
124
+ delta: 5,
125
+ decay: { rate: 2, baseline: 0 },
126
+ },
127
+ // Zone entry adds minor noise
128
+ {
129
+ id: 'entry-noise',
130
+ eventPattern: 'world.zone.entered',
131
+ property: 'noise',
132
+ delta: 1,
133
+ decay: { rate: 1, baseline: 0 },
134
+ },
135
+ ];
136
+ }
137
+ // --- Internal ---
138
+ function applyEnvironmentRule(rule, event, world) {
139
+ const zoneId = getEventZoneId(event, world);
140
+ if (!zoneId)
141
+ return;
142
+ const zone = world.zones[zoneId];
143
+ if (!zone)
144
+ return;
145
+ const delta = typeof rule.delta === 'function'
146
+ ? rule.delta(event, zone, world)
147
+ : rule.delta;
148
+ modifyZoneProperty(world, zoneId, rule.property, delta);
149
+ // Register decay if configured
150
+ if (rule.decay) {
151
+ const state = getEnvironmentState(world);
152
+ // Only add decay if one doesn't already exist for this zone+property
153
+ const existing = state.decays.find((d) => d.zoneId === zoneId && d.property === rule.property);
154
+ if (!existing) {
155
+ state.decays.push({
156
+ zoneId,
157
+ property: rule.property,
158
+ rate: rule.decay.rate,
159
+ baseline: rule.decay.baseline,
160
+ });
161
+ }
162
+ }
163
+ }
164
+ function checkHazard(hazard, event, world) {
165
+ const zoneId = getEventZoneId(event, world);
166
+ if (!zoneId)
167
+ return;
168
+ const zone = world.zones[zoneId];
169
+ if (!zone)
170
+ return;
171
+ // Check all entities in the zone
172
+ for (const entity of Object.values(world.entities)) {
173
+ if (entity.zoneId !== zoneId)
174
+ continue;
175
+ if (hazard.condition(zone, entity, world)) {
176
+ hazard.effect(zone, entity, world, event.tick);
177
+ const state = getEnvironmentState(world);
178
+ state.hazardLog.push({
179
+ hazardId: hazard.id,
180
+ zoneId,
181
+ entityId: entity.id,
182
+ tick: event.tick,
183
+ });
184
+ }
185
+ }
186
+ }
187
+ function processDecays(world) {
188
+ const state = getEnvironmentState(world);
189
+ const toRemove = [];
190
+ for (let i = 0; i < state.decays.length; i++) {
191
+ const decay = state.decays[i];
192
+ const current = getZoneProperty(world, decay.zoneId, decay.property);
193
+ if (Math.abs(current - decay.baseline) < 0.01) {
194
+ // Close enough to baseline, remove the decay timer
195
+ setZoneProperty(world, decay.zoneId, decay.property, decay.baseline);
196
+ toRemove.push(i);
197
+ continue;
198
+ }
199
+ // Move toward baseline
200
+ const direction = current > decay.baseline ? -1 : 1;
201
+ const step = Math.min(decay.rate, Math.abs(current - decay.baseline));
202
+ modifyZoneProperty(world, decay.zoneId, decay.property, direction * step);
203
+ }
204
+ // Remove completed decays (reverse to maintain indices)
205
+ for (let i = toRemove.length - 1; i >= 0; i--) {
206
+ state.decays.splice(toRemove[i], 1);
207
+ }
208
+ }
209
+ function processEnvironmentTick(world, tickEffects, tick) {
210
+ const events = [];
211
+ for (const zone of Object.values(world.zones)) {
212
+ for (const effect of tickEffects) {
213
+ if (effect.condition(zone, world)) {
214
+ events.push(...effect.apply(zone, world, tick));
215
+ }
216
+ }
217
+ }
218
+ return events;
219
+ }
220
+ function getEventZoneId(event, world) {
221
+ if (event.payload.zoneId)
222
+ return event.payload.zoneId;
223
+ if (event.actorId)
224
+ return world.entities[event.actorId]?.zoneId;
225
+ if (event.targetIds?.[0])
226
+ return world.entities[event.targetIds[0]]?.zoneId;
227
+ return undefined;
228
+ }
229
+ //# sourceMappingURL=environment-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-core.js","sourceRoot":"","sources":["../src/environment-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=environment-core.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-core.test.d.ts","sourceRoot":"","sources":["../src/environment-core.test.ts"],"names":[],"mappings":""}