narrat 2.7.1 → 2.7.2

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