narrat 3.3.6 → 3.3.8

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.
@@ -7,6 +7,8 @@ declare const _default: import("vue").DefineComponent<{}, {
7
7
  id: string;
8
8
  state: "hidden" | "unlocked" | "completed";
9
9
  ending?: string | undefined;
10
+ succeeded?: boolean | undefined;
11
+ extraData: Record<string, any>;
10
12
  objectives: {
11
13
  [key: string]: import("../stores/quest-log").ObjectiveState;
12
14
  };
@@ -5,6 +5,9 @@ export interface FloatingTooltipProps {
5
5
  x: number;
6
6
  y: number;
7
7
  screenMargin?: number;
8
+ cssClass?: string;
9
+ textCssClass?: string;
10
+ titleCssClass?: string;
8
11
  }
9
12
  declare const _default: import("vue").DefineComponent<{
10
13
  title: {
@@ -29,6 +32,15 @@ declare const _default: import("vue").DefineComponent<{
29
32
  screenMargin: {
30
33
  type: import("vue").PropType<number>;
31
34
  };
35
+ cssClass: {
36
+ type: import("vue").PropType<string>;
37
+ };
38
+ textCssClass: {
39
+ type: import("vue").PropType<string>;
40
+ };
41
+ titleCssClass: {
42
+ type: import("vue").PropType<string>;
43
+ };
32
44
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
33
45
  title: {
34
46
  type: import("vue").PropType<string>;
@@ -52,5 +64,14 @@ declare const _default: import("vue").DefineComponent<{
52
64
  screenMargin: {
53
65
  type: import("vue").PropType<number>;
54
66
  };
67
+ cssClass: {
68
+ type: import("vue").PropType<string>;
69
+ };
70
+ textCssClass: {
71
+ type: import("vue").PropType<string>;
72
+ };
73
+ titleCssClass: {
74
+ type: import("vue").PropType<string>;
75
+ };
55
76
  }>>, {}, {}>;
56
77
  export default _default;
@@ -0,0 +1,28 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const ChoicePromptConfigSchema: import("@sinclair/typebox").TObject<{
3
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
4
+ textTemplate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
5
+ }>;
6
+ export type ChoicePromptConfig = Static<typeof ChoicePromptConfigSchema>;
7
+ export declare const ChoicePromptListSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
8
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
9
+ textTemplate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
10
+ }>>;
11
+ export type ChoicePromptList = Static<typeof ChoicePromptListSchema>;
12
+ export declare const ChoicesConfigSchema: import("@sinclair/typebox").TObject<{
13
+ choiceTextTemplate: import("@sinclair/typebox").TString;
14
+ choicePrompts: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
15
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
16
+ textTemplate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
17
+ }>>;
18
+ }>;
19
+ export type ChoicesConfig = Static<typeof ChoicesConfigSchema>;
20
+ export declare const ChoicesInputConfigSchema: import("@sinclair/typebox").TObject<{
21
+ choiceTextTemplate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
22
+ choicePrompts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
23
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
24
+ textTemplate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
25
+ }>>>;
26
+ }>;
27
+ export type ChoicesInputConfig = Static<typeof ChoicesInputConfigSchema>;
28
+ export declare const defaultChoicesConfig: ChoicesConfig;
@@ -209,11 +209,21 @@ export declare const ConfigInputSchema: import("@sinclair/typebox").TObject<{
209
209
  width: import("@sinclair/typebox").TNumber;
210
210
  keywordsPrefix: import("@sinclair/typebox").TString;
211
211
  screenEdgesMinimumMargin: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
212
+ styling: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
213
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
214
+ textCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
215
+ titleCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
216
+ }>>;
212
217
  }>;
213
218
  tooltips: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
214
219
  keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
215
220
  title: import("@sinclair/typebox").TString;
216
221
  description: import("@sinclair/typebox").TString;
222
+ styling: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
223
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
224
+ textCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
225
+ titleCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
226
+ }>>;
217
227
  }>>;
218
228
  }>]>>;
219
229
  hudStats: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
@@ -249,8 +259,16 @@ export declare const ConfigInputSchema: import("@sinclair/typebox").TObject<{
249
259
  quests: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
250
260
  title: import("@sinclair/typebox").TString;
251
261
  description: import("@sinclair/typebox").TString;
262
+ succeededDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
263
+ failedDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
264
+ endings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
265
+ success: import("@sinclair/typebox").TBoolean;
266
+ description: import("@sinclair/typebox").TString;
267
+ }>>>;
252
268
  objectives: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
253
269
  description: import("@sinclair/typebox").TString;
270
+ succeededDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
271
+ failedDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
254
272
  hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
255
273
  }>>;
256
274
  category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
@@ -304,5 +322,6 @@ export declare const ConfigInputSchema: import("@sinclair/typebox").TObject<{
304
322
  }>>;
305
323
  }>>;
306
324
  }>]>;
325
+ choices: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
307
326
  }>;
308
327
  export type ConfigInput = Static<typeof ConfigInputSchema>;
@@ -11,6 +11,7 @@ import { TooltipsConfig } from './tooltips-config';
11
11
  import { AchievementsConfig } from './achievements-config';
12
12
  import { SkillChecksConfig } from './skillchecks-config';
13
13
  import { SettingsConfig } from './settings-config';
14
+ import { ChoicesConfig } from './choices-config';
14
15
  export interface Config {
15
16
  baseAssetsPath: string;
16
17
  baseDataPath: string;
@@ -44,6 +45,7 @@ export interface Config {
44
45
  debugging: DebuggingConfig;
45
46
  saves: SavesConfig;
46
47
  characters: CharactersFilesConfig;
48
+ choices: ChoicesConfig;
47
49
  }
48
50
  export declare const defaultConfig: {
49
51
  baseAssetsPath: string;
@@ -188,10 +190,20 @@ export declare const defaultConfig: {
188
190
  options: {
189
191
  delay?: number | undefined;
190
192
  screenEdgesMinimumMargin?: number | undefined;
193
+ styling?: {
194
+ cssClass?: string | undefined;
195
+ textCssClass?: string | undefined;
196
+ titleCssClass?: string | undefined;
197
+ } | undefined;
191
198
  width: number;
192
199
  keywordsPrefix: string;
193
200
  };
194
201
  tooltips: {
202
+ styling?: {
203
+ cssClass?: string | undefined;
204
+ textCssClass?: string | undefined;
205
+ titleCssClass?: string | undefined;
206
+ } | undefined;
195
207
  title: string;
196
208
  description: string;
197
209
  keywords: string[];
@@ -243,11 +255,19 @@ export declare const defaultConfig: {
243
255
  };
244
256
  quests: {
245
257
  quests: Record<string, {
258
+ succeededDescription?: string | undefined;
259
+ failedDescription?: string | undefined;
260
+ endings?: Record<string, {
261
+ description: string;
262
+ success: boolean;
263
+ }> | undefined;
246
264
  category?: string | undefined;
247
265
  title: string;
248
266
  description: string;
249
267
  objectives: Record<string, {
250
268
  hidden?: boolean | undefined;
269
+ succeededDescription?: string | undefined;
270
+ failedDescription?: string | undefined;
251
271
  description: string;
252
272
  }>;
253
273
  }>;
@@ -293,5 +313,12 @@ export declare const defaultConfig: {
293
313
  name: string;
294
314
  }>;
295
315
  };
316
+ choices: {
317
+ choiceTextTemplate: string;
318
+ choicePrompts: Record<string, {
319
+ cssClass?: string | undefined;
320
+ textTemplate?: string | undefined;
321
+ }>;
322
+ };
296
323
  };
297
324
  export declare const defaultConfigTyped: Config;
@@ -1,14 +1,24 @@
1
1
  import { Static } from '@sinclair/typebox';
2
2
  export declare const ObjectiveDataSchema: import("@sinclair/typebox").TObject<{
3
3
  description: import("@sinclair/typebox").TString;
4
+ succeededDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
5
+ failedDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
4
6
  hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
5
7
  }>;
6
8
  export type ObjectiveData = Static<typeof ObjectiveDataSchema>;
7
9
  export declare const QuestDataSchema: import("@sinclair/typebox").TObject<{
8
10
  title: import("@sinclair/typebox").TString;
9
11
  description: import("@sinclair/typebox").TString;
12
+ succeededDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
13
+ failedDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
14
+ endings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
15
+ success: import("@sinclair/typebox").TBoolean;
16
+ description: import("@sinclair/typebox").TString;
17
+ }>>>;
10
18
  objectives: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
11
19
  description: import("@sinclair/typebox").TString;
20
+ succeededDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
21
+ failedDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
12
22
  hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
13
23
  }>>;
14
24
  category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
@@ -22,8 +32,16 @@ export type QuestCategory = Static<typeof QuestCategorySchema>;
22
32
  export declare const QuestsListSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
23
33
  title: import("@sinclair/typebox").TString;
24
34
  description: import("@sinclair/typebox").TString;
35
+ succeededDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
36
+ failedDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
37
+ endings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
38
+ success: import("@sinclair/typebox").TBoolean;
39
+ description: import("@sinclair/typebox").TString;
40
+ }>>>;
25
41
  objectives: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
26
42
  description: import("@sinclair/typebox").TString;
43
+ succeededDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
44
+ failedDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
27
45
  hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
28
46
  }>>;
29
47
  category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
@@ -33,8 +51,16 @@ export declare const QuestsConfigSchema: import("@sinclair/typebox").TObject<{
33
51
  quests: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
34
52
  title: import("@sinclair/typebox").TString;
35
53
  description: import("@sinclair/typebox").TString;
54
+ succeededDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
55
+ failedDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
56
+ endings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
57
+ success: import("@sinclair/typebox").TBoolean;
58
+ description: import("@sinclair/typebox").TString;
59
+ }>>>;
36
60
  objectives: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
37
61
  description: import("@sinclair/typebox").TString;
62
+ succeededDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
63
+ failedDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
38
64
  hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
39
65
  }>>;
40
66
  category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
@@ -1,15 +1,31 @@
1
1
  import { Static } from '@sinclair/typebox';
2
+ export declare const TooltipStylingSchema: import("@sinclair/typebox").TObject<{
3
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
4
+ textCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
5
+ titleCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
6
+ }>;
7
+ export type TooltipStyling = Static<typeof TooltipStylingSchema>;
2
8
  export declare const TooltipsConfigSchema: import("@sinclair/typebox").TObject<{
3
9
  options: import("@sinclair/typebox").TObject<{
4
10
  delay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
5
11
  width: import("@sinclair/typebox").TNumber;
6
12
  keywordsPrefix: import("@sinclair/typebox").TString;
7
13
  screenEdgesMinimumMargin: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
14
+ styling: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
15
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
16
+ textCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
17
+ titleCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
18
+ }>>;
8
19
  }>;
9
20
  tooltips: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
10
21
  keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
11
22
  title: import("@sinclair/typebox").TString;
12
23
  description: import("@sinclair/typebox").TString;
24
+ styling: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
25
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
26
+ textCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
27
+ titleCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
28
+ }>>;
13
29
  }>>;
14
30
  }>;
15
31
  export type TooltipsConfig = Static<typeof TooltipsConfigSchema>;
package/dist/config.d.ts CHANGED
@@ -79,11 +79,19 @@ export declare function itemsConfig(): {
79
79
  };
80
80
  export declare function questsConfig(): {
81
81
  quests: Record<string, {
82
+ succeededDescription?: string | undefined;
83
+ failedDescription?: string | undefined;
84
+ endings?: Record<string, {
85
+ description: string;
86
+ success: boolean;
87
+ }> | undefined;
82
88
  category?: string | undefined;
83
89
  title: string;
84
90
  description: string;
85
91
  objectives: Record<string, {
86
92
  hidden?: boolean | undefined;
93
+ succeededDescription?: string | undefined;
94
+ failedDescription?: string | undefined;
87
95
  description: string;
88
96
  }>;
89
97
  }>;
@@ -150,10 +158,20 @@ export declare function tooltipsConfig(): {
150
158
  options: {
151
159
  delay?: number | undefined;
152
160
  screenEdgesMinimumMargin?: number | undefined;
161
+ styling?: {
162
+ cssClass?: string | undefined;
163
+ textCssClass?: string | undefined;
164
+ titleCssClass?: string | undefined;
165
+ } | undefined;
153
166
  width: number;
154
167
  keywordsPrefix: string;
155
168
  };
156
169
  tooltips: {
170
+ styling?: {
171
+ cssClass?: string | undefined;
172
+ textCssClass?: string | undefined;
173
+ titleCssClass?: string | undefined;
174
+ } | undefined;
157
175
  title: string;
158
176
  description: string;
159
177
  keywords: string[];
@@ -187,8 +205,24 @@ export declare function charactersConfig(): {
187
205
  name: string;
188
206
  }>;
189
207
  };
208
+ export declare function choicesConfig(): {
209
+ choiceTextTemplate: string;
210
+ choicePrompts: Record<string, {
211
+ cssClass?: string | undefined;
212
+ textTemplate?: string | undefined;
213
+ }>;
214
+ };
215
+ export declare function getChoicePromptConfig(flag: string): {
216
+ cssClass?: string | undefined;
217
+ textTemplate?: string | undefined;
218
+ };
190
219
  export declare function getScreenConfig(screen: string): ScreenConfig;
191
220
  export declare function getTooltipConfig(keyword: string): {
221
+ styling?: {
222
+ cssClass?: string | undefined;
223
+ textCssClass?: string | undefined;
224
+ titleCssClass?: string | undefined;
225
+ } | undefined;
192
226
  title: string;
193
227
  description: string;
194
228
  keywords: string[];
@@ -253,16 +287,30 @@ export declare function getAchievementConfig(id: string): {
253
287
  icon: string;
254
288
  };
255
289
  export declare function getQuestConfig(questId: string): {
290
+ succeededDescription?: string | undefined;
291
+ failedDescription?: string | undefined;
292
+ endings?: Record<string, {
293
+ description: string;
294
+ success: boolean;
295
+ }> | undefined;
256
296
  category?: string | undefined;
257
297
  title: string;
258
298
  description: string;
259
299
  objectives: Record<string, {
260
300
  hidden?: boolean | undefined;
301
+ succeededDescription?: string | undefined;
302
+ failedDescription?: string | undefined;
261
303
  description: string;
262
304
  }>;
263
305
  };
306
+ export declare function getQuestEndingConfig(questId: string, ending: string): {
307
+ description: string;
308
+ success: boolean;
309
+ };
264
310
  export declare function getObjectiveConfig(quest: string, objectiveId: string): {
265
311
  hidden?: boolean | undefined;
312
+ succeededDescription?: string | undefined;
313
+ failedDescription?: string | undefined;
266
314
  description: string;
267
315
  };
268
316
  export declare function getDialogPanelWidth(): number;
@@ -1,4 +1,5 @@
1
1
  import { Vector2 } from '../utils/Vector2';
2
+ export type InputMode = 'km' | 'gamepad';
2
3
  export type NarratGamepadButton = {
3
4
  index: number;
4
5
  state: GamepadButton;
@@ -60,7 +61,7 @@ export type AnalogActionStatus = {
60
61
  previous: AnalogActionState;
61
62
  };
62
63
  export type ActionStatus = ButtonActionStatus | AnalogActionStatus;
63
- export declare class Inputs {
64
+ export declare class Inputs extends EventTarget {
64
65
  gameActions: {
65
66
  [key: string]: Action;
66
67
  };
@@ -73,7 +74,12 @@ export declare class Inputs {
73
74
  actions: {
74
75
  [key: string]: ActionStatus;
75
76
  };
77
+ lastInputMethodUsed: InputMode;
76
78
  gamepad: NarratGamepad | null;
79
+ kbEvent(): void;
80
+ gamepadEvent(): void;
81
+ mouseEvent(): void;
82
+ changeLastInput(inputMode: InputMode): void;
77
83
  getGamepad(): Gamepad | undefined;
78
84
  startListening(): void;
79
85
  updateGamepad(): void;