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.
- package/README.md +1 -1
- package/demo.js +7 -2
- package/dist/RPGEventGenerator.d.ts +1 -1
- package/dist/RPGEventGenerator.d.ts.map +1 -1
- package/dist/RPGEventGenerator.js +7 -7
- package/dist/RPGEventGenerator.js.map +1 -1
- package/dist/chains/ChainSystem.d.ts +3 -2
- package/dist/chains/ChainSystem.d.ts.map +1 -1
- package/dist/chains/ChainSystem.js +4 -4
- package/dist/chains/ChainSystem.js.map +1 -1
- package/dist/core/DescriptionFragmentLibrary.d.ts +3 -2
- package/dist/core/DescriptionFragmentLibrary.d.ts.map +1 -1
- package/dist/core/DescriptionFragmentLibrary.js +4 -4
- package/dist/core/DescriptionFragmentLibrary.js.map +1 -1
- package/dist/core/GeneratorCore.d.ts +3 -2
- package/dist/core/GeneratorCore.d.ts.map +1 -1
- package/dist/core/GeneratorCore.js +23 -23
- package/dist/core/GeneratorCore.js.map +1 -1
- package/dist/core/GrammarRulesEngine.d.ts +3 -2
- package/dist/core/GrammarRulesEngine.d.ts.map +1 -1
- package/dist/core/GrammarRulesEngine.js +4 -4
- package/dist/core/GrammarRulesEngine.js.map +1 -1
- package/dist/core/SentenceBuilder.d.ts +3 -2
- package/dist/core/SentenceBuilder.d.ts.map +1 -1
- package/dist/core/SentenceBuilder.js +7 -36
- package/dist/core/SentenceBuilder.js.map +1 -1
- package/dist/environment/EnvironmentalSystem.d.ts +3 -2
- package/dist/environment/EnvironmentalSystem.d.ts.map +1 -1
- package/dist/environment/EnvironmentalSystem.js +4 -4
- package/dist/environment/EnvironmentalSystem.js.map +1 -1
- package/dist/src/types/config.d.ts +3 -1
- package/dist/src/types/config.d.ts.map +1 -1
- package/dist/src/utils/random.d.ts +73 -0
- package/dist/src/utils/random.d.ts.map +1 -0
- package/dist/src/utils/random.js +182 -0
- package/dist/src/utils/random.js.map +1 -0
- package/dist/time/TimeSystem.d.ts +3 -2
- package/dist/time/TimeSystem.d.ts.map +1 -1
- package/dist/time/TimeSystem.js +6 -6
- package/dist/time/TimeSystem.js.map +1 -1
- package/dist/types/config.d.ts +3 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/random.d.ts +23 -2
- package/dist/utils/random.d.ts.map +1 -1
- package/dist/utils/random.js +62 -5
- package/dist/utils/random.js.map +1 -1
- package/dist/utils/version.d.ts +1 -1
- package/dist/utils/version.js +1 -1
- package/dist/world/WorldBuildingSystem.d.ts +1 -1
- package/dist/world/WorldBuildingSystem.d.ts.map +1 -1
- package/dist/world/WorldBuildingSystem.js +66 -59
- package/dist/world/WorldBuildingSystem.js.map +1 -1
- 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
|
|
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(
|
|
16
|
-
this.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
275
|
-
|
|
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":";AAAA,0BAA0B;AAC1B,0DAA0D;;;AAE1D,mCAAgC;AAEhC,IAAI,GAAQ,CAAC;AACb,IAAI,CAAC;IACH,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACX,GAAG,GAAG,IAAI,CAAC;AACb,CAAC;AAsBD,MAAa,eAAe;IAG1B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,eAAM,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,IAAY;QAC7B,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtB,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;oBACjF,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC/B,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3E,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC9K,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAe,EAAE,IAAY,EAAE,MAAc,EAAE,OAIvD;QACC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YACxC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YACtC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;YACvC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YACzC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YACjE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAE1C,IAAI,QAAQ,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7F,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,QAAQ,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QACpD,CAAC;QAED,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAC;QAEvB,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,QAAQ,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QACjD,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YACvC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YACrC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;YACtC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAChE,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,GAAG,aAAa,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAE/C,QAAQ,IAAI,IAAI,iBAAiB,GAAG,CAAC;QAErC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAe,EAAE,IAAY,EAAE,OAKtC;QACC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YACxC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YACtC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;YACvC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YACzC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YACjE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAE1C,IAAI,QAAQ,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7F,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,QAAQ,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QACpD,CAAC;QAED,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAC;QAEvB,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,QAAQ,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACxB,QAAQ,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvC,CAAC;QAED,QAAQ,IAAI,GAAG,CAAC;QAEhB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAe,EAAE,IAAY,EAAE,UAAkB,EAAE,OAI3D;QACC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YACxC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YACtC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;YACvC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YACzC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YACjE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAE1C,IAAI,QAAQ,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7F,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,QAAQ,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QACpD,CAAC;QAED,QAAQ,IAAI,IAAI,IAAI,IAAI,UAAU,GAAG,CAAC;QAEtC,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAAe,EAAE,OAAe,EAAE,WAAkD;QACjG,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEvD,OAAO,GAAG,YAAY,IAAI,WAAW,IAAI,YAAY,GAAG,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,QAAgB,EAAE,SAG9B;QACC,IAAI,QAAQ,GAAG,QAAQ,CAAC;QAExB,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,CAAC,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBACxC,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC9C,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,uFAAuF,CAAC,CAAC;YAE3H,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;gBACnB,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,SAAS,EAAE,CAAC;oBACd,QAAQ,GAAG,GAAG,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;oBAClC,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC9B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACzF,CAAC,CAAC,CAAC;gBACH,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9C,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;oBAChD,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,SAA4B;QAC7C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;QAErD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,KAAK;gBACR,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBAC/D,QAAQ,GAAG,IAAI,CAAC,QAAQ,CACtB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,MAAM,EACjB;wBACE,SAAS,EAAE,UAAU,CAAC,SAAS;wBAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;wBACzB,OAAO,EAAE,UAAU,CAAC,OAAO;qBAC5B,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM;YAER,KAAK,IAAI;gBACP,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;oBAC1C,QAAQ,GAAG,IAAI,CAAC,OAAO,CACrB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,IAAI,EACf;wBACE,SAAS,EAAE,UAAU,CAAC,SAAS;wBAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;wBACzB,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,OAAO,EAAE,UAAU,CAAC,OAAO;qBAC5B,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM;YAER,KAAK,KAAK;gBACR,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;oBACnE,QAAQ,GAAG,IAAI,CAAC,QAAQ,CACtB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,UAAU,EACrB;wBACE,SAAS,EAAE,UAAU,CAAC,SAAS;wBAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;wBACzB,OAAO,EAAE,UAAU,CAAC,OAAO;qBAC5B,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM;YAER,KAAK,SAAS;gBACZ,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;oBACzC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBACzE,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;wBACjD,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;wBAChD,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;wBAC1E,CAAC,CAAC,UAAU,CAAC,MAAM;wBACnB,CAAC,CAAC,GAAG,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;oBAEpD,QAAQ,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvF,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;wBACzB,QAAQ,IAAI,IAAI,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;oBACvD,CAAC;oBACD,QAAQ,IAAI,IAAI,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;gBAChG,CAAC;gBACD,MAAM;YAER,KAAK,YAAY;gBACf,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;oBACpB,QAAQ,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnF,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;wBACtB,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;wBACzD,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;4BACjD,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;4BAChD,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;4BAC1E,CAAC,CAAC,UAAU,CAAC,MAAM;4BACnB,CAAC,CAAC,GAAG,aAAa,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;wBAC1D,QAAQ,IAAI,IAAI,iBAAiB,EAAE,CAAC;oBACtC,CAAC;oBACD,QAAQ,IAAI,GAAG,CAAC;gBAClB,CAAC;gBACD,MAAM;YAER,KAAK,aAAa;gBAChB,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;oBAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAC1E,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;wBACnD,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;wBACjD,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;wBAC3E,CAAC,CAAC,UAAU,CAAC,OAAO;wBACpB,CAAC,CAAC,GAAG,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;oBAErD,QAAQ,GAAG,QAAQ,kBAAkB,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC;gBAC9D,CAAC;gBACD,MAAM;QACV,CAAC;QAED,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YAC1B,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,QAAgB;QAChC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC9E,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;gBAEvC,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC5B,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnWD,0CAmWC"}
|
|
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
|
|
52
|
-
constructor(
|
|
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":"
|
|
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
|
|
6
|
+
const random_1 = require("../utils/random");
|
|
7
7
|
class EnvironmentalSystem {
|
|
8
|
-
constructor(
|
|
8
|
+
constructor(rng = new random_1.SeededRandom()) {
|
|
9
9
|
this.modifiers = new Map();
|
|
10
10
|
this.activeModifiers = new Set();
|
|
11
|
-
this.
|
|
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.
|
|
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":";AAAA,oDAAoD;AACpD,yDAAyD;;;AAEzD,
|
|
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
|
-
|
|
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":"AAGA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;
|
|
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
|
|
48
|
-
constructor(
|
|
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":"
|
|
1
|
+
{"version":3,"file":"TimeSystem.d.ts","sourceRoot":"","sources":["../../src/time/TimeSystem.ts"],"names":[],"mappings":"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"}
|
package/dist/time/TimeSystem.js
CHANGED
|
@@ -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
|
|
6
|
+
const random_1 = require("../utils/random");
|
|
7
7
|
const utils_1 = require("../utils");
|
|
8
8
|
class TimeSystem {
|
|
9
|
-
constructor(
|
|
10
|
-
this.
|
|
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.
|
|
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.
|
|
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.
|
|
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,
|