rpg-event-generator 4.0.1 → 5.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 (53) hide show
  1. package/README.md +1 -1
  2. package/demo.js +7 -2
  3. package/dist/RPGEventGenerator.d.ts +1 -1
  4. package/dist/RPGEventGenerator.d.ts.map +1 -1
  5. package/dist/RPGEventGenerator.js +7 -7
  6. package/dist/RPGEventGenerator.js.map +1 -1
  7. package/dist/chains/ChainSystem.d.ts +3 -2
  8. package/dist/chains/ChainSystem.d.ts.map +1 -1
  9. package/dist/chains/ChainSystem.js +4 -4
  10. package/dist/chains/ChainSystem.js.map +1 -1
  11. package/dist/core/DescriptionFragmentLibrary.d.ts +3 -2
  12. package/dist/core/DescriptionFragmentLibrary.d.ts.map +1 -1
  13. package/dist/core/DescriptionFragmentLibrary.js +4 -4
  14. package/dist/core/DescriptionFragmentLibrary.js.map +1 -1
  15. package/dist/core/GeneratorCore.d.ts +3 -2
  16. package/dist/core/GeneratorCore.d.ts.map +1 -1
  17. package/dist/core/GeneratorCore.js +23 -23
  18. package/dist/core/GeneratorCore.js.map +1 -1
  19. package/dist/core/GrammarRulesEngine.d.ts +3 -2
  20. package/dist/core/GrammarRulesEngine.d.ts.map +1 -1
  21. package/dist/core/GrammarRulesEngine.js +4 -4
  22. package/dist/core/GrammarRulesEngine.js.map +1 -1
  23. package/dist/core/SentenceBuilder.d.ts +3 -2
  24. package/dist/core/SentenceBuilder.d.ts.map +1 -1
  25. package/dist/core/SentenceBuilder.js +7 -36
  26. package/dist/core/SentenceBuilder.js.map +1 -1
  27. package/dist/environment/EnvironmentalSystem.d.ts +3 -2
  28. package/dist/environment/EnvironmentalSystem.d.ts.map +1 -1
  29. package/dist/environment/EnvironmentalSystem.js +4 -4
  30. package/dist/environment/EnvironmentalSystem.js.map +1 -1
  31. package/dist/src/types/config.d.ts +3 -1
  32. package/dist/src/types/config.d.ts.map +1 -1
  33. package/dist/src/utils/random.d.ts +73 -0
  34. package/dist/src/utils/random.d.ts.map +1 -0
  35. package/dist/src/utils/random.js +182 -0
  36. package/dist/src/utils/random.js.map +1 -0
  37. package/dist/time/TimeSystem.d.ts +3 -2
  38. package/dist/time/TimeSystem.d.ts.map +1 -1
  39. package/dist/time/TimeSystem.js +6 -6
  40. package/dist/time/TimeSystem.js.map +1 -1
  41. package/dist/types/config.d.ts +3 -1
  42. package/dist/types/config.d.ts.map +1 -1
  43. package/dist/utils/random.d.ts +23 -2
  44. package/dist/utils/random.d.ts.map +1 -1
  45. package/dist/utils/random.js +62 -5
  46. package/dist/utils/random.js.map +1 -1
  47. package/dist/utils/version.d.ts +1 -1
  48. package/dist/utils/version.js +1 -1
  49. package/dist/world/WorldBuildingSystem.d.ts +1 -1
  50. package/dist/world/WorldBuildingSystem.d.ts.map +1 -1
  51. package/dist/world/WorldBuildingSystem.js +66 -59
  52. package/dist/world/WorldBuildingSystem.js.map +1 -1
  53. package/package.json +1 -5
@@ -3,33 +3,15 @@
3
3
  // Builds grammatically correct sentences programmatically
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.SentenceBuilder = void 0;
6
- const chance_1 = require("chance");
7
- let nlp;
8
- try {
9
- nlp = require('compromise');
10
- }
11
- catch (e) {
12
- nlp = null;
13
- }
6
+ const random_1 = require("../utils/random");
14
7
  class SentenceBuilder {
15
- constructor(chance) {
16
- this.chance = chance || new chance_1.Chance();
8
+ constructor(rng) {
9
+ this.rng = rng || new random_1.SeededRandom();
17
10
  }
18
11
  /**
19
12
  * Get appropriate article (a/an) for a word
20
13
  */
21
14
  getArticle(word) {
22
- if (nlp) {
23
- try {
24
- const doc = nlp(word);
25
- const article = doc.articles().out('text');
26
- if (article && (article.toLowerCase() === 'a' || article.toLowerCase() === 'an')) {
27
- return article.toLowerCase();
28
- }
29
- }
30
- catch (e) {
31
- }
32
- }
33
15
  const vowels = ['a', 'e', 'i', 'o', 'u'];
34
16
  const firstLetter = word.toLowerCase().charAt(0);
35
17
  if (vowels.includes(firstLetter)) {
@@ -141,7 +123,7 @@ class SentenceBuilder {
141
123
  addModifiers(sentence, modifiers) {
142
124
  let modified = sentence;
143
125
  if (modifiers.adjectives && modifiers.adjectives.length > 0) {
144
- const adj = this.chance.pickone(modifiers.adjectives);
126
+ const adj = this.rng.pickone(modifiers.adjectives);
145
127
  const words = modified.split(' ');
146
128
  const nounIndex = words.findIndex((w, i) => {
147
129
  if (i === 0)
@@ -155,7 +137,7 @@ class SentenceBuilder {
155
137
  }
156
138
  }
157
139
  if (modifiers.adverbs && modifiers.adverbs.length > 0) {
158
- const adv = this.chance.pickone(modifiers.adverbs);
140
+ const adv = this.rng.pickone(modifiers.adverbs);
159
141
  const verbIndex = modified.search(/\b(is|are|was|were|has|have|had|do|does|did|will|would|could|should|may|might|can)\b/i);
160
142
  if (verbIndex > -1) {
161
143
  const beforeVerb = modified.substring(0, verbIndex).trim();
@@ -271,19 +253,8 @@ class SentenceBuilder {
271
253
  if (!sentence.match(/[.!?]$/)) {
272
254
  return false;
273
255
  }
274
- if (nlp) {
275
- try {
276
- const doc = nlp(sentence);
277
- const hasSubject = doc.nouns().length > 0 || doc.match('#Pronoun').length > 0;
278
- const hasVerb = doc.verbs().length > 0;
279
- if (!hasSubject || !hasVerb) {
280
- return false;
281
- }
282
- }
283
- catch (e) {
284
- }
285
- }
286
- return true;
256
+ const words = sentence.trim().replace(/[.!?]+$/, '').split(/\s+/);
257
+ return words.length >= 2;
287
258
  }
288
259
  }
289
260
  exports.SentenceBuilder = SentenceBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"SentenceBuilder.js","sourceRoot":"","sources":["../../src/core/SentenceBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SentenceBuilder.js","sourceRoot":"","sources":["../../src/core/SentenceBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { SeededRandom } from '../utils/random';
1
2
  import { IEnvironmentalSystem } from '../interfaces';
2
3
  export interface EnvironmentalContext {
3
4
  weather?: string;
@@ -48,8 +49,8 @@ export interface ModifiedEvent {
48
49
  export declare class EnvironmentalSystem implements IEnvironmentalSystem {
49
50
  private modifiers;
50
51
  private activeModifiers;
51
- private chance;
52
- constructor(chance?: Chance.Chance);
52
+ private rng;
53
+ constructor(rng?: SeededRandom);
53
54
  /**
54
55
  * Initialize built-in environmental modifiers
55
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"EnvironmentalSystem.d.ts","sourceRoot":"","sources":["../../src/environment/EnvironmentalSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnvironmentalSystem.d.ts","sourceRoot":"","sources":["../../src/environment/EnvironmentalSystem.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,12 @@
3
3
  // Manages weather, seasonal, and environmental modifiers
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.EnvironmentalSystem = void 0;
6
- const chance_1 = require("chance");
6
+ const random_1 = require("../utils/random");
7
7
  class EnvironmentalSystem {
8
- constructor(chance = new chance_1.Chance()) {
8
+ constructor(rng = new random_1.SeededRandom()) {
9
9
  this.modifiers = new Map();
10
10
  this.activeModifiers = new Set();
11
- this.chance = chance;
11
+ this.rng = rng;
12
12
  this.initializeBuiltInModifiers();
13
13
  }
14
14
  /**
@@ -247,7 +247,7 @@ class EnvironmentalSystem {
247
247
  }
248
248
  // Add descriptors
249
249
  if (textModifiers.add_descriptors && textModifiers.add_descriptors.length > 0) {
250
- const descriptor = this.chance.pickone(textModifiers.add_descriptors);
250
+ const descriptor = this.rng.pickone(textModifiers.add_descriptors);
251
251
  // Simple insertion - could be made more sophisticated
252
252
  event.description = event.description.replace(/\b(the|a)\b/i, `$1 ${descriptor}`);
253
253
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EnvironmentalSystem.js","sourceRoot":"","sources":["../../src/environment/EnvironmentalSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnvironmentalSystem.js","sourceRoot":"","sources":["../../src/environment/EnvironmentalSystem.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,10 @@ import { Template, ChainDefinition } from './templates';
2
2
  import { NPC } from './npcs';
3
3
  import { RuleDefinition } from './rules';
4
4
  import { AIEnhancementOptions } from '../ai';
5
+ import { SeededRandom } from '../utils/random';
5
6
  export interface GeneratorOptions {
6
- chance?: any;
7
+ /** Injectable seeded RNG for reproducible generation */
8
+ rng?: SeededRandom;
7
9
  stateSize?: number;
8
10
  trainingData?: string[];
9
11
  theme?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Get a random integer between min and max (inclusive)
3
+ */
4
+ export declare function randomInt(min: number, max: number): number;
5
+ /**
6
+ * Get a random float between min and max
7
+ */
8
+ export declare function randomFloat(min: number, max: number): number;
9
+ /**
10
+ * Pick a random element from an array
11
+ */
12
+ export declare function randomChoice<T>(array: T[]): T;
13
+ /**
14
+ * Pick multiple random elements from an array (without replacement)
15
+ */
16
+ export declare function randomChoices<T>(array: T[], count: number): T[];
17
+ /**
18
+ * Generate a random boolean with given probability (0-1)
19
+ */
20
+ export declare function randomBool(probability?: number): boolean;
21
+ /**
22
+ * Clamp a number between min and max
23
+ */
24
+ export declare function clamp(value: number, min: number, max: number): number;
25
+ /**
26
+ * Generate a random number from a normal distribution
27
+ */
28
+ export declare function randomNormal(mean?: number, stdDev?: number): number;
29
+ /**
30
+ * Shuffle an array in place using Fisher-Yates algorithm
31
+ */
32
+ export declare function shuffle<T>(array: T[]): T[];
33
+ /**
34
+ * Weighted random selection from an array of items with weights
35
+ */
36
+ export declare function weightedChoice<T>(items: T[], weights: number[]): T;
37
+ /**
38
+ * Generate a random string of specified length
39
+ */
40
+ export declare function randomString(length: number): string;
41
+ /**
42
+ * Seeded random number generator for reproducible results
43
+ */
44
+ export declare class SeededRandom {
45
+ private seed;
46
+ constructor(seed?: number | string);
47
+ next(): number;
48
+ nextInt(min: number, max: number): number;
49
+ nextChoice<T>(array: T[]): T;
50
+ nextBool(probability?: number): boolean;
51
+ pickone<T>(array: T[]): T;
52
+ pickset<T>(array: T[], count: number): T[];
53
+ bool(options: {
54
+ likelihood: number;
55
+ }): boolean;
56
+ integer(options: {
57
+ min: number;
58
+ max: number;
59
+ }): number;
60
+ floating(options: {
61
+ min: number;
62
+ max: number;
63
+ }): number;
64
+ string(options: {
65
+ length: number;
66
+ pool?: string;
67
+ }): string;
68
+ guid(): string;
69
+ shuffle<T>(array: T[]): T[];
70
+ }
71
+ /** Injectable RNG type for generator subsystems */
72
+ export type RandomSource = SeededRandom;
73
+ //# sourceMappingURL=random.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../src/utils/random.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAE7C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAG/D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,WAAW,GAAE,MAAY,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAU,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAMzE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAM1C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAiBlE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOnD;AAcD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAIlC,IAAI,IAAI,MAAM;IAKd,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAIzC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC;IAI5B,QAAQ,CAAC,WAAW,GAAE,MAAY,GAAG,OAAO;IAI5C,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC;IAOzB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;IAU1C,IAAI,CAAC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAI9C,OAAO,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAItD,QAAQ,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAIvD,MAAM,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAS1D,IAAI,IAAI,MAAM;IASd,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;CAQ5B;AAED,mDAAmD;AACnD,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC"}
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ // RPG Event Generator v5.0.0 - Random Utility Functions
3
+ // Centralized random number generation and probability helpers
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.SeededRandom = void 0;
6
+ exports.randomInt = randomInt;
7
+ exports.randomFloat = randomFloat;
8
+ exports.randomChoice = randomChoice;
9
+ exports.randomChoices = randomChoices;
10
+ exports.randomBool = randomBool;
11
+ exports.clamp = clamp;
12
+ exports.randomNormal = randomNormal;
13
+ exports.shuffle = shuffle;
14
+ exports.weightedChoice = weightedChoice;
15
+ exports.randomString = randomString;
16
+ /**
17
+ * Get a random integer between min and max (inclusive)
18
+ */
19
+ function randomInt(min, max) {
20
+ return Math.floor(Math.random() * (max - min + 1)) + min;
21
+ }
22
+ /**
23
+ * Get a random float between min and max
24
+ */
25
+ function randomFloat(min, max) {
26
+ return Math.random() * (max - min) + min;
27
+ }
28
+ /**
29
+ * Pick a random element from an array
30
+ */
31
+ function randomChoice(array) {
32
+ return array[Math.floor(Math.random() * array.length)];
33
+ }
34
+ /**
35
+ * Pick multiple random elements from an array (without replacement)
36
+ */
37
+ function randomChoices(array, count) {
38
+ const shuffled = [...array].sort(() => Math.random() - 0.5);
39
+ return shuffled.slice(0, Math.min(count, array.length));
40
+ }
41
+ /**
42
+ * Generate a random boolean with given probability (0-1)
43
+ */
44
+ function randomBool(probability = 0.5) {
45
+ return Math.random() < probability;
46
+ }
47
+ /**
48
+ * Clamp a number between min and max
49
+ */
50
+ function clamp(value, min, max) {
51
+ return Math.min(Math.max(value, min), max);
52
+ }
53
+ /**
54
+ * Generate a random number from a normal distribution
55
+ */
56
+ function randomNormal(mean = 0, stdDev = 1) {
57
+ // Box-Muller transform
58
+ const u1 = Math.random();
59
+ const u2 = Math.random();
60
+ const z0 = Math.sqrt(-2 * Math.log(u1)) * Math.cos(2 * Math.PI * u2);
61
+ return z0 * stdDev + mean;
62
+ }
63
+ /**
64
+ * Shuffle an array in place using Fisher-Yates algorithm
65
+ */
66
+ function shuffle(array) {
67
+ for (let i = array.length - 1; i > 0; i--) {
68
+ const j = Math.floor(Math.random() * (i + 1));
69
+ [array[i], array[j]] = [array[j], array[i]];
70
+ }
71
+ return array;
72
+ }
73
+ /**
74
+ * Weighted random selection from an array of items with weights
75
+ */
76
+ function weightedChoice(items, weights) {
77
+ if (items.length !== weights.length) {
78
+ throw new Error('Items and weights arrays must have the same length');
79
+ }
80
+ const totalWeight = weights.reduce((sum, weight) => sum + weight, 0);
81
+ let random = Math.random() * totalWeight;
82
+ for (let i = 0; i < items.length; i++) {
83
+ random -= weights[i];
84
+ if (random <= 0) {
85
+ return items[i];
86
+ }
87
+ }
88
+ // Fallback to last item
89
+ return items[items.length - 1];
90
+ }
91
+ /**
92
+ * Generate a random string of specified length
93
+ */
94
+ function randomString(length) {
95
+ const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
96
+ let result = '';
97
+ for (let i = 0; i < length; i++) {
98
+ result += chars.charAt(Math.floor(Math.random() * chars.length));
99
+ }
100
+ return result;
101
+ }
102
+ function hashSeed(seed) {
103
+ if (typeof seed === 'number') {
104
+ return Math.abs(Math.floor(seed)) % 233280 || 1;
105
+ }
106
+ let hash = 0;
107
+ for (let i = 0; i < seed.length; i++) {
108
+ hash = (hash * 31 + seed.charCodeAt(i)) % 233280;
109
+ }
110
+ return hash || 1;
111
+ }
112
+ /**
113
+ * Seeded random number generator for reproducible results
114
+ */
115
+ class SeededRandom {
116
+ constructor(seed) {
117
+ this.seed = seed !== undefined ? hashSeed(seed) : Math.floor(Math.random() * 233280);
118
+ }
119
+ next() {
120
+ this.seed = (this.seed * 9301 + 49297) % 233280;
121
+ return this.seed / 233280;
122
+ }
123
+ nextInt(min, max) {
124
+ return Math.floor(this.next() * (max - min + 1)) + min;
125
+ }
126
+ nextChoice(array) {
127
+ return array[this.nextInt(0, array.length - 1)];
128
+ }
129
+ nextBool(probability = 0.5) {
130
+ return this.next() < probability;
131
+ }
132
+ pickone(array) {
133
+ if (array.length === 0) {
134
+ throw new Error('Cannot pick from an empty array');
135
+ }
136
+ return this.nextChoice(array);
137
+ }
138
+ pickset(array, count) {
139
+ const n = Math.min(count, array.length);
140
+ const copy = [...array];
141
+ for (let i = 0; i < n; i++) {
142
+ const j = i + this.nextInt(0, copy.length - 1 - i);
143
+ [copy[i], copy[j]] = [copy[j], copy[i]];
144
+ }
145
+ return copy.slice(0, n);
146
+ }
147
+ bool(options) {
148
+ return this.next() < options.likelihood / 100;
149
+ }
150
+ integer(options) {
151
+ return this.nextInt(options.min, options.max);
152
+ }
153
+ floating(options) {
154
+ return this.next() * (options.max - options.min) + options.min;
155
+ }
156
+ string(options) {
157
+ const pool = options.pool ?? 'abcdefghijklmnopqrstuvwxyz0123456789';
158
+ let result = '';
159
+ for (let i = 0; i < options.length; i++) {
160
+ result += pool.charAt(this.nextInt(0, pool.length - 1));
161
+ }
162
+ return result;
163
+ }
164
+ guid() {
165
+ let result = '';
166
+ const hex = '0123456789abcdef';
167
+ for (let i = 0; i < 32; i++) {
168
+ result += hex.charAt(this.nextInt(0, 15));
169
+ }
170
+ return result;
171
+ }
172
+ shuffle(array) {
173
+ const copy = [...array];
174
+ for (let i = copy.length - 1; i > 0; i--) {
175
+ const j = this.nextInt(0, i);
176
+ [copy[i], copy[j]] = [copy[j], copy[i]];
177
+ }
178
+ return copy;
179
+ }
180
+ }
181
+ exports.SeededRandom = SeededRandom;
182
+ //# sourceMappingURL=random.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../src/utils/random.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { SeededRandom } from '../utils/random';
1
2
  import { ITimeSystem } from '../interfaces';
2
3
  export interface TimeSystemState {
3
4
  currentDay: number;
@@ -44,8 +45,8 @@ export declare class TimeSystem implements ITimeSystem {
44
45
  private state;
45
46
  private seasonalEvents;
46
47
  private timeBasedEventChains;
47
- private chance;
48
- constructor(chance?: Chance.Chance);
48
+ private rng;
49
+ constructor(rng?: SeededRandom);
49
50
  /**
50
51
  * Initialize seasonal event data
51
52
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TimeSystem.d.ts","sourceRoot":"","sources":["../../src/time/TimeSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TimeSystem.d.ts","sourceRoot":"","sources":["../../src/time/TimeSystem.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,11 @@
3
3
  // Manages game time, seasons, and time-based events
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.TimeSystem = void 0;
6
- const chance_1 = require("chance");
6
+ const random_1 = require("../utils/random");
7
7
  const utils_1 = require("../utils");
8
8
  class TimeSystem {
9
- constructor(chance = new chance_1.Chance()) {
10
- this.chance = chance;
9
+ constructor(rng = new random_1.SeededRandom()) {
10
+ this.rng = rng;
11
11
  this.state = {
12
12
  currentDay: utils_1.TIME_CONSTANTS.STARTING_DAY,
13
13
  currentSeason: utils_1.TIME_CONSTANTS.STARTING_SEASON,
@@ -161,10 +161,10 @@ class TimeSystem {
161
161
  * Check for random seasonal events
162
162
  */
163
163
  checkSeasonalRandomEvents(triggeredEvents) {
164
- if (this.chance.bool({ likelihood: 10 })) { // 10% chance per day
164
+ if (this.rng.bool({ likelihood: 10 })) { // 10% chance per day
165
165
  const seasonalData = this.seasonalEvents.get(this.state.currentSeason);
166
166
  if (seasonalData && seasonalData.templates.length > 0) {
167
- const randomTemplate = this.chance.pickone(seasonalData.templates);
167
+ const randomTemplate = this.rng.pickone(seasonalData.templates);
168
168
  triggeredEvents.push({
169
169
  type: 'seasonal_random',
170
170
  season: this.state.currentSeason,
@@ -182,7 +182,7 @@ class TimeSystem {
182
182
  console.warn(`Time-based chain '${chainName}' not found`);
183
183
  return false;
184
184
  }
185
- const chainId = `time_chain_${Date.now()}_${this.chance.guid().substring(0, 8)}`;
185
+ const chainId = `time_chain_${Date.now()}_${this.rng.guid().substring(0, 8)}`;
186
186
  this.state.timeBasedEvents.set(chainId, {
187
187
  definition: chainName,
188
188
  stage: 0,