narrat 2.9.3 → 2.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +136 -128
  3. package/dist/app.vue.d.ts +78 -78
  4. package/dist/components/MainMenu.vue.d.ts +7 -7
  5. package/dist/components/SkillsWindow.vue.d.ts +28 -28
  6. package/dist/components/StartMenu.vue.d.ts +46 -46
  7. package/dist/components/auto-play/AutoPlayFeedback.vue.d.ts +46 -46
  8. package/dist/components/debug/debug-menu.vue.d.ts +51 -51
  9. package/dist/components/dialog-picture.vue.d.ts +11 -11
  10. package/dist/components/engine-splash/engine-splash.vue.d.ts +54 -54
  11. package/dist/components/game-dialog.vue.d.ts +65 -65
  12. package/dist/components/game-splash/game-splash.vue.d.ts +46 -46
  13. package/dist/components/hud.vue.d.ts +20 -20
  14. package/dist/components/in-game.vue.d.ts +46 -46
  15. package/dist/components/inventory/inventory-section.vue.d.ts +61 -61
  16. package/dist/components/inventory/item-details.vue.d.ts +76 -76
  17. package/dist/components/inventory-ui.vue.d.ts +39 -39
  18. package/dist/components/loading-bar.vue.d.ts +10 -10
  19. package/dist/components/menu-buttons.vue.d.ts +46 -46
  20. package/dist/components/notification-toast.vue.d.ts +6 -6
  21. package/dist/components/quests/QuestDetails.vue.d.ts +64 -64
  22. package/dist/components/quests/QuestDisplay.vue.d.ts +64 -64
  23. package/dist/components/quests/quests-list-section.vue.d.ts +75 -75
  24. package/dist/components/quests-ui.vue.d.ts +22 -22
  25. package/dist/components/save-slots.vue.d.ts +79 -79
  26. package/dist/components/saves/save-slot-ui.vue.d.ts +108 -108
  27. package/dist/components/screen-layer.vue.d.ts +76 -76
  28. package/dist/components/screen-objects/screen-object.vue.d.ts +68 -0
  29. package/dist/components/screens.vue.d.ts +46 -46
  30. package/dist/components/tabs/TabsController.vue.d.ts +72 -72
  31. package/dist/components/tabs/tab-selector.vue.d.ts +82 -82
  32. package/dist/components/tooltips/tooltips-ui.vue.d.ts +46 -46
  33. package/dist/components/transitions/NarratTransition.vue.d.ts +97 -97
  34. package/dist/components/utils/alert-modal.vue.d.ts +82 -82
  35. package/dist/components/utils/floating-tooltip.vue.d.ts +62 -62
  36. package/dist/components/utils/modal-window.vue.d.ts +18 -18
  37. package/dist/components/utils/yes-no.vue.d.ts +106 -106
  38. package/dist/components/volume-controls.vue.d.ts +18 -18
  39. package/dist/config/audio-config.d.ts +58 -58
  40. package/dist/config/buttons-config.d.ts +68 -64
  41. package/dist/config/characters-config.d.ts +36 -0
  42. package/dist/config/common-config.d.ts +80 -80
  43. package/dist/config/config-input.d.ts +231 -213
  44. package/dist/config/config-output.d.ts +232 -212
  45. package/dist/config/items-config.d.ts +71 -71
  46. package/dist/config/layout-config.d.ts +26 -26
  47. package/dist/config/quests-config.d.ts +48 -48
  48. package/dist/config/screens-config.d.ts +133 -128
  49. package/dist/config/skills-config.d.ts +70 -70
  50. package/dist/config/tooltips-config.d.ts +15 -15
  51. package/dist/config.d.ts +182 -164
  52. package/dist/constants.d.ts +12 -12
  53. package/dist/demo/demo.d.ts +1 -1
  54. package/dist/dialog-box.vue.d.ts +71 -71
  55. package/dist/exports/components.d.ts +2 -2
  56. package/dist/exports/config.d.ts +1 -1
  57. package/dist/exports/display.d.ts +2 -2
  58. package/dist/exports/events.d.ts +1 -1
  59. package/dist/exports/others.d.ts +1 -1
  60. package/dist/exports/plugins.d.ts +47 -38
  61. package/dist/exports/stores.d.ts +11 -11
  62. package/dist/favicon.svg +30 -30
  63. package/dist/gamepad/gamepad.d.ts +1 -1
  64. package/dist/hooks/util-hooks.d.ts +1 -0
  65. package/dist/lib.d.ts +18 -18
  66. package/dist/main.d.ts +6 -6
  67. package/dist/menu-buttons/menu-buttons.d.ts +7 -7
  68. package/dist/narrat.es.js +15682 -15571
  69. package/dist/narrat.es.js.map +1 -1
  70. package/dist/narrat.umd.js +119 -119
  71. package/dist/narrat.umd.js.map +1 -1
  72. package/dist/plugins/NarratPlugin.d.ts +11 -11
  73. package/dist/stores/audio-store.d.ts +56 -56
  74. package/dist/stores/config-store.d.ts +6 -6
  75. package/dist/stores/dialog-store.d.ts +35 -35
  76. package/dist/stores/hud-stats-store.d.ts +20 -20
  77. package/dist/stores/inventory-store.d.ts +49 -49
  78. package/dist/stores/main-store.d.ts +1627 -1797
  79. package/dist/stores/menu-store.d.ts +45 -45
  80. package/dist/stores/notification-store.d.ts +15 -15
  81. package/dist/stores/quest-log.d.ts +37 -37
  82. package/dist/stores/rendering-store.d.ts +20 -19
  83. package/dist/stores/screen-objects-store.d.ts +67 -0
  84. package/dist/stores/screens-store.d.ts +34 -33
  85. package/dist/stores/skills.d.ts +39 -39
  86. package/dist/stores/tooltip-store.d.ts +18 -18
  87. package/dist/stores/vm-store.d.ts +181 -181
  88. package/dist/style.css +1 -1
  89. package/dist/types/app-types.d.ts +8 -9
  90. package/dist/types/dialog-box-types.d.ts +11 -11
  91. package/dist/types/game-save.d.ts +40 -40
  92. package/dist/types/parser.d.ts +93 -93
  93. package/dist/types/state.d.ts +3 -3
  94. package/dist/utils/InputsListener.d.ts +9 -9
  95. package/dist/utils/ajax.d.ts +2 -2
  96. package/dist/utils/audio-loader.d.ts +10 -10
  97. package/dist/utils/characters.d.ts +4 -5
  98. package/dist/utils/data-helpers.d.ts +31 -32
  99. package/dist/utils/data-helpers.test.d.ts +1 -1
  100. package/dist/utils/debounce.d.ts +14 -14
  101. package/dist/utils/error-handling.d.ts +4 -4
  102. package/dist/utils/getWindow.d.ts +1 -1
  103. package/dist/utils/helpers.d.ts +6 -6
  104. package/dist/utils/images-loader.d.ts +7 -7
  105. package/dist/utils/logger.d.ts +11 -11
  106. package/dist/utils/object-iterators.d.ts +9 -9
  107. package/dist/utils/promises.d.ts +1 -1
  108. package/dist/utils/randomId.d.ts +1 -1
  109. package/dist/utils/save-helpers.d.ts +16 -16
  110. package/dist/utils/skillchecks.d.ts +17 -17
  111. package/dist/utils/string-helpers.d.ts +5 -5
  112. package/dist/utils/time-helpers.d.ts +2 -2
  113. package/dist/utils/tooltip-utils.d.ts +2 -2
  114. package/dist/utils/transition.d.ts +21 -21
  115. package/dist/utils/type-utils.d.ts +2 -2
  116. package/dist/utils/typed-emitter.d.ts +18 -18
  117. package/dist/utils/viewport-utils.d.ts +3 -0
  118. package/dist/utils/vue-directives.d.ts +2 -2
  119. package/dist/vm/commands/arithmetic-commands.d.ts +23 -23
  120. package/dist/vm/commands/array-commands.d.ts +42 -42
  121. package/dist/vm/commands/audio-commands.d.ts +15 -15
  122. package/dist/vm/commands/choice.d.ts +38 -38
  123. package/dist/vm/commands/clear_dialog.d.ts +2 -2
  124. package/dist/vm/commands/command-helpers.d.ts +3 -3
  125. package/dist/vm/commands/command-plugin.d.ts +43 -43
  126. package/dist/vm/commands/flow-commands.d.ts +27 -27
  127. package/dist/vm/commands/if.d.ts +10 -10
  128. package/dist/vm/commands/index.d.ts +2 -2
  129. package/dist/vm/commands/inventory-commands.d.ts +15 -15
  130. package/dist/vm/commands/logic-command.d.ts +42 -42
  131. package/dist/vm/commands/math-commands.d.ts +30 -30
  132. package/dist/vm/commands/notify.d.ts +6 -6
  133. package/dist/vm/commands/quest-commands.d.ts +30 -30
  134. package/dist/vm/commands/random-commands.d.ts +13 -13
  135. package/dist/vm/commands/screen-commands.d.ts +18 -18
  136. package/dist/vm/commands/set.d.ts +6 -6
  137. package/dist/vm/commands/skill-commands.d.ts +33 -33
  138. package/dist/vm/commands/sprite-commands.d.ts +16 -9
  139. package/dist/vm/commands/stats-commands.d.ts +12 -12
  140. package/dist/vm/commands/string-commands.d.ts +9 -9
  141. package/dist/vm/commands/text-field.d.ts +7 -7
  142. package/dist/vm/commands/text.d.ts +14 -14
  143. package/dist/vm/commands/time-commands.d.ts +16 -16
  144. package/dist/vm/commands/util-commands.d.ts +4 -4
  145. package/dist/vm/commands/wait.d.ts +4 -4
  146. package/dist/vm/vm-helpers.d.ts +19 -19
  147. package/dist/vm/vm-parser.d.ts +19 -19
  148. package/dist/vm/vm-parser.test.d.ts +1 -1
  149. package/dist/vm/vm.d.ts +21 -21
  150. package/package.json +2 -2
  151. package/dist/stores/sprites-store.d.ts +0 -54
  152. package/dist/types/character-types.d.ts +0 -27
@@ -1,1797 +1,1627 @@
1
- import { AppOptions } from '../types/app-types';
2
- import { GameSave, SaveSlot } from '../types/game-save';
3
- import { ChosenSlot } from '../utils/save-helpers';
4
- import { TypedEmitter } from '../utils/typed-emitter';
5
- export declare function defaultAppOptions(): AppOptions;
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
- type: 'error' | 'warning' | 'info';
14
- }
15
- interface MainState {
16
- ready: boolean;
17
- playing: boolean;
18
- errors: ErrorState[];
19
- playTime: {
20
- start: number;
21
- previousPlaytime: number;
22
- };
23
- saveSlot: string;
24
- options: AppOptions;
25
- flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
26
- paused: boolean;
27
- loading: {
28
- step: string;
29
- percentage: number;
30
- loaded: boolean;
31
- };
32
- debugMode: boolean;
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
- inScript: boolean;
47
- }
48
- export interface MainSaveData {
49
- playTime: number;
50
- }
51
- export declare const useMain: import("pinia").StoreDefinition<"main", MainState, {
52
- isInGame(state: {
53
- ready: boolean;
54
- playing: boolean;
55
- errors: {
56
- text: string;
57
- type: 'error' | 'warning' | 'info';
58
- }[];
59
- playTime: {
60
- start: number;
61
- previousPlaytime: number;
62
- };
63
- saveSlot: string;
64
- options: {
65
- baseAssetsPath?: string | undefined;
66
- baseDataPath?: string | undefined;
67
- charactersPath: string;
68
- configPath: string;
69
- logging?: boolean | undefined;
70
- debug?: boolean | undefined;
71
- };
72
- flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
73
- paused: boolean;
74
- loading: {
75
- step: string;
76
- percentage: number;
77
- loaded: boolean;
78
- };
79
- debugMode: boolean;
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 | null)[];
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").AudioSaveMode;
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
- };
154
- sprites: {
155
- sprites: {
156
- _entityType: "sprite";
157
- id: string;
158
- x: number;
159
- y: number;
160
- anchor: {
161
- x: number;
162
- y: number;
163
- };
164
- width: number;
165
- height: number;
166
- image: string;
167
- opacity: number;
168
- scale: number;
169
- layer: number;
170
- cssClass?: string | undefined;
171
- onClick?: string | undefined;
172
- clickMethod?: "jump" | "run" | undefined;
173
- }[];
174
- };
175
- } | undefined;
176
- listener: {
177
- listeners: {
178
- gameLoaded: Set<() => void>;
179
- };
180
- on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
181
- off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
182
- once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
183
- emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
184
- clear: () => void;
185
- };
186
- inScript: boolean;
187
- } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
188
- totalPlayTime(state: {
189
- ready: boolean;
190
- playing: boolean;
191
- errors: {
192
- text: string;
193
- type: 'error' | 'warning' | 'info';
194
- }[];
195
- playTime: {
196
- start: number;
197
- previousPlaytime: number;
198
- };
199
- saveSlot: string;
200
- options: {
201
- baseAssetsPath?: string | undefined;
202
- baseDataPath?: string | undefined;
203
- charactersPath: string;
204
- configPath: string;
205
- logging?: boolean | undefined;
206
- debug?: boolean | undefined;
207
- };
208
- flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
209
- paused: boolean;
210
- loading: {
211
- step: string;
212
- percentage: number;
213
- loaded: boolean;
214
- };
215
- debugMode: boolean;
216
- alerts: {
217
- title: string;
218
- text: string;
219
- resolver: () => void;
220
- id: string;
221
- }[];
222
- saving: {
223
- withPrompt?: boolean | undefined;
224
- name?: string | undefined;
225
- resolver: () => void;
226
- } | null;
227
- saveData?: {
228
- version: string;
229
- skills: {
230
- skillChecks: {
231
- [key: string]: import("./skills").SkillCheckState;
232
- };
233
- skills: import("./skills").SkillsState;
234
- };
235
- screen: {
236
- layers: (string | null)[];
237
- buttons: import("./screens-store").ButtonsState;
238
- };
239
- main: {
240
- playTime: number;
241
- };
242
- dialog: {
243
- dialog: {
244
- speaker: string;
245
- text: string;
246
- pose?: string | undefined;
247
- cssClass?: string | undefined;
248
- choices?: {
249
- choice: string;
250
- originalIndex: number;
251
- allowed: boolean;
252
- }[] | undefined;
253
- textField?: boolean | undefined;
254
- interactive: boolean;
255
- id: string;
256
- }[];
257
- };
258
- vm: {
259
- lastLabel: string;
260
- data: import("./vm-store").DataState;
261
- };
262
- audio: {
263
- modes: {
264
- [key: string]: import("./audio-store").AudioSaveMode;
265
- };
266
- masterVolume: number;
267
- };
268
- hud: {
269
- hudStats: import("./hud-stats-store").HudStatsState;
270
- };
271
- inventory: {
272
- items: {
273
- [key: string]: import("./inventory-store").ItemState;
274
- };
275
- interactionTags: {
276
- [key: string]: {
277
- blockedInteraction: boolean;
278
- };
279
- };
280
- };
281
- quests: {
282
- quests: {
283
- [key: string]: import("./quest-log").QuestState;
284
- };
285
- };
286
- metadata: {
287
- saveDate: string;
288
- name: string;
289
- };
290
- sprites: {
291
- sprites: {
292
- _entityType: "sprite";
293
- id: string;
294
- x: number;
295
- y: number;
296
- anchor: {
297
- x: number;
298
- y: number;
299
- };
300
- width: number;
301
- height: number;
302
- image: string;
303
- opacity: number;
304
- scale: number;
305
- layer: number;
306
- cssClass?: string | undefined;
307
- onClick?: string | undefined;
308
- clickMethod?: "jump" | "run" | undefined;
309
- }[];
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
- inScript: boolean;
323
- } & import("pinia").PiniaCustomStateProperties<MainState>): number;
324
- sessionPlayTime(state: {
325
- ready: boolean;
326
- playing: boolean;
327
- errors: {
328
- text: string;
329
- type: 'error' | 'warning' | 'info';
330
- }[];
331
- playTime: {
332
- start: number;
333
- previousPlaytime: number;
334
- };
335
- saveSlot: string;
336
- options: {
337
- baseAssetsPath?: string | undefined;
338
- baseDataPath?: string | undefined;
339
- charactersPath: string;
340
- configPath: string;
341
- logging?: boolean | undefined;
342
- debug?: boolean | undefined;
343
- };
344
- flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
345
- paused: boolean;
346
- loading: {
347
- step: string;
348
- percentage: number;
349
- loaded: boolean;
350
- };
351
- debugMode: boolean;
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 | null)[];
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").AudioSaveMode;
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
- };
426
- sprites: {
427
- sprites: {
428
- _entityType: "sprite";
429
- id: string;
430
- x: number;
431
- y: number;
432
- anchor: {
433
- x: number;
434
- y: number;
435
- };
436
- width: number;
437
- height: number;
438
- image: string;
439
- opacity: number;
440
- scale: number;
441
- layer: number;
442
- cssClass?: string | undefined;
443
- onClick?: string | undefined;
444
- clickMethod?: "jump" | "run" | undefined;
445
- }[];
446
- };
447
- } | undefined;
448
- listener: {
449
- listeners: {
450
- gameLoaded: Set<() => void>;
451
- };
452
- on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
453
- off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
454
- once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
455
- emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
456
- clear: () => void;
457
- };
458
- inScript: boolean;
459
- } & import("pinia").PiniaCustomStateProperties<MainState>): number;
460
- }, {
461
- setup(): Promise<void>;
462
- engineLoading(): Promise<void>;
463
- alert(title: string, text: string): Promise<void>;
464
- closeAlert(id: string): void;
465
- startingScript(): void;
466
- endingScript(): void;
467
- startMachine(): void;
468
- setSaveSlot(slot: string): void;
469
- startGame(saveSlot: string): Promise<void>;
470
- loadGame(save: SaveSlot, saveSlot: string): Promise<void>;
471
- manualSave({ saveName, withPrompt, }: {
472
- saveName?: string | undefined;
473
- withPrompt?: boolean | undefined;
474
- }): Promise<void>;
475
- finishManualSave(slotData: ChosenSlot | null, yes: boolean): void;
476
- playerAnswered(choice: number | string): void;
477
- menuReturn(): void;
478
- createError(text: string): void;
479
- createWarning(text: string): void;
480
- clearErrors(): void;
481
- setFlowState(flowState: 'menu' | 'playing'): void;
482
- pause(): void;
483
- unpause(): void;
484
- setOptions(options: AppOptions): void;
485
- startPlaying(): void;
486
- reset(): void;
487
- resetAllStores(): void;
488
- generateSaveData(): MainSaveData;
489
- loadSaveData(data: MainSaveData): void;
490
- autoSaveGame({ slotId, name }: {
491
- slotId?: string | undefined;
492
- name?: string | undefined;
493
- }): void;
494
- setLoadedData(save: GameSave): void;
495
- getAllStates(): {
496
- main: any & {
497
- ready: boolean;
498
- playing: boolean;
499
- errors: {
500
- text: string;
501
- type: 'error' | 'warning' | 'info';
502
- }[];
503
- playTime: {
504
- start: number;
505
- previousPlaytime: number;
506
- };
507
- saveSlot: string;
508
- options: {
509
- baseAssetsPath?: string | undefined;
510
- baseDataPath?: string | undefined;
511
- charactersPath: string;
512
- configPath: string;
513
- logging?: boolean | undefined;
514
- debug?: boolean | undefined;
515
- };
516
- flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
517
- paused: boolean;
518
- loading: {
519
- step: string;
520
- percentage: number;
521
- loaded: boolean;
522
- };
523
- debugMode: boolean;
524
- alerts: {
525
- title: string;
526
- text: string;
527
- resolver: () => void;
528
- id: string;
529
- }[];
530
- saving: {
531
- withPrompt?: boolean | undefined;
532
- name?: string | undefined;
533
- resolver: () => void;
534
- } | null;
535
- saveData?: {
536
- version: string;
537
- skills: {
538
- skillChecks: {
539
- [key: string]: import("./skills").SkillCheckState;
540
- };
541
- skills: import("./skills").SkillsState;
542
- };
543
- screen: {
544
- layers: (string | null)[];
545
- buttons: import("./screens-store").ButtonsState;
546
- };
547
- main: {
548
- playTime: number;
549
- };
550
- dialog: {
551
- dialog: {
552
- speaker: string;
553
- text: string;
554
- pose?: string | undefined;
555
- cssClass?: string | undefined;
556
- choices?: {
557
- choice: string;
558
- originalIndex: number;
559
- allowed: boolean;
560
- }[] | undefined;
561
- textField?: boolean | undefined;
562
- interactive: boolean;
563
- id: string;
564
- }[];
565
- };
566
- vm: {
567
- lastLabel: string;
568
- data: import("./vm-store").DataState;
569
- };
570
- audio: {
571
- modes: {
572
- [key: string]: import("./audio-store").AudioSaveMode;
573
- };
574
- masterVolume: number;
575
- };
576
- hud: {
577
- hudStats: import("./hud-stats-store").HudStatsState;
578
- };
579
- inventory: {
580
- items: {
581
- [key: string]: import("./inventory-store").ItemState;
582
- };
583
- interactionTags: {
584
- [key: string]: {
585
- blockedInteraction: boolean;
586
- };
587
- };
588
- };
589
- quests: {
590
- quests: {
591
- [key: string]: import("./quest-log").QuestState;
592
- };
593
- };
594
- metadata: {
595
- saveDate: string;
596
- name: string;
597
- };
598
- sprites: {
599
- sprites: {
600
- _entityType: "sprite";
601
- id: string;
602
- x: number;
603
- y: number;
604
- anchor: {
605
- x: number;
606
- y: number;
607
- };
608
- width: number;
609
- height: number;
610
- image: string;
611
- opacity: number;
612
- scale: number;
613
- layer: number;
614
- cssClass?: string | undefined;
615
- onClick?: string | undefined;
616
- clickMethod?: "jump" | "run" | undefined;
617
- }[];
618
- };
619
- } | undefined;
620
- listener: {
621
- listeners: {
622
- gameLoaded: Set<() => void>;
623
- };
624
- on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
625
- off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
626
- once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
627
- emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
628
- clear: () => void;
629
- };
630
- inScript: boolean;
631
- } & import("pinia")._StoreWithState<"main", MainState, {
632
- isInGame(state: {
633
- ready: boolean;
634
- playing: boolean;
635
- errors: {
636
- text: string;
637
- type: 'error' | 'warning' | 'info';
638
- }[];
639
- playTime: {
640
- start: number;
641
- previousPlaytime: number;
642
- };
643
- saveSlot: string;
644
- options: {
645
- baseAssetsPath?: string | undefined;
646
- baseDataPath?: string | undefined;
647
- charactersPath: string;
648
- configPath: string;
649
- logging?: boolean | undefined;
650
- debug?: boolean | undefined;
651
- };
652
- flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
653
- paused: boolean;
654
- loading: {
655
- step: string;
656
- percentage: number;
657
- loaded: boolean;
658
- };
659
- debugMode: boolean;
660
- alerts: {
661
- title: string;
662
- text: string;
663
- resolver: () => void;
664
- id: string;
665
- }[];
666
- saving: {
667
- withPrompt?: boolean | undefined;
668
- name?: string | undefined;
669
- resolver: () => void;
670
- } | null;
671
- saveData?: {
672
- version: string;
673
- skills: {
674
- skillChecks: {
675
- [key: string]: import("./skills").SkillCheckState;
676
- };
677
- skills: import("./skills").SkillsState;
678
- };
679
- screen: {
680
- layers: (string | null)[];
681
- buttons: import("./screens-store").ButtonsState;
682
- };
683
- main: {
684
- playTime: number;
685
- };
686
- dialog: {
687
- dialog: {
688
- speaker: string;
689
- text: string;
690
- pose?: string | undefined;
691
- cssClass?: string | undefined;
692
- choices?: {
693
- choice: string;
694
- originalIndex: number;
695
- allowed: boolean;
696
- }[] | undefined;
697
- textField?: boolean | undefined;
698
- interactive: boolean;
699
- id: string;
700
- }[];
701
- };
702
- vm: {
703
- lastLabel: string;
704
- data: import("./vm-store").DataState;
705
- };
706
- audio: {
707
- modes: {
708
- [key: string]: import("./audio-store").AudioSaveMode;
709
- };
710
- masterVolume: number;
711
- };
712
- hud: {
713
- hudStats: import("./hud-stats-store").HudStatsState;
714
- };
715
- inventory: {
716
- items: {
717
- [key: string]: import("./inventory-store").ItemState;
718
- };
719
- interactionTags: {
720
- [key: string]: {
721
- blockedInteraction: boolean;
722
- };
723
- };
724
- };
725
- quests: {
726
- quests: {
727
- [key: string]: import("./quest-log").QuestState;
728
- };
729
- };
730
- metadata: {
731
- saveDate: string;
732
- name: string;
733
- };
734
- sprites: {
735
- sprites: {
736
- _entityType: "sprite";
737
- id: string;
738
- x: number;
739
- y: number;
740
- anchor: {
741
- x: number;
742
- y: number;
743
- };
744
- width: number;
745
- height: number;
746
- image: string;
747
- opacity: number;
748
- scale: number;
749
- layer: number;
750
- cssClass?: string | undefined;
751
- onClick?: string | undefined;
752
- clickMethod?: "jump" | "run" | undefined;
753
- }[];
754
- };
755
- } | undefined;
756
- listener: {
757
- listeners: {
758
- gameLoaded: Set<() => void>;
759
- };
760
- on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
761
- off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
762
- once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
763
- emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
764
- clear: () => void;
765
- };
766
- inScript: boolean;
767
- } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
768
- totalPlayTime(state: {
769
- ready: boolean;
770
- playing: boolean;
771
- errors: {
772
- text: string;
773
- type: 'error' | 'warning' | 'info';
774
- }[];
775
- playTime: {
776
- start: number;
777
- previousPlaytime: number;
778
- };
779
- saveSlot: string;
780
- options: {
781
- baseAssetsPath?: string | undefined;
782
- baseDataPath?: string | undefined;
783
- charactersPath: string;
784
- configPath: string;
785
- logging?: boolean | undefined;
786
- debug?: boolean | undefined;
787
- };
788
- flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
789
- paused: boolean;
790
- loading: {
791
- step: string;
792
- percentage: number;
793
- loaded: boolean;
794
- };
795
- debugMode: boolean;
796
- alerts: {
797
- title: string;
798
- text: string;
799
- resolver: () => void;
800
- id: string;
801
- }[];
802
- saving: {
803
- withPrompt?: boolean | undefined;
804
- name?: string | undefined;
805
- resolver: () => void;
806
- } | null;
807
- saveData?: {
808
- version: string;
809
- skills: {
810
- skillChecks: {
811
- [key: string]: import("./skills").SkillCheckState;
812
- };
813
- skills: import("./skills").SkillsState;
814
- };
815
- screen: {
816
- layers: (string | null)[];
817
- buttons: import("./screens-store").ButtonsState;
818
- };
819
- main: {
820
- playTime: number;
821
- };
822
- dialog: {
823
- dialog: {
824
- speaker: string;
825
- text: string;
826
- pose?: string | undefined;
827
- cssClass?: string | undefined;
828
- choices?: {
829
- choice: string;
830
- originalIndex: number;
831
- allowed: boolean;
832
- }[] | undefined;
833
- textField?: boolean | undefined;
834
- interactive: boolean;
835
- id: string;
836
- }[];
837
- };
838
- vm: {
839
- lastLabel: string;
840
- data: import("./vm-store").DataState;
841
- };
842
- audio: {
843
- modes: {
844
- [key: string]: import("./audio-store").AudioSaveMode;
845
- };
846
- masterVolume: number;
847
- };
848
- hud: {
849
- hudStats: import("./hud-stats-store").HudStatsState;
850
- };
851
- inventory: {
852
- items: {
853
- [key: string]: import("./inventory-store").ItemState;
854
- };
855
- interactionTags: {
856
- [key: string]: {
857
- blockedInteraction: boolean;
858
- };
859
- };
860
- };
861
- quests: {
862
- quests: {
863
- [key: string]: import("./quest-log").QuestState;
864
- };
865
- };
866
- metadata: {
867
- saveDate: string;
868
- name: string;
869
- };
870
- sprites: {
871
- sprites: {
872
- _entityType: "sprite";
873
- id: string;
874
- x: number;
875
- y: number;
876
- anchor: {
877
- x: number;
878
- y: number;
879
- };
880
- width: number;
881
- height: number;
882
- image: string;
883
- opacity: number;
884
- scale: number;
885
- layer: number;
886
- cssClass?: string | undefined;
887
- onClick?: string | undefined;
888
- clickMethod?: "jump" | "run" | undefined;
889
- }[];
890
- };
891
- } | undefined;
892
- listener: {
893
- listeners: {
894
- gameLoaded: Set<() => void>;
895
- };
896
- on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
897
- off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
898
- once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
899
- emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
900
- clear: () => void;
901
- };
902
- inScript: boolean;
903
- } & import("pinia").PiniaCustomStateProperties<MainState>): number;
904
- sessionPlayTime(state: {
905
- ready: boolean;
906
- playing: boolean;
907
- errors: {
908
- text: string;
909
- type: 'error' | 'warning' | 'info';
910
- }[];
911
- playTime: {
912
- start: number;
913
- previousPlaytime: number;
914
- };
915
- saveSlot: string;
916
- options: {
917
- baseAssetsPath?: string | undefined;
918
- baseDataPath?: string | undefined;
919
- charactersPath: string;
920
- configPath: string;
921
- logging?: boolean | undefined;
922
- debug?: boolean | undefined;
923
- };
924
- flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
925
- paused: boolean;
926
- loading: {
927
- step: string;
928
- percentage: number;
929
- loaded: boolean;
930
- };
931
- debugMode: boolean;
932
- alerts: {
933
- title: string;
934
- text: string;
935
- resolver: () => void;
936
- id: string;
937
- }[];
938
- saving: {
939
- withPrompt?: boolean | undefined;
940
- name?: string | undefined;
941
- resolver: () => void;
942
- } | null;
943
- saveData?: {
944
- version: string;
945
- skills: {
946
- skillChecks: {
947
- [key: string]: import("./skills").SkillCheckState;
948
- };
949
- skills: import("./skills").SkillsState;
950
- };
951
- screen: {
952
- layers: (string | null)[];
953
- buttons: import("./screens-store").ButtonsState;
954
- };
955
- main: {
956
- playTime: number;
957
- };
958
- dialog: {
959
- dialog: {
960
- speaker: string;
961
- text: string;
962
- pose?: string | undefined;
963
- cssClass?: string | undefined;
964
- choices?: {
965
- choice: string;
966
- originalIndex: number;
967
- allowed: boolean;
968
- }[] | undefined;
969
- textField?: boolean | undefined;
970
- interactive: boolean;
971
- id: string;
972
- }[];
973
- };
974
- vm: {
975
- lastLabel: string;
976
- data: import("./vm-store").DataState;
977
- };
978
- audio: {
979
- modes: {
980
- [key: string]: import("./audio-store").AudioSaveMode;
981
- };
982
- masterVolume: number;
983
- };
984
- hud: {
985
- hudStats: import("./hud-stats-store").HudStatsState;
986
- };
987
- inventory: {
988
- items: {
989
- [key: string]: import("./inventory-store").ItemState;
990
- };
991
- interactionTags: {
992
- [key: string]: {
993
- blockedInteraction: boolean;
994
- };
995
- };
996
- };
997
- quests: {
998
- quests: {
999
- [key: string]: import("./quest-log").QuestState;
1000
- };
1001
- };
1002
- metadata: {
1003
- saveDate: string;
1004
- name: string;
1005
- };
1006
- sprites: {
1007
- sprites: {
1008
- _entityType: "sprite";
1009
- id: string;
1010
- x: number;
1011
- y: number;
1012
- anchor: {
1013
- x: number;
1014
- y: number;
1015
- };
1016
- width: number;
1017
- height: number;
1018
- image: string;
1019
- opacity: number;
1020
- scale: number;
1021
- layer: number;
1022
- cssClass?: string | undefined;
1023
- onClick?: string | undefined;
1024
- clickMethod?: "jump" | "run" | undefined;
1025
- }[];
1026
- };
1027
- } | undefined;
1028
- listener: {
1029
- listeners: {
1030
- gameLoaded: Set<() => void>;
1031
- };
1032
- on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
1033
- off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
1034
- once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
1035
- emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
1036
- clear: () => void;
1037
- };
1038
- inScript: boolean;
1039
- } & import("pinia").PiniaCustomStateProperties<MainState>): number;
1040
- }, any> & import("pinia")._StoreWithGetters<{
1041
- isInGame(state: {
1042
- ready: boolean;
1043
- playing: boolean;
1044
- errors: {
1045
- text: string;
1046
- type: 'error' | 'warning' | 'info';
1047
- }[];
1048
- playTime: {
1049
- start: number;
1050
- previousPlaytime: number;
1051
- };
1052
- saveSlot: string;
1053
- options: {
1054
- baseAssetsPath?: string | undefined;
1055
- baseDataPath?: string | undefined;
1056
- charactersPath: string;
1057
- configPath: string;
1058
- logging?: boolean | undefined;
1059
- debug?: boolean | undefined;
1060
- };
1061
- flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
1062
- paused: boolean;
1063
- loading: {
1064
- step: string;
1065
- percentage: number;
1066
- loaded: boolean;
1067
- };
1068
- debugMode: boolean;
1069
- alerts: {
1070
- title: string;
1071
- text: string;
1072
- resolver: () => void;
1073
- id: string;
1074
- }[];
1075
- saving: {
1076
- withPrompt?: boolean | undefined;
1077
- name?: string | undefined;
1078
- resolver: () => void;
1079
- } | null;
1080
- saveData?: {
1081
- version: string;
1082
- skills: {
1083
- skillChecks: {
1084
- [key: string]: import("./skills").SkillCheckState;
1085
- };
1086
- skills: import("./skills").SkillsState;
1087
- };
1088
- screen: {
1089
- layers: (string | null)[];
1090
- buttons: import("./screens-store").ButtonsState;
1091
- };
1092
- main: {
1093
- playTime: number;
1094
- };
1095
- dialog: {
1096
- dialog: {
1097
- speaker: string;
1098
- text: string;
1099
- pose?: string | undefined;
1100
- cssClass?: string | undefined;
1101
- choices?: {
1102
- choice: string;
1103
- originalIndex: number;
1104
- allowed: boolean;
1105
- }[] | undefined;
1106
- textField?: boolean | undefined;
1107
- interactive: boolean;
1108
- id: string;
1109
- }[];
1110
- };
1111
- vm: {
1112
- lastLabel: string;
1113
- data: import("./vm-store").DataState;
1114
- };
1115
- audio: {
1116
- modes: {
1117
- [key: string]: import("./audio-store").AudioSaveMode;
1118
- };
1119
- masterVolume: number;
1120
- };
1121
- hud: {
1122
- hudStats: import("./hud-stats-store").HudStatsState;
1123
- };
1124
- inventory: {
1125
- items: {
1126
- [key: string]: import("./inventory-store").ItemState;
1127
- };
1128
- interactionTags: {
1129
- [key: string]: {
1130
- blockedInteraction: boolean;
1131
- };
1132
- };
1133
- };
1134
- quests: {
1135
- quests: {
1136
- [key: string]: import("./quest-log").QuestState;
1137
- };
1138
- };
1139
- metadata: {
1140
- saveDate: string;
1141
- name: string;
1142
- };
1143
- sprites: {
1144
- sprites: {
1145
- _entityType: "sprite";
1146
- id: string;
1147
- x: number;
1148
- y: number;
1149
- anchor: {
1150
- x: number;
1151
- y: number;
1152
- };
1153
- width: number;
1154
- height: number;
1155
- image: string;
1156
- opacity: number;
1157
- scale: number;
1158
- layer: number;
1159
- cssClass?: string | undefined;
1160
- onClick?: string | undefined;
1161
- clickMethod?: "jump" | "run" | undefined;
1162
- }[];
1163
- };
1164
- } | undefined;
1165
- listener: {
1166
- listeners: {
1167
- gameLoaded: Set<() => void>;
1168
- };
1169
- on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
1170
- off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
1171
- once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
1172
- emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
1173
- clear: () => void;
1174
- };
1175
- inScript: boolean;
1176
- } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
1177
- totalPlayTime(state: {
1178
- ready: boolean;
1179
- playing: boolean;
1180
- errors: {
1181
- text: string;
1182
- type: 'error' | 'warning' | 'info';
1183
- }[];
1184
- playTime: {
1185
- start: number;
1186
- previousPlaytime: number;
1187
- };
1188
- saveSlot: string;
1189
- options: {
1190
- baseAssetsPath?: string | undefined;
1191
- baseDataPath?: string | undefined;
1192
- charactersPath: string;
1193
- configPath: string;
1194
- logging?: boolean | undefined;
1195
- debug?: boolean | undefined;
1196
- };
1197
- flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
1198
- paused: boolean;
1199
- loading: {
1200
- step: string;
1201
- percentage: number;
1202
- loaded: boolean;
1203
- };
1204
- debugMode: boolean;
1205
- alerts: {
1206
- title: string;
1207
- text: string;
1208
- resolver: () => void;
1209
- id: string;
1210
- }[];
1211
- saving: {
1212
- withPrompt?: boolean | undefined;
1213
- name?: string | undefined;
1214
- resolver: () => void;
1215
- } | null;
1216
- saveData?: {
1217
- version: string;
1218
- skills: {
1219
- skillChecks: {
1220
- [key: string]: import("./skills").SkillCheckState;
1221
- };
1222
- skills: import("./skills").SkillsState;
1223
- };
1224
- screen: {
1225
- layers: (string | null)[];
1226
- buttons: import("./screens-store").ButtonsState;
1227
- };
1228
- main: {
1229
- playTime: number;
1230
- };
1231
- dialog: {
1232
- dialog: {
1233
- speaker: string;
1234
- text: string;
1235
- pose?: string | undefined;
1236
- cssClass?: string | undefined;
1237
- choices?: {
1238
- choice: string;
1239
- originalIndex: number;
1240
- allowed: boolean;
1241
- }[] | undefined;
1242
- textField?: boolean | undefined;
1243
- interactive: boolean;
1244
- id: string;
1245
- }[];
1246
- };
1247
- vm: {
1248
- lastLabel: string;
1249
- data: import("./vm-store").DataState;
1250
- };
1251
- audio: {
1252
- modes: {
1253
- [key: string]: import("./audio-store").AudioSaveMode;
1254
- };
1255
- masterVolume: number;
1256
- };
1257
- hud: {
1258
- hudStats: import("./hud-stats-store").HudStatsState;
1259
- };
1260
- inventory: {
1261
- items: {
1262
- [key: string]: import("./inventory-store").ItemState;
1263
- };
1264
- interactionTags: {
1265
- [key: string]: {
1266
- blockedInteraction: boolean;
1267
- };
1268
- };
1269
- };
1270
- quests: {
1271
- quests: {
1272
- [key: string]: import("./quest-log").QuestState;
1273
- };
1274
- };
1275
- metadata: {
1276
- saveDate: string;
1277
- name: string;
1278
- };
1279
- sprites: {
1280
- sprites: {
1281
- _entityType: "sprite";
1282
- id: string;
1283
- x: number;
1284
- y: number;
1285
- anchor: {
1286
- x: number;
1287
- y: number;
1288
- };
1289
- width: number;
1290
- height: number;
1291
- image: string;
1292
- opacity: number;
1293
- scale: number;
1294
- layer: number;
1295
- cssClass?: string | undefined;
1296
- onClick?: string | undefined;
1297
- clickMethod?: "jump" | "run" | undefined;
1298
- }[];
1299
- };
1300
- } | undefined;
1301
- listener: {
1302
- listeners: {
1303
- gameLoaded: Set<() => void>;
1304
- };
1305
- on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
1306
- off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
1307
- once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
1308
- emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
1309
- clear: () => void;
1310
- };
1311
- inScript: boolean;
1312
- } & import("pinia").PiniaCustomStateProperties<MainState>): number;
1313
- sessionPlayTime(state: {
1314
- ready: boolean;
1315
- playing: boolean;
1316
- errors: {
1317
- text: string;
1318
- type: 'error' | 'warning' | 'info';
1319
- }[];
1320
- playTime: {
1321
- start: number;
1322
- previousPlaytime: number;
1323
- };
1324
- saveSlot: string;
1325
- options: {
1326
- baseAssetsPath?: string | undefined;
1327
- baseDataPath?: string | undefined;
1328
- charactersPath: string;
1329
- configPath: string;
1330
- logging?: boolean | undefined;
1331
- debug?: boolean | undefined;
1332
- };
1333
- flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
1334
- paused: boolean;
1335
- loading: {
1336
- step: string;
1337
- percentage: number;
1338
- loaded: boolean;
1339
- };
1340
- debugMode: boolean;
1341
- alerts: {
1342
- title: string;
1343
- text: string;
1344
- resolver: () => void;
1345
- id: string;
1346
- }[];
1347
- saving: {
1348
- withPrompt?: boolean | undefined;
1349
- name?: string | undefined;
1350
- resolver: () => void;
1351
- } | null;
1352
- saveData?: {
1353
- version: string;
1354
- skills: {
1355
- skillChecks: {
1356
- [key: string]: import("./skills").SkillCheckState;
1357
- };
1358
- skills: import("./skills").SkillsState;
1359
- };
1360
- screen: {
1361
- layers: (string | null)[];
1362
- buttons: import("./screens-store").ButtonsState;
1363
- };
1364
- main: {
1365
- playTime: number;
1366
- };
1367
- dialog: {
1368
- dialog: {
1369
- speaker: string;
1370
- text: string;
1371
- pose?: string | undefined;
1372
- cssClass?: string | undefined;
1373
- choices?: {
1374
- choice: string;
1375
- originalIndex: number;
1376
- allowed: boolean;
1377
- }[] | undefined;
1378
- textField?: boolean | undefined;
1379
- interactive: boolean;
1380
- id: string;
1381
- }[];
1382
- };
1383
- vm: {
1384
- lastLabel: string;
1385
- data: import("./vm-store").DataState;
1386
- };
1387
- audio: {
1388
- modes: {
1389
- [key: string]: import("./audio-store").AudioSaveMode;
1390
- };
1391
- masterVolume: number;
1392
- };
1393
- hud: {
1394
- hudStats: import("./hud-stats-store").HudStatsState;
1395
- };
1396
- inventory: {
1397
- items: {
1398
- [key: string]: import("./inventory-store").ItemState;
1399
- };
1400
- interactionTags: {
1401
- [key: string]: {
1402
- blockedInteraction: boolean;
1403
- };
1404
- };
1405
- };
1406
- quests: {
1407
- quests: {
1408
- [key: string]: import("./quest-log").QuestState;
1409
- };
1410
- };
1411
- metadata: {
1412
- saveDate: string;
1413
- name: string;
1414
- };
1415
- sprites: {
1416
- sprites: {
1417
- _entityType: "sprite";
1418
- id: string;
1419
- x: number;
1420
- y: number;
1421
- anchor: {
1422
- x: number;
1423
- y: number;
1424
- };
1425
- width: number;
1426
- height: number;
1427
- image: string;
1428
- opacity: number;
1429
- scale: number;
1430
- layer: number;
1431
- cssClass?: string | undefined;
1432
- onClick?: string | undefined;
1433
- clickMethod?: "jump" | "run" | undefined;
1434
- }[];
1435
- };
1436
- } | undefined;
1437
- listener: {
1438
- listeners: {
1439
- gameLoaded: Set<() => void>;
1440
- };
1441
- on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
1442
- off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
1443
- once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
1444
- emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
1445
- clear: () => void;
1446
- };
1447
- inScript: boolean;
1448
- } & import("pinia").PiniaCustomStateProperties<MainState>): number;
1449
- }> & import("pinia").PiniaCustomProperties<string, import("pinia").StateTree, import("pinia")._GettersTree<import("pinia").StateTree>, import("pinia")._ActionsTree>;
1450
- screens: import("pinia").Store<"screens", import("./screens-store").ScreenState, {
1451
- nonEmptyLayers(state: import("./screens-store").ScreenState): import("./screens-store").FullLayerState[];
1452
- }, {
1453
- setScreen(screen: string, layer: number, transition?: import("../utils/transition").AddTransition | undefined): Promise<void>;
1454
- finishTransition(layer: number): void;
1455
- transitionScreen(screen: string, transition: import("../utils/transition").AddTransition, layer?: number | undefined): Promise<void>;
1456
- emptyLayer(layer: number, transition?: import("../utils/transition").AddTransition | undefined): Promise<void>;
1457
- setButtons(config: import("../config/config-output").Config): void;
1458
- changeButton(button: string, newValue: import("./screens-store").ButtonStateValue): void;
1459
- generateSaveData(): import("./screens-store").ScreenSave;
1460
- loadSaveData(data: import("./screens-store").ScreenSave): void;
1461
- }>;
1462
- skills: import("pinia").Store<"skills", import("./skills").Skills, {}, {
1463
- setupSkillCheck(skillCheck: import("./skills").SkillCheckState, id: string): void;
1464
- passSkillCheck(skillCheckId: string, hide?: boolean | undefined): void;
1465
- failSkillCheck(skillCheckId: string, hide?: boolean | undefined): void;
1466
- resetSkillCheck(skillCheckId: string): void;
1467
- generateSaveData(): import("./skills").Skills;
1468
- getSkillCheck(id: string): import("./skills").SkillCheckState;
1469
- createSkillCheckState(): import("./skills").SkillCheckState;
1470
- loadSaveData(data: import("./skills").Skills): void;
1471
- setupSkills(skillsConfig: {
1472
- skills: Record<string, {
1473
- hidden?: boolean | undefined;
1474
- description: string;
1475
- name: string;
1476
- startingLevel: number;
1477
- icon: string;
1478
- }>;
1479
- skillChecks: {
1480
- rollRange: number;
1481
- skillMultiplier: number;
1482
- failureChance: number;
1483
- difficultyText: [number, string][];
1484
- };
1485
- skillOptions: {
1486
- xpPerLevel: number;
1487
- notifyLevelUp: boolean;
1488
- };
1489
- }): void;
1490
- getSkill(skill: string): import("./skills").SkillState;
1491
- getSkillLevel(skill: string): number;
1492
- getSkillXp(skill: string): number;
1493
- addXp(skill: string, xp: number): void;
1494
- setSkillLevel(skill: string, level: number): void;
1495
- incrementSkill(skill: string, amount: number): void;
1496
- levelledUp(skill: string): void;
1497
- }>;
1498
- dialog: import("pinia").Store<"dialog", {
1499
- dialog: import("./dialog-store").DialogKey[];
1500
- playMode: "auto" | "skip" | "normal";
1501
- }, {
1502
- currentDialog(): import("./dialog-store").DialogKey;
1503
- }, {
1504
- generateSaveData(): import("./dialog-store").DialogSave;
1505
- loadSaveData(data: import("./dialog-store").DialogSave): void;
1506
- addDialog(dialog: import("./dialog-store").AddDialogParams): void;
1507
- toggleAutoPlay(): void;
1508
- toggleSkip(): void;
1509
- clearDialog(): void;
1510
- reset(): void;
1511
- }>;
1512
- vm: import("pinia").Store<"vm", import("./vm-store").VMState, {
1513
- currentFrame(state: {
1514
- commandsWaitingForPlayerAnswer: {
1515
- args: (import("../types/parser").Parser.Primitive | {
1516
- code: string;
1517
- command: {
1518
- commandType: string;
1519
- operator: string;
1520
- args: (import("../types/parser").Parser.Primitive | any)[];
1521
- options: import("../types/parser").Parser.DefaultArg;
1522
- staticOptions: {};
1523
- };
1524
- fileName: string;
1525
- line: number;
1526
- })[];
1527
- commandType: string;
1528
- options: any;
1529
- code: string;
1530
- staticOptions: any;
1531
- operator: string;
1532
- line: number;
1533
- fileName: string;
1534
- finishCommand?: ((res: any) => void) | undefined;
1535
- }[];
1536
- stack: {
1537
- blocks: {
1538
- currentIndex: number;
1539
- branchData: {
1540
- branch: {
1541
- code: string;
1542
- command: {
1543
- commandType: string;
1544
- operator: string;
1545
- args: (import("../types/parser").Parser.Primitive | any)[];
1546
- options: import("../types/parser").Parser.DefaultArg;
1547
- staticOptions: {};
1548
- };
1549
- fileName: string;
1550
- line: number;
1551
- }[];
1552
- args?: string[] | undefined;
1553
- };
1554
- }[];
1555
- label: string;
1556
- scope: {
1557
- [key: string]: any;
1558
- };
1559
- returnValue: any;
1560
- }[];
1561
- script: import("../types/parser").Parser.ParsedScript;
1562
- data: import("./vm-store").DataState;
1563
- lastLabel: string;
1564
- jumpTarget?: {
1565
- currentIndex: number;
1566
- branchData: {
1567
- branch: {
1568
- code: string;
1569
- command: {
1570
- commandType: string;
1571
- operator: string;
1572
- args: (import("../types/parser").Parser.Primitive | any)[];
1573
- options: import("../types/parser").Parser.DefaultArg;
1574
- staticOptions: {};
1575
- };
1576
- fileName: string;
1577
- line: number;
1578
- }[];
1579
- args?: string[] | undefined;
1580
- };
1581
- label: string;
1582
- scope?: {
1583
- [key: string]: any;
1584
- } | undefined;
1585
- args?: any[] | undefined;
1586
- } | undefined;
1587
- hasJumped: boolean;
1588
- } & import("pinia").PiniaCustomStateProperties<import("./vm-store").VMState>): import("./vm-store").MachineFrame | undefined;
1589
- scope(): {
1590
- [key: string]: any;
1591
- };
1592
- currentBlock(): import("./vm-store").MachineBlock | undefined;
1593
- currentLine(): import("../types/parser").Parser.ParsedExpression<import("../types/parser").Parser.DefaultArg, {}> | undefined;
1594
- commandWaitingForAnswer(): import("../types/parser").Parser.Command<any, any> | undefined;
1595
- }, {
1596
- generateSaveData(): import("./vm-store").VMSave;
1597
- loadSaveData(data: import("./vm-store").VMSave): void;
1598
- findEntitiesInData(data: any): void;
1599
- setReturnValue(value: any): void;
1600
- waitForPlayerAnswer(cmd: import("../types/parser").Parser.Command<any, any>): void;
1601
- popAnswerQueue(): {
1602
- args: (import("../types/parser").Parser.Primitive | {
1603
- code: string;
1604
- command: {
1605
- commandType: string;
1606
- operator: string;
1607
- args: (import("../types/parser").Parser.Primitive | any)[];
1608
- options: import("../types/parser").Parser.DefaultArg;
1609
- staticOptions: {};
1610
- };
1611
- fileName: string;
1612
- line: number;
1613
- })[];
1614
- commandType: string;
1615
- options: any;
1616
- code: string;
1617
- staticOptions: any;
1618
- operator: string;
1619
- line: number;
1620
- fileName: string;
1621
- finishCommand?: ((res: any) => void) | undefined;
1622
- } | undefined;
1623
- addScopedVariable(key: string, value: any): void;
1624
- loadScripts(scriptPaths: string[]): Promise<void>;
1625
- start(): void;
1626
- setLastLabel(label: string): void;
1627
- reset(): void;
1628
- setScript(script: import("../types/parser").Parser.ParsedScript): void;
1629
- overrideData(data: import("./vm-store").DataState): void;
1630
- setStack(stack: import("./vm-store").SetFrameOptions): void;
1631
- frameOptionsToFrame(frame: import("./vm-store").SetFrameOptions): import("./vm-store").MachineFrame;
1632
- addBlock(frame: import("./vm-store").MachineFrame, block: import("./vm-store").MachineBlock): void;
1633
- addAndRunBlock(block: import("./vm-store").MachineBlock): Promise<any>;
1634
- setData(path: string, value: any): void;
1635
- addInstruction(path: string, value: any): void;
1636
- addFrame(newStackOptions: import("./vm-store").AddFrameOptions): void;
1637
- addAndRunFrame(newStackOptions: import("./vm-store").AddFrameOptions): Promise<any>;
1638
- runFrame(): Promise<any>;
1639
- cleanFrame(): any;
1640
- runBlock(): Promise<any>;
1641
- cleanBlock(): void;
1642
- runGame(): Promise<void>;
1643
- nextLineOnly(): Promise<boolean>;
1644
- isBlockFinished(): boolean;
1645
- reachedEndOfScript(): void;
1646
- runLineOnly(): Promise<any>;
1647
- runLabelFunction(label: string, ...args: any[]): Promise<any>;
1648
- runCustomFrame(stack: import("./vm-store").AddFrameOptions): void;
1649
- jumpToLabel(label: string, ...args: any[]): Promise<void>;
1650
- runThenGoBackToPreviousDialog(label: string, ...args: any[]): Promise<any>;
1651
- }>;
1652
- hud: import("pinia").Store<"hud", import("./hud-stats-store").HudState, {}, {
1653
- setupHudStats(stats: Record<string, {
1654
- maxValue?: number | undefined;
1655
- minValue?: number | undefined;
1656
- name: string;
1657
- icon: string;
1658
- startingValue: number;
1659
- }>): void;
1660
- setStat(stat: string, value: number): void;
1661
- addStat(stat: string, value: number): void;
1662
- getStat(stat: string): import("./hud-stats-store").HudStat;
1663
- getStatValue(stat: string): number;
1664
- generateSaveData(): import("./hud-stats-store").HudState;
1665
- loadSaveData(data: import("./hud-stats-store").HudState): void;
1666
- }>;
1667
- audio: import("pinia").Store<"audio", import("./audio-store").AudioState, {}, {
1668
- stopAll(): void;
1669
- stopChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): Promise<void>;
1670
- pauseChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): Promise<void>;
1671
- playChannel(mode: "sound" | "music" | "ambiant", audio: string, channelIndex: number): Promise<void>;
1672
- changeChannel(mode: "sound" | "music" | "ambiant", audio: string, channelIndex: number): Promise<void>;
1673
- actuallyStopChannel(channel: import("./audio-store").AudioChannel): void;
1674
- getAudioChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): import("./audio-store").AudioChannel | null;
1675
- setAudioChannel(mode: "sound" | "music" | "ambiant", channelIndex: number, value: import("./audio-store").AudioChannel | null): void;
1676
- actuallyPlayChannel(mode: "sound" | "music" | "ambiant", channelIndex: number, audio: string): Promise<void>;
1677
- reloadAudio(save: import("./audio-store").AudioSave): void;
1678
- stopSound(key: string): void;
1679
- generateSaveData(): import("./audio-store").AudioSave;
1680
- loadSaveData(data: import("./audio-store").AudioSave): void;
1681
- reset(): void;
1682
- setModeVolume(mode: "sound" | "music" | "ambiant", volume: number): void;
1683
- setMasterVolume(volume: number): void;
1684
- modeVolume(mode: "sound" | "music" | "ambiant"): number;
1685
- }>;
1686
- rendering: import("pinia").Store<"rendering", import("./rendering-store").RenderingState, {
1687
- gameScaleRatio(state: import("./rendering-store").RenderingState): number;
1688
- overlayMode(state: import("./rendering-store").RenderingState): boolean;
1689
- gameWidth(): number;
1690
- gameHeight(): number;
1691
- dialogWidth(): number;
1692
- dialogHeight(): number;
1693
- actualGameHeight(): number;
1694
- viewportRatio(state: import("./rendering-store").RenderingState): number;
1695
- viewportHeight(state: import("./rendering-store").RenderingState): number;
1696
- viewportWidth(state: import("./rendering-store").RenderingState): number;
1697
- }, {
1698
- updateScreenSize(width: number, height: number): void;
1699
- }>;
1700
- notifications: import("pinia").Store<"notifications", import("./notification-store").NotificationsState, {}, {
1701
- addNotification(text: string): Promise<void>;
1702
- deleteNotification(id: string): void;
1703
- disableNotifications(): void;
1704
- enableNotifications(): void;
1705
- }>;
1706
- inventory: import("pinia").Store<"inventory", import("./inventory-store").InventoryState, {}, {
1707
- generateSaveData(): import("./inventory-store").InventoryState;
1708
- loadSaveData(save: import("./inventory-store").InventoryState): void;
1709
- setupItems(items: {
1710
- [key: string]: {
1711
- onUse?: {
1712
- label: string;
1713
- action: string;
1714
- } | undefined;
1715
- tag?: string | undefined;
1716
- category?: string | undefined;
1717
- showIfEmpty?: boolean | undefined;
1718
- description: string;
1719
- name: string;
1720
- icon: string;
1721
- };
1722
- }): void;
1723
- hasItem(itemId: string, amount?: number | undefined): boolean;
1724
- getExistingItem(id: string): import("./inventory-store").ItemState | undefined;
1725
- getItemAmount(id: string): number;
1726
- add(item: import("./inventory-store").ItemState): void;
1727
- enableInteraction(tag?: string | undefined): void;
1728
- disableInteraction(tag?: string | undefined): void;
1729
- onScriptStart(): void;
1730
- onScriptEnd(): void;
1731
- isInteractionTagBlocked(tag?: string | undefined): boolean;
1732
- remove(item: import("./inventory-store").ItemState): void;
1733
- deleteItem(id: string): void;
1734
- canUseItem(item: import("./inventory-store").ItemState): boolean;
1735
- }>;
1736
- quests: import("pinia").Store<"quests", import("./quest-log").QuestLogState, {}, {
1737
- getQuest(questId: string): import("./quest-log").QuestState;
1738
- getObjective(questId: string, objectiveId: string): import("./quest-log").ObjectiveState;
1739
- setupQuests(questsConfig: {
1740
- quests: Record<string, {
1741
- category?: string | undefined;
1742
- title: string;
1743
- description: string;
1744
- objectives: Record<string, {
1745
- hidden?: boolean | undefined;
1746
- description: string;
1747
- }>;
1748
- }>;
1749
- categories: {
1750
- title: string;
1751
- id: string;
1752
- }[];
1753
- }): void;
1754
- startQuest(questId: string): void;
1755
- startObjective(questId: string, objectiveId: string): void;
1756
- completeObjective(questId: string, objectiveId: string): void;
1757
- completeQuest(questId: string, ending?: string | undefined): void;
1758
- isQuestCompleted(questId: string): boolean;
1759
- isObjectiveCompleted(questId: string, objectiveId: string): boolean;
1760
- isQuestStarted(questId: string): boolean;
1761
- isObjectiveStarted(questId: string, objectiveId: string): boolean;
1762
- removeQuest(id: string): void;
1763
- generateSaveData(): import("./quest-log").QuestLogState;
1764
- loadSaveData(data: import("./quest-log").QuestLogState): void;
1765
- }>;
1766
- sprites: import("pinia").Store<"sprites", import("./sprites-store").SpriteStoreState, {}, {
1767
- createSprite(image: string, x: number, y: number): import("./sprites-store").SpriteState;
1768
- addSprite(sprite: import("./sprites-store").SpriteState): void;
1769
- getSprite(id: string): {
1770
- _entityType: "sprite";
1771
- id: string;
1772
- x: number;
1773
- y: number;
1774
- anchor: {
1775
- x: number;
1776
- y: number;
1777
- };
1778
- width: number;
1779
- height: number;
1780
- image: string;
1781
- opacity: number;
1782
- scale: number;
1783
- layer: number;
1784
- cssClass?: string | undefined;
1785
- onClick?: string | undefined;
1786
- clickMethod?: "jump" | "run" | undefined;
1787
- } | undefined;
1788
- deleteSprite(sprite: import("./sprites-store").SpriteState): void;
1789
- clickSprite(sprite: import("./sprites-store").SpriteState): void;
1790
- generateSaveData(): import("./sprites-store").SpriteStoreSave;
1791
- loadSaveData(data: import("./sprites-store").SpriteStoreSave): void;
1792
- reset(): void;
1793
- }>;
1794
- };
1795
- overrideStates(override: any): void;
1796
- }>;
1797
- export {};
1
+ import { AppOptions } from '../types/app-types';
2
+ import { GameSave, SaveSlot } from '../types/game-save';
3
+ import { ChosenSlot } from '../utils/save-helpers';
4
+ import { TypedEmitter } from '../utils/typed-emitter';
5
+ export declare function defaultAppOptions(): AppOptions;
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
+ type: 'error' | 'warning' | 'info';
14
+ }
15
+ interface MainState {
16
+ ready: boolean;
17
+ playing: boolean;
18
+ errors: ErrorState[];
19
+ playTime: {
20
+ start: number;
21
+ previousPlaytime: number;
22
+ };
23
+ saveSlot: string;
24
+ options: AppOptions;
25
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
26
+ paused: boolean;
27
+ loading: {
28
+ step: string;
29
+ percentage: number;
30
+ loaded: boolean;
31
+ };
32
+ debugMode: boolean;
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
+ inScript: boolean;
47
+ }
48
+ export interface MainSaveData {
49
+ playTime: number;
50
+ }
51
+ export declare const useMain: import("pinia").StoreDefinition<"main", MainState, {
52
+ isInGame(state: {
53
+ ready: boolean;
54
+ playing: boolean;
55
+ errors: {
56
+ text: string;
57
+ type: 'error' | 'warning' | 'info';
58
+ }[];
59
+ playTime: {
60
+ start: number;
61
+ previousPlaytime: number;
62
+ };
63
+ saveSlot: string;
64
+ options: {
65
+ baseAssetsPath?: string | undefined;
66
+ baseDataPath?: string | undefined;
67
+ configPath: string;
68
+ logging?: boolean | undefined;
69
+ debug?: boolean | undefined;
70
+ };
71
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
72
+ paused: boolean;
73
+ loading: {
74
+ step: string;
75
+ percentage: number;
76
+ loaded: boolean;
77
+ };
78
+ debugMode: boolean;
79
+ alerts: {
80
+ title: string;
81
+ text: string;
82
+ resolver: () => void;
83
+ id: string;
84
+ }[];
85
+ saving: {
86
+ withPrompt?: boolean | undefined;
87
+ name?: string | undefined;
88
+ resolver: () => void;
89
+ } | null;
90
+ saveData?: {
91
+ version: string;
92
+ skills: {
93
+ skillChecks: {
94
+ [key: string]: import("./skills").SkillCheckState;
95
+ };
96
+ skills: import("./skills").SkillsState;
97
+ };
98
+ screen: {
99
+ layers: (string | null)[];
100
+ buttons: import("./screens-store").ButtonsState;
101
+ };
102
+ main: {
103
+ playTime: number;
104
+ };
105
+ dialog: {
106
+ dialog: {
107
+ speaker: string;
108
+ text: string;
109
+ pose?: string | undefined;
110
+ cssClass?: string | undefined;
111
+ choices?: {
112
+ choice: string;
113
+ originalIndex: number;
114
+ allowed: boolean;
115
+ }[] | undefined;
116
+ textField?: boolean | undefined;
117
+ interactive: boolean;
118
+ id: string;
119
+ }[];
120
+ };
121
+ vm: {
122
+ lastLabel: string;
123
+ data: import("./vm-store").DataState;
124
+ };
125
+ audio: {
126
+ modes: {
127
+ [key: string]: import("./audio-store").AudioSaveMode;
128
+ };
129
+ masterVolume: number;
130
+ };
131
+ hud: {
132
+ hudStats: import("./hud-stats-store").HudStatsState;
133
+ };
134
+ inventory: {
135
+ items: {
136
+ [key: string]: import("./inventory-store").ItemState;
137
+ };
138
+ interactionTags: {
139
+ [key: string]: {
140
+ blockedInteraction: boolean;
141
+ };
142
+ };
143
+ };
144
+ quests: {
145
+ quests: {
146
+ [key: string]: import("./quest-log").QuestState;
147
+ };
148
+ };
149
+ metadata: {
150
+ saveDate: string;
151
+ name: string;
152
+ };
153
+ screenObjects: {
154
+ tree: string[];
155
+ objectsList: {
156
+ [id: string]: import("./screen-objects-store").ScreenObjectSaveState;
157
+ };
158
+ };
159
+ } | undefined;
160
+ listener: {
161
+ listeners: {
162
+ gameLoaded: Set<() => void>;
163
+ };
164
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
165
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
166
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
167
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
168
+ clear: () => void;
169
+ };
170
+ inScript: boolean;
171
+ } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
172
+ totalPlayTime(state: {
173
+ ready: boolean;
174
+ playing: boolean;
175
+ errors: {
176
+ text: string;
177
+ type: 'error' | 'warning' | 'info';
178
+ }[];
179
+ playTime: {
180
+ start: number;
181
+ previousPlaytime: number;
182
+ };
183
+ saveSlot: string;
184
+ options: {
185
+ baseAssetsPath?: string | undefined;
186
+ baseDataPath?: string | undefined;
187
+ configPath: string;
188
+ logging?: boolean | undefined;
189
+ debug?: boolean | undefined;
190
+ };
191
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
192
+ paused: boolean;
193
+ loading: {
194
+ step: string;
195
+ percentage: number;
196
+ loaded: boolean;
197
+ };
198
+ debugMode: boolean;
199
+ alerts: {
200
+ title: string;
201
+ text: string;
202
+ resolver: () => void;
203
+ id: string;
204
+ }[];
205
+ saving: {
206
+ withPrompt?: boolean | undefined;
207
+ name?: string | undefined;
208
+ resolver: () => void;
209
+ } | null;
210
+ saveData?: {
211
+ version: string;
212
+ skills: {
213
+ skillChecks: {
214
+ [key: string]: import("./skills").SkillCheckState;
215
+ };
216
+ skills: import("./skills").SkillsState;
217
+ };
218
+ screen: {
219
+ layers: (string | null)[];
220
+ buttons: import("./screens-store").ButtonsState;
221
+ };
222
+ main: {
223
+ playTime: number;
224
+ };
225
+ dialog: {
226
+ dialog: {
227
+ speaker: string;
228
+ text: string;
229
+ pose?: string | undefined;
230
+ cssClass?: string | undefined;
231
+ choices?: {
232
+ choice: string;
233
+ originalIndex: number;
234
+ allowed: boolean;
235
+ }[] | undefined;
236
+ textField?: boolean | undefined;
237
+ interactive: boolean;
238
+ id: string;
239
+ }[];
240
+ };
241
+ vm: {
242
+ lastLabel: string;
243
+ data: import("./vm-store").DataState;
244
+ };
245
+ audio: {
246
+ modes: {
247
+ [key: string]: import("./audio-store").AudioSaveMode;
248
+ };
249
+ masterVolume: number;
250
+ };
251
+ hud: {
252
+ hudStats: import("./hud-stats-store").HudStatsState;
253
+ };
254
+ inventory: {
255
+ items: {
256
+ [key: string]: import("./inventory-store").ItemState;
257
+ };
258
+ interactionTags: {
259
+ [key: string]: {
260
+ blockedInteraction: boolean;
261
+ };
262
+ };
263
+ };
264
+ quests: {
265
+ quests: {
266
+ [key: string]: import("./quest-log").QuestState;
267
+ };
268
+ };
269
+ metadata: {
270
+ saveDate: string;
271
+ name: string;
272
+ };
273
+ screenObjects: {
274
+ tree: string[];
275
+ objectsList: {
276
+ [id: string]: import("./screen-objects-store").ScreenObjectSaveState;
277
+ };
278
+ };
279
+ } | undefined;
280
+ listener: {
281
+ listeners: {
282
+ gameLoaded: Set<() => void>;
283
+ };
284
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
285
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
286
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
287
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
288
+ clear: () => void;
289
+ };
290
+ inScript: boolean;
291
+ } & import("pinia").PiniaCustomStateProperties<MainState>): number;
292
+ sessionPlayTime(state: {
293
+ ready: boolean;
294
+ playing: boolean;
295
+ errors: {
296
+ text: string;
297
+ type: 'error' | 'warning' | 'info';
298
+ }[];
299
+ playTime: {
300
+ start: number;
301
+ previousPlaytime: number;
302
+ };
303
+ saveSlot: string;
304
+ options: {
305
+ baseAssetsPath?: string | undefined;
306
+ baseDataPath?: string | undefined;
307
+ configPath: string;
308
+ logging?: boolean | undefined;
309
+ debug?: boolean | undefined;
310
+ };
311
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
312
+ paused: boolean;
313
+ loading: {
314
+ step: string;
315
+ percentage: number;
316
+ loaded: boolean;
317
+ };
318
+ debugMode: boolean;
319
+ alerts: {
320
+ title: string;
321
+ text: string;
322
+ resolver: () => void;
323
+ id: string;
324
+ }[];
325
+ saving: {
326
+ withPrompt?: boolean | undefined;
327
+ name?: string | undefined;
328
+ resolver: () => void;
329
+ } | null;
330
+ saveData?: {
331
+ version: string;
332
+ skills: {
333
+ skillChecks: {
334
+ [key: string]: import("./skills").SkillCheckState;
335
+ };
336
+ skills: import("./skills").SkillsState;
337
+ };
338
+ screen: {
339
+ layers: (string | null)[];
340
+ buttons: import("./screens-store").ButtonsState;
341
+ };
342
+ main: {
343
+ playTime: number;
344
+ };
345
+ dialog: {
346
+ dialog: {
347
+ speaker: string;
348
+ text: string;
349
+ pose?: string | undefined;
350
+ cssClass?: string | undefined;
351
+ choices?: {
352
+ choice: string;
353
+ originalIndex: number;
354
+ allowed: boolean;
355
+ }[] | undefined;
356
+ textField?: boolean | undefined;
357
+ interactive: boolean;
358
+ id: string;
359
+ }[];
360
+ };
361
+ vm: {
362
+ lastLabel: string;
363
+ data: import("./vm-store").DataState;
364
+ };
365
+ audio: {
366
+ modes: {
367
+ [key: string]: import("./audio-store").AudioSaveMode;
368
+ };
369
+ masterVolume: number;
370
+ };
371
+ hud: {
372
+ hudStats: import("./hud-stats-store").HudStatsState;
373
+ };
374
+ inventory: {
375
+ items: {
376
+ [key: string]: import("./inventory-store").ItemState;
377
+ };
378
+ interactionTags: {
379
+ [key: string]: {
380
+ blockedInteraction: boolean;
381
+ };
382
+ };
383
+ };
384
+ quests: {
385
+ quests: {
386
+ [key: string]: import("./quest-log").QuestState;
387
+ };
388
+ };
389
+ metadata: {
390
+ saveDate: string;
391
+ name: string;
392
+ };
393
+ screenObjects: {
394
+ tree: string[];
395
+ objectsList: {
396
+ [id: string]: import("./screen-objects-store").ScreenObjectSaveState;
397
+ };
398
+ };
399
+ } | undefined;
400
+ listener: {
401
+ listeners: {
402
+ gameLoaded: Set<() => void>;
403
+ };
404
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
405
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
406
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
407
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
408
+ clear: () => void;
409
+ };
410
+ inScript: boolean;
411
+ } & import("pinia").PiniaCustomStateProperties<MainState>): number;
412
+ }, {
413
+ setup(): Promise<void>;
414
+ engineLoading(): Promise<void>;
415
+ alert(title: string, text: string): Promise<void>;
416
+ closeAlert(id: string): void;
417
+ startingScript(): void;
418
+ endingScript(): void;
419
+ startMachine(): void;
420
+ setSaveSlot(slot: string): void;
421
+ startGame(saveSlot: string): Promise<void>;
422
+ loadGame(save: SaveSlot, saveSlot: string): Promise<void>;
423
+ manualSave({ saveName, withPrompt, }: {
424
+ saveName?: string | undefined;
425
+ withPrompt?: boolean | undefined;
426
+ }): Promise<void>;
427
+ finishManualSave(slotData: ChosenSlot | null, yes: boolean): void;
428
+ playerAnswered(choice: number | string): void;
429
+ menuReturn(): void;
430
+ createError(text: string): void;
431
+ createWarning(text: string): void;
432
+ clearErrors(): void;
433
+ setFlowState(flowState: 'menu' | 'playing'): void;
434
+ pause(): void;
435
+ unpause(): void;
436
+ setOptions(options: AppOptions): void;
437
+ startPlaying(): void;
438
+ reset(): void;
439
+ resetAllStores(): void;
440
+ generateSaveData(): MainSaveData;
441
+ loadSaveData(data: MainSaveData): void;
442
+ autoSaveGame({ slotId, name }: {
443
+ slotId?: string | undefined;
444
+ name?: string | undefined;
445
+ }): void;
446
+ setLoadedData(save: GameSave): void;
447
+ getAllStates(): {
448
+ main: any & {
449
+ ready: boolean;
450
+ playing: boolean;
451
+ errors: {
452
+ text: string;
453
+ type: 'error' | 'warning' | 'info';
454
+ }[];
455
+ playTime: {
456
+ start: number;
457
+ previousPlaytime: number;
458
+ };
459
+ saveSlot: string;
460
+ options: {
461
+ baseAssetsPath?: string | undefined;
462
+ baseDataPath?: string | undefined;
463
+ configPath: string;
464
+ logging?: boolean | undefined;
465
+ debug?: boolean | undefined;
466
+ };
467
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
468
+ paused: boolean;
469
+ loading: {
470
+ step: string;
471
+ percentage: number;
472
+ loaded: boolean;
473
+ };
474
+ debugMode: boolean;
475
+ alerts: {
476
+ title: string;
477
+ text: string;
478
+ resolver: () => void;
479
+ id: string;
480
+ }[];
481
+ saving: {
482
+ withPrompt?: boolean | undefined;
483
+ name?: string | undefined;
484
+ resolver: () => void;
485
+ } | null;
486
+ saveData?: {
487
+ version: string;
488
+ skills: {
489
+ skillChecks: {
490
+ [key: string]: import("./skills").SkillCheckState;
491
+ };
492
+ skills: import("./skills").SkillsState;
493
+ };
494
+ screen: {
495
+ layers: (string | null)[];
496
+ buttons: import("./screens-store").ButtonsState;
497
+ };
498
+ main: {
499
+ playTime: number;
500
+ };
501
+ dialog: {
502
+ dialog: {
503
+ speaker: string;
504
+ text: string;
505
+ pose?: string | undefined;
506
+ cssClass?: string | undefined;
507
+ choices?: {
508
+ choice: string;
509
+ originalIndex: number;
510
+ allowed: boolean;
511
+ }[] | undefined;
512
+ textField?: boolean | undefined;
513
+ interactive: boolean;
514
+ id: string;
515
+ }[];
516
+ };
517
+ vm: {
518
+ lastLabel: string;
519
+ data: import("./vm-store").DataState;
520
+ };
521
+ audio: {
522
+ modes: {
523
+ [key: string]: import("./audio-store").AudioSaveMode;
524
+ };
525
+ masterVolume: number;
526
+ };
527
+ hud: {
528
+ hudStats: import("./hud-stats-store").HudStatsState;
529
+ };
530
+ inventory: {
531
+ items: {
532
+ [key: string]: import("./inventory-store").ItemState;
533
+ };
534
+ interactionTags: {
535
+ [key: string]: {
536
+ blockedInteraction: boolean;
537
+ };
538
+ };
539
+ };
540
+ quests: {
541
+ quests: {
542
+ [key: string]: import("./quest-log").QuestState;
543
+ };
544
+ };
545
+ metadata: {
546
+ saveDate: string;
547
+ name: string;
548
+ };
549
+ screenObjects: {
550
+ tree: string[];
551
+ objectsList: {
552
+ [id: string]: import("./screen-objects-store").ScreenObjectSaveState;
553
+ };
554
+ };
555
+ } | undefined;
556
+ listener: {
557
+ listeners: {
558
+ gameLoaded: Set<() => void>;
559
+ };
560
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
561
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
562
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
563
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
564
+ clear: () => void;
565
+ };
566
+ inScript: boolean;
567
+ } & import("pinia")._StoreWithState<"main", MainState, {
568
+ isInGame(state: {
569
+ ready: boolean;
570
+ playing: boolean;
571
+ errors: {
572
+ text: string;
573
+ type: 'error' | 'warning' | 'info';
574
+ }[];
575
+ playTime: {
576
+ start: number;
577
+ previousPlaytime: number;
578
+ };
579
+ saveSlot: string;
580
+ options: {
581
+ baseAssetsPath?: string | undefined;
582
+ baseDataPath?: string | undefined;
583
+ configPath: string;
584
+ logging?: boolean | undefined;
585
+ debug?: boolean | undefined;
586
+ };
587
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
588
+ paused: boolean;
589
+ loading: {
590
+ step: string;
591
+ percentage: number;
592
+ loaded: boolean;
593
+ };
594
+ debugMode: boolean;
595
+ alerts: {
596
+ title: string;
597
+ text: string;
598
+ resolver: () => void;
599
+ id: string;
600
+ }[];
601
+ saving: {
602
+ withPrompt?: boolean | undefined;
603
+ name?: string | undefined;
604
+ resolver: () => void;
605
+ } | null;
606
+ saveData?: {
607
+ version: string;
608
+ skills: {
609
+ skillChecks: {
610
+ [key: string]: import("./skills").SkillCheckState;
611
+ };
612
+ skills: import("./skills").SkillsState;
613
+ };
614
+ screen: {
615
+ layers: (string | null)[];
616
+ buttons: import("./screens-store").ButtonsState;
617
+ };
618
+ main: {
619
+ playTime: number;
620
+ };
621
+ dialog: {
622
+ dialog: {
623
+ speaker: string;
624
+ text: string;
625
+ pose?: string | undefined;
626
+ cssClass?: string | undefined;
627
+ choices?: {
628
+ choice: string;
629
+ originalIndex: number;
630
+ allowed: boolean;
631
+ }[] | undefined;
632
+ textField?: boolean | undefined;
633
+ interactive: boolean;
634
+ id: string;
635
+ }[];
636
+ };
637
+ vm: {
638
+ lastLabel: string;
639
+ data: import("./vm-store").DataState;
640
+ };
641
+ audio: {
642
+ modes: {
643
+ [key: string]: import("./audio-store").AudioSaveMode;
644
+ };
645
+ masterVolume: number;
646
+ };
647
+ hud: {
648
+ hudStats: import("./hud-stats-store").HudStatsState;
649
+ };
650
+ inventory: {
651
+ items: {
652
+ [key: string]: import("./inventory-store").ItemState;
653
+ };
654
+ interactionTags: {
655
+ [key: string]: {
656
+ blockedInteraction: boolean;
657
+ };
658
+ };
659
+ };
660
+ quests: {
661
+ quests: {
662
+ [key: string]: import("./quest-log").QuestState;
663
+ };
664
+ };
665
+ metadata: {
666
+ saveDate: string;
667
+ name: string;
668
+ };
669
+ screenObjects: {
670
+ tree: string[];
671
+ objectsList: {
672
+ [id: string]: import("./screen-objects-store").ScreenObjectSaveState;
673
+ };
674
+ };
675
+ } | undefined;
676
+ listener: {
677
+ listeners: {
678
+ gameLoaded: Set<() => void>;
679
+ };
680
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
681
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
682
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
683
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
684
+ clear: () => void;
685
+ };
686
+ inScript: boolean;
687
+ } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
688
+ totalPlayTime(state: {
689
+ ready: boolean;
690
+ playing: boolean;
691
+ errors: {
692
+ text: string;
693
+ type: 'error' | 'warning' | 'info';
694
+ }[];
695
+ playTime: {
696
+ start: number;
697
+ previousPlaytime: number;
698
+ };
699
+ saveSlot: string;
700
+ options: {
701
+ baseAssetsPath?: string | undefined;
702
+ baseDataPath?: string | undefined;
703
+ configPath: string;
704
+ logging?: boolean | undefined;
705
+ debug?: boolean | undefined;
706
+ };
707
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
708
+ paused: boolean;
709
+ loading: {
710
+ step: string;
711
+ percentage: number;
712
+ loaded: boolean;
713
+ };
714
+ debugMode: boolean;
715
+ alerts: {
716
+ title: string;
717
+ text: string;
718
+ resolver: () => void;
719
+ id: string;
720
+ }[];
721
+ saving: {
722
+ withPrompt?: boolean | undefined;
723
+ name?: string | undefined;
724
+ resolver: () => void;
725
+ } | null;
726
+ saveData?: {
727
+ version: string;
728
+ skills: {
729
+ skillChecks: {
730
+ [key: string]: import("./skills").SkillCheckState;
731
+ };
732
+ skills: import("./skills").SkillsState;
733
+ };
734
+ screen: {
735
+ layers: (string | null)[];
736
+ buttons: import("./screens-store").ButtonsState;
737
+ };
738
+ main: {
739
+ playTime: number;
740
+ };
741
+ dialog: {
742
+ dialog: {
743
+ speaker: string;
744
+ text: string;
745
+ pose?: string | undefined;
746
+ cssClass?: string | undefined;
747
+ choices?: {
748
+ choice: string;
749
+ originalIndex: number;
750
+ allowed: boolean;
751
+ }[] | undefined;
752
+ textField?: boolean | undefined;
753
+ interactive: boolean;
754
+ id: string;
755
+ }[];
756
+ };
757
+ vm: {
758
+ lastLabel: string;
759
+ data: import("./vm-store").DataState;
760
+ };
761
+ audio: {
762
+ modes: {
763
+ [key: string]: import("./audio-store").AudioSaveMode;
764
+ };
765
+ masterVolume: number;
766
+ };
767
+ hud: {
768
+ hudStats: import("./hud-stats-store").HudStatsState;
769
+ };
770
+ inventory: {
771
+ items: {
772
+ [key: string]: import("./inventory-store").ItemState;
773
+ };
774
+ interactionTags: {
775
+ [key: string]: {
776
+ blockedInteraction: boolean;
777
+ };
778
+ };
779
+ };
780
+ quests: {
781
+ quests: {
782
+ [key: string]: import("./quest-log").QuestState;
783
+ };
784
+ };
785
+ metadata: {
786
+ saveDate: string;
787
+ name: string;
788
+ };
789
+ screenObjects: {
790
+ tree: string[];
791
+ objectsList: {
792
+ [id: string]: import("./screen-objects-store").ScreenObjectSaveState;
793
+ };
794
+ };
795
+ } | undefined;
796
+ listener: {
797
+ listeners: {
798
+ gameLoaded: Set<() => void>;
799
+ };
800
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
801
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
802
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
803
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
804
+ clear: () => void;
805
+ };
806
+ inScript: boolean;
807
+ } & import("pinia").PiniaCustomStateProperties<MainState>): number;
808
+ sessionPlayTime(state: {
809
+ ready: boolean;
810
+ playing: boolean;
811
+ errors: {
812
+ text: string;
813
+ type: 'error' | 'warning' | 'info';
814
+ }[];
815
+ playTime: {
816
+ start: number;
817
+ previousPlaytime: number;
818
+ };
819
+ saveSlot: string;
820
+ options: {
821
+ baseAssetsPath?: string | undefined;
822
+ baseDataPath?: string | undefined;
823
+ configPath: string;
824
+ logging?: boolean | undefined;
825
+ debug?: boolean | undefined;
826
+ };
827
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
828
+ paused: boolean;
829
+ loading: {
830
+ step: string;
831
+ percentage: number;
832
+ loaded: boolean;
833
+ };
834
+ debugMode: boolean;
835
+ alerts: {
836
+ title: string;
837
+ text: string;
838
+ resolver: () => void;
839
+ id: string;
840
+ }[];
841
+ saving: {
842
+ withPrompt?: boolean | undefined;
843
+ name?: string | undefined;
844
+ resolver: () => void;
845
+ } | null;
846
+ saveData?: {
847
+ version: string;
848
+ skills: {
849
+ skillChecks: {
850
+ [key: string]: import("./skills").SkillCheckState;
851
+ };
852
+ skills: import("./skills").SkillsState;
853
+ };
854
+ screen: {
855
+ layers: (string | null)[];
856
+ buttons: import("./screens-store").ButtonsState;
857
+ };
858
+ main: {
859
+ playTime: number;
860
+ };
861
+ dialog: {
862
+ dialog: {
863
+ speaker: string;
864
+ text: string;
865
+ pose?: string | undefined;
866
+ cssClass?: string | undefined;
867
+ choices?: {
868
+ choice: string;
869
+ originalIndex: number;
870
+ allowed: boolean;
871
+ }[] | undefined;
872
+ textField?: boolean | undefined;
873
+ interactive: boolean;
874
+ id: string;
875
+ }[];
876
+ };
877
+ vm: {
878
+ lastLabel: string;
879
+ data: import("./vm-store").DataState;
880
+ };
881
+ audio: {
882
+ modes: {
883
+ [key: string]: import("./audio-store").AudioSaveMode;
884
+ };
885
+ masterVolume: number;
886
+ };
887
+ hud: {
888
+ hudStats: import("./hud-stats-store").HudStatsState;
889
+ };
890
+ inventory: {
891
+ items: {
892
+ [key: string]: import("./inventory-store").ItemState;
893
+ };
894
+ interactionTags: {
895
+ [key: string]: {
896
+ blockedInteraction: boolean;
897
+ };
898
+ };
899
+ };
900
+ quests: {
901
+ quests: {
902
+ [key: string]: import("./quest-log").QuestState;
903
+ };
904
+ };
905
+ metadata: {
906
+ saveDate: string;
907
+ name: string;
908
+ };
909
+ screenObjects: {
910
+ tree: string[];
911
+ objectsList: {
912
+ [id: string]: import("./screen-objects-store").ScreenObjectSaveState;
913
+ };
914
+ };
915
+ } | undefined;
916
+ listener: {
917
+ listeners: {
918
+ gameLoaded: Set<() => void>;
919
+ };
920
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
921
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
922
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
923
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
924
+ clear: () => void;
925
+ };
926
+ inScript: boolean;
927
+ } & import("pinia").PiniaCustomStateProperties<MainState>): number;
928
+ }, any> & import("pinia")._StoreWithGetters<{
929
+ isInGame(state: {
930
+ ready: boolean;
931
+ playing: boolean;
932
+ errors: {
933
+ text: string;
934
+ type: 'error' | 'warning' | 'info';
935
+ }[];
936
+ playTime: {
937
+ start: number;
938
+ previousPlaytime: number;
939
+ };
940
+ saveSlot: string;
941
+ options: {
942
+ baseAssetsPath?: string | undefined;
943
+ baseDataPath?: string | undefined;
944
+ configPath: string;
945
+ logging?: boolean | undefined;
946
+ debug?: boolean | undefined;
947
+ };
948
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
949
+ paused: boolean;
950
+ loading: {
951
+ step: string;
952
+ percentage: number;
953
+ loaded: boolean;
954
+ };
955
+ debugMode: boolean;
956
+ alerts: {
957
+ title: string;
958
+ text: string;
959
+ resolver: () => void;
960
+ id: string;
961
+ }[];
962
+ saving: {
963
+ withPrompt?: boolean | undefined;
964
+ name?: string | undefined;
965
+ resolver: () => void;
966
+ } | null;
967
+ saveData?: {
968
+ version: string;
969
+ skills: {
970
+ skillChecks: {
971
+ [key: string]: import("./skills").SkillCheckState;
972
+ };
973
+ skills: import("./skills").SkillsState;
974
+ };
975
+ screen: {
976
+ layers: (string | null)[];
977
+ buttons: import("./screens-store").ButtonsState;
978
+ };
979
+ main: {
980
+ playTime: number;
981
+ };
982
+ dialog: {
983
+ dialog: {
984
+ speaker: string;
985
+ text: string;
986
+ pose?: string | undefined;
987
+ cssClass?: string | undefined;
988
+ choices?: {
989
+ choice: string;
990
+ originalIndex: number;
991
+ allowed: boolean;
992
+ }[] | undefined;
993
+ textField?: boolean | undefined;
994
+ interactive: boolean;
995
+ id: string;
996
+ }[];
997
+ };
998
+ vm: {
999
+ lastLabel: string;
1000
+ data: import("./vm-store").DataState;
1001
+ };
1002
+ audio: {
1003
+ modes: {
1004
+ [key: string]: import("./audio-store").AudioSaveMode;
1005
+ };
1006
+ masterVolume: number;
1007
+ };
1008
+ hud: {
1009
+ hudStats: import("./hud-stats-store").HudStatsState;
1010
+ };
1011
+ inventory: {
1012
+ items: {
1013
+ [key: string]: import("./inventory-store").ItemState;
1014
+ };
1015
+ interactionTags: {
1016
+ [key: string]: {
1017
+ blockedInteraction: boolean;
1018
+ };
1019
+ };
1020
+ };
1021
+ quests: {
1022
+ quests: {
1023
+ [key: string]: import("./quest-log").QuestState;
1024
+ };
1025
+ };
1026
+ metadata: {
1027
+ saveDate: string;
1028
+ name: string;
1029
+ };
1030
+ screenObjects: {
1031
+ tree: string[];
1032
+ objectsList: {
1033
+ [id: string]: import("./screen-objects-store").ScreenObjectSaveState;
1034
+ };
1035
+ };
1036
+ } | undefined;
1037
+ listener: {
1038
+ listeners: {
1039
+ gameLoaded: Set<() => void>;
1040
+ };
1041
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
1042
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
1043
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
1044
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
1045
+ clear: () => void;
1046
+ };
1047
+ inScript: boolean;
1048
+ } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
1049
+ totalPlayTime(state: {
1050
+ ready: boolean;
1051
+ playing: boolean;
1052
+ errors: {
1053
+ text: string;
1054
+ type: 'error' | 'warning' | 'info';
1055
+ }[];
1056
+ playTime: {
1057
+ start: number;
1058
+ previousPlaytime: number;
1059
+ };
1060
+ saveSlot: string;
1061
+ options: {
1062
+ baseAssetsPath?: string | undefined;
1063
+ baseDataPath?: string | undefined;
1064
+ configPath: string;
1065
+ logging?: boolean | undefined;
1066
+ debug?: boolean | undefined;
1067
+ };
1068
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
1069
+ paused: boolean;
1070
+ loading: {
1071
+ step: string;
1072
+ percentage: number;
1073
+ loaded: boolean;
1074
+ };
1075
+ debugMode: boolean;
1076
+ alerts: {
1077
+ title: string;
1078
+ text: string;
1079
+ resolver: () => void;
1080
+ id: string;
1081
+ }[];
1082
+ saving: {
1083
+ withPrompt?: boolean | undefined;
1084
+ name?: string | undefined;
1085
+ resolver: () => void;
1086
+ } | null;
1087
+ saveData?: {
1088
+ version: string;
1089
+ skills: {
1090
+ skillChecks: {
1091
+ [key: string]: import("./skills").SkillCheckState;
1092
+ };
1093
+ skills: import("./skills").SkillsState;
1094
+ };
1095
+ screen: {
1096
+ layers: (string | null)[];
1097
+ buttons: import("./screens-store").ButtonsState;
1098
+ };
1099
+ main: {
1100
+ playTime: number;
1101
+ };
1102
+ dialog: {
1103
+ dialog: {
1104
+ speaker: string;
1105
+ text: string;
1106
+ pose?: string | undefined;
1107
+ cssClass?: string | undefined;
1108
+ choices?: {
1109
+ choice: string;
1110
+ originalIndex: number;
1111
+ allowed: boolean;
1112
+ }[] | undefined;
1113
+ textField?: boolean | undefined;
1114
+ interactive: boolean;
1115
+ id: string;
1116
+ }[];
1117
+ };
1118
+ vm: {
1119
+ lastLabel: string;
1120
+ data: import("./vm-store").DataState;
1121
+ };
1122
+ audio: {
1123
+ modes: {
1124
+ [key: string]: import("./audio-store").AudioSaveMode;
1125
+ };
1126
+ masterVolume: number;
1127
+ };
1128
+ hud: {
1129
+ hudStats: import("./hud-stats-store").HudStatsState;
1130
+ };
1131
+ inventory: {
1132
+ items: {
1133
+ [key: string]: import("./inventory-store").ItemState;
1134
+ };
1135
+ interactionTags: {
1136
+ [key: string]: {
1137
+ blockedInteraction: boolean;
1138
+ };
1139
+ };
1140
+ };
1141
+ quests: {
1142
+ quests: {
1143
+ [key: string]: import("./quest-log").QuestState;
1144
+ };
1145
+ };
1146
+ metadata: {
1147
+ saveDate: string;
1148
+ name: string;
1149
+ };
1150
+ screenObjects: {
1151
+ tree: string[];
1152
+ objectsList: {
1153
+ [id: string]: import("./screen-objects-store").ScreenObjectSaveState;
1154
+ };
1155
+ };
1156
+ } | undefined;
1157
+ listener: {
1158
+ listeners: {
1159
+ gameLoaded: Set<() => void>;
1160
+ };
1161
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
1162
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
1163
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
1164
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
1165
+ clear: () => void;
1166
+ };
1167
+ inScript: boolean;
1168
+ } & import("pinia").PiniaCustomStateProperties<MainState>): number;
1169
+ sessionPlayTime(state: {
1170
+ ready: boolean;
1171
+ playing: boolean;
1172
+ errors: {
1173
+ text: string;
1174
+ type: 'error' | 'warning' | 'info';
1175
+ }[];
1176
+ playTime: {
1177
+ start: number;
1178
+ previousPlaytime: number;
1179
+ };
1180
+ saveSlot: string;
1181
+ options: {
1182
+ baseAssetsPath?: string | undefined;
1183
+ baseDataPath?: string | undefined;
1184
+ configPath: string;
1185
+ logging?: boolean | undefined;
1186
+ debug?: boolean | undefined;
1187
+ };
1188
+ flowState: 'engine-splash' | 'game-splash' | 'menu' | 'playing';
1189
+ paused: boolean;
1190
+ loading: {
1191
+ step: string;
1192
+ percentage: number;
1193
+ loaded: boolean;
1194
+ };
1195
+ debugMode: boolean;
1196
+ alerts: {
1197
+ title: string;
1198
+ text: string;
1199
+ resolver: () => void;
1200
+ id: string;
1201
+ }[];
1202
+ saving: {
1203
+ withPrompt?: boolean | undefined;
1204
+ name?: string | undefined;
1205
+ resolver: () => void;
1206
+ } | null;
1207
+ saveData?: {
1208
+ version: string;
1209
+ skills: {
1210
+ skillChecks: {
1211
+ [key: string]: import("./skills").SkillCheckState;
1212
+ };
1213
+ skills: import("./skills").SkillsState;
1214
+ };
1215
+ screen: {
1216
+ layers: (string | null)[];
1217
+ buttons: import("./screens-store").ButtonsState;
1218
+ };
1219
+ main: {
1220
+ playTime: number;
1221
+ };
1222
+ dialog: {
1223
+ dialog: {
1224
+ speaker: string;
1225
+ text: string;
1226
+ pose?: string | undefined;
1227
+ cssClass?: string | undefined;
1228
+ choices?: {
1229
+ choice: string;
1230
+ originalIndex: number;
1231
+ allowed: boolean;
1232
+ }[] | undefined;
1233
+ textField?: boolean | undefined;
1234
+ interactive: boolean;
1235
+ id: string;
1236
+ }[];
1237
+ };
1238
+ vm: {
1239
+ lastLabel: string;
1240
+ data: import("./vm-store").DataState;
1241
+ };
1242
+ audio: {
1243
+ modes: {
1244
+ [key: string]: import("./audio-store").AudioSaveMode;
1245
+ };
1246
+ masterVolume: number;
1247
+ };
1248
+ hud: {
1249
+ hudStats: import("./hud-stats-store").HudStatsState;
1250
+ };
1251
+ inventory: {
1252
+ items: {
1253
+ [key: string]: import("./inventory-store").ItemState;
1254
+ };
1255
+ interactionTags: {
1256
+ [key: string]: {
1257
+ blockedInteraction: boolean;
1258
+ };
1259
+ };
1260
+ };
1261
+ quests: {
1262
+ quests: {
1263
+ [key: string]: import("./quest-log").QuestState;
1264
+ };
1265
+ };
1266
+ metadata: {
1267
+ saveDate: string;
1268
+ name: string;
1269
+ };
1270
+ screenObjects: {
1271
+ tree: string[];
1272
+ objectsList: {
1273
+ [id: string]: import("./screen-objects-store").ScreenObjectSaveState;
1274
+ };
1275
+ };
1276
+ } | undefined;
1277
+ listener: {
1278
+ listeners: {
1279
+ gameLoaded: Set<() => void>;
1280
+ };
1281
+ on: <Event_1 extends "gameLoaded">(event: Event_1, listener: MainEvents[Event_1]) => MainEvents[Event_1];
1282
+ off: <Event_2 extends "gameLoaded">(event: Event_2, listener: MainEvents[Event_2]) => MainEvents[Event_2];
1283
+ once: <Event_3 extends "gameLoaded">(event: Event_3, listener: MainEvents[Event_3]) => MainEvents[Event_3];
1284
+ emit: <Event_4 extends "gameLoaded">(event: Event_4, ...args: any[]) => void;
1285
+ clear: () => void;
1286
+ };
1287
+ inScript: boolean;
1288
+ } & import("pinia").PiniaCustomStateProperties<MainState>): number;
1289
+ }> & import("pinia").PiniaCustomProperties<string, import("pinia").StateTree, import("pinia")._GettersTree<import("pinia").StateTree>, import("pinia")._ActionsTree>;
1290
+ screens: import("pinia").Store<"screens", import("./screens-store").ScreenState, {
1291
+ nonEmptyLayers(state: import("./screens-store").ScreenState): import("./screens-store").FullLayerState[];
1292
+ }, {
1293
+ setScreen(screen: string, layer: number, transition?: import("../utils/transition").AddTransition | undefined): Promise<void>;
1294
+ finishTransition(layer: number): void;
1295
+ transitionScreen(screen: string, transition: import("../utils/transition").AddTransition, layer?: number | undefined): Promise<void>;
1296
+ emptyLayer(layer: number, transition?: import("../utils/transition").AddTransition | undefined): Promise<void>;
1297
+ setButtons(config: import("../config/config-output").Config): void;
1298
+ changeButton(button: string, newValue: import("./screens-store").ButtonStateValue): void;
1299
+ generateSaveData(): import("./screens-store").ScreenSave;
1300
+ loadSaveData(data: import("./screens-store").ScreenSave): void;
1301
+ }>;
1302
+ skills: import("pinia").Store<"skills", import("./skills").Skills, {}, {
1303
+ setupSkillCheck(skillCheck: import("./skills").SkillCheckState, id: string): void;
1304
+ passSkillCheck(skillCheckId: string, hide?: boolean | undefined): void;
1305
+ failSkillCheck(skillCheckId: string, hide?: boolean | undefined): void;
1306
+ resetSkillCheck(skillCheckId: string): void;
1307
+ generateSaveData(): import("./skills").Skills;
1308
+ getSkillCheck(id: string): import("./skills").SkillCheckState;
1309
+ createSkillCheckState(): import("./skills").SkillCheckState;
1310
+ loadSaveData(data: import("./skills").Skills): void;
1311
+ setupSkills(skillsConfig: {
1312
+ skills: Record<string, {
1313
+ hidden?: boolean | undefined;
1314
+ description: string;
1315
+ name: string;
1316
+ startingLevel: number;
1317
+ icon: string;
1318
+ }>;
1319
+ skillChecks: {
1320
+ rollRange: number;
1321
+ skillMultiplier: number;
1322
+ failureChance: number;
1323
+ difficultyText: [number, string][];
1324
+ };
1325
+ skillOptions: {
1326
+ xpPerLevel: number;
1327
+ notifyLevelUp: boolean;
1328
+ };
1329
+ }): void;
1330
+ getSkill(skill: string): import("./skills").SkillState;
1331
+ getSkillLevel(skill: string): number;
1332
+ getSkillXp(skill: string): number;
1333
+ addXp(skill: string, xp: number): void;
1334
+ setSkillLevel(skill: string, level: number): void;
1335
+ incrementSkill(skill: string, amount: number): void;
1336
+ levelledUp(skill: string): void;
1337
+ }>;
1338
+ dialog: import("pinia").Store<"dialog", {
1339
+ dialog: import("./dialog-store").DialogKey[];
1340
+ playMode: "auto" | "skip" | "normal";
1341
+ }, {
1342
+ currentDialog(): import("./dialog-store").DialogKey;
1343
+ }, {
1344
+ generateSaveData(): import("./dialog-store").DialogSave;
1345
+ loadSaveData(data: import("./dialog-store").DialogSave): void;
1346
+ addDialog(dialog: import("./dialog-store").AddDialogParams): void;
1347
+ toggleAutoPlay(): void;
1348
+ toggleSkip(): void;
1349
+ clearDialog(): void;
1350
+ reset(): void;
1351
+ }>;
1352
+ vm: import("pinia").Store<"vm", import("./vm-store").VMState, {
1353
+ currentFrame(state: {
1354
+ commandsWaitingForPlayerAnswer: {
1355
+ args: (import("../types/parser").Parser.Primitive | {
1356
+ code: string;
1357
+ command: {
1358
+ commandType: string;
1359
+ operator: string;
1360
+ args: (import("../types/parser").Parser.Primitive | any)[];
1361
+ options: import("../types/parser").Parser.DefaultArg;
1362
+ staticOptions: {};
1363
+ };
1364
+ fileName: string;
1365
+ line: number;
1366
+ })[];
1367
+ commandType: string;
1368
+ options: any;
1369
+ code: string;
1370
+ staticOptions: any;
1371
+ operator: string;
1372
+ line: number;
1373
+ fileName: string;
1374
+ finishCommand?: ((res: any) => void) | undefined;
1375
+ }[];
1376
+ stack: {
1377
+ blocks: {
1378
+ currentIndex: number;
1379
+ branchData: {
1380
+ branch: {
1381
+ code: string;
1382
+ command: {
1383
+ commandType: string;
1384
+ operator: string;
1385
+ args: (import("../types/parser").Parser.Primitive | any)[];
1386
+ options: import("../types/parser").Parser.DefaultArg;
1387
+ staticOptions: {};
1388
+ };
1389
+ fileName: string;
1390
+ line: number;
1391
+ }[];
1392
+ args?: string[] | undefined;
1393
+ };
1394
+ }[];
1395
+ label: string;
1396
+ scope: {
1397
+ [key: string]: any;
1398
+ };
1399
+ returnValue: any;
1400
+ }[];
1401
+ script: import("../types/parser").Parser.ParsedScript;
1402
+ data: import("./vm-store").DataState;
1403
+ lastLabel: string;
1404
+ jumpTarget?: {
1405
+ currentIndex: number;
1406
+ branchData: {
1407
+ branch: {
1408
+ code: string;
1409
+ command: {
1410
+ commandType: string;
1411
+ operator: string;
1412
+ args: (import("../types/parser").Parser.Primitive | any)[];
1413
+ options: import("../types/parser").Parser.DefaultArg;
1414
+ staticOptions: {};
1415
+ };
1416
+ fileName: string;
1417
+ line: number;
1418
+ }[];
1419
+ args?: string[] | undefined;
1420
+ };
1421
+ label: string;
1422
+ scope?: {
1423
+ [key: string]: any;
1424
+ } | undefined;
1425
+ args?: any[] | undefined;
1426
+ } | undefined;
1427
+ hasJumped: boolean;
1428
+ } & import("pinia").PiniaCustomStateProperties<import("./vm-store").VMState>): import("./vm-store").MachineFrame | undefined;
1429
+ scope(): {
1430
+ [key: string]: any;
1431
+ };
1432
+ currentBlock(): import("./vm-store").MachineBlock | undefined;
1433
+ currentLine(): import("../types/parser").Parser.ParsedExpression<import("../types/parser").Parser.DefaultArg, {}> | undefined;
1434
+ commandWaitingForAnswer(): import("../types/parser").Parser.Command<any, any> | undefined;
1435
+ }, {
1436
+ generateSaveData(): import("./vm-store").VMSave;
1437
+ loadSaveData(data: import("./vm-store").VMSave): void;
1438
+ findEntitiesInData(data: any): void;
1439
+ setReturnValue(value: any): void;
1440
+ waitForPlayerAnswer(cmd: import("../types/parser").Parser.Command<any, any>): void;
1441
+ popAnswerQueue(): {
1442
+ args: (import("../types/parser").Parser.Primitive | {
1443
+ code: string;
1444
+ command: {
1445
+ commandType: string;
1446
+ operator: string;
1447
+ args: (import("../types/parser").Parser.Primitive | any)[];
1448
+ options: import("../types/parser").Parser.DefaultArg;
1449
+ staticOptions: {};
1450
+ };
1451
+ fileName: string;
1452
+ line: number;
1453
+ })[];
1454
+ commandType: string;
1455
+ options: any;
1456
+ code: string;
1457
+ staticOptions: any;
1458
+ operator: string;
1459
+ line: number;
1460
+ fileName: string;
1461
+ finishCommand?: ((res: any) => void) | undefined;
1462
+ } | undefined;
1463
+ addScopedVariable(key: string, value: any): void;
1464
+ loadScripts(scriptPaths: string[]): Promise<void>;
1465
+ start(): void;
1466
+ setLastLabel(label: string): void;
1467
+ reset(): void;
1468
+ setScript(script: import("../types/parser").Parser.ParsedScript): void;
1469
+ overrideData(data: import("./vm-store").DataState): void;
1470
+ setStack(stack: import("./vm-store").SetFrameOptions): void;
1471
+ frameOptionsToFrame(frame: import("./vm-store").SetFrameOptions): import("./vm-store").MachineFrame;
1472
+ addBlock(frame: import("./vm-store").MachineFrame, block: import("./vm-store").MachineBlock): void;
1473
+ addAndRunBlock(block: import("./vm-store").MachineBlock): Promise<any>;
1474
+ setData(path: string, value: any): void;
1475
+ addInstruction(path: string, value: any): void;
1476
+ addFrame(newStackOptions: import("./vm-store").AddFrameOptions): void;
1477
+ addAndRunFrame(newStackOptions: import("./vm-store").AddFrameOptions): Promise<any>;
1478
+ runFrame(): Promise<any>;
1479
+ cleanFrame(): any;
1480
+ runBlock(): Promise<any>;
1481
+ cleanBlock(): void;
1482
+ runGame(): Promise<void>;
1483
+ nextLineOnly(): Promise<boolean>;
1484
+ isBlockFinished(): boolean;
1485
+ reachedEndOfScript(): void;
1486
+ runLineOnly(): Promise<any>;
1487
+ runLabelFunction(label: string, ...args: any[]): Promise<any>;
1488
+ runCustomFrame(stack: import("./vm-store").AddFrameOptions): void;
1489
+ jumpToLabel(label: string, ...args: any[]): Promise<void>;
1490
+ runThenGoBackToPreviousDialog(label: string, ...args: any[]): Promise<any>;
1491
+ }>;
1492
+ hud: import("pinia").Store<"hud", import("./hud-stats-store").HudState, {}, {
1493
+ setupHudStats(stats: Record<string, {
1494
+ maxValue?: number | undefined;
1495
+ minValue?: number | undefined;
1496
+ name: string;
1497
+ icon: string;
1498
+ startingValue: number;
1499
+ }>): void;
1500
+ setStat(stat: string, value: number): void;
1501
+ addStat(stat: string, value: number): void;
1502
+ getStat(stat: string): import("./hud-stats-store").HudStat;
1503
+ getStatValue(stat: string): number;
1504
+ generateSaveData(): import("./hud-stats-store").HudState;
1505
+ loadSaveData(data: import("./hud-stats-store").HudState): void;
1506
+ }>;
1507
+ audio: import("pinia").Store<"audio", import("./audio-store").AudioState, {}, {
1508
+ stopAll(): void;
1509
+ stopChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): Promise<void>;
1510
+ pauseChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): Promise<void>;
1511
+ playChannel(mode: "sound" | "music" | "ambiant", audio: string, channelIndex: number): Promise<void>;
1512
+ changeChannel(mode: "sound" | "music" | "ambiant", audio: string, channelIndex: number): Promise<void>;
1513
+ actuallyStopChannel(channel: import("./audio-store").AudioChannel): void;
1514
+ getAudioChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): import("./audio-store").AudioChannel | null;
1515
+ setAudioChannel(mode: "sound" | "music" | "ambiant", channelIndex: number, value: import("./audio-store").AudioChannel | null): void;
1516
+ actuallyPlayChannel(mode: "sound" | "music" | "ambiant", channelIndex: number, audio: string): Promise<void>;
1517
+ reloadAudio(save: import("./audio-store").AudioSave): void;
1518
+ stopSound(key: string): void;
1519
+ generateSaveData(): import("./audio-store").AudioSave;
1520
+ loadSaveData(data: import("./audio-store").AudioSave): void;
1521
+ reset(): void;
1522
+ setModeVolume(mode: "sound" | "music" | "ambiant", volume: number): void;
1523
+ setMasterVolume(volume: number): void;
1524
+ modeVolume(mode: "sound" | "music" | "ambiant"): number;
1525
+ }>;
1526
+ rendering: import("pinia").Store<"rendering", import("./rendering-store").RenderingState, {
1527
+ gameScaleRatio(state: import("./rendering-store").RenderingState): number;
1528
+ overlayMode(state: import("./rendering-store").RenderingState): boolean;
1529
+ gameWidth(): number;
1530
+ gameHeight(): number;
1531
+ dialogWidth(): number;
1532
+ dialogHeight(): number;
1533
+ actualGameHeight(): number;
1534
+ viewportRatio(state: import("./rendering-store").RenderingState): number;
1535
+ viewportHeight(state: import("./rendering-store").RenderingState): number;
1536
+ viewportWidth(state: import("./rendering-store").RenderingState): number;
1537
+ showDialog(state: import("./rendering-store").RenderingState): boolean;
1538
+ }, {
1539
+ updateScreenSize(width: number, height: number): void;
1540
+ }>;
1541
+ notifications: import("pinia").Store<"notifications", import("./notification-store").NotificationsState, {}, {
1542
+ addNotification(text: string): Promise<void>;
1543
+ deleteNotification(id: string): void;
1544
+ disableNotifications(): void;
1545
+ enableNotifications(): void;
1546
+ }>;
1547
+ inventory: import("pinia").Store<"inventory", import("./inventory-store").InventoryState, {}, {
1548
+ generateSaveData(): import("./inventory-store").InventoryState;
1549
+ loadSaveData(save: import("./inventory-store").InventoryState): void;
1550
+ setupItems(items: {
1551
+ [key: string]: {
1552
+ onUse?: {
1553
+ label: string;
1554
+ action: string;
1555
+ } | undefined;
1556
+ tag?: string | undefined;
1557
+ category?: string | undefined;
1558
+ showIfEmpty?: boolean | undefined;
1559
+ description: string;
1560
+ name: string;
1561
+ icon: string;
1562
+ };
1563
+ }): void;
1564
+ hasItem(itemId: string, amount?: number | undefined): boolean;
1565
+ getExistingItem(id: string): import("./inventory-store").ItemState | undefined;
1566
+ getItemAmount(id: string): number;
1567
+ add(item: import("./inventory-store").ItemState): void;
1568
+ enableInteraction(tag?: string | undefined): void;
1569
+ disableInteraction(tag?: string | undefined): void;
1570
+ onScriptStart(): void;
1571
+ onScriptEnd(): void;
1572
+ isInteractionTagBlocked(tag?: string | undefined): boolean;
1573
+ remove(item: import("./inventory-store").ItemState): void;
1574
+ deleteItem(id: string): void;
1575
+ canUseItem(item: import("./inventory-store").ItemState): boolean;
1576
+ }>;
1577
+ quests: import("pinia").Store<"quests", import("./quest-log").QuestLogState, {}, {
1578
+ getQuest(questId: string): import("./quest-log").QuestState;
1579
+ getObjective(questId: string, objectiveId: string): import("./quest-log").ObjectiveState;
1580
+ setupQuests(questsConfig: {
1581
+ quests: Record<string, {
1582
+ category?: string | undefined;
1583
+ title: string;
1584
+ description: string;
1585
+ objectives: Record<string, {
1586
+ hidden?: boolean | undefined;
1587
+ description: string;
1588
+ }>;
1589
+ }>;
1590
+ categories: {
1591
+ title: string;
1592
+ id: string;
1593
+ }[];
1594
+ }): void;
1595
+ startQuest(questId: string): void;
1596
+ startObjective(questId: string, objectiveId: string): void;
1597
+ completeObjective(questId: string, objectiveId: string): void;
1598
+ completeQuest(questId: string, ending?: string | undefined): void;
1599
+ isQuestCompleted(questId: string): boolean;
1600
+ isObjectiveCompleted(questId: string, objectiveId: string): boolean;
1601
+ isQuestStarted(questId: string): boolean;
1602
+ isObjectiveStarted(questId: string, objectiveId: string): boolean;
1603
+ removeQuest(id: string): void;
1604
+ generateSaveData(): import("./quest-log").QuestLogState;
1605
+ loadSaveData(data: import("./quest-log").QuestLogState): void;
1606
+ }>;
1607
+ sprites: import("pinia").Store<"screenObjects", import("./screen-objects-store").ScreenObjectsStoreState, {}, {
1608
+ addObject(object: import("./screen-objects-store").ScreenObjectState): void;
1609
+ createObject<EntityType extends import("./screen-objects-store").ScreenObjectState = import("./screen-objects-store").ScreenObjectState, CreationOptions extends Partial<import("./screen-objects-store").ScreenObjectState> = Partial<import("./screen-objects-store").ScreenObjectState>>(options: CreationOptions): EntityType;
1610
+ destroyObject(objectToDestroy: string | import("./screen-objects-store").ScreenObjectState): void;
1611
+ createSprite(options: import("./screen-objects-store").CreateSpriteOptions): import("./screen-objects-store").SpriteState;
1612
+ getObject(id: string): import("./screen-objects-store").ScreenObjectState;
1613
+ clickObject(thing: import("./screen-objects-store").ScreenObjectState): void;
1614
+ generateSaveData(): import("./screen-objects-store").ScreenObjectsStoreSave;
1615
+ loadSaveData(data: import("./screen-objects-store").ScreenObjectsStoreSave): void;
1616
+ reset(): void;
1617
+ screenObjectToSave(object: import("./screen-objects-store").ScreenObjectState): import("./screen-objects-store").ScreenObjectSaveState;
1618
+ loadAllObjects(objects: {
1619
+ [key: string]: import("./screen-objects-store").ScreenObjectSaveState;
1620
+ }): {
1621
+ [key: string]: import("./screen-objects-store").ScreenObjectState;
1622
+ };
1623
+ }>;
1624
+ };
1625
+ overrideStates(override: any): void;
1626
+ }>;
1627
+ export {};