narrat 2.2.13 → 2.2.14-test

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 (136) hide show
  1. package/LICENSE +21 -21
  2. package/dist/app.vue.d.ts +92 -92
  3. package/dist/components/MainMenu.vue.d.ts +12 -12
  4. package/dist/components/Skills.vue.d.ts +22 -22
  5. package/dist/components/StartMenu.vue.d.ts +46 -46
  6. package/dist/components/debug/debug-menu.vue.d.ts +48 -48
  7. package/dist/components/dialog-picture.vue.d.ts +9 -9
  8. package/dist/components/game-dialog.vue.d.ts +65 -65
  9. package/dist/components/hud.vue.d.ts +14 -14
  10. package/dist/components/inventory-ui.vue.d.ts +30 -30
  11. package/dist/components/loading-bar.vue.d.ts +10 -10
  12. package/dist/components/menu-buttons.vue.d.ts +26 -26
  13. package/dist/components/notification-toast.vue.d.ts +6 -6
  14. package/dist/components/quests-ui.vue.d.ts +20 -20
  15. package/dist/components/save-slots.vue.d.ts +58 -58
  16. package/dist/components/screen-layer.vue.d.ts +76 -76
  17. package/dist/components/screens.vue.d.ts +46 -46
  18. package/dist/components/transitions/NarratTransition.vue.d.ts +101 -101
  19. package/dist/components/utils/modal.vue.d.ts +6 -6
  20. package/dist/components/volume-controls.vue.d.ts +18 -18
  21. package/dist/config.d.ts +178 -178
  22. package/dist/constants.d.ts +8 -8
  23. package/dist/defaultConfig.d.ts +2 -2
  24. package/dist/demo/demo.d.ts +1 -1
  25. package/dist/dialog-box.vue.d.ts +41 -41
  26. package/dist/exports/config.d.ts +1 -1
  27. package/dist/exports/display.d.ts +2 -2
  28. package/dist/exports/plugins.d.ts +20 -20
  29. package/dist/favicon.svg +30 -30
  30. package/dist/{lib/lib.d.ts → lib.d.ts} +14 -15
  31. package/dist/main.d.ts +6 -6
  32. package/dist/narrat.es.js +23731 -21080
  33. package/dist/narrat.es.js.map +1 -1
  34. package/dist/narrat.umd.js +91 -91
  35. package/dist/narrat.umd.js.map +1 -1
  36. package/dist/plugins/NarratPlugin.d.ts +11 -11
  37. package/dist/stores/audio-store.d.ts +48 -48
  38. package/dist/stores/dialog-store.d.ts +32 -32
  39. package/dist/stores/hud-stats-store.d.ts +22 -22
  40. package/dist/stores/inventory-store.d.ts +37 -37
  41. package/dist/stores/main-store.d.ts +391 -391
  42. package/dist/stores/notification-store.d.ts +15 -15
  43. package/dist/stores/quest-log.d.ts +39 -39
  44. package/dist/stores/rendering-store.d.ts +13 -13
  45. package/dist/stores/screens-store.d.ts +35 -35
  46. package/dist/stores/skills.d.ts +40 -40
  47. package/dist/stores/vm-store.d.ts +178 -178
  48. package/dist/style.css +1 -1
  49. package/dist/types/app-types.d.ts +5 -5
  50. package/dist/types/character-types.d.ts +27 -27
  51. package/dist/types/dialog-box-types.d.ts +11 -11
  52. package/dist/types/game-save.d.ts +30 -30
  53. package/dist/types/parser.d.ts +93 -93
  54. package/dist/types/state.d.ts +3 -3
  55. package/dist/utils/InputsListener.d.ts +9 -9
  56. package/dist/utils/ajax.d.ts +1 -1
  57. package/dist/utils/audio-loader.d.ts +10 -10
  58. package/dist/utils/characters.d.ts +5 -5
  59. package/dist/utils/data-helpers.d.ts +25 -25
  60. package/dist/utils/debounce.d.ts +14 -14
  61. package/dist/utils/error-handling.d.ts +3 -3
  62. package/dist/utils/helpers.d.ts +6 -6
  63. package/dist/utils/images-loader.d.ts +6 -6
  64. package/dist/utils/logger.d.ts +11 -11
  65. package/dist/utils/object-iterators.d.ts +8 -8
  66. package/dist/utils/promises.d.ts +1 -1
  67. package/dist/utils/randomId.d.ts +1 -1
  68. package/dist/utils/save-helpers.d.ts +15 -15
  69. package/dist/utils/skillchecks.d.ts +17 -17
  70. package/dist/utils/string-helpers.d.ts +3 -3
  71. package/dist/utils/time-helpers.d.ts +2 -2
  72. package/dist/utils/transition.d.ts +15 -15
  73. package/dist/utils/type-utils.d.ts +1 -1
  74. package/dist/utils/typed-emitter.d.ts +18 -18
  75. package/dist/vm/commands/arithmetic-commands.d.ts +23 -23
  76. package/dist/vm/commands/audio-commands.d.ts +15 -15
  77. package/dist/vm/commands/choice.d.ts +37 -37
  78. package/dist/vm/commands/clear_dialog.d.ts +2 -2
  79. package/dist/vm/commands/command-helpers.d.ts +3 -3
  80. package/dist/vm/commands/command-plugin.d.ts +43 -43
  81. package/dist/vm/commands/flow-commands.d.ts +18 -18
  82. package/dist/vm/commands/if.d.ts +10 -10
  83. package/dist/vm/commands/index.d.ts +2 -2
  84. package/dist/vm/commands/inventory-commands.d.ts +15 -15
  85. package/dist/vm/commands/logic-command.d.ts +42 -42
  86. package/dist/vm/commands/math-commands.d.ts +30 -30
  87. package/dist/vm/commands/notify.d.ts +6 -6
  88. package/dist/vm/commands/quest-commands.d.ts +30 -30
  89. package/dist/vm/commands/random-commands.d.ts +10 -10
  90. package/dist/vm/commands/screen-commands.d.ts +15 -15
  91. package/dist/vm/commands/set.d.ts +6 -6
  92. package/dist/vm/commands/skill-commands.d.ts +30 -30
  93. package/dist/vm/commands/stats-commands.d.ts +12 -12
  94. package/dist/vm/commands/string-commands.d.ts +9 -9
  95. package/dist/vm/commands/text-field.d.ts +7 -7
  96. package/dist/vm/commands/text.d.ts +14 -14
  97. package/dist/vm/commands/wait.d.ts +4 -4
  98. package/dist/vm/vm-helpers.d.ts +18 -18
  99. package/dist/vm/vm-parser.d.ts +19 -19
  100. package/dist/vm/vm-parser.test.d.ts +1 -1
  101. package/dist/vm/vm.d.ts +18 -18
  102. package/package.json +88 -88
  103. package/README.md +0 -120
  104. package/dist/img/backgrounds/map.png +0 -0
  105. package/dist/img/backgrounds/narrat.png +0 -0
  106. package/dist/img/backgrounds/rpg.png +0 -0
  107. package/dist/img/backgrounds/test-layers.gif +0 -0
  108. package/dist/img/characters/cat_idle.jpg +0 -0
  109. package/dist/img/characters/helper_cat.png +0 -0
  110. package/dist/img/characters/inner_voice.png +0 -0
  111. package/dist/img/enemies/goblin.png +0 -0
  112. package/dist/img/enemies/skeleton.png +0 -0
  113. package/dist/img/enemies/slime.png +0 -0
  114. package/dist/img/h01.gif +0 -0
  115. package/dist/img/items/book.png +0 -0
  116. package/dist/img/items/bread.png +0 -0
  117. package/dist/img/levels/cave.png +0 -0
  118. package/dist/img/levels/dungeon.png +0 -0
  119. package/dist/img/levels/dungeon_F.png +0 -0
  120. package/dist/img/levels/dungeon_FL.png +0 -0
  121. package/dist/img/levels/dungeon_FR.png +0 -0
  122. package/dist/img/levels/dungeon_FRL.png +0 -0
  123. package/dist/img/levels/dungeon_LR.png +0 -0
  124. package/dist/img/levels/grass.png +0 -0
  125. package/dist/img/players/wizard.png +0 -0
  126. package/dist/img/skills/agility.jpg +0 -0
  127. package/dist/img/skills/logic.jpg +0 -0
  128. package/dist/img/splash-texture.png +0 -0
  129. package/dist/img/ui/energy.png +0 -0
  130. package/dist/img/ui/front.png +0 -0
  131. package/dist/img/ui/left.png +0 -0
  132. package/dist/img/ui/money.png +0 -0
  133. package/dist/img/ui/park-button.png +0 -0
  134. package/dist/img/ui/right.png +0 -0
  135. package/dist/img/ui/shop-button.png +0 -0
  136. package/dist/img/ui/start.png +0 -0
@@ -1,391 +1,391 @@
1
- import { GameSave } from '../types/game-save';
2
- import { AppOptions, Config } from '../config';
3
- export interface ErrorState {
4
- text: string;
5
- }
6
- interface MainState {
7
- ready: boolean;
8
- playing: boolean;
9
- errors: ErrorState[];
10
- playTime: {
11
- start: number;
12
- previousPlaytime: number;
13
- };
14
- saveSlot: number;
15
- options: AppOptions;
16
- flowState: 'menu' | 'playing';
17
- modal: string | false;
18
- paused: boolean;
19
- }
20
- export interface MainSaveData {
21
- playTime: number;
22
- }
23
- export declare const useMain: import("pinia").StoreDefinition<"main", MainState, {
24
- isInGame(state: {
25
- ready: boolean;
26
- playing: boolean;
27
- errors: {
28
- text: string;
29
- }[];
30
- playTime: {
31
- start: number;
32
- previousPlaytime: number;
33
- };
34
- saveSlot: number;
35
- options: {
36
- baseAssetsPath?: string | undefined;
37
- logging: boolean;
38
- debug: boolean;
39
- };
40
- flowState: 'menu' | 'playing';
41
- modal: string | false;
42
- paused: boolean;
43
- } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
44
- }, {
45
- setup(scriptPaths: string[], config: Config): Promise<void>;
46
- startMachine(): void;
47
- setSaveSlot(slot: number): void;
48
- startGame(saveSlot: number): Promise<void>;
49
- loadGame(save: GameSave, saveSlot: number): Promise<void>;
50
- playerAnswered(choice: number | string): void;
51
- menuReturn(): void;
52
- createError(text: string): void;
53
- clearErrors(): void;
54
- setFlowState(flowState: 'menu' | 'playing'): void;
55
- openModal(modal: string): void;
56
- closeModal(): void;
57
- toggleMenu(): void;
58
- pause(): void;
59
- unpause(): void;
60
- setOptions(options: AppOptions): void;
61
- startPlaying(): void;
62
- reset(): void;
63
- resetAllStores(): void;
64
- generateSaveData(): MainSaveData;
65
- loadSaveData(data: MainSaveData): void;
66
- saveGame(): void;
67
- setLoadedData(save: GameSave): void;
68
- getAllStates(): {
69
- main: any & {
70
- ready: boolean;
71
- playing: boolean;
72
- errors: {
73
- text: string;
74
- }[];
75
- playTime: {
76
- start: number;
77
- previousPlaytime: number;
78
- };
79
- saveSlot: number;
80
- options: {
81
- baseAssetsPath?: string | undefined;
82
- logging: boolean;
83
- debug: boolean;
84
- };
85
- flowState: 'menu' | 'playing';
86
- modal: string | false;
87
- paused: boolean;
88
- } & import("pinia")._StoreWithState<"main", MainState, {
89
- isInGame(state: {
90
- ready: boolean;
91
- playing: boolean;
92
- errors: {
93
- text: string;
94
- }[];
95
- playTime: {
96
- start: number;
97
- previousPlaytime: number;
98
- };
99
- saveSlot: number;
100
- options: {
101
- baseAssetsPath?: string | undefined;
102
- logging: boolean;
103
- debug: boolean;
104
- };
105
- flowState: 'menu' | 'playing';
106
- modal: string | false;
107
- paused: boolean;
108
- } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
109
- }, any> & import("pinia")._StoreWithGetters<{
110
- isInGame(state: {
111
- ready: boolean;
112
- playing: boolean;
113
- errors: {
114
- text: string;
115
- }[];
116
- playTime: {
117
- start: number;
118
- previousPlaytime: number;
119
- };
120
- saveSlot: number;
121
- options: {
122
- baseAssetsPath?: string | undefined;
123
- logging: boolean;
124
- debug: boolean;
125
- };
126
- flowState: 'menu' | 'playing';
127
- modal: string | false;
128
- paused: boolean;
129
- } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
130
- }> & import("pinia").PiniaCustomProperties<string, import("pinia").StateTree, import("pinia")._GettersTree<import("pinia").StateTree>, import("pinia")._ActionsTree>;
131
- screens: import("pinia").Store<"screens", import("./screens-store").ScreenState, {}, {
132
- setScreen(screen: string, layer: number, transition?: import("../utils/transition").AddTransition | undefined): Promise<void>;
133
- finishTransition(layer: number): void;
134
- transitionScreen(screen: string, transition: import("../utils/transition").AddTransition, layer?: number | undefined): Promise<void>;
135
- emptyLayer(layer: number): void;
136
- setButtons(config: Config): void;
137
- changeButton(button: string, newValue: import("./screens-store").ButtonStateValue): void;
138
- generateSaveData(): import("./screens-store").ScreenSave;
139
- loadSaveData(data: import("./screens-store").ScreenSave): void;
140
- }>;
141
- skills: import("pinia").Store<"skills", import("./skills").Skills, {}, {
142
- setupSkillCheck(skillCheck: import("./skills").SkillCheckState, id: string): void;
143
- passSkillCheck(skillCheckId: string, hide?: boolean | undefined): void;
144
- failSkillCheck(skillCheckId: string, hide?: boolean | undefined): void;
145
- generateSaveData(): import("./skills").Skills;
146
- getSkillCheck(id: string): import("./skills").SkillCheckState;
147
- createSkillCheckState(): import("./skills").SkillCheckState;
148
- loadSaveData(data: import("./skills").Skills): void;
149
- setupSkills(skills: {
150
- [key: string]: import("../config").SkillData;
151
- }): void;
152
- getSkill(skill: string): import("./skills").SkillState;
153
- getSkillLevel(skill: string): number;
154
- getSkillXp(skill: string): number;
155
- addXp(skill: string, xp: number): void;
156
- setSkillLevel(skill: string, level: number): void;
157
- incrementSkill(skill: string, amount: number): void;
158
- levelledUp(skill: string): void;
159
- }>;
160
- dialog: import("pinia").Store<"dialog", {
161
- dialog: import("./dialog-store").DialogKey[];
162
- }, {
163
- currentDialog(): import("./dialog-store").DialogKey;
164
- }, {
165
- generateSaveData(): {
166
- dialog: import("./dialog-store").DialogKey[];
167
- };
168
- loadSaveData(data: {
169
- dialog: import("./dialog-store").DialogKey[];
170
- }): void;
171
- addDialog(dialog: import("./dialog-store").AddDialogParams): void;
172
- clearDialog(): void;
173
- reset(): void;
174
- }>;
175
- vm: import("pinia").Store<"vm", import("./vm-store").VMState, {
176
- currentFrame(state: {
177
- commandsWaitingForPlayerAnswer: {
178
- args: (import("../types/parser").Parser.Primitive | {
179
- code: string;
180
- command: {
181
- commandType: string;
182
- operator: string;
183
- args: (import("../types/parser").Parser.Primitive | any)[];
184
- options: import("../types/parser").Parser.DefaultArg;
185
- staticOptions: {};
186
- };
187
- fileName: string;
188
- line: number;
189
- })[];
190
- commandType: string;
191
- options: any;
192
- code: string;
193
- staticOptions: any;
194
- operator: string;
195
- line: number;
196
- fileName: string;
197
- finishCommand?: ((res: any) => void) | undefined;
198
- }[];
199
- stack: {
200
- blocks: {
201
- currentIndex: number;
202
- branchData: {
203
- branch: {
204
- code: string;
205
- command: {
206
- commandType: string;
207
- operator: string;
208
- args: (import("../types/parser").Parser.Primitive | any)[];
209
- options: import("../types/parser").Parser.DefaultArg;
210
- staticOptions: {};
211
- };
212
- fileName: string;
213
- line: number;
214
- }[];
215
- args?: string[] | undefined;
216
- };
217
- }[];
218
- label: string;
219
- scope: {
220
- [key: string]: any;
221
- };
222
- returnValue: any;
223
- }[];
224
- script: import("../types/parser").Parser.ParsedScript;
225
- data: import("./vm-store").DataState;
226
- lastLabel: string;
227
- jumpTarget?: {
228
- currentIndex: number;
229
- branchData: {
230
- branch: {
231
- code: string;
232
- command: {
233
- commandType: string;
234
- operator: string;
235
- args: (import("../types/parser").Parser.Primitive | any)[];
236
- options: import("../types/parser").Parser.DefaultArg;
237
- staticOptions: {};
238
- };
239
- fileName: string;
240
- line: number;
241
- }[];
242
- args?: string[] | undefined;
243
- };
244
- label: string;
245
- scope?: {
246
- [key: string]: any;
247
- } | undefined;
248
- args?: any[] | undefined;
249
- } | undefined;
250
- } & import("pinia").PiniaCustomStateProperties<import("./vm-store").VMState>): import("./vm-store").MachineFrame | undefined;
251
- scope(): {
252
- [key: string]: any;
253
- };
254
- currentBlock(): import("./vm-store").MachineBlock | undefined;
255
- currentLine(): import("../types/parser").Parser.ParsedExpression<import("../types/parser").Parser.DefaultArg, {}> | undefined;
256
- commandWaitingForAnswer(): import("../types/parser").Parser.Command<any, any> | undefined;
257
- }, {
258
- generateSaveData(): import("./vm-store").VMSave;
259
- loadSaveData(data: import("./vm-store").VMSave): void;
260
- setReturnValue(value: any): void;
261
- waitForPlayerAnswer(cmd: import("../types/parser").Parser.Command<any, any>): void;
262
- popAnswerQueue(): {
263
- args: (import("../types/parser").Parser.Primitive | {
264
- code: string;
265
- command: {
266
- commandType: string;
267
- operator: string;
268
- args: (import("../types/parser").Parser.Primitive | any)[];
269
- options: import("../types/parser").Parser.DefaultArg;
270
- staticOptions: {};
271
- };
272
- fileName: string;
273
- line: number;
274
- })[];
275
- commandType: string;
276
- options: any;
277
- code: string;
278
- staticOptions: any;
279
- operator: string;
280
- line: number;
281
- fileName: string;
282
- finishCommand?: ((res: any) => void) | undefined;
283
- } | undefined;
284
- addScopedVariable(key: string, value: any): void;
285
- loadScripts(scriptPaths: string[]): Promise<void>;
286
- start(): void;
287
- setLastLabel(label: string): void;
288
- reset(): void;
289
- setScript(script: import("../types/parser").Parser.ParsedScript): void;
290
- overrideData(data: import("./vm-store").DataState): void;
291
- setStack(stack: import("./vm-store").SetFrameOptions): void;
292
- frameOptionsToFrame(frame: import("./vm-store").SetFrameOptions): import("./vm-store").MachineFrame;
293
- addBlock(frame: import("./vm-store").MachineFrame, block: import("./vm-store").MachineBlock): void;
294
- addAndRunBlock(block: import("./vm-store").MachineBlock): Promise<any>;
295
- setData(path: string, value: any): void;
296
- addInstruction(path: string, value: any): void;
297
- addFrame(newStackOptions: import("./vm-store").AddFrameOptions): void;
298
- addAndRunFrame(newStackOptions: import("./vm-store").AddFrameOptions): Promise<any>;
299
- runFrame(): Promise<any>;
300
- cleanFrame(): any;
301
- runBlock(): Promise<any>;
302
- cleanBlock(): void;
303
- runGame(): Promise<void>;
304
- nextLineOnly(): Promise<boolean>;
305
- isBlockFinished(): boolean;
306
- reachedEndOfScript(): void;
307
- runLineOnly(): Promise<any>;
308
- runLabelFunction(label: string, ...args: any[]): Promise<any>;
309
- runCustomFrame(stack: import("./vm-store").AddFrameOptions): void;
310
- jumpToLabel(label: string, ...args: any[]): void;
311
- runThenGoBackToPreviousDialog(label: string, ...args: any[]): Promise<any>;
312
- }>;
313
- hud: import("pinia").Store<"hud", import("./hud-stats-store").HudState, {}, {
314
- setupHudStats(stats: {
315
- [key: string]: import("../config").HudStatConfig;
316
- }): void;
317
- setStat(stat: string, value: number): void;
318
- addStat(stat: string, value: number): void;
319
- getStat(stat: string): import("./hud-stats-store").HudStat;
320
- getStatValue(stat: string): number;
321
- generateSaveData(): import("./hud-stats-store").HudState;
322
- loadSaveData(data: import("./hud-stats-store").HudState): void;
323
- }>;
324
- audio: import("pinia").Store<"audio", import("./audio-store").AudioState, {}, {
325
- stopAll(): void;
326
- stopChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): Promise<void>;
327
- pauseChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): Promise<void>;
328
- playChannel(mode: "sound" | "music" | "ambiant", audio: string, channelIndex: number): Promise<void>;
329
- changeChannel(mode: "sound" | "music" | "ambiant", audio: string, channelIndex: number): Promise<void>;
330
- actuallyStopChannel(channel: import("./audio-store").AudioChannel): void;
331
- getAudioChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): import("./audio-store").AudioChannel | null;
332
- setAudioChannel(mode: "sound" | "music" | "ambiant", channelIndex: number, value: import("./audio-store").AudioChannel | null): void;
333
- actuallyPlayChannel(mode: "sound" | "music" | "ambiant", channelIndex: number, audio: string): Promise<void>;
334
- reloadAudio(save: import("./audio-store").AudioSave): void;
335
- stopSound(key: string): void;
336
- generateSaveData(): import("./audio-store").AudioSave;
337
- loadSaveData(data: import("./audio-store").AudioSave): void;
338
- reset(): void;
339
- setModeVolume(mode: "sound" | "music" | "ambiant", volume: number): void;
340
- setMasterVolume(volume: number): void;
341
- modeVolume(mode: "sound" | "music" | "ambiant"): number;
342
- }>;
343
- rendering: import("pinia").Store<"rendering", import("./rendering-store").RenderingState, {}, {
344
- updateScreenSize(width: number, height: number, textWidth: number): void;
345
- }>;
346
- notifications: import("pinia").Store<"notifications", import("./notification-store").NotificationsState, {}, {
347
- addNotification(text: string): Promise<void>;
348
- deleteNotification(id: string): void;
349
- disableNotifications(): void;
350
- enableNotifications(): void;
351
- }>;
352
- inventory: import("pinia").Store<"inventory", import("./inventory-store").InventoryState, {}, {
353
- generateSaveData(): import("./inventory-store").InventoryState;
354
- loadSaveData(save: import("./inventory-store").InventoryState): void;
355
- setupItems(items: {
356
- [key: string]: import("../config").ItemData;
357
- }): void;
358
- hasItem(itemId: string, amount?: number | undefined): boolean;
359
- getExistingItem(id: string): import("./inventory-store").ItemState | undefined;
360
- getItemAmount(id: string): number;
361
- add(item: import("./inventory-store").ItemState): void;
362
- enableInteraction(tag?: string | undefined): void;
363
- disableInteraction(tag?: string | undefined): void;
364
- onScriptStart(): void;
365
- onScriptEnd(): void;
366
- isInteractionTagBlocked(tag?: string | undefined): boolean;
367
- remove(item: import("./inventory-store").ItemState): void;
368
- deleteItem(id: string): void;
369
- }>;
370
- quests: import("pinia").Store<"quests", import("./quest-log").QuestLogState, {}, {
371
- getQuest(questId: string): import("./quest-log").QuestState;
372
- getObjective(questId: string, objectiveId: string): import("./quest-log").ObjectiveState;
373
- setupQuests(quests: {
374
- [key: string]: import("../config").QuestData;
375
- }): void;
376
- startQuest(questId: string): void;
377
- startObjective(questId: string, objectiveId: string): void;
378
- completeObjective(questId: string, objectiveId: string): void;
379
- completeQuest(questId: string, ending?: string | undefined): void;
380
- isQuestCompleted(questId: string): boolean;
381
- isObjectiveCompleted(questId: string, objectiveId: string): boolean;
382
- isQuestStarted(questId: string): boolean;
383
- isObjectiveStarted(questId: string, objectiveId: string): boolean;
384
- removeQuest(id: string): void;
385
- generateSaveData(): import("./quest-log").QuestLogState;
386
- loadSaveData(data: import("./quest-log").QuestLogState): void;
387
- }>;
388
- };
389
- overrideStates(override: any): void;
390
- }>;
391
- export {};
1
+ import { GameSave } from '../types/game-save';
2
+ import { AppOptions, Config } from '../config';
3
+ export interface ErrorState {
4
+ text: string;
5
+ }
6
+ interface MainState {
7
+ ready: boolean;
8
+ playing: boolean;
9
+ errors: ErrorState[];
10
+ playTime: {
11
+ start: number;
12
+ previousPlaytime: number;
13
+ };
14
+ saveSlot: number;
15
+ options: AppOptions;
16
+ flowState: 'menu' | 'playing';
17
+ modal: string | false;
18
+ paused: boolean;
19
+ }
20
+ export interface MainSaveData {
21
+ playTime: number;
22
+ }
23
+ export declare const useMain: import("pinia").StoreDefinition<"main", MainState, {
24
+ isInGame(state: {
25
+ ready: boolean;
26
+ playing: boolean;
27
+ errors: {
28
+ text: string;
29
+ }[];
30
+ playTime: {
31
+ start: number;
32
+ previousPlaytime: number;
33
+ };
34
+ saveSlot: number;
35
+ options: {
36
+ baseAssetsPath?: string | undefined;
37
+ logging: boolean;
38
+ debug: boolean;
39
+ };
40
+ flowState: 'menu' | 'playing';
41
+ modal: string | false;
42
+ paused: boolean;
43
+ } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
44
+ }, {
45
+ setup(scriptPaths: string[], config: Config): Promise<void>;
46
+ startMachine(): void;
47
+ setSaveSlot(slot: number): void;
48
+ startGame(saveSlot: number): Promise<void>;
49
+ loadGame(save: GameSave, saveSlot: number): Promise<void>;
50
+ playerAnswered(choice: number | string): void;
51
+ menuReturn(): void;
52
+ createError(text: string): void;
53
+ clearErrors(): void;
54
+ setFlowState(flowState: 'menu' | 'playing'): void;
55
+ openModal(modal: string): void;
56
+ closeModal(): void;
57
+ toggleMenu(): void;
58
+ pause(): void;
59
+ unpause(): void;
60
+ setOptions(options: AppOptions): void;
61
+ startPlaying(): void;
62
+ reset(): void;
63
+ resetAllStores(): void;
64
+ generateSaveData(): MainSaveData;
65
+ loadSaveData(data: MainSaveData): void;
66
+ saveGame(): void;
67
+ setLoadedData(save: GameSave): void;
68
+ getAllStates(): {
69
+ main: any & {
70
+ ready: boolean;
71
+ playing: boolean;
72
+ errors: {
73
+ text: string;
74
+ }[];
75
+ playTime: {
76
+ start: number;
77
+ previousPlaytime: number;
78
+ };
79
+ saveSlot: number;
80
+ options: {
81
+ baseAssetsPath?: string | undefined;
82
+ logging: boolean;
83
+ debug: boolean;
84
+ };
85
+ flowState: 'menu' | 'playing';
86
+ modal: string | false;
87
+ paused: boolean;
88
+ } & import("pinia")._StoreWithState<"main", MainState, {
89
+ isInGame(state: {
90
+ ready: boolean;
91
+ playing: boolean;
92
+ errors: {
93
+ text: string;
94
+ }[];
95
+ playTime: {
96
+ start: number;
97
+ previousPlaytime: number;
98
+ };
99
+ saveSlot: number;
100
+ options: {
101
+ baseAssetsPath?: string | undefined;
102
+ logging: boolean;
103
+ debug: boolean;
104
+ };
105
+ flowState: 'menu' | 'playing';
106
+ modal: string | false;
107
+ paused: boolean;
108
+ } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
109
+ }, any> & import("pinia")._StoreWithGetters<{
110
+ isInGame(state: {
111
+ ready: boolean;
112
+ playing: boolean;
113
+ errors: {
114
+ text: string;
115
+ }[];
116
+ playTime: {
117
+ start: number;
118
+ previousPlaytime: number;
119
+ };
120
+ saveSlot: number;
121
+ options: {
122
+ baseAssetsPath?: string | undefined;
123
+ logging: boolean;
124
+ debug: boolean;
125
+ };
126
+ flowState: 'menu' | 'playing';
127
+ modal: string | false;
128
+ paused: boolean;
129
+ } & import("pinia").PiniaCustomStateProperties<MainState>): boolean;
130
+ }> & import("pinia").PiniaCustomProperties<string, import("pinia").StateTree, import("pinia")._GettersTree<import("pinia").StateTree>, import("pinia")._ActionsTree>;
131
+ screens: import("pinia").Store<"screens", import("./screens-store").ScreenState, {}, {
132
+ setScreen(screen: string, layer: number, transition?: import("../utils/transition").AddTransition | undefined): Promise<void>;
133
+ finishTransition(layer: number): void;
134
+ transitionScreen(screen: string, transition: import("../utils/transition").AddTransition, layer?: number | undefined): Promise<void>;
135
+ emptyLayer(layer: number): void;
136
+ setButtons(config: Config): void;
137
+ changeButton(button: string, newValue: import("./screens-store").ButtonStateValue): void;
138
+ generateSaveData(): import("./screens-store").ScreenSave;
139
+ loadSaveData(data: import("./screens-store").ScreenSave): void;
140
+ }>;
141
+ skills: import("pinia").Store<"skills", import("./skills").Skills, {}, {
142
+ setupSkillCheck(skillCheck: import("./skills").SkillCheckState, id: string): void;
143
+ passSkillCheck(skillCheckId: string, hide?: boolean | undefined): void;
144
+ failSkillCheck(skillCheckId: string, hide?: boolean | undefined): void;
145
+ generateSaveData(): import("./skills").Skills;
146
+ getSkillCheck(id: string): import("./skills").SkillCheckState;
147
+ createSkillCheckState(): import("./skills").SkillCheckState;
148
+ loadSaveData(data: import("./skills").Skills): void;
149
+ setupSkills(skills: {
150
+ [key: string]: import("../config").SkillData;
151
+ }): void;
152
+ getSkill(skill: string): import("./skills").SkillState;
153
+ getSkillLevel(skill: string): number;
154
+ getSkillXp(skill: string): number;
155
+ addXp(skill: string, xp: number): void;
156
+ setSkillLevel(skill: string, level: number): void;
157
+ incrementSkill(skill: string, amount: number): void;
158
+ levelledUp(skill: string): void;
159
+ }>;
160
+ dialog: import("pinia").Store<"dialog", {
161
+ dialog: import("./dialog-store").DialogKey[];
162
+ }, {
163
+ currentDialog(): import("./dialog-store").DialogKey;
164
+ }, {
165
+ generateSaveData(): {
166
+ dialog: import("./dialog-store").DialogKey[];
167
+ };
168
+ loadSaveData(data: {
169
+ dialog: import("./dialog-store").DialogKey[];
170
+ }): void;
171
+ addDialog(dialog: import("./dialog-store").AddDialogParams): void;
172
+ clearDialog(): void;
173
+ reset(): void;
174
+ }>;
175
+ vm: import("pinia").Store<"vm", import("./vm-store").VMState, {
176
+ currentFrame(state: {
177
+ commandsWaitingForPlayerAnswer: {
178
+ args: (import("../types/parser").Parser.Primitive | {
179
+ code: string;
180
+ command: {
181
+ commandType: string;
182
+ operator: string;
183
+ args: (import("../types/parser").Parser.Primitive | any)[];
184
+ options: import("../types/parser").Parser.DefaultArg;
185
+ staticOptions: {};
186
+ };
187
+ fileName: string;
188
+ line: number;
189
+ })[];
190
+ commandType: string;
191
+ options: any;
192
+ code: string;
193
+ staticOptions: any;
194
+ operator: string;
195
+ line: number;
196
+ fileName: string;
197
+ finishCommand?: ((res: any) => void) | undefined;
198
+ }[];
199
+ stack: {
200
+ blocks: {
201
+ currentIndex: number;
202
+ branchData: {
203
+ branch: {
204
+ code: string;
205
+ command: {
206
+ commandType: string;
207
+ operator: string;
208
+ args: (import("../types/parser").Parser.Primitive | any)[];
209
+ options: import("../types/parser").Parser.DefaultArg;
210
+ staticOptions: {};
211
+ };
212
+ fileName: string;
213
+ line: number;
214
+ }[];
215
+ args?: string[] | undefined;
216
+ };
217
+ }[];
218
+ label: string;
219
+ scope: {
220
+ [key: string]: any;
221
+ };
222
+ returnValue: any;
223
+ }[];
224
+ script: import("../types/parser").Parser.ParsedScript;
225
+ data: import("./vm-store").DataState;
226
+ lastLabel: string;
227
+ jumpTarget?: {
228
+ currentIndex: number;
229
+ branchData: {
230
+ branch: {
231
+ code: string;
232
+ command: {
233
+ commandType: string;
234
+ operator: string;
235
+ args: (import("../types/parser").Parser.Primitive | any)[];
236
+ options: import("../types/parser").Parser.DefaultArg;
237
+ staticOptions: {};
238
+ };
239
+ fileName: string;
240
+ line: number;
241
+ }[];
242
+ args?: string[] | undefined;
243
+ };
244
+ label: string;
245
+ scope?: {
246
+ [key: string]: any;
247
+ } | undefined;
248
+ args?: any[] | undefined;
249
+ } | undefined;
250
+ } & import("pinia").PiniaCustomStateProperties<import("./vm-store").VMState>): import("./vm-store").MachineFrame | undefined;
251
+ scope(): {
252
+ [key: string]: any;
253
+ };
254
+ currentBlock(): import("./vm-store").MachineBlock | undefined;
255
+ currentLine(): import("../types/parser").Parser.ParsedExpression<import("../types/parser").Parser.DefaultArg, {}> | undefined;
256
+ commandWaitingForAnswer(): import("../types/parser").Parser.Command<any, any> | undefined;
257
+ }, {
258
+ generateSaveData(): import("./vm-store").VMSave;
259
+ loadSaveData(data: import("./vm-store").VMSave): void;
260
+ setReturnValue(value: any): void;
261
+ waitForPlayerAnswer(cmd: import("../types/parser").Parser.Command<any, any>): void;
262
+ popAnswerQueue(): {
263
+ args: (import("../types/parser").Parser.Primitive | {
264
+ code: string;
265
+ command: {
266
+ commandType: string;
267
+ operator: string;
268
+ args: (import("../types/parser").Parser.Primitive | any)[];
269
+ options: import("../types/parser").Parser.DefaultArg;
270
+ staticOptions: {};
271
+ };
272
+ fileName: string;
273
+ line: number;
274
+ })[];
275
+ commandType: string;
276
+ options: any;
277
+ code: string;
278
+ staticOptions: any;
279
+ operator: string;
280
+ line: number;
281
+ fileName: string;
282
+ finishCommand?: ((res: any) => void) | undefined;
283
+ } | undefined;
284
+ addScopedVariable(key: string, value: any): void;
285
+ loadScripts(scriptPaths: string[]): Promise<void>;
286
+ start(): void;
287
+ setLastLabel(label: string): void;
288
+ reset(): void;
289
+ setScript(script: import("../types/parser").Parser.ParsedScript): void;
290
+ overrideData(data: import("./vm-store").DataState): void;
291
+ setStack(stack: import("./vm-store").SetFrameOptions): void;
292
+ frameOptionsToFrame(frame: import("./vm-store").SetFrameOptions): import("./vm-store").MachineFrame;
293
+ addBlock(frame: import("./vm-store").MachineFrame, block: import("./vm-store").MachineBlock): void;
294
+ addAndRunBlock(block: import("./vm-store").MachineBlock): Promise<any>;
295
+ setData(path: string, value: any): void;
296
+ addInstruction(path: string, value: any): void;
297
+ addFrame(newStackOptions: import("./vm-store").AddFrameOptions): void;
298
+ addAndRunFrame(newStackOptions: import("./vm-store").AddFrameOptions): Promise<any>;
299
+ runFrame(): Promise<any>;
300
+ cleanFrame(): any;
301
+ runBlock(): Promise<any>;
302
+ cleanBlock(): void;
303
+ runGame(): Promise<void>;
304
+ nextLineOnly(): Promise<boolean>;
305
+ isBlockFinished(): boolean;
306
+ reachedEndOfScript(): void;
307
+ runLineOnly(): Promise<any>;
308
+ runLabelFunction(label: string, ...args: any[]): Promise<any>;
309
+ runCustomFrame(stack: import("./vm-store").AddFrameOptions): void;
310
+ jumpToLabel(label: string, ...args: any[]): void;
311
+ runThenGoBackToPreviousDialog(label: string, ...args: any[]): Promise<any>;
312
+ }>;
313
+ hud: import("pinia").Store<"hud", import("./hud-stats-store").HudState, {}, {
314
+ setupHudStats(stats: {
315
+ [key: string]: import("../config").HudStatConfig;
316
+ }): void;
317
+ setStat(stat: string, value: number): void;
318
+ addStat(stat: string, value: number): void;
319
+ getStat(stat: string): import("./hud-stats-store").HudStat;
320
+ getStatValue(stat: string): number;
321
+ generateSaveData(): import("./hud-stats-store").HudState;
322
+ loadSaveData(data: import("./hud-stats-store").HudState): void;
323
+ }>;
324
+ audio: import("pinia").Store<"audio", import("./audio-store").AudioState, {}, {
325
+ stopAll(): void;
326
+ stopChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): Promise<void>;
327
+ pauseChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): Promise<void>;
328
+ playChannel(mode: "sound" | "music" | "ambiant", audio: string, channelIndex: number): Promise<void>;
329
+ changeChannel(mode: "sound" | "music" | "ambiant", audio: string, channelIndex: number): Promise<void>;
330
+ actuallyStopChannel(channel: import("./audio-store").AudioChannel): void;
331
+ getAudioChannel(mode: "sound" | "music" | "ambiant", channelIndex: number): import("./audio-store").AudioChannel | null;
332
+ setAudioChannel(mode: "sound" | "music" | "ambiant", channelIndex: number, value: import("./audio-store").AudioChannel | null): void;
333
+ actuallyPlayChannel(mode: "sound" | "music" | "ambiant", channelIndex: number, audio: string): Promise<void>;
334
+ reloadAudio(save: import("./audio-store").AudioSave): void;
335
+ stopSound(key: string): void;
336
+ generateSaveData(): import("./audio-store").AudioSave;
337
+ loadSaveData(data: import("./audio-store").AudioSave): void;
338
+ reset(): void;
339
+ setModeVolume(mode: "sound" | "music" | "ambiant", volume: number): void;
340
+ setMasterVolume(volume: number): void;
341
+ modeVolume(mode: "sound" | "music" | "ambiant"): number;
342
+ }>;
343
+ rendering: import("pinia").Store<"rendering", import("./rendering-store").RenderingState, {}, {
344
+ updateScreenSize(width: number, height: number, textWidth: number): void;
345
+ }>;
346
+ notifications: import("pinia").Store<"notifications", import("./notification-store").NotificationsState, {}, {
347
+ addNotification(text: string): Promise<void>;
348
+ deleteNotification(id: string): void;
349
+ disableNotifications(): void;
350
+ enableNotifications(): void;
351
+ }>;
352
+ inventory: import("pinia").Store<"inventory", import("./inventory-store").InventoryState, {}, {
353
+ generateSaveData(): import("./inventory-store").InventoryState;
354
+ loadSaveData(save: import("./inventory-store").InventoryState): void;
355
+ setupItems(items: {
356
+ [key: string]: import("../config").ItemData;
357
+ }): void;
358
+ hasItem(itemId: string, amount?: number | undefined): boolean;
359
+ getExistingItem(id: string): import("./inventory-store").ItemState | undefined;
360
+ getItemAmount(id: string): number;
361
+ add(item: import("./inventory-store").ItemState): void;
362
+ enableInteraction(tag?: string | undefined): void;
363
+ disableInteraction(tag?: string | undefined): void;
364
+ onScriptStart(): void;
365
+ onScriptEnd(): void;
366
+ isInteractionTagBlocked(tag?: string | undefined): boolean;
367
+ remove(item: import("./inventory-store").ItemState): void;
368
+ deleteItem(id: string): void;
369
+ }>;
370
+ quests: import("pinia").Store<"quests", import("./quest-log").QuestLogState, {}, {
371
+ getQuest(questId: string): import("./quest-log").QuestState;
372
+ getObjective(questId: string, objectiveId: string): import("./quest-log").ObjectiveState;
373
+ setupQuests(quests: {
374
+ [key: string]: import("../config").QuestData;
375
+ }): void;
376
+ startQuest(questId: string): void;
377
+ startObjective(questId: string, objectiveId: string): void;
378
+ completeObjective(questId: string, objectiveId: string): void;
379
+ completeQuest(questId: string, ending?: string | undefined): void;
380
+ isQuestCompleted(questId: string): boolean;
381
+ isObjectiveCompleted(questId: string, objectiveId: string): boolean;
382
+ isQuestStarted(questId: string): boolean;
383
+ isObjectiveStarted(questId: string, objectiveId: string): boolean;
384
+ removeQuest(id: string): void;
385
+ generateSaveData(): import("./quest-log").QuestLogState;
386
+ loadSaveData(data: import("./quest-log").QuestLogState): void;
387
+ }>;
388
+ };
389
+ overrideStates(override: any): void;
390
+ }>;
391
+ export {};