narrat 2.2.15 → 2.2.16

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 (108) hide show
  1. package/LICENSE +21 -21
  2. package/dist/app.vue.d.ts +94 -98
  3. package/dist/components/MainMenu.vue.d.ts +12 -12
  4. package/dist/components/Skills.vue.d.ts +22 -22
  5. package/dist/components/StartMenu.vue.d.ts +46 -46
  6. package/dist/components/debug/debug-menu.vue.d.ts +48 -48
  7. package/dist/components/dialog-picture.vue.d.ts +9 -9
  8. package/dist/components/engine-splash/engine-splash.vue.d.ts +54 -0
  9. package/dist/components/game-dialog.vue.d.ts +65 -65
  10. package/dist/components/game-splash/game-splash.vue.d.ts +46 -0
  11. package/dist/components/hud.vue.d.ts +14 -14
  12. package/dist/components/in-game.vue.d.ts +46 -46
  13. package/dist/components/inventory-ui.vue.d.ts +30 -30
  14. package/dist/components/loading-bar.vue.d.ts +10 -10
  15. package/dist/components/menu-buttons.vue.d.ts +26 -26
  16. package/dist/components/notification-toast.vue.d.ts +6 -6
  17. package/dist/components/quests-ui.vue.d.ts +20 -20
  18. package/dist/components/save-slots.vue.d.ts +79 -79
  19. package/dist/components/saves/save-slot.vue.d.ts +108 -108
  20. package/dist/components/screen-layer.vue.d.ts +76 -76
  21. package/dist/components/screens.vue.d.ts +46 -46
  22. package/dist/components/transitions/NarratTransition.vue.d.ts +101 -101
  23. package/dist/components/utils/alert-modal.vue.d.ts +82 -82
  24. package/dist/components/utils/modal.vue.d.ts +18 -18
  25. package/dist/components/utils/yes-no.vue.d.ts +106 -106
  26. package/dist/components/volume-controls.vue.d.ts +18 -18
  27. package/dist/config.d.ts +181 -181
  28. package/dist/constants.d.ts +8 -8
  29. package/dist/defaultConfig.d.ts +2 -2
  30. package/dist/demo/demo.d.ts +1 -1
  31. package/dist/dialog-box.vue.d.ts +41 -41
  32. package/dist/exports/config.d.ts +1 -1
  33. package/dist/exports/display.d.ts +2 -2
  34. package/dist/exports/plugins.d.ts +20 -20
  35. package/dist/favicon.svg +30 -30
  36. package/dist/lib.d.ts +14 -14
  37. package/dist/main.d.ts +6 -6
  38. package/dist/narrat.es.js +9159 -9065
  39. package/dist/narrat.es.js.map +1 -1
  40. package/dist/narrat.umd.js +79 -79
  41. package/dist/narrat.umd.js.map +1 -1
  42. package/dist/plugins/NarratPlugin.d.ts +11 -11
  43. package/dist/stores/audio-store.d.ts +48 -48
  44. package/dist/stores/dialog-store.d.ts +32 -32
  45. package/dist/stores/hud-stats-store.d.ts +22 -22
  46. package/dist/stores/inventory-store.d.ts +37 -37
  47. package/dist/stores/main-store.d.ts +822 -727
  48. package/dist/stores/notification-store.d.ts +15 -15
  49. package/dist/stores/quest-log.d.ts +39 -39
  50. package/dist/stores/rendering-store.d.ts +13 -13
  51. package/dist/stores/screens-store.d.ts +35 -35
  52. package/dist/stores/skills.d.ts +40 -40
  53. package/dist/stores/vm-store.d.ts +180 -180
  54. package/dist/style.css +1 -1
  55. package/dist/types/app-types.d.ts +5 -5
  56. package/dist/types/character-types.d.ts +27 -27
  57. package/dist/types/dialog-box-types.d.ts +11 -11
  58. package/dist/types/game-save.d.ts +36 -36
  59. package/dist/types/parser.d.ts +93 -93
  60. package/dist/types/state.d.ts +3 -3
  61. package/dist/utils/InputsListener.d.ts +9 -9
  62. package/dist/utils/ajax.d.ts +1 -1
  63. package/dist/utils/audio-loader.d.ts +10 -10
  64. package/dist/utils/characters.d.ts +5 -5
  65. package/dist/utils/data-helpers.d.ts +25 -25
  66. package/dist/utils/debounce.d.ts +14 -14
  67. package/dist/utils/error-handling.d.ts +3 -3
  68. package/dist/utils/helpers.d.ts +6 -6
  69. package/dist/utils/images-loader.d.ts +6 -6
  70. package/dist/utils/logger.d.ts +11 -11
  71. package/dist/utils/object-iterators.d.ts +8 -8
  72. package/dist/utils/promises.d.ts +1 -1
  73. package/dist/utils/randomId.d.ts +1 -1
  74. package/dist/utils/save-helpers.d.ts +18 -18
  75. package/dist/utils/skillchecks.d.ts +17 -17
  76. package/dist/utils/string-helpers.d.ts +3 -3
  77. package/dist/utils/time-helpers.d.ts +2 -2
  78. package/dist/utils/transition.d.ts +15 -15
  79. package/dist/utils/type-utils.d.ts +1 -1
  80. package/dist/utils/typed-emitter.d.ts +18 -18
  81. package/dist/vm/commands/arithmetic-commands.d.ts +23 -23
  82. package/dist/vm/commands/audio-commands.d.ts +15 -15
  83. package/dist/vm/commands/choice.d.ts +37 -37
  84. package/dist/vm/commands/clear_dialog.d.ts +2 -2
  85. package/dist/vm/commands/command-helpers.d.ts +3 -3
  86. package/dist/vm/commands/command-plugin.d.ts +43 -43
  87. package/dist/vm/commands/flow-commands.d.ts +24 -24
  88. package/dist/vm/commands/if.d.ts +10 -10
  89. package/dist/vm/commands/index.d.ts +2 -2
  90. package/dist/vm/commands/inventory-commands.d.ts +15 -15
  91. package/dist/vm/commands/logic-command.d.ts +42 -42
  92. package/dist/vm/commands/math-commands.d.ts +30 -30
  93. package/dist/vm/commands/notify.d.ts +6 -6
  94. package/dist/vm/commands/quest-commands.d.ts +30 -30
  95. package/dist/vm/commands/random-commands.d.ts +10 -10
  96. package/dist/vm/commands/screen-commands.d.ts +15 -15
  97. package/dist/vm/commands/set.d.ts +6 -6
  98. package/dist/vm/commands/skill-commands.d.ts +30 -30
  99. package/dist/vm/commands/stats-commands.d.ts +12 -12
  100. package/dist/vm/commands/string-commands.d.ts +9 -9
  101. package/dist/vm/commands/text-field.d.ts +7 -7
  102. package/dist/vm/commands/text.d.ts +14 -14
  103. package/dist/vm/commands/wait.d.ts +4 -4
  104. package/dist/vm/vm-helpers.d.ts +18 -18
  105. package/dist/vm/vm-parser.d.ts +19 -19
  106. package/dist/vm/vm-parser.test.d.ts +1 -1
  107. package/dist/vm/vm.d.ts +18 -18
  108. package/package.json +1 -1
@@ -1,727 +1,822 @@
1
- import { GameSave } from '../types/game-save';
2
- import { ChosenSlot } from '../utils/save-helpers';
3
- import { AppOptions, Config } from '../config';
4
- export interface ErrorState {
5
- text: string;
6
- }
7
- interface MainState {
8
- ready: boolean;
9
- playing: boolean;
10
- errors: ErrorState[];
11
- playTime: {
12
- start: number;
13
- previousPlaytime: number;
14
- };
15
- saveSlot: string;
16
- options: AppOptions;
17
- flowState: 'menu' | 'playing';
18
- modal: string | false;
19
- paused: boolean;
20
- alerts: {
21
- title: string;
22
- text: string;
23
- resolver: () => void;
24
- id: string;
25
- }[];
26
- saving: {
27
- withPrompt?: boolean;
28
- name?: string;
29
- resolver: () => void;
30
- } | null;
31
- saveData?: GameSave;
32
- }
33
- export interface MainSaveData {
34
- playTime: number;
35
- }
36
- export declare const useMain: import("pinia").StoreDefinition<"main", MainState, {
37
- isInGame(state: {
38
- ready: boolean;
39
- playing: boolean;
40
- errors: {
41
- text: string;
42
- }[];
43
- playTime: {
44
- start: number;
45
- previousPlaytime: number;
46
- };
47
- saveSlot: string;
48
- options: {
49
- baseAssetsPath?: string | undefined;
50
- logging: boolean;
51
- debug: boolean;
52
- };
53
- flowState: 'menu' | 'playing';
54
- modal: string | false;
55
- paused: boolean;
56
- alerts: {
57
- title: string;
58
- text: string;
59
- resolver: () => void;
60
- id: string;
61
- }[];
62
- saving: {
63
- withPrompt?: boolean | undefined;
64
- name?: string | undefined;
65
- resolver: () => void;
66
- } | null;
67
- saveData?: {
68
- version: string;
69
- skills: {
70
- skillChecks: {
71
- [key: string]: import("./skills").SkillCheckState;
72
- };
73
- skills: import("./skills").SkillsState;
74
- };
75
- screen: {
76
- layers: string[];
77
- buttons: import("./screens-store").ButtonsState;
78
- };
79
- main: {
80
- playTime: number;
81
- };
82
- dialog: {
83
- dialog: {
84
- speaker: string;
85
- text: string;
86
- pose?: string | undefined;
87
- cssClass?: string | undefined;
88
- choices?: {
89
- choice: string;
90
- originalIndex: number;
91
- allowed: boolean;
92
- }[] | undefined;
93
- textField?: boolean | undefined;
94
- interactive: boolean;
95
- id: string;
96
- }[];
97
- };
98
- vm: {
99
- lastLabel: string;
100
- data: import("./vm-store").DataState;
101
- };
102
- audio: {
103
- modes: {
104
- [key: string]: import("./audio-store").AudioModeState;
105
- };
106
- masterVolume: number;
107
- };
108
- hud: {
109
- hudStats: import("./hud-stats-store").HudStatsState;
110
- };
111
- inventory: {
112
- items: {
113
- [key: string]: import("./inventory-store").ItemState;
114
- };
115
- interactionTags: {
116
- [key: string]: {
117
- blockedInteraction: boolean;
118
- };
119
- };
120
- };
121
- quests: {
122
- quests: {
123
- [key: string]: import("./quest-log").QuestState;
124
- };
125
- };
126
- metadata: {
127
- saveDate: string;
128
- name: string;
129
- slotType: "manual" | "auto";
130
- id: string;
131
- createdCounter: number;
132
- };
133
- } | undefined;
134
- } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
135
- }, {
136
- setup(scriptPaths: string[], config: Config): Promise<void>;
137
- alert(title: string, text: string): Promise<void>;
138
- closeAlert(id: string): void;
139
- startMachine(): void;
140
- setSaveSlot(slot: string): void;
141
- startGame(saveSlot: string): Promise<void>;
142
- loadGame(save: GameSave, saveSlot: string): Promise<void>;
143
- manualSave({ saveName, withPrompt, }: {
144
- saveName?: string | undefined;
145
- withPrompt?: boolean | undefined;
146
- }): Promise<void>;
147
- finishManualSave(slotData: ChosenSlot | null, yes: boolean): void;
148
- playerAnswered(choice: number | string): void;
149
- menuReturn(): void;
150
- createError(text: string): void;
151
- clearErrors(): void;
152
- setFlowState(flowState: 'menu' | 'playing'): void;
153
- openModal(modal: string): void;
154
- closeModal(): void;
155
- toggleMenu(): void;
156
- pause(): void;
157
- unpause(): void;
158
- setOptions(options: AppOptions): void;
159
- startPlaying(): void;
160
- reset(): void;
161
- resetAllStores(): void;
162
- generateSaveData(): MainSaveData;
163
- loadSaveData(data: MainSaveData): void;
164
- autoSaveGame({ slotId, name }: {
165
- slotId?: string | undefined;
166
- name?: string | undefined;
167
- }): void;
168
- setLoadedData(save: GameSave): void;
169
- getAllStates(): {
170
- main: any & {
171
- ready: boolean;
172
- playing: boolean;
173
- errors: {
174
- text: string;
175
- }[];
176
- playTime: {
177
- start: number;
178
- previousPlaytime: number;
179
- };
180
- saveSlot: string;
181
- options: {
182
- baseAssetsPath?: string | undefined;
183
- logging: boolean;
184
- debug: boolean;
185
- };
186
- flowState: 'menu' | 'playing';
187
- modal: string | false;
188
- paused: boolean;
189
- alerts: {
190
- title: string;
191
- text: string;
192
- resolver: () => void;
193
- id: string;
194
- }[];
195
- saving: {
196
- withPrompt?: boolean | undefined;
197
- name?: string | undefined;
198
- resolver: () => void;
199
- } | null;
200
- saveData?: {
201
- version: string;
202
- skills: {
203
- skillChecks: {
204
- [key: string]: import("./skills").SkillCheckState;
205
- };
206
- skills: import("./skills").SkillsState;
207
- };
208
- screen: {
209
- layers: string[];
210
- buttons: import("./screens-store").ButtonsState;
211
- };
212
- main: {
213
- playTime: number;
214
- };
215
- dialog: {
216
- dialog: {
217
- speaker: string;
218
- text: string;
219
- pose?: string | undefined;
220
- cssClass?: string | undefined;
221
- choices?: {
222
- choice: string;
223
- originalIndex: number;
224
- allowed: boolean;
225
- }[] | undefined;
226
- textField?: boolean | undefined;
227
- interactive: boolean;
228
- id: string;
229
- }[];
230
- };
231
- vm: {
232
- lastLabel: string;
233
- data: import("./vm-store").DataState;
234
- };
235
- audio: {
236
- modes: {
237
- [key: string]: import("./audio-store").AudioModeState;
238
- };
239
- masterVolume: number;
240
- };
241
- hud: {
242
- hudStats: import("./hud-stats-store").HudStatsState;
243
- };
244
- inventory: {
245
- items: {
246
- [key: string]: import("./inventory-store").ItemState;
247
- };
248
- interactionTags: {
249
- [key: string]: {
250
- blockedInteraction: boolean;
251
- };
252
- };
253
- };
254
- quests: {
255
- quests: {
256
- [key: string]: import("./quest-log").QuestState;
257
- };
258
- };
259
- metadata: {
260
- saveDate: string;
261
- name: string;
262
- slotType: "manual" | "auto";
263
- id: string;
264
- createdCounter: number;
265
- };
266
- } | undefined;
267
- } & import("pinia")._StoreWithState<"main", MainState, {
268
- isInGame(state: {
269
- ready: boolean;
270
- playing: boolean;
271
- errors: {
272
- text: string;
273
- }[];
274
- playTime: {
275
- start: number;
276
- previousPlaytime: number;
277
- };
278
- saveSlot: string;
279
- options: {
280
- baseAssetsPath?: string | undefined;
281
- logging: boolean;
282
- debug: boolean;
283
- };
284
- flowState: 'menu' | 'playing';
285
- modal: string | false;
286
- paused: boolean;
287
- alerts: {
288
- title: string;
289
- text: string;
290
- resolver: () => void;
291
- id: string;
292
- }[];
293
- saving: {
294
- withPrompt?: boolean | undefined;
295
- name?: string | undefined;
296
- resolver: () => void;
297
- } | null;
298
- saveData?: {
299
- version: string;
300
- skills: {
301
- skillChecks: {
302
- [key: string]: import("./skills").SkillCheckState;
303
- };
304
- skills: import("./skills").SkillsState;
305
- };
306
- screen: {
307
- layers: string[];
308
- buttons: import("./screens-store").ButtonsState;
309
- };
310
- main: {
311
- playTime: number;
312
- };
313
- dialog: {
314
- dialog: {
315
- speaker: string;
316
- text: string;
317
- pose?: string | undefined;
318
- cssClass?: string | undefined;
319
- choices?: {
320
- choice: string;
321
- originalIndex: number;
322
- allowed: boolean;
323
- }[] | undefined;
324
- textField?: boolean | undefined;
325
- interactive: boolean;
326
- id: string;
327
- }[];
328
- };
329
- vm: {
330
- lastLabel: string;
331
- data: import("./vm-store").DataState;
332
- };
333
- audio: {
334
- modes: {
335
- [key: string]: import("./audio-store").AudioModeState;
336
- };
337
- masterVolume: number;
338
- };
339
- hud: {
340
- hudStats: import("./hud-stats-store").HudStatsState;
341
- };
342
- inventory: {
343
- items: {
344
- [key: string]: import("./inventory-store").ItemState;
345
- };
346
- interactionTags: {
347
- [key: string]: {
348
- blockedInteraction: boolean;
349
- };
350
- };
351
- };
352
- quests: {
353
- quests: {
354
- [key: string]: import("./quest-log").QuestState;
355
- };
356
- };
357
- metadata: {
358
- saveDate: string;
359
- name: string;
360
- slotType: "manual" | "auto";
361
- id: string;
362
- createdCounter: number;
363
- };
364
- } | undefined;
365
- } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
366
- }, any> & import("pinia")._StoreWithGetters<{
367
- isInGame(state: {
368
- ready: boolean;
369
- playing: boolean;
370
- errors: {
371
- text: string;
372
- }[];
373
- playTime: {
374
- start: number;
375
- previousPlaytime: number;
376
- };
377
- saveSlot: string;
378
- options: {
379
- baseAssetsPath?: string | undefined;
380
- logging: boolean;
381
- debug: boolean;
382
- };
383
- flowState: 'menu' | 'playing';
384
- modal: string | false;
385
- paused: boolean;
386
- alerts: {
387
- title: string;
388
- text: string;
389
- resolver: () => void;
390
- id: string;
391
- }[];
392
- saving: {
393
- withPrompt?: boolean | undefined;
394
- name?: string | undefined;
395
- resolver: () => void;
396
- } | null;
397
- saveData?: {
398
- version: string;
399
- skills: {
400
- skillChecks: {
401
- [key: string]: import("./skills").SkillCheckState;
402
- };
403
- skills: import("./skills").SkillsState;
404
- };
405
- screen: {
406
- layers: string[];
407
- buttons: import("./screens-store").ButtonsState;
408
- };
409
- main: {
410
- playTime: number;
411
- };
412
- dialog: {
413
- dialog: {
414
- speaker: string;
415
- text: string;
416
- pose?: string | undefined;
417
- cssClass?: string | undefined;
418
- choices?: {
419
- choice: string;
420
- originalIndex: number;
421
- allowed: boolean;
422
- }[] | undefined;
423
- textField?: boolean | undefined;
424
- interactive: boolean;
425
- id: string;
426
- }[];
427
- };
428
- vm: {
429
- lastLabel: string;
430
- data: import("./vm-store").DataState;
431
- };
432
- audio: {
433
- modes: {
434
- [key: string]: import("./audio-store").AudioModeState;
435
- };
436
- masterVolume: number;
437
- };
438
- hud: {
439
- hudStats: import("./hud-stats-store").HudStatsState;
440
- };
441
- inventory: {
442
- items: {
443
- [key: string]: import("./inventory-store").ItemState;
444
- };
445
- interactionTags: {
446
- [key: string]: {
447
- blockedInteraction: boolean;
448
- };
449
- };
450
- };
451
- quests: {
452
- quests: {
453
- [key: string]: import("./quest-log").QuestState;
454
- };
455
- };
456
- metadata: {
457
- saveDate: string;
458
- name: string;
459
- slotType: "manual" | "auto";
460
- id: string;
461
- createdCounter: number;
462
- };
463
- } | undefined;
464
- } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
465
- }> & import("pinia").PiniaCustomProperties<string, import("pinia").StateTree, import("pinia")._GettersTree<import("pinia").StateTree>, import("pinia")._ActionsTree>;
466
- screens: import("pinia").Store<"screens", import("./screens-store").ScreenState, {}, {
467
- setScreen(screen: string, layer: number, transition?: import("../utils/transition").AddTransition | undefined): Promise<void>;
468
- finishTransition(layer: number): void;
469
- transitionScreen(screen: string, transition: import("../utils/transition").AddTransition, layer?: number | undefined): Promise<void>;
470
- emptyLayer(layer: number): void;
471
- setButtons(config: Config): void;
472
- changeButton(button: string, newValue: import("./screens-store").ButtonStateValue): void;
473
- generateSaveData(): import("./screens-store").ScreenSave;
474
- loadSaveData(data: import("./screens-store").ScreenSave): void;
475
- }>;
476
- skills: import("pinia").Store<"skills", import("./skills").Skills, {}, {
477
- setupSkillCheck(skillCheck: import("./skills").SkillCheckState, id: string): void;
478
- passSkillCheck(skillCheckId: string, hide?: boolean | undefined): void;
479
- failSkillCheck(skillCheckId: string, hide?: boolean | undefined): void;
480
- generateSaveData(): import("./skills").Skills;
481
- getSkillCheck(id: string): import("./skills").SkillCheckState;
482
- createSkillCheckState(): import("./skills").SkillCheckState;
483
- loadSaveData(data: import("./skills").Skills): void;
484
- setupSkills(skills: {
485
- [key: string]: import("../config").SkillData;
486
- }): void;
487
- getSkill(skill: string): import("./skills").SkillState;
488
- getSkillLevel(skill: string): number;
489
- getSkillXp(skill: string): number;
490
- addXp(skill: string, xp: number): void;
491
- setSkillLevel(skill: string, level: number): void;
492
- incrementSkill(skill: string, amount: number): void;
493
- levelledUp(skill: string): void;
494
- }>;
495
- dialog: import("pinia").Store<"dialog", {
496
- dialog: import("./dialog-store").DialogKey[];
497
- }, {
498
- currentDialog(): import("./dialog-store").DialogKey;
499
- }, {
500
- generateSaveData(): {
501
- dialog: import("./dialog-store").DialogKey[];
502
- };
503
- loadSaveData(data: {
504
- dialog: import("./dialog-store").DialogKey[];
505
- }): void;
506
- addDialog(dialog: import("./dialog-store").AddDialogParams): void;
507
- clearDialog(): void;
508
- reset(): void;
509
- }>;
510
- vm: import("pinia").Store<"vm", import("./vm-store").VMState, {
511
- currentFrame(state: {
512
- commandsWaitingForPlayerAnswer: {
513
- args: (import("../types/parser").Parser.Primitive | {
514
- code: string;
515
- command: {
516
- commandType: string;
517
- operator: string;
518
- args: (import("../types/parser").Parser.Primitive | any)[];
519
- options: import("../types/parser").Parser.DefaultArg;
520
- staticOptions: {};
521
- };
522
- fileName: string;
523
- line: number;
524
- })[];
525
- commandType: string;
526
- options: any;
527
- code: string;
528
- staticOptions: any;
529
- operator: string;
530
- line: number;
531
- fileName: string;
532
- finishCommand?: ((res: any) => void) | undefined;
533
- }[];
534
- stack: {
535
- blocks: {
536
- currentIndex: number;
537
- branchData: {
538
- branch: {
539
- code: string;
540
- command: {
541
- commandType: string;
542
- operator: string;
543
- args: (import("../types/parser").Parser.Primitive | any)[];
544
- options: import("../types/parser").Parser.DefaultArg;
545
- staticOptions: {};
546
- };
547
- fileName: string;
548
- line: number;
549
- }[];
550
- args?: string[] | undefined;
551
- };
552
- }[];
553
- label: string;
554
- scope: {
555
- [key: string]: any;
556
- };
557
- returnValue: any;
558
- }[];
559
- script: import("../types/parser").Parser.ParsedScript;
560
- data: import("./vm-store").DataState;
561
- lastLabel: string;
562
- jumpTarget?: {
563
- currentIndex: number;
564
- branchData: {
565
- branch: {
566
- code: string;
567
- command: {
568
- commandType: string;
569
- operator: string;
570
- args: (import("../types/parser").Parser.Primitive | any)[];
571
- options: import("../types/parser").Parser.DefaultArg;
572
- staticOptions: {};
573
- };
574
- fileName: string;
575
- line: number;
576
- }[];
577
- args?: string[] | undefined;
578
- };
579
- label: string;
580
- scope?: {
581
- [key: string]: any;
582
- } | undefined;
583
- args?: any[] | undefined;
584
- } | undefined;
585
- hasJumped: boolean;
586
- } & import("pinia").PiniaCustomStateProperties<import("./vm-store").VMState>): import("./vm-store").MachineFrame | undefined;
587
- scope(): {
588
- [key: string]: any;
589
- };
590
- currentBlock(): import("./vm-store").MachineBlock | undefined;
591
- currentLine(): import("../types/parser").Parser.ParsedExpression<import("../types/parser").Parser.DefaultArg, {}> | undefined;
592
- commandWaitingForAnswer(): import("../types/parser").Parser.Command<any, any> | undefined;
593
- }, {
594
- generateSaveData(): import("./vm-store").VMSave;
595
- loadSaveData(data: import("./vm-store").VMSave): void;
596
- setReturnValue(value: any): void;
597
- waitForPlayerAnswer(cmd: import("../types/parser").Parser.Command<any, any>): void;
598
- popAnswerQueue(): {
599
- args: (import("../types/parser").Parser.Primitive | {
600
- code: string;
601
- command: {
602
- commandType: string;
603
- operator: string;
604
- args: (import("../types/parser").Parser.Primitive | any)[];
605
- options: import("../types/parser").Parser.DefaultArg;
606
- staticOptions: {};
607
- };
608
- fileName: string;
609
- line: number;
610
- })[];
611
- commandType: string;
612
- options: any;
613
- code: string;
614
- staticOptions: any;
615
- operator: string;
616
- line: number;
617
- fileName: string;
618
- finishCommand?: ((res: any) => void) | undefined;
619
- } | undefined;
620
- addScopedVariable(key: string, value: any): void;
621
- loadScripts(scriptPaths: string[]): Promise<void>;
622
- start(): void;
623
- setLastLabel(label: string): void;
624
- reset(): void;
625
- setScript(script: import("../types/parser").Parser.ParsedScript): void;
626
- overrideData(data: import("./vm-store").DataState): void;
627
- setStack(stack: import("./vm-store").SetFrameOptions): void;
628
- frameOptionsToFrame(frame: import("./vm-store").SetFrameOptions): import("./vm-store").MachineFrame;
629
- addBlock(frame: import("./vm-store").MachineFrame, block: import("./vm-store").MachineBlock): void;
630
- addAndRunBlock(block: import("./vm-store").MachineBlock): Promise<any>;
631
- setData(path: string, value: any): void;
632
- addInstruction(path: string, value: any): void;
633
- addFrame(newStackOptions: import("./vm-store").AddFrameOptions): void;
634
- addAndRunFrame(newStackOptions: import("./vm-store").AddFrameOptions): Promise<any>;
635
- runFrame(): Promise<any>;
636
- cleanFrame(): any;
637
- runBlock(): Promise<any>;
638
- cleanBlock(): void;
639
- runGame(): Promise<void>;
640
- nextLineOnly(): Promise<boolean>;
641
- isBlockFinished(): boolean;
642
- reachedEndOfScript(): void;
643
- runLineOnly(): Promise<any>;
644
- runLabelFunction(label: string, ...args: any[]): Promise<any>;
645
- runCustomFrame(stack: import("./vm-store").AddFrameOptions): void;
646
- jumpToLabel(label: string, ...args: any[]): Promise<void>;
647
- runThenGoBackToPreviousDialog(label: string, ...args: any[]): Promise<any>;
648
- }>;
649
- hud: import("pinia").Store<"hud", import("./hud-stats-store").HudState, {}, {
650
- setupHudStats(stats: {
651
- [key: string]: import("../config").HudStatConfig;
652
- }): void;
653
- setStat(stat: string, value: number): void;
654
- addStat(stat: string, value: number): void;
655
- getStat(stat: string): import("./hud-stats-store").HudStat;
656
- getStatValue(stat: string): number;
657
- generateSaveData(): import("./hud-stats-store").HudState;
658
- loadSaveData(data: import("./hud-stats-store").HudState): void;
659
- }>;
660
- audio: import("pinia").Store<"audio", import("./audio-store").AudioState, {}, {
661
- stopAll(): void;
662
- stopChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): Promise<void>;
663
- pauseChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): Promise<void>;
664
- playChannel(mode: "sound" | "music" | "ambiant", audio: string, channelIndex: number): Promise<void>;
665
- changeChannel(mode: "sound" | "music" | "ambiant", audio: string, channelIndex: number): Promise<void>;
666
- actuallyStopChannel(channel: import("./audio-store").AudioChannel): void;
667
- getAudioChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): import("./audio-store").AudioChannel | null;
668
- setAudioChannel(mode: "sound" | "music" | "ambiant", channelIndex: number, value: import("./audio-store").AudioChannel | null): void;
669
- actuallyPlayChannel(mode: "sound" | "music" | "ambiant", channelIndex: number, audio: string): Promise<void>;
670
- reloadAudio(save: import("./audio-store").AudioSave): void;
671
- stopSound(key: string): void;
672
- generateSaveData(): import("./audio-store").AudioSave;
673
- loadSaveData(data: import("./audio-store").AudioSave): void;
674
- reset(): void;
675
- setModeVolume(mode: "sound" | "music" | "ambiant", volume: number): void;
676
- setMasterVolume(volume: number): void;
677
- modeVolume(mode: "sound" | "music" | "ambiant"): number;
678
- }>;
679
- rendering: import("pinia").Store<"rendering", import("./rendering-store").RenderingState, {}, {
680
- updateScreenSize(width: number, height: number, textWidth: number): void;
681
- }>;
682
- notifications: import("pinia").Store<"notifications", import("./notification-store").NotificationsState, {}, {
683
- addNotification(text: string): Promise<void>;
684
- deleteNotification(id: string): void;
685
- disableNotifications(): void;
686
- enableNotifications(): void;
687
- }>;
688
- inventory: import("pinia").Store<"inventory", import("./inventory-store").InventoryState, {}, {
689
- generateSaveData(): import("./inventory-store").InventoryState;
690
- loadSaveData(save: import("./inventory-store").InventoryState): void;
691
- setupItems(items: {
692
- [key: string]: import("../config").ItemData;
693
- }): void;
694
- hasItem(itemId: string, amount?: number | undefined): boolean;
695
- getExistingItem(id: string): import("./inventory-store").ItemState | undefined;
696
- getItemAmount(id: string): number;
697
- add(item: import("./inventory-store").ItemState): void;
698
- enableInteraction(tag?: string | undefined): void;
699
- disableInteraction(tag?: string | undefined): void;
700
- onScriptStart(): void;
701
- onScriptEnd(): void;
702
- isInteractionTagBlocked(tag?: string | undefined): boolean;
703
- remove(item: import("./inventory-store").ItemState): void;
704
- deleteItem(id: string): void;
705
- }>;
706
- quests: import("pinia").Store<"quests", import("./quest-log").QuestLogState, {}, {
707
- getQuest(questId: string): import("./quest-log").QuestState;
708
- getObjective(questId: string, objectiveId: string): import("./quest-log").ObjectiveState;
709
- setupQuests(quests: {
710
- [key: string]: import("../config").QuestData;
711
- }): void;
712
- startQuest(questId: string): void;
713
- startObjective(questId: string, objectiveId: string): void;
714
- completeObjective(questId: string, objectiveId: string): void;
715
- completeQuest(questId: string, ending?: string | undefined): void;
716
- isQuestCompleted(questId: string): boolean;
717
- isObjectiveCompleted(questId: string, objectiveId: string): boolean;
718
- isQuestStarted(questId: string): boolean;
719
- isObjectiveStarted(questId: string, objectiveId: string): boolean;
720
- removeQuest(id: string): void;
721
- generateSaveData(): import("./quest-log").QuestLogState;
722
- loadSaveData(data: import("./quest-log").QuestLogState): void;
723
- }>;
724
- };
725
- overrideStates(override: any): void;
726
- }>;
727
- export {};
1
+ import { GameConfig } from '../types/app-types';
2
+ import { GameSave } from '../types/game-save';
3
+ import { ChosenSlot } from '../utils/save-helpers';
4
+ import { AppOptions } from '../config';
5
+ import { TypedEmitter } from '../utils/typed-emitter';
6
+ export interface MainEvents {
7
+ gameLoaded: () => void;
8
+ }
9
+ export declare class MainStoreListener extends TypedEmitter<MainEvents> {
10
+ }
11
+ export interface ErrorState {
12
+ text: string;
13
+ }
14
+ interface MainState {
15
+ ready: boolean;
16
+ playing: boolean;
17
+ errors: ErrorState[];
18
+ playTime: {
19
+ start: number;
20
+ previousPlaytime: number;
21
+ };
22
+ saveSlot: string;
23
+ options: AppOptions;
24
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
25
+ modal: string | false;
26
+ paused: boolean;
27
+ appConfig: GameConfig;
28
+ loading: {
29
+ step: string;
30
+ percentage: number;
31
+ loaded: boolean;
32
+ };
33
+ alerts: {
34
+ title: string;
35
+ text: string;
36
+ resolver: () => void;
37
+ id: string;
38
+ }[];
39
+ saving: {
40
+ withPrompt?: boolean;
41
+ name?: string;
42
+ resolver: () => void;
43
+ } | null;
44
+ saveData?: GameSave;
45
+ listener: MainStoreListener;
46
+ }
47
+ export interface MainSaveData {
48
+ playTime: number;
49
+ }
50
+ export declare const useMain: import("pinia").StoreDefinition<"main", MainState, {
51
+ isInGame(state: {
52
+ ready: boolean;
53
+ playing: boolean;
54
+ errors: {
55
+ text: string;
56
+ }[];
57
+ playTime: {
58
+ start: number;
59
+ previousPlaytime: number;
60
+ };
61
+ saveSlot: string;
62
+ options: {
63
+ baseAssetsPath?: string | undefined;
64
+ logging: boolean;
65
+ debug: boolean;
66
+ };
67
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
68
+ modal: string | false;
69
+ paused: boolean;
70
+ appConfig: {
71
+ baseAssetsPath?: string | undefined;
72
+ charactersPath: string;
73
+ configPath: string;
74
+ };
75
+ loading: {
76
+ step: string;
77
+ percentage: number;
78
+ loaded: boolean;
79
+ };
80
+ alerts: {
81
+ title: string;
82
+ text: string;
83
+ resolver: () => void;
84
+ id: string;
85
+ }[];
86
+ saving: {
87
+ withPrompt?: boolean | undefined;
88
+ name?: string | undefined;
89
+ resolver: () => void;
90
+ } | null;
91
+ saveData?: {
92
+ version: string;
93
+ skills: {
94
+ skillChecks: {
95
+ [key: string]: import("./skills").SkillCheckState;
96
+ };
97
+ skills: import("./skills").SkillsState;
98
+ };
99
+ screen: {
100
+ layers: string[];
101
+ buttons: import("./screens-store").ButtonsState;
102
+ };
103
+ main: {
104
+ playTime: number;
105
+ };
106
+ dialog: {
107
+ dialog: {
108
+ speaker: string;
109
+ text: string;
110
+ pose?: string | undefined;
111
+ cssClass?: string | undefined;
112
+ choices?: {
113
+ choice: string;
114
+ originalIndex: number;
115
+ allowed: boolean;
116
+ }[] | undefined;
117
+ textField?: boolean | undefined;
118
+ interactive: boolean;
119
+ id: string;
120
+ }[];
121
+ };
122
+ vm: {
123
+ lastLabel: string;
124
+ data: import("./vm-store").DataState;
125
+ };
126
+ audio: {
127
+ modes: {
128
+ [key: string]: import("./audio-store").AudioModeState;
129
+ };
130
+ masterVolume: number;
131
+ };
132
+ hud: {
133
+ hudStats: import("./hud-stats-store").HudStatsState;
134
+ };
135
+ inventory: {
136
+ items: {
137
+ [key: string]: import("./inventory-store").ItemState;
138
+ };
139
+ interactionTags: {
140
+ [key: string]: {
141
+ blockedInteraction: boolean;
142
+ };
143
+ };
144
+ };
145
+ quests: {
146
+ quests: {
147
+ [key: string]: import("./quest-log").QuestState;
148
+ };
149
+ };
150
+ metadata: {
151
+ saveDate: string;
152
+ name: string;
153
+ slotType: "manual" | "auto";
154
+ id: string;
155
+ createdCounter: number;
156
+ };
157
+ } | undefined;
158
+ listener: {
159
+ listeners: {
160
+ gameLoaded: Set<() => void>;
161
+ };
162
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
163
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
164
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
165
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
166
+ clear: () => void;
167
+ };
168
+ } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
169
+ }, {
170
+ setup(): Promise<void>;
171
+ engineLoading(): Promise<void>;
172
+ alert(title: string, text: string): Promise<void>;
173
+ closeAlert(id: string): void;
174
+ startMachine(): void;
175
+ setSaveSlot(slot: string): void;
176
+ startGame(saveSlot: string): Promise<void>;
177
+ loadGame(save: GameSave, saveSlot: string): Promise<void>;
178
+ manualSave({ saveName, withPrompt, }: {
179
+ saveName?: string | undefined;
180
+ withPrompt?: boolean | undefined;
181
+ }): Promise<void>;
182
+ finishManualSave(slotData: ChosenSlot | null, yes: boolean): void;
183
+ playerAnswered(choice: number | string): void;
184
+ menuReturn(): void;
185
+ createError(text: string): void;
186
+ clearErrors(): void;
187
+ setFlowState(flowState: 'menu' | 'playing'): void;
188
+ openModal(modal: string): void;
189
+ closeModal(): void;
190
+ toggleMenu(): void;
191
+ pause(): void;
192
+ unpause(): void;
193
+ setOptions(options: AppOptions): void;
194
+ startPlaying(): void;
195
+ reset(): void;
196
+ resetAllStores(): void;
197
+ generateSaveData(): MainSaveData;
198
+ loadSaveData(data: MainSaveData): void;
199
+ autoSaveGame({ slotId, name }: {
200
+ slotId?: string | undefined;
201
+ name?: string | undefined;
202
+ }): void;
203
+ setLoadedData(save: GameSave): void;
204
+ getAllStates(): {
205
+ main: any & {
206
+ ready: boolean;
207
+ playing: boolean;
208
+ errors: {
209
+ text: string;
210
+ }[];
211
+ playTime: {
212
+ start: number;
213
+ previousPlaytime: number;
214
+ };
215
+ saveSlot: string;
216
+ options: {
217
+ baseAssetsPath?: string | undefined;
218
+ logging: boolean;
219
+ debug: boolean;
220
+ };
221
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
222
+ modal: string | false;
223
+ paused: boolean;
224
+ appConfig: {
225
+ baseAssetsPath?: string | undefined;
226
+ charactersPath: string;
227
+ configPath: string;
228
+ };
229
+ loading: {
230
+ step: string;
231
+ percentage: number;
232
+ loaded: boolean;
233
+ };
234
+ alerts: {
235
+ title: string;
236
+ text: string;
237
+ resolver: () => void;
238
+ id: string;
239
+ }[];
240
+ saving: {
241
+ withPrompt?: boolean | undefined;
242
+ name?: string | undefined;
243
+ resolver: () => void;
244
+ } | null;
245
+ saveData?: {
246
+ version: string;
247
+ skills: {
248
+ skillChecks: {
249
+ [key: string]: import("./skills").SkillCheckState;
250
+ };
251
+ skills: import("./skills").SkillsState;
252
+ };
253
+ screen: {
254
+ layers: string[];
255
+ buttons: import("./screens-store").ButtonsState;
256
+ };
257
+ main: {
258
+ playTime: number;
259
+ };
260
+ dialog: {
261
+ dialog: {
262
+ speaker: string;
263
+ text: string;
264
+ pose?: string | undefined;
265
+ cssClass?: string | undefined;
266
+ choices?: {
267
+ choice: string;
268
+ originalIndex: number;
269
+ allowed: boolean;
270
+ }[] | undefined;
271
+ textField?: boolean | undefined;
272
+ interactive: boolean;
273
+ id: string;
274
+ }[];
275
+ };
276
+ vm: {
277
+ lastLabel: string;
278
+ data: import("./vm-store").DataState;
279
+ };
280
+ audio: {
281
+ modes: {
282
+ [key: string]: import("./audio-store").AudioModeState;
283
+ };
284
+ masterVolume: number;
285
+ };
286
+ hud: {
287
+ hudStats: import("./hud-stats-store").HudStatsState;
288
+ };
289
+ inventory: {
290
+ items: {
291
+ [key: string]: import("./inventory-store").ItemState;
292
+ };
293
+ interactionTags: {
294
+ [key: string]: {
295
+ blockedInteraction: boolean;
296
+ };
297
+ };
298
+ };
299
+ quests: {
300
+ quests: {
301
+ [key: string]: import("./quest-log").QuestState;
302
+ };
303
+ };
304
+ metadata: {
305
+ saveDate: string;
306
+ name: string;
307
+ slotType: "manual" | "auto";
308
+ id: string;
309
+ createdCounter: number;
310
+ };
311
+ } | undefined;
312
+ listener: {
313
+ listeners: {
314
+ gameLoaded: Set<() => void>;
315
+ };
316
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
317
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
318
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
319
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
320
+ clear: () => void;
321
+ };
322
+ } & import("pinia")._StoreWithState<"main", MainState, {
323
+ isInGame(state: {
324
+ ready: boolean;
325
+ playing: boolean;
326
+ errors: {
327
+ text: string;
328
+ }[];
329
+ playTime: {
330
+ start: number;
331
+ previousPlaytime: number;
332
+ };
333
+ saveSlot: string;
334
+ options: {
335
+ baseAssetsPath?: string | undefined;
336
+ logging: boolean;
337
+ debug: boolean;
338
+ };
339
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
340
+ modal: string | false;
341
+ paused: boolean;
342
+ appConfig: {
343
+ baseAssetsPath?: string | undefined;
344
+ charactersPath: string;
345
+ configPath: string;
346
+ };
347
+ loading: {
348
+ step: string;
349
+ percentage: number;
350
+ loaded: boolean;
351
+ };
352
+ alerts: {
353
+ title: string;
354
+ text: string;
355
+ resolver: () => void;
356
+ id: string;
357
+ }[];
358
+ saving: {
359
+ withPrompt?: boolean | undefined;
360
+ name?: string | undefined;
361
+ resolver: () => void;
362
+ } | null;
363
+ saveData?: {
364
+ version: string;
365
+ skills: {
366
+ skillChecks: {
367
+ [key: string]: import("./skills").SkillCheckState;
368
+ };
369
+ skills: import("./skills").SkillsState;
370
+ };
371
+ screen: {
372
+ layers: string[];
373
+ buttons: import("./screens-store").ButtonsState;
374
+ };
375
+ main: {
376
+ playTime: number;
377
+ };
378
+ dialog: {
379
+ dialog: {
380
+ speaker: string;
381
+ text: string;
382
+ pose?: string | undefined;
383
+ cssClass?: string | undefined;
384
+ choices?: {
385
+ choice: string;
386
+ originalIndex: number;
387
+ allowed: boolean;
388
+ }[] | undefined;
389
+ textField?: boolean | undefined;
390
+ interactive: boolean;
391
+ id: string;
392
+ }[];
393
+ };
394
+ vm: {
395
+ lastLabel: string;
396
+ data: import("./vm-store").DataState;
397
+ };
398
+ audio: {
399
+ modes: {
400
+ [key: string]: import("./audio-store").AudioModeState;
401
+ };
402
+ masterVolume: number;
403
+ };
404
+ hud: {
405
+ hudStats: import("./hud-stats-store").HudStatsState;
406
+ };
407
+ inventory: {
408
+ items: {
409
+ [key: string]: import("./inventory-store").ItemState;
410
+ };
411
+ interactionTags: {
412
+ [key: string]: {
413
+ blockedInteraction: boolean;
414
+ };
415
+ };
416
+ };
417
+ quests: {
418
+ quests: {
419
+ [key: string]: import("./quest-log").QuestState;
420
+ };
421
+ };
422
+ metadata: {
423
+ saveDate: string;
424
+ name: string;
425
+ slotType: "manual" | "auto";
426
+ id: string;
427
+ createdCounter: number;
428
+ };
429
+ } | undefined;
430
+ listener: {
431
+ listeners: {
432
+ gameLoaded: Set<() => void>;
433
+ };
434
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
435
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
436
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
437
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
438
+ clear: () => void;
439
+ };
440
+ } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
441
+ }, any> & import("pinia")._StoreWithGetters<{
442
+ isInGame(state: {
443
+ ready: boolean;
444
+ playing: boolean;
445
+ errors: {
446
+ text: string;
447
+ }[];
448
+ playTime: {
449
+ start: number;
450
+ previousPlaytime: number;
451
+ };
452
+ saveSlot: string;
453
+ options: {
454
+ baseAssetsPath?: string | undefined;
455
+ logging: boolean;
456
+ debug: boolean;
457
+ };
458
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
459
+ modal: string | false;
460
+ paused: boolean;
461
+ appConfig: {
462
+ baseAssetsPath?: string | undefined;
463
+ charactersPath: string;
464
+ configPath: string;
465
+ };
466
+ loading: {
467
+ step: string;
468
+ percentage: number;
469
+ loaded: boolean;
470
+ };
471
+ alerts: {
472
+ title: string;
473
+ text: string;
474
+ resolver: () => void;
475
+ id: string;
476
+ }[];
477
+ saving: {
478
+ withPrompt?: boolean | undefined;
479
+ name?: string | undefined;
480
+ resolver: () => void;
481
+ } | null;
482
+ saveData?: {
483
+ version: string;
484
+ skills: {
485
+ skillChecks: {
486
+ [key: string]: import("./skills").SkillCheckState;
487
+ };
488
+ skills: import("./skills").SkillsState;
489
+ };
490
+ screen: {
491
+ layers: string[];
492
+ buttons: import("./screens-store").ButtonsState;
493
+ };
494
+ main: {
495
+ playTime: number;
496
+ };
497
+ dialog: {
498
+ dialog: {
499
+ speaker: string;
500
+ text: string;
501
+ pose?: string | undefined;
502
+ cssClass?: string | undefined;
503
+ choices?: {
504
+ choice: string;
505
+ originalIndex: number;
506
+ allowed: boolean;
507
+ }[] | undefined;
508
+ textField?: boolean | undefined;
509
+ interactive: boolean;
510
+ id: string;
511
+ }[];
512
+ };
513
+ vm: {
514
+ lastLabel: string;
515
+ data: import("./vm-store").DataState;
516
+ };
517
+ audio: {
518
+ modes: {
519
+ [key: string]: import("./audio-store").AudioModeState;
520
+ };
521
+ masterVolume: number;
522
+ };
523
+ hud: {
524
+ hudStats: import("./hud-stats-store").HudStatsState;
525
+ };
526
+ inventory: {
527
+ items: {
528
+ [key: string]: import("./inventory-store").ItemState;
529
+ };
530
+ interactionTags: {
531
+ [key: string]: {
532
+ blockedInteraction: boolean;
533
+ };
534
+ };
535
+ };
536
+ quests: {
537
+ quests: {
538
+ [key: string]: import("./quest-log").QuestState;
539
+ };
540
+ };
541
+ metadata: {
542
+ saveDate: string;
543
+ name: string;
544
+ slotType: "manual" | "auto";
545
+ id: string;
546
+ createdCounter: number;
547
+ };
548
+ } | undefined;
549
+ listener: {
550
+ listeners: {
551
+ gameLoaded: Set<() => void>;
552
+ };
553
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
554
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
555
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
556
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
557
+ clear: () => void;
558
+ };
559
+ } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
560
+ }> & import("pinia").PiniaCustomProperties<string, import("pinia").StateTree, import("pinia")._GettersTree<import("pinia").StateTree>, import("pinia")._ActionsTree>;
561
+ screens: import("pinia").Store<"screens", import("./screens-store").ScreenState, {}, {
562
+ setScreen(screen: string, layer: number, transition?: import("../utils/transition").AddTransition | undefined): Promise<void>;
563
+ finishTransition(layer: number): void;
564
+ transitionScreen(screen: string, transition: import("../utils/transition").AddTransition, layer?: number | undefined): Promise<void>;
565
+ emptyLayer(layer: number): void;
566
+ setButtons(config: import("../config").Config): void;
567
+ changeButton(button: string, newValue: import("./screens-store").ButtonStateValue): void;
568
+ generateSaveData(): import("./screens-store").ScreenSave;
569
+ loadSaveData(data: import("./screens-store").ScreenSave): void;
570
+ }>;
571
+ skills: import("pinia").Store<"skills", import("./skills").Skills, {}, {
572
+ setupSkillCheck(skillCheck: import("./skills").SkillCheckState, id: string): void;
573
+ passSkillCheck(skillCheckId: string, hide?: boolean | undefined): void;
574
+ failSkillCheck(skillCheckId: string, hide?: boolean | undefined): void;
575
+ generateSaveData(): import("./skills").Skills;
576
+ getSkillCheck(id: string): import("./skills").SkillCheckState;
577
+ createSkillCheckState(): import("./skills").SkillCheckState;
578
+ loadSaveData(data: import("./skills").Skills): void;
579
+ setupSkills(skills: {
580
+ [key: string]: import("../config").SkillData;
581
+ }): void;
582
+ getSkill(skill: string): import("./skills").SkillState;
583
+ getSkillLevel(skill: string): number;
584
+ getSkillXp(skill: string): number;
585
+ addXp(skill: string, xp: number): void;
586
+ setSkillLevel(skill: string, level: number): void;
587
+ incrementSkill(skill: string, amount: number): void;
588
+ levelledUp(skill: string): void;
589
+ }>;
590
+ dialog: import("pinia").Store<"dialog", {
591
+ dialog: import("./dialog-store").DialogKey[];
592
+ }, {
593
+ currentDialog(): import("./dialog-store").DialogKey;
594
+ }, {
595
+ generateSaveData(): {
596
+ dialog: import("./dialog-store").DialogKey[];
597
+ };
598
+ loadSaveData(data: {
599
+ dialog: import("./dialog-store").DialogKey[];
600
+ }): void;
601
+ addDialog(dialog: import("./dialog-store").AddDialogParams): void;
602
+ clearDialog(): void;
603
+ reset(): void;
604
+ }>;
605
+ vm: import("pinia").Store<"vm", import("./vm-store").VMState, {
606
+ currentFrame(state: {
607
+ commandsWaitingForPlayerAnswer: {
608
+ args: (import("../types/parser").Parser.Primitive | {
609
+ code: string;
610
+ command: {
611
+ commandType: string;
612
+ operator: string;
613
+ args: (import("../types/parser").Parser.Primitive | any)[];
614
+ options: import("../types/parser").Parser.DefaultArg;
615
+ staticOptions: {};
616
+ };
617
+ fileName: string;
618
+ line: number;
619
+ })[];
620
+ commandType: string;
621
+ options: any;
622
+ code: string;
623
+ staticOptions: any;
624
+ operator: string;
625
+ line: number;
626
+ fileName: string;
627
+ finishCommand?: ((res: any) => void) | undefined;
628
+ }[];
629
+ stack: {
630
+ blocks: {
631
+ currentIndex: number;
632
+ branchData: {
633
+ branch: {
634
+ code: string;
635
+ command: {
636
+ commandType: string;
637
+ operator: string;
638
+ args: (import("../types/parser").Parser.Primitive | any)[];
639
+ options: import("../types/parser").Parser.DefaultArg;
640
+ staticOptions: {};
641
+ };
642
+ fileName: string;
643
+ line: number;
644
+ }[];
645
+ args?: string[] | undefined;
646
+ };
647
+ }[];
648
+ label: string;
649
+ scope: {
650
+ [key: string]: any;
651
+ };
652
+ returnValue: any;
653
+ }[];
654
+ script: import("../types/parser").Parser.ParsedScript;
655
+ data: import("./vm-store").DataState;
656
+ lastLabel: string;
657
+ jumpTarget?: {
658
+ currentIndex: number;
659
+ branchData: {
660
+ branch: {
661
+ code: string;
662
+ command: {
663
+ commandType: string;
664
+ operator: string;
665
+ args: (import("../types/parser").Parser.Primitive | any)[];
666
+ options: import("../types/parser").Parser.DefaultArg;
667
+ staticOptions: {};
668
+ };
669
+ fileName: string;
670
+ line: number;
671
+ }[];
672
+ args?: string[] | undefined;
673
+ };
674
+ label: string;
675
+ scope?: {
676
+ [key: string]: any;
677
+ } | undefined;
678
+ args?: any[] | undefined;
679
+ } | undefined;
680
+ hasJumped: boolean;
681
+ } & import("pinia").PiniaCustomStateProperties<import("./vm-store").VMState>): import("./vm-store").MachineFrame | undefined;
682
+ scope(): {
683
+ [key: string]: any;
684
+ };
685
+ currentBlock(): import("./vm-store").MachineBlock | undefined;
686
+ currentLine(): import("../types/parser").Parser.ParsedExpression<import("../types/parser").Parser.DefaultArg, {}> | undefined;
687
+ commandWaitingForAnswer(): import("../types/parser").Parser.Command<any, any> | undefined;
688
+ }, {
689
+ generateSaveData(): import("./vm-store").VMSave;
690
+ loadSaveData(data: import("./vm-store").VMSave): void;
691
+ setReturnValue(value: any): void;
692
+ waitForPlayerAnswer(cmd: import("../types/parser").Parser.Command<any, any>): void;
693
+ popAnswerQueue(): {
694
+ args: (import("../types/parser").Parser.Primitive | {
695
+ code: string;
696
+ command: {
697
+ commandType: string;
698
+ operator: string;
699
+ args: (import("../types/parser").Parser.Primitive | any)[];
700
+ options: import("../types/parser").Parser.DefaultArg;
701
+ staticOptions: {};
702
+ };
703
+ fileName: string;
704
+ line: number;
705
+ })[];
706
+ commandType: string;
707
+ options: any;
708
+ code: string;
709
+ staticOptions: any;
710
+ operator: string;
711
+ line: number;
712
+ fileName: string;
713
+ finishCommand?: ((res: any) => void) | undefined;
714
+ } | undefined;
715
+ addScopedVariable(key: string, value: any): void;
716
+ loadScripts(scriptPaths: string[]): Promise<void>;
717
+ start(): void;
718
+ setLastLabel(label: string): void;
719
+ reset(): void;
720
+ setScript(script: import("../types/parser").Parser.ParsedScript): void;
721
+ overrideData(data: import("./vm-store").DataState): void;
722
+ setStack(stack: import("./vm-store").SetFrameOptions): void;
723
+ frameOptionsToFrame(frame: import("./vm-store").SetFrameOptions): import("./vm-store").MachineFrame;
724
+ addBlock(frame: import("./vm-store").MachineFrame, block: import("./vm-store").MachineBlock): void;
725
+ addAndRunBlock(block: import("./vm-store").MachineBlock): Promise<any>;
726
+ setData(path: string, value: any): void;
727
+ addInstruction(path: string, value: any): void;
728
+ addFrame(newStackOptions: import("./vm-store").AddFrameOptions): void;
729
+ addAndRunFrame(newStackOptions: import("./vm-store").AddFrameOptions): Promise<any>;
730
+ runFrame(): Promise<any>;
731
+ cleanFrame(): any;
732
+ runBlock(): Promise<any>;
733
+ cleanBlock(): void;
734
+ runGame(): Promise<void>;
735
+ nextLineOnly(): Promise<boolean>;
736
+ isBlockFinished(): boolean;
737
+ reachedEndOfScript(): void;
738
+ runLineOnly(): Promise<any>;
739
+ runLabelFunction(label: string, ...args: any[]): Promise<any>;
740
+ runCustomFrame(stack: import("./vm-store").AddFrameOptions): void;
741
+ jumpToLabel(label: string, ...args: any[]): Promise<void>;
742
+ runThenGoBackToPreviousDialog(label: string, ...args: any[]): Promise<any>;
743
+ }>;
744
+ hud: import("pinia").Store<"hud", import("./hud-stats-store").HudState, {}, {
745
+ setupHudStats(stats: {
746
+ [key: string]: import("../config").HudStatConfig;
747
+ }): void;
748
+ setStat(stat: string, value: number): void;
749
+ addStat(stat: string, value: number): void;
750
+ getStat(stat: string): import("./hud-stats-store").HudStat;
751
+ getStatValue(stat: string): number;
752
+ generateSaveData(): import("./hud-stats-store").HudState;
753
+ loadSaveData(data: import("./hud-stats-store").HudState): void;
754
+ }>;
755
+ audio: import("pinia").Store<"audio", import("./audio-store").AudioState, {}, {
756
+ stopAll(): void;
757
+ stopChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): Promise<void>;
758
+ pauseChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): Promise<void>;
759
+ playChannel(mode: "sound" | "music" | "ambiant", audio: string, channelIndex: number): Promise<void>;
760
+ changeChannel(mode: "sound" | "music" | "ambiant", audio: string, channelIndex: number): Promise<void>;
761
+ actuallyStopChannel(channel: import("./audio-store").AudioChannel): void;
762
+ getAudioChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): import("./audio-store").AudioChannel | null;
763
+ setAudioChannel(mode: "sound" | "music" | "ambiant", channelIndex: number, value: import("./audio-store").AudioChannel | null): void;
764
+ actuallyPlayChannel(mode: "sound" | "music" | "ambiant", channelIndex: number, audio: string): Promise<void>;
765
+ reloadAudio(save: import("./audio-store").AudioSave): void;
766
+ stopSound(key: string): void;
767
+ generateSaveData(): import("./audio-store").AudioSave;
768
+ loadSaveData(data: import("./audio-store").AudioSave): void;
769
+ reset(): void;
770
+ setModeVolume(mode: "sound" | "music" | "ambiant", volume: number): void;
771
+ setMasterVolume(volume: number): void;
772
+ modeVolume(mode: "sound" | "music" | "ambiant"): number;
773
+ }>;
774
+ rendering: import("pinia").Store<"rendering", import("./rendering-store").RenderingState, {}, {
775
+ updateScreenSize(width: number, height: number, textWidth: number): void;
776
+ }>;
777
+ notifications: import("pinia").Store<"notifications", import("./notification-store").NotificationsState, {}, {
778
+ addNotification(text: string): Promise<void>;
779
+ deleteNotification(id: string): void;
780
+ disableNotifications(): void;
781
+ enableNotifications(): void;
782
+ }>;
783
+ inventory: import("pinia").Store<"inventory", import("./inventory-store").InventoryState, {}, {
784
+ generateSaveData(): import("./inventory-store").InventoryState;
785
+ loadSaveData(save: import("./inventory-store").InventoryState): void;
786
+ setupItems(items: {
787
+ [key: string]: import("../config").ItemData;
788
+ }): void;
789
+ hasItem(itemId: string, amount?: number | undefined): boolean;
790
+ getExistingItem(id: string): import("./inventory-store").ItemState | undefined;
791
+ getItemAmount(id: string): number;
792
+ add(item: import("./inventory-store").ItemState): void;
793
+ enableInteraction(tag?: string | undefined): void;
794
+ disableInteraction(tag?: string | undefined): void;
795
+ onScriptStart(): void;
796
+ onScriptEnd(): void;
797
+ isInteractionTagBlocked(tag?: string | undefined): boolean;
798
+ remove(item: import("./inventory-store").ItemState): void;
799
+ deleteItem(id: string): void;
800
+ }>;
801
+ quests: import("pinia").Store<"quests", import("./quest-log").QuestLogState, {}, {
802
+ getQuest(questId: string): import("./quest-log").QuestState;
803
+ getObjective(questId: string, objectiveId: string): import("./quest-log").ObjectiveState;
804
+ setupQuests(quests: {
805
+ [key: string]: import("../config").QuestData;
806
+ }): void;
807
+ startQuest(questId: string): void;
808
+ startObjective(questId: string, objectiveId: string): void;
809
+ completeObjective(questId: string, objectiveId: string): void;
810
+ completeQuest(questId: string, ending?: string | undefined): void;
811
+ isQuestCompleted(questId: string): boolean;
812
+ isObjectiveCompleted(questId: string, objectiveId: string): boolean;
813
+ isQuestStarted(questId: string): boolean;
814
+ isObjectiveStarted(questId: string, objectiveId: string): boolean;
815
+ removeQuest(id: string): void;
816
+ generateSaveData(): import("./quest-log").QuestLogState;
817
+ loadSaveData(data: import("./quest-log").QuestLogState): void;
818
+ }>;
819
+ };
820
+ overrideStates(override: any): void;
821
+ }>;
822
+ export {};