narrat 2.7.3 → 2.8.0

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 (137) 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 +28 -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 +20 -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 +38 -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/audio-config.d.ts +58 -0
  37. package/dist/config/buttons-config.d.ts +64 -0
  38. package/dist/config/common-config.d.ts +80 -0
  39. package/dist/config/config-input.d.ts +195 -0
  40. package/dist/config/config-output.d.ts +185 -0
  41. package/dist/config/items-config.d.ts +67 -0
  42. package/dist/config/layout-config.d.ts +26 -0
  43. package/dist/config/quests-config.d.ts +36 -0
  44. package/dist/config/screens-config.d.ts +128 -0
  45. package/dist/config/skills-config.d.ts +70 -0
  46. package/dist/config.d.ts +154 -244
  47. package/dist/constants.d.ts +12 -10
  48. package/dist/demo/demo.d.ts +1 -1
  49. package/dist/dialog-box.vue.d.ts +71 -71
  50. package/dist/exports/components.d.ts +2 -2
  51. package/dist/exports/config.d.ts +1 -1
  52. package/dist/exports/display.d.ts +2 -2
  53. package/dist/exports/events.d.ts +1 -1
  54. package/dist/exports/others.d.ts +1 -1
  55. package/dist/exports/plugins.d.ts +38 -38
  56. package/dist/exports/stores.d.ts +11 -11
  57. package/dist/favicon.svg +30 -30
  58. package/dist/gamepad/gamepad.d.ts +1 -1
  59. package/dist/lib.d.ts +18 -18
  60. package/dist/main.d.ts +6 -7
  61. package/dist/menu-buttons/menu-buttons.d.ts +7 -7
  62. package/dist/narrat.es.js +23355 -18326
  63. package/dist/narrat.es.js.map +1 -1
  64. package/dist/narrat.umd.js +123 -116
  65. package/dist/narrat.umd.js.map +1 -1
  66. package/dist/plugins/NarratPlugin.d.ts +11 -11
  67. package/dist/stores/audio-store.d.ts +56 -56
  68. package/dist/stores/config-store.d.ts +6 -0
  69. package/dist/stores/dialog-store.d.ts +35 -35
  70. package/dist/stores/hud-stats-store.d.ts +20 -22
  71. package/dist/stores/inventory-store.d.ts +48 -38
  72. package/dist/stores/main-store.d.ts +973 -936
  73. package/dist/stores/menu-store.d.ts +45 -45
  74. package/dist/stores/notification-store.d.ts +15 -15
  75. package/dist/stores/quest-log.d.ts +37 -39
  76. package/dist/stores/rendering-store.d.ts +19 -19
  77. package/dist/stores/screens-store.d.ts +33 -33
  78. package/dist/stores/skills.d.ts +39 -41
  79. package/dist/stores/sprites-store.d.ts +52 -52
  80. package/dist/stores/vm-store.d.ts +181 -181
  81. package/dist/types/app-types.d.ts +9 -9
  82. package/dist/types/character-types.d.ts +27 -27
  83. package/dist/types/dialog-box-types.d.ts +11 -11
  84. package/dist/types/game-save.d.ts +40 -40
  85. package/dist/types/parser.d.ts +93 -93
  86. package/dist/types/state.d.ts +3 -3
  87. package/dist/utils/InputsListener.d.ts +9 -9
  88. package/dist/utils/ajax.d.ts +2 -2
  89. package/dist/utils/audio-loader.d.ts +10 -10
  90. package/dist/utils/characters.d.ts +5 -5
  91. package/dist/utils/data-helpers.d.ts +29 -29
  92. package/dist/utils/debounce.d.ts +14 -14
  93. package/dist/utils/error-handling.d.ts +4 -4
  94. package/dist/utils/helpers.d.ts +6 -6
  95. package/dist/utils/images-loader.d.ts +7 -7
  96. package/dist/utils/logger.d.ts +11 -11
  97. package/dist/utils/object-iterators.d.ts +9 -9
  98. package/dist/utils/promises.d.ts +1 -1
  99. package/dist/utils/randomId.d.ts +1 -1
  100. package/dist/utils/save-helpers.d.ts +16 -16
  101. package/dist/utils/skillchecks.d.ts +17 -17
  102. package/dist/utils/string-helpers.d.ts +4 -4
  103. package/dist/utils/time-helpers.d.ts +2 -2
  104. package/dist/utils/transition.d.ts +21 -21
  105. package/dist/utils/type-utils.d.ts +2 -2
  106. package/dist/utils/typed-emitter.d.ts +18 -18
  107. package/dist/utils/vue-directives.d.ts +2 -2
  108. package/dist/vm/commands/arithmetic-commands.d.ts +23 -23
  109. package/dist/vm/commands/audio-commands.d.ts +15 -15
  110. package/dist/vm/commands/choice.d.ts +38 -38
  111. package/dist/vm/commands/clear_dialog.d.ts +2 -2
  112. package/dist/vm/commands/command-helpers.d.ts +3 -3
  113. package/dist/vm/commands/command-plugin.d.ts +43 -43
  114. package/dist/vm/commands/flow-commands.d.ts +24 -24
  115. package/dist/vm/commands/if.d.ts +10 -10
  116. package/dist/vm/commands/index.d.ts +2 -2
  117. package/dist/vm/commands/inventory-commands.d.ts +15 -15
  118. package/dist/vm/commands/logic-command.d.ts +42 -42
  119. package/dist/vm/commands/math-commands.d.ts +30 -30
  120. package/dist/vm/commands/notify.d.ts +6 -6
  121. package/dist/vm/commands/quest-commands.d.ts +30 -30
  122. package/dist/vm/commands/random-commands.d.ts +10 -10
  123. package/dist/vm/commands/screen-commands.d.ts +18 -18
  124. package/dist/vm/commands/set.d.ts +6 -6
  125. package/dist/vm/commands/skill-commands.d.ts +33 -33
  126. package/dist/vm/commands/sprite-commands.d.ts +9 -9
  127. package/dist/vm/commands/stats-commands.d.ts +12 -12
  128. package/dist/vm/commands/string-commands.d.ts +9 -9
  129. package/dist/vm/commands/text-field.d.ts +7 -7
  130. package/dist/vm/commands/text.d.ts +14 -14
  131. package/dist/vm/commands/wait.d.ts +4 -4
  132. package/dist/vm/vm-helpers.d.ts +19 -19
  133. package/dist/vm/vm-parser.d.ts +19 -19
  134. package/dist/vm/vm-parser.test.d.ts +1 -1
  135. package/dist/vm/vm.d.ts +21 -21
  136. package/package.json +4 -1
  137. package/dist/defaultConfig.d.ts +0 -2
@@ -0,0 +1,128 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const InlineButtonConfigSchema: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
3
+ enabled: import("@sinclair/typebox").TBoolean;
4
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
5
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
6
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
7
+ position: import("@sinclair/typebox").TObject<{
8
+ left: import("@sinclair/typebox").TNumber;
9
+ top: import("@sinclair/typebox").TNumber;
10
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
11
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
12
+ }>;
13
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
14
+ x: import("@sinclair/typebox").TNumber;
15
+ y: import("@sinclair/typebox").TNumber;
16
+ }>>;
17
+ action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
18
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
19
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
20
+ }>, import("@sinclair/typebox").TObject<{
21
+ id: import("@sinclair/typebox").TString;
22
+ }>]>;
23
+ export declare type InlineButtonConfig = Static<typeof InlineButtonConfigSchema>;
24
+ export declare const ScreenConfigSchema: import("@sinclair/typebox").TObject<{
25
+ background: import("@sinclair/typebox").TString;
26
+ buttons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
27
+ enabled: import("@sinclair/typebox").TBoolean;
28
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
29
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
30
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
31
+ position: import("@sinclair/typebox").TObject<{
32
+ left: import("@sinclair/typebox").TNumber;
33
+ top: import("@sinclair/typebox").TNumber;
34
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
35
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
36
+ }>;
37
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
38
+ x: import("@sinclair/typebox").TNumber;
39
+ y: import("@sinclair/typebox").TNumber;
40
+ }>>;
41
+ action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
42
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
43
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
44
+ }>, import("@sinclair/typebox").TObject<{
45
+ id: import("@sinclair/typebox").TString;
46
+ }>]>]>>>;
47
+ }>;
48
+ export declare type ScreenConfig = Static<typeof ScreenConfigSchema>;
49
+ export declare const ScreensListSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
50
+ background: import("@sinclair/typebox").TString;
51
+ buttons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
52
+ enabled: import("@sinclair/typebox").TBoolean;
53
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
54
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
55
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
56
+ position: import("@sinclair/typebox").TObject<{
57
+ left: import("@sinclair/typebox").TNumber;
58
+ top: import("@sinclair/typebox").TNumber;
59
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
60
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
61
+ }>;
62
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
63
+ x: import("@sinclair/typebox").TNumber;
64
+ y: import("@sinclair/typebox").TNumber;
65
+ }>>;
66
+ action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
67
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
68
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
69
+ }>, import("@sinclair/typebox").TObject<{
70
+ id: import("@sinclair/typebox").TString;
71
+ }>]>]>>>;
72
+ }>>;
73
+ export declare type ScreensList = Static<typeof ScreensListSchema>;
74
+ export declare const ScreensConfigSchema: import("@sinclair/typebox").TObject<{
75
+ screens: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
76
+ background: import("@sinclair/typebox").TString;
77
+ buttons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
78
+ enabled: import("@sinclair/typebox").TBoolean;
79
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
80
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
81
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
82
+ position: import("@sinclair/typebox").TObject<{
83
+ left: import("@sinclair/typebox").TNumber;
84
+ top: import("@sinclair/typebox").TNumber;
85
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
86
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
87
+ }>;
88
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
89
+ x: import("@sinclair/typebox").TNumber;
90
+ y: import("@sinclair/typebox").TNumber;
91
+ }>>;
92
+ action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
93
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
94
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
95
+ }>, import("@sinclair/typebox").TObject<{
96
+ id: import("@sinclair/typebox").TString;
97
+ }>]>]>>>;
98
+ }>>;
99
+ }>;
100
+ export declare type ScreensConfig = Static<typeof ScreensConfigSchema>;
101
+ export declare const ScreensInputConfigSchema: import("@sinclair/typebox").TObject<{
102
+ screens: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
103
+ background: import("@sinclair/typebox").TString;
104
+ buttons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
105
+ enabled: import("@sinclair/typebox").TBoolean;
106
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
107
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
108
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
109
+ position: import("@sinclair/typebox").TObject<{
110
+ left: import("@sinclair/typebox").TNumber;
111
+ top: import("@sinclair/typebox").TNumber;
112
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
113
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
114
+ }>;
115
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
116
+ x: import("@sinclair/typebox").TNumber;
117
+ y: import("@sinclair/typebox").TNumber;
118
+ }>>;
119
+ action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
120
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
121
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
122
+ }>, import("@sinclair/typebox").TObject<{
123
+ id: import("@sinclair/typebox").TString;
124
+ }>]>]>>>;
125
+ }>>>;
126
+ }>;
127
+ export declare type ScreensInputConfig = Static<typeof ScreensInputConfigSchema>;
128
+ export declare const defaultScreensConfig: ScreensConfig;
@@ -0,0 +1,70 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const SkillConfigSchema: import("@sinclair/typebox").TObject<{
3
+ name: import("@sinclair/typebox").TString;
4
+ description: import("@sinclair/typebox").TString;
5
+ startingLevel: import("@sinclair/typebox").TNumber;
6
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
7
+ icon: import("@sinclair/typebox").TString;
8
+ }>;
9
+ export declare type SkillConfig = Static<typeof SkillConfigSchema>;
10
+ export declare const SkillsListConfigSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
11
+ name: import("@sinclair/typebox").TString;
12
+ description: import("@sinclair/typebox").TString;
13
+ startingLevel: import("@sinclair/typebox").TNumber;
14
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
15
+ icon: import("@sinclair/typebox").TString;
16
+ }>>;
17
+ export declare type SkillsListConfig = Static<typeof SkillsListConfigSchema>;
18
+ export declare const SkillOptionsSchema: import("@sinclair/typebox").TObject<{
19
+ xpPerLevel: import("@sinclair/typebox").TNumber;
20
+ notifyLevelUp: import("@sinclair/typebox").TBoolean;
21
+ }>;
22
+ export declare type SkillOptions = Static<typeof SkillOptionsSchema>;
23
+ export declare const SkillChecksConfigSchema: import("@sinclair/typebox").TObject<{
24
+ rollRange: import("@sinclair/typebox").TNumber;
25
+ skillMultiplier: import("@sinclair/typebox").TNumber;
26
+ failureChance: import("@sinclair/typebox").TNumber;
27
+ difficultyText: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>>;
28
+ }>;
29
+ export declare type SkillChecksConfig = Static<typeof SkillChecksConfigSchema>;
30
+ export declare const SkillsConfigSchema: import("@sinclair/typebox").TObject<{
31
+ skills: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
32
+ name: import("@sinclair/typebox").TString;
33
+ description: import("@sinclair/typebox").TString;
34
+ startingLevel: import("@sinclair/typebox").TNumber;
35
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
36
+ icon: import("@sinclair/typebox").TString;
37
+ }>>;
38
+ skillChecks: import("@sinclair/typebox").TObject<{
39
+ rollRange: import("@sinclair/typebox").TNumber;
40
+ skillMultiplier: import("@sinclair/typebox").TNumber;
41
+ failureChance: import("@sinclair/typebox").TNumber;
42
+ difficultyText: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>>;
43
+ }>;
44
+ skillOptions: import("@sinclair/typebox").TObject<{
45
+ xpPerLevel: import("@sinclair/typebox").TNumber;
46
+ notifyLevelUp: import("@sinclair/typebox").TBoolean;
47
+ }>;
48
+ }>;
49
+ export declare type SkillsConfig = Static<typeof SkillsConfigSchema>;
50
+ export declare const SkillsInputConfigSchema: import("@sinclair/typebox").TObject<{
51
+ skills: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
52
+ name: import("@sinclair/typebox").TString;
53
+ description: import("@sinclair/typebox").TString;
54
+ startingLevel: import("@sinclair/typebox").TNumber;
55
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
56
+ icon: import("@sinclair/typebox").TString;
57
+ }>>>;
58
+ skillChecks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
59
+ rollRange: import("@sinclair/typebox").TNumber;
60
+ skillMultiplier: import("@sinclair/typebox").TNumber;
61
+ failureChance: import("@sinclair/typebox").TNumber;
62
+ difficultyText: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>>;
63
+ }>>;
64
+ skillOptions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
65
+ xpPerLevel: import("@sinclair/typebox").TNumber;
66
+ notifyLevelUp: import("@sinclair/typebox").TBoolean;
67
+ }>>;
68
+ }>;
69
+ export declare type SkillsInputConfig = Static<typeof SkillsInputConfigSchema>;
70
+ export declare const defaultSkillsConfig: SkillsConfig;
package/dist/config.d.ts CHANGED
@@ -1,244 +1,154 @@
1
- import { AppOptions } from './types/app-types';
2
- import { TransitionSettings } from './utils/transition';
3
- export declare function loadConfig(options: AppOptions): Promise<void>;
4
- export declare function getConfig(): Config;
5
- export declare function getSkillConfig(id: string): SkillData;
6
- export declare function getImageUrl(imageKeyOrUrl: string): string;
7
- export declare function getAssetUrl(assetPath: string): string;
8
- export declare function getDataUrl(dataPath: string): string;
9
- export declare function getButtonConfig(button: string): ButtonConfig;
10
- export declare function getItemConfig(id: string): ItemData;
11
- export declare function getQuestConfig(questId: string): QuestData;
12
- export declare function getObjectiveConfig(quest: string, objectiveId: string): ObjectiveData;
13
- export declare function getDialogPanelWidth(): number;
14
- export interface AppOptionsDeprecated {
15
- logging: boolean;
16
- debug: boolean;
17
- }
18
- export interface SplitConfig {
19
- screens: Config['screens'];
20
- buttons: Config['buttons'];
21
- skills: {
22
- skills: Config['skills'];
23
- options: Config['skillOptions'];
24
- skillChecks: Config['skillChecks'];
25
- };
26
- scripts: Config['scripts'];
27
- audio: {
28
- files: Config['audio'];
29
- options: Config['audioOptions'];
30
- };
31
- items: Config['items'];
32
- quests: Config['quests'];
33
- }
34
- export interface Config {
35
- baseAssetsPath?: string;
36
- baseDataPath?: string;
37
- gameTitle: string;
38
- images: {
39
- [key: string]: string;
40
- };
41
- layout: {
42
- dialogPanel?: {
43
- overlayMode?: boolean;
44
- rightOffset?: number;
45
- bottomOffset?: number;
46
- width?: number;
47
- height?: number;
48
- };
49
- backgrounds: {
50
- width: number;
51
- height: number;
52
- };
53
- dialogBottomPadding: number;
54
- minTextWidth?: number;
55
- mobileDialogHeightPercentage: number;
56
- verticalLayoutThreshold: number;
57
- portraits: {
58
- width: number;
59
- height: number;
60
- offset?: {
61
- landscape?: {
62
- right: number;
63
- bottom: number;
64
- };
65
- portrait?: {
66
- right: number;
67
- bottom: number;
68
- };
69
- };
70
- };
71
- };
72
- gameFlow: {
73
- labelToJumpOnScriptEnd?: string;
74
- };
75
- dialoguePanel: {
76
- animateText?: boolean;
77
- textSpeed?: number;
78
- timeBetweenLines?: number;
79
- };
80
- splashScreens: {
81
- engineSplashScreen?: {
82
- skip?: boolean;
83
- fadeDuration?: number;
84
- timeBeforeFadeout?: number;
85
- overrideText?: string;
86
- overrideLogo?: string;
87
- };
88
- gameSplashScreen?: {
89
- startButtonText?: string;
90
- };
91
- };
92
- screens: {
93
- [key: string]: ScreenConfig;
94
- };
95
- buttons: {
96
- [key: string]: ButtonConfig;
97
- };
98
- skills: {
99
- [key: string]: SkillData;
100
- };
101
- skillOptions: {
102
- xpPerLevel: number;
103
- notifyLevelUp: boolean;
104
- };
105
- skillChecks: {
106
- rollRange: number;
107
- skillMultiplier: number;
108
- failureChance: number;
109
- difficultyText: Array<[number, string]>;
110
- };
111
- scripts: string[];
112
- audio: {
113
- [key: string]: AudioConfig;
114
- };
115
- audioOptions: {
116
- volume: number;
117
- defaultMusic?: string;
118
- musicFadeInTime: number;
119
- musicFadeInDelay: number;
120
- musicFadeOutTime: number;
121
- };
122
- sound?: {
123
- [key: string]: AudioConfig;
124
- };
125
- music?: {
126
- [key: string]: AudioConfig;
127
- };
128
- notifications: {
129
- timeOnScreen: number;
130
- alsoPrintInDialogue?: boolean;
131
- };
132
- hudStats: {
133
- [key: string]: HudStatConfig;
134
- };
135
- items: {
136
- categories: ItemCategory[];
137
- items: {
138
- [key: string]: ItemData;
139
- };
140
- };
141
- interactionTags: {
142
- [key: string]: {
143
- onlyInteractOutsideOfScripts: boolean;
144
- };
145
- };
146
- quests: {
147
- [key: string]: QuestData;
148
- };
149
- transitions: {
150
- [key: string]: TransitionSettings;
151
- };
152
- audioTriggers: {
153
- [key: string]: string;
154
- };
155
- menuButtons: {
156
- [key: string]: MenuButtonData;
157
- };
158
- debugging: {
159
- showScriptFinishedMessage?: boolean;
160
- };
161
- saves: {
162
- mode: 'game-slots' | 'manual';
163
- slots: number;
164
- };
165
- }
166
- export interface ScreenConfig {
167
- background: string;
168
- buttons: Array<string | InlineButtonConfig>;
169
- }
170
- export interface MenuButtonData {
171
- text: string;
172
- }
173
- export interface QuestData {
174
- title: string;
175
- description: string;
176
- objectives: {
177
- [key: string]: ObjectiveData;
178
- };
179
- }
180
- export interface ObjectiveData {
181
- description: string;
182
- hidden?: boolean;
183
- }
184
- export interface ItemData {
185
- name: string;
186
- description: string;
187
- icon: string;
188
- onUse?: {
189
- action: 'jump' | 'run';
190
- label: string;
191
- };
192
- tag?: string;
193
- category?: string;
194
- }
195
- export interface ItemCategory {
196
- id: string;
197
- title: string;
198
- }
199
- export interface HudStatConfig {
200
- name: string;
201
- icon: string;
202
- startingValue: number;
203
- minValue?: number;
204
- maxValue?: number;
205
- }
206
- export interface AudioConfig {
207
- src: string;
208
- path?: string;
209
- volume?: number;
210
- rate?: number;
211
- html5?: boolean;
212
- }
213
- export interface MusicConfig extends AudioConfig {
214
- loop?: boolean;
215
- }
216
- export interface ButtonConfig {
217
- enabled: boolean;
218
- background?: string;
219
- text?: string;
220
- cssClass?: string;
221
- position: {
222
- left: number;
223
- top: number;
224
- width?: number;
225
- height?: number;
226
- };
227
- anchor?: {
228
- x: number;
229
- y: number;
230
- };
231
- action: string;
232
- actionType?: 'jump' | 'run';
233
- tag?: string;
234
- }
235
- export interface InlineButtonConfig extends ButtonConfig {
236
- id: string;
237
- }
238
- export interface SkillData {
239
- name: string;
240
- description: string;
241
- startingLevel: number;
242
- hidden?: boolean;
243
- icon: string;
244
- }
1
+ import { AppOptions } from './types/app-types';
2
+ import { Config } from './config/config-output';
3
+ import { ConfigInput } from './config/config-input';
4
+ export declare function setupConfig(configInput: ConfigInput): Promise<Config>;
5
+ export declare function loadConfig(options: AppOptions): Promise<Config>;
6
+ export declare function getConfig(): Config;
7
+ export declare function audioConfig(): import("./config/audio-config").AudioConfig;
8
+ export declare function skillsConfig(): {
9
+ skills: Record<string, {
10
+ hidden?: boolean | undefined;
11
+ description: string;
12
+ name: string;
13
+ startingLevel: number;
14
+ icon: string;
15
+ }>;
16
+ skillChecks: {
17
+ rollRange: number;
18
+ skillMultiplier: number;
19
+ failureChance: number;
20
+ difficultyText: [number, string][];
21
+ };
22
+ skillOptions: {
23
+ xpPerLevel: number;
24
+ notifyLevelUp: boolean;
25
+ };
26
+ };
27
+ export declare function itemsConfig(): {
28
+ items: Record<string, {
29
+ onUse?: {
30
+ label: string;
31
+ action: string;
32
+ } | undefined;
33
+ tag?: string | undefined;
34
+ category?: string | undefined;
35
+ description: string;
36
+ name: string;
37
+ icon: string;
38
+ }>;
39
+ categories: {
40
+ title: string;
41
+ id: string;
42
+ }[];
43
+ };
44
+ export declare function questsConfig(): {
45
+ quests: Record<string, {
46
+ title: string;
47
+ description: string;
48
+ objectives: Record<string, {
49
+ hidden?: boolean | undefined;
50
+ description: string;
51
+ }>;
52
+ }>;
53
+ };
54
+ export declare function screensConfig(): {
55
+ screens: Record<string, {
56
+ buttons?: (string | ({
57
+ anchor?: {
58
+ x: number;
59
+ y: number;
60
+ } | undefined;
61
+ text?: string | undefined;
62
+ action?: string | undefined;
63
+ tag?: string | undefined;
64
+ cssClass?: string | undefined;
65
+ background?: string | undefined;
66
+ actionType?: string | undefined;
67
+ enabled: boolean;
68
+ position: {
69
+ width?: number | undefined;
70
+ height?: number | undefined;
71
+ left: number;
72
+ top: number;
73
+ };
74
+ } & {
75
+ id: string;
76
+ }))[] | undefined;
77
+ background: string;
78
+ }>;
79
+ };
80
+ export declare function buttonsConfig(): {
81
+ buttons: Record<string, {
82
+ anchor?: {
83
+ x: number;
84
+ y: number;
85
+ } | undefined;
86
+ text?: string | undefined;
87
+ action?: string | undefined;
88
+ tag?: string | undefined;
89
+ cssClass?: string | undefined;
90
+ background?: string | undefined;
91
+ actionType?: string | undefined;
92
+ enabled: boolean;
93
+ position: {
94
+ width?: number | undefined;
95
+ height?: number | undefined;
96
+ left: number;
97
+ top: number;
98
+ };
99
+ }>;
100
+ };
101
+ export declare function getSkillConfig(id: string): {
102
+ hidden?: boolean | undefined;
103
+ description: string;
104
+ name: string;
105
+ startingLevel: number;
106
+ icon: string;
107
+ };
108
+ export declare function getImageUrl(imageKeyOrUrl: string): string;
109
+ export declare function getAssetUrl(assetPath: string): string;
110
+ export declare function getSplitConfigUrl(basePath: string, url: string): string;
111
+ export declare function getDataUrl(dataPath: string): string;
112
+ export declare function getButtonConfig(button: string): {
113
+ anchor?: {
114
+ x: number;
115
+ y: number;
116
+ } | undefined;
117
+ text?: string | undefined;
118
+ action?: string | undefined;
119
+ tag?: string | undefined;
120
+ cssClass?: string | undefined;
121
+ background?: string | undefined;
122
+ actionType?: string | undefined;
123
+ enabled: boolean;
124
+ position: {
125
+ width?: number | undefined;
126
+ height?: number | undefined;
127
+ left: number;
128
+ top: number;
129
+ };
130
+ };
131
+ export declare function getItemConfig(id: string): {
132
+ onUse?: {
133
+ label: string;
134
+ action: string;
135
+ } | undefined;
136
+ tag?: string | undefined;
137
+ category?: string | undefined;
138
+ description: string;
139
+ name: string;
140
+ icon: string;
141
+ };
142
+ export declare function getQuestConfig(questId: string): {
143
+ title: string;
144
+ description: string;
145
+ objectives: Record<string, {
146
+ hidden?: boolean | undefined;
147
+ description: string;
148
+ }>;
149
+ };
150
+ export declare function getObjectiveConfig(quest: string, objectiveId: string): {
151
+ hidden?: boolean | undefined;
152
+ description: string;
153
+ };
154
+ export declare function getDialogPanelWidth(): number;
@@ -1,10 +1,12 @@
1
- export declare const SAVE_FILE = "gameSave";
2
- export declare const PRE_SIGNAL = "###_--_~=:;";
3
- export declare const JUMP_SIGNAL = "###_--_~=:;_JUMP";
4
- export declare const RETURN_SIGNAL = "###_--_~=:;_RETURN";
5
- export declare const OK_SIGNAL = "###_--_~=:;_OK";
6
- export declare const STOP_SIGNAL = "###_--_~=:;_STOP";
7
- export declare type ReturnSignal = typeof JUMP_SIGNAL | typeof RETURN_SIGNAL | typeof OK_SIGNAL | typeof STOP_SIGNAL;
8
- export declare function isReturnSignal(s: string): s is ReturnSignal;
9
- export declare const VERSION: string;
10
- export declare const BUILD_DATE: Date;
1
+ export declare const SAVE_FILE = "gameSave";
2
+ export declare const PRE_SIGNAL = "###_--_~=:;";
3
+ export declare const JUMP_SIGNAL = "###_--_~=:;_JUMP";
4
+ export declare const RETURN_SIGNAL = "###_--_~=:;_RETURN";
5
+ export declare const OK_SIGNAL = "###_--_~=:;_OK";
6
+ export declare const STOP_SIGNAL = "###_--_~=:;_STOP";
7
+ export declare type ReturnSignal = typeof JUMP_SIGNAL | typeof RETURN_SIGNAL | typeof OK_SIGNAL | typeof STOP_SIGNAL;
8
+ export declare function isReturnSignal(s: string): s is ReturnSignal;
9
+ export declare const VERSION: string;
10
+ export declare const BUILD_DATE: Date;
11
+ export declare const DEFAULT_DIALOG_WIDTH = 400;
12
+ export declare const DEFAULT_TEXT_SPEED = 20;
@@ -1 +1 @@
1
- export {};
1
+ export {};