narrat 2.7.2 → 2.7.3

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 +3194 -3194
  54. package/dist/narrat.es.js.map +1 -1
  55. package/dist/narrat.umd.js +65 -65
  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 -936
  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 -52
  70. package/dist/stores/vm-store.d.ts +181 -181
  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 -9
  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,936 +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
- _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 {};
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 {};