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,195 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const ConfigInputSchema: import("@sinclair/typebox").TObject<{
3
+ baseAssetsPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
4
+ baseDataPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
5
+ gameTitle: import("@sinclair/typebox").TString;
6
+ images: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
7
+ layout: import("@sinclair/typebox").TObject<{
8
+ backgrounds: import("@sinclair/typebox").TObject<{
9
+ width: import("@sinclair/typebox").TNumber;
10
+ height: import("@sinclair/typebox").TNumber;
11
+ }>;
12
+ dialogBottomPadding: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>;
13
+ minTextWidth: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
14
+ verticalLayoutThreshold: import("@sinclair/typebox").TNumber;
15
+ portraits: import("@sinclair/typebox").TObject<{
16
+ width: import("@sinclair/typebox").TNumber;
17
+ height: import("@sinclair/typebox").TNumber;
18
+ offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
19
+ landscape: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
20
+ right: import("@sinclair/typebox").TNumber;
21
+ bottom: import("@sinclair/typebox").TNumber;
22
+ }>>;
23
+ portrait: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
24
+ right: import("@sinclair/typebox").TNumber;
25
+ bottom: import("@sinclair/typebox").TNumber;
26
+ }>>;
27
+ }>>;
28
+ }>;
29
+ }>;
30
+ gameFlow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
31
+ labelToJumpOnScriptEnd: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
32
+ }>>;
33
+ dialogPanel: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
34
+ animateText: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
35
+ textSpeed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
36
+ timeBetweenLines: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
37
+ overlayMode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
38
+ rightOffset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
39
+ bottomOffset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
40
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
41
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
42
+ }>>>;
43
+ splashScreens: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
44
+ engineSplashScreen: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
45
+ skip: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
46
+ fadeDuration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
47
+ timeBeforeFadeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
48
+ overrideText: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
49
+ overrideLogo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
50
+ }>>;
51
+ gameSplashScreen: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
52
+ startButtonText: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
53
+ }>>;
54
+ }>>;
55
+ screens: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
56
+ screens: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
57
+ background: import("@sinclair/typebox").TString;
58
+ 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<{
59
+ enabled: import("@sinclair/typebox").TBoolean;
60
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
61
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
62
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
63
+ position: import("@sinclair/typebox").TObject<{
64
+ left: import("@sinclair/typebox").TNumber;
65
+ top: import("@sinclair/typebox").TNumber;
66
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
67
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
68
+ }>;
69
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
70
+ x: import("@sinclair/typebox").TNumber;
71
+ y: import("@sinclair/typebox").TNumber;
72
+ }>>;
73
+ action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
74
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
75
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
76
+ }>, import("@sinclair/typebox").TObject<{
77
+ id: import("@sinclair/typebox").TString;
78
+ }>]>]>>>;
79
+ }>>>;
80
+ }>]>;
81
+ buttons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
82
+ buttons: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
83
+ enabled: import("@sinclair/typebox").TBoolean;
84
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
85
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
86
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
87
+ position: import("@sinclair/typebox").TObject<{
88
+ left: import("@sinclair/typebox").TNumber;
89
+ top: import("@sinclair/typebox").TNumber;
90
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
91
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
92
+ }>;
93
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
94
+ x: import("@sinclair/typebox").TNumber;
95
+ y: import("@sinclair/typebox").TNumber;
96
+ }>>;
97
+ action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
98
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
99
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
100
+ }>>;
101
+ }>]>>;
102
+ skills: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
103
+ skills: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
104
+ name: import("@sinclair/typebox").TString;
105
+ description: import("@sinclair/typebox").TString;
106
+ startingLevel: import("@sinclair/typebox").TNumber;
107
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
108
+ icon: import("@sinclair/typebox").TString;
109
+ }>>>;
110
+ skillChecks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
111
+ rollRange: import("@sinclair/typebox").TNumber;
112
+ skillMultiplier: import("@sinclair/typebox").TNumber;
113
+ failureChance: import("@sinclair/typebox").TNumber;
114
+ difficultyText: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>>;
115
+ }>>;
116
+ skillOptions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
117
+ xpPerLevel: import("@sinclair/typebox").TNumber;
118
+ notifyLevelUp: import("@sinclair/typebox").TBoolean;
119
+ }>>;
120
+ }>]>>;
121
+ scripts: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
122
+ audio: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
123
+ files: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
124
+ src: import("@sinclair/typebox").TString;
125
+ path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
126
+ volume: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
127
+ rate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
128
+ html5: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
129
+ }>>;
130
+ audioTriggers: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>;
131
+ options: import("@sinclair/typebox").TObject<{
132
+ volume: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
133
+ defaultMusic: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
134
+ musicFadeInTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
135
+ musicFadeOutTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
136
+ musicFadeInDelay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
137
+ }>;
138
+ }>]>;
139
+ notifications: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
140
+ timeOnScreen: import("@sinclair/typebox").TNumber;
141
+ alsoPrintInDialogue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
142
+ }>>;
143
+ hudStats: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
144
+ name: import("@sinclair/typebox").TString;
145
+ icon: import("@sinclair/typebox").TString;
146
+ startingValue: import("@sinclair/typebox").TNumber;
147
+ maxValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
148
+ minValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
149
+ }>>;
150
+ items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
151
+ categories: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
152
+ id: import("@sinclair/typebox").TString;
153
+ title: import("@sinclair/typebox").TString;
154
+ }>>>;
155
+ items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
156
+ name: import("@sinclair/typebox").TString;
157
+ description: import("@sinclair/typebox").TString;
158
+ icon: import("@sinclair/typebox").TString;
159
+ onUse: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
160
+ action: import("@sinclair/typebox").TString;
161
+ label: import("@sinclair/typebox").TString;
162
+ }>>;
163
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
164
+ category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
165
+ }>>>;
166
+ }>]>>;
167
+ interactionTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
168
+ onlyInteractOutsideOfScripts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
169
+ }>>>;
170
+ quests: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
171
+ quests: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
172
+ title: import("@sinclair/typebox").TString;
173
+ description: import("@sinclair/typebox").TString;
174
+ objectives: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
175
+ description: import("@sinclair/typebox").TString;
176
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
177
+ }>>;
178
+ }>>;
179
+ }>]>>;
180
+ transitions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
181
+ delay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
182
+ duration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
183
+ }>>>;
184
+ menuButtons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
185
+ text: import("@sinclair/typebox").TString;
186
+ }>>>;
187
+ debugging: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
188
+ showScriptFinishedMessage: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
189
+ }>>;
190
+ saves: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
191
+ mode: import("@sinclair/typebox").TString;
192
+ slots: import("@sinclair/typebox").TNumber;
193
+ }>>;
194
+ }>;
195
+ export declare type ConfigInput = Static<typeof ConfigInputSchema>;
@@ -0,0 +1,185 @@
1
+ import { AudioConfig } from '../config/audio-config';
2
+ import { DebuggingConfig, DialogPanelConfig, InteractionTagsConfig, MenuButtonsConfig, NotificationsConfig, SavesConfig, SplashScreenConfig, TransitionsConfig, HudStatsConfig } from '../config/common-config';
3
+ import { ItemsConfig } from '../config/items-config';
4
+ import { QuestsConfig } from '../config/quests-config';
5
+ import { ScreensConfig } from '../config/screens-config';
6
+ import { SkillsConfig } from '../config/skills-config';
7
+ import { ButtonsConfig } from './buttons-config';
8
+ import { LayoutConfig } from './layout-config';
9
+ export interface Config {
10
+ baseAssetsPath: string;
11
+ baseDataPath: string;
12
+ gameTitle: string;
13
+ images: {
14
+ [key: string]: string;
15
+ };
16
+ layout: LayoutConfig;
17
+ gameFlow: {
18
+ labelToJumpOnScriptEnd?: string;
19
+ };
20
+ dialogPanel: DialogPanelConfig;
21
+ splashScreens: SplashScreenConfig;
22
+ screens: ScreensConfig;
23
+ buttons: ButtonsConfig;
24
+ skills: SkillsConfig;
25
+ scripts: string[];
26
+ audio: AudioConfig;
27
+ notifications: NotificationsConfig;
28
+ hudStats: HudStatsConfig;
29
+ items: ItemsConfig;
30
+ interactionTags: InteractionTagsConfig;
31
+ quests: QuestsConfig;
32
+ transitions: TransitionsConfig;
33
+ menuButtons: MenuButtonsConfig;
34
+ debugging: DebuggingConfig;
35
+ saves: SavesConfig;
36
+ }
37
+ export declare const defaultConfig: {
38
+ baseAssetsPath: string;
39
+ baseDataPath: string;
40
+ gameTitle: string;
41
+ images: {};
42
+ layout: {
43
+ minTextWidth?: number | undefined;
44
+ backgrounds: {
45
+ width: number;
46
+ height: number;
47
+ };
48
+ dialogBottomPadding: string | number;
49
+ verticalLayoutThreshold: number;
50
+ portraits: {
51
+ offset?: {
52
+ landscape?: {
53
+ right: number;
54
+ bottom: number;
55
+ } | undefined;
56
+ portrait?: {
57
+ right: number;
58
+ bottom: number;
59
+ } | undefined;
60
+ } | undefined;
61
+ width: number;
62
+ height: number;
63
+ };
64
+ };
65
+ gameFlow: {};
66
+ dialogPanel: {
67
+ overlayMode: boolean;
68
+ rightOffset: number;
69
+ bottomOffset: number;
70
+ width: number;
71
+ height: number;
72
+ textSpeed: number;
73
+ animateText: boolean;
74
+ timeBetweenLines: number;
75
+ };
76
+ splashScreens: {};
77
+ screens: {
78
+ screens: Record<string, {
79
+ buttons?: (string | ({
80
+ anchor?: {
81
+ x: number;
82
+ y: number;
83
+ } | undefined;
84
+ text?: string | undefined;
85
+ action?: string | undefined;
86
+ tag?: string | undefined;
87
+ cssClass?: string | undefined;
88
+ background?: string | undefined;
89
+ actionType?: string | undefined;
90
+ enabled: boolean;
91
+ position: {
92
+ width?: number | undefined;
93
+ height?: number | undefined;
94
+ left: number;
95
+ top: number;
96
+ };
97
+ } & {
98
+ id: string;
99
+ }))[] | undefined;
100
+ background: string;
101
+ }>;
102
+ };
103
+ buttons: {
104
+ buttons: Record<string, {
105
+ anchor?: {
106
+ x: number;
107
+ y: number;
108
+ } | undefined;
109
+ text?: string | undefined;
110
+ action?: string | undefined;
111
+ tag?: string | undefined;
112
+ cssClass?: string | undefined;
113
+ background?: string | undefined;
114
+ actionType?: string | undefined;
115
+ enabled: boolean;
116
+ position: {
117
+ width?: number | undefined;
118
+ height?: number | undefined;
119
+ left: number;
120
+ top: number;
121
+ };
122
+ }>;
123
+ };
124
+ skills: {
125
+ skills: Record<string, {
126
+ hidden?: boolean | undefined;
127
+ description: string;
128
+ name: string;
129
+ startingLevel: number;
130
+ icon: string;
131
+ }>;
132
+ skillChecks: {
133
+ rollRange: number;
134
+ skillMultiplier: number;
135
+ failureChance: number;
136
+ difficultyText: [number, string][];
137
+ };
138
+ skillOptions: {
139
+ xpPerLevel: number;
140
+ notifyLevelUp: boolean;
141
+ };
142
+ };
143
+ scripts: never[];
144
+ audio: AudioConfig;
145
+ notifications: {
146
+ timeOnScreen: number;
147
+ alsoPrintInDialogue: boolean;
148
+ };
149
+ hudStats: {};
150
+ items: {
151
+ items: Record<string, {
152
+ onUse?: {
153
+ label: string;
154
+ action: string;
155
+ } | undefined;
156
+ tag?: string | undefined;
157
+ category?: string | undefined;
158
+ description: string;
159
+ name: string;
160
+ icon: string;
161
+ }>;
162
+ categories: {
163
+ title: string;
164
+ id: string;
165
+ }[];
166
+ };
167
+ interactionTags: {
168
+ default: {
169
+ onlyInteractOutsideOfScripts: boolean;
170
+ };
171
+ };
172
+ quests: {
173
+ quests: {};
174
+ };
175
+ transitions: {};
176
+ menuButtons: {};
177
+ debugging: {
178
+ showScriptFinishedMessage: boolean;
179
+ };
180
+ saves: {
181
+ mode: string;
182
+ slots: number;
183
+ };
184
+ };
185
+ export declare const defaultConfigTyped: Config;
@@ -0,0 +1,67 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const ItemConfigSchema: import("@sinclair/typebox").TObject<{
3
+ name: import("@sinclair/typebox").TString;
4
+ description: import("@sinclair/typebox").TString;
5
+ icon: import("@sinclair/typebox").TString;
6
+ onUse: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
7
+ action: import("@sinclair/typebox").TString;
8
+ label: import("@sinclair/typebox").TString;
9
+ }>>;
10
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
11
+ category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
12
+ }>;
13
+ export declare type ItemConfig = Static<typeof ItemConfigSchema>;
14
+ export declare const ItemCategorySchema: import("@sinclair/typebox").TObject<{
15
+ id: import("@sinclair/typebox").TString;
16
+ title: import("@sinclair/typebox").TString;
17
+ }>;
18
+ export declare type ItemCategory = Static<typeof ItemCategorySchema>;
19
+ export declare const ItemsListSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
20
+ name: import("@sinclair/typebox").TString;
21
+ description: import("@sinclair/typebox").TString;
22
+ icon: import("@sinclair/typebox").TString;
23
+ onUse: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
24
+ action: import("@sinclair/typebox").TString;
25
+ label: import("@sinclair/typebox").TString;
26
+ }>>;
27
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
28
+ category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
29
+ }>>;
30
+ export declare type ItemsList = Static<typeof ItemsListSchema>;
31
+ export declare const ItemsConfigSchema: import("@sinclair/typebox").TObject<{
32
+ categories: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
33
+ id: import("@sinclair/typebox").TString;
34
+ title: import("@sinclair/typebox").TString;
35
+ }>>;
36
+ items: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
37
+ name: import("@sinclair/typebox").TString;
38
+ description: import("@sinclair/typebox").TString;
39
+ icon: import("@sinclair/typebox").TString;
40
+ onUse: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
41
+ action: import("@sinclair/typebox").TString;
42
+ label: import("@sinclair/typebox").TString;
43
+ }>>;
44
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
45
+ category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
46
+ }>>;
47
+ }>;
48
+ export declare type ItemsConfig = Static<typeof ItemsConfigSchema>;
49
+ export declare const ItemsInputConfigSchema: import("@sinclair/typebox").TObject<{
50
+ categories: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
51
+ id: import("@sinclair/typebox").TString;
52
+ title: import("@sinclair/typebox").TString;
53
+ }>>>;
54
+ items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
55
+ name: import("@sinclair/typebox").TString;
56
+ description: import("@sinclair/typebox").TString;
57
+ icon: import("@sinclair/typebox").TString;
58
+ onUse: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
59
+ action: import("@sinclair/typebox").TString;
60
+ label: import("@sinclair/typebox").TString;
61
+ }>>;
62
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
63
+ category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
64
+ }>>>;
65
+ }>;
66
+ export declare type ItemsInputConfig = Static<typeof ItemsInputConfigSchema>;
67
+ export declare const defaultItemsConfig: ItemsConfig;
@@ -0,0 +1,26 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const LayoutConfigSchema: import("@sinclair/typebox").TObject<{
3
+ backgrounds: import("@sinclair/typebox").TObject<{
4
+ width: import("@sinclair/typebox").TNumber;
5
+ height: import("@sinclair/typebox").TNumber;
6
+ }>;
7
+ dialogBottomPadding: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>;
8
+ minTextWidth: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
9
+ verticalLayoutThreshold: import("@sinclair/typebox").TNumber;
10
+ portraits: import("@sinclair/typebox").TObject<{
11
+ width: import("@sinclair/typebox").TNumber;
12
+ height: import("@sinclair/typebox").TNumber;
13
+ offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
14
+ landscape: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
15
+ right: import("@sinclair/typebox").TNumber;
16
+ bottom: import("@sinclair/typebox").TNumber;
17
+ }>>;
18
+ portrait: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
19
+ right: import("@sinclair/typebox").TNumber;
20
+ bottom: import("@sinclair/typebox").TNumber;
21
+ }>>;
22
+ }>>;
23
+ }>;
24
+ }>;
25
+ export declare type LayoutConfig = Static<typeof LayoutConfigSchema>;
26
+ export declare const defaultLayoutConfig: LayoutConfig;
@@ -0,0 +1,36 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const ObjectiveDataSchema: import("@sinclair/typebox").TObject<{
3
+ description: import("@sinclair/typebox").TString;
4
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
5
+ }>;
6
+ export declare type ObjectiveData = Static<typeof ObjectiveDataSchema>;
7
+ export declare const QuestDataSchema: import("@sinclair/typebox").TObject<{
8
+ title: import("@sinclair/typebox").TString;
9
+ description: import("@sinclair/typebox").TString;
10
+ objectives: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
11
+ description: import("@sinclair/typebox").TString;
12
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
13
+ }>>;
14
+ }>;
15
+ export declare type QuestData = Static<typeof QuestDataSchema>;
16
+ export declare const QuestsListSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
17
+ title: import("@sinclair/typebox").TString;
18
+ description: import("@sinclair/typebox").TString;
19
+ objectives: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
20
+ description: import("@sinclair/typebox").TString;
21
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
22
+ }>>;
23
+ }>>;
24
+ export declare type QuestsList = Static<typeof QuestsListSchema>;
25
+ export declare const QuestsConfigSchema: import("@sinclair/typebox").TObject<{
26
+ quests: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
27
+ title: import("@sinclair/typebox").TString;
28
+ description: import("@sinclair/typebox").TString;
29
+ objectives: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
30
+ description: import("@sinclair/typebox").TString;
31
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
32
+ }>>;
33
+ }>>;
34
+ }>;
35
+ export declare type QuestsConfig = Static<typeof QuestsConfigSchema>;
36
+ export declare const defaultQuestsConfig: QuestsConfig;