narrat 3.3.7 → 3.4.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 (43) hide show
  1. package/README.md +1 -1
  2. package/dist/components/achievements/achievements-ui.vue.d.ts +2 -1
  3. package/dist/components/dialog-picture.vue.d.ts +18 -2
  4. package/dist/components/quests-ui.vue.d.ts +2 -0
  5. package/dist/components/utils/floating-tooltip.vue.d.ts +35 -0
  6. package/dist/config/achievements-config.d.ts +8 -4
  7. package/dist/config/animations-config.d.ts +64 -0
  8. package/dist/config/characters-config.d.ts +3 -0
  9. package/dist/config/choices-config.d.ts +28 -0
  10. package/dist/config/common-config.d.ts +2 -0
  11. package/dist/config/config-input.d.ts +23 -0
  12. package/dist/config/config-output.d.ts +69 -19
  13. package/dist/config/quests-config.d.ts +26 -0
  14. package/dist/config/tooltips-config.d.ts +16 -0
  15. package/dist/config.d.ts +88 -20
  16. package/dist/exports/others.d.ts +1 -0
  17. package/dist/exports/utils.d.ts +1 -0
  18. package/dist/inputs/Inputs.d.ts +9 -1
  19. package/dist/main.d.ts +2 -0
  20. package/dist/narrat.es.js +19245 -18535
  21. package/dist/narrat.es.js.map +1 -1
  22. package/dist/narrat.umd.js +143 -128
  23. package/dist/narrat.umd.js.map +1 -1
  24. package/dist/stores/choices-tracking-store.d.ts +12 -0
  25. package/dist/stores/dialog-store.d.ts +2 -0
  26. package/dist/stores/inputs-store.d.ts +3 -1
  27. package/dist/stores/inventory-store.d.ts +1 -0
  28. package/dist/stores/main-store.d.ts +5094 -212
  29. package/dist/stores/quest-log.d.ts +9 -1
  30. package/dist/stores/rendering-store.d.ts +13 -0
  31. package/dist/stores/tooltip-store.d.ts +1 -0
  32. package/dist/style.css +1 -1
  33. package/dist/types/app-types.d.ts +5 -0
  34. package/dist/types/game-save.d.ts +4 -0
  35. package/dist/utils/animation.d.ts +8 -0
  36. package/dist/utils/data-helpers.d.ts +332 -2
  37. package/dist/utils/interact-utils.d.ts +15 -0
  38. package/dist/utils/save-helpers.d.ts +1 -1
  39. package/dist/utils/string-helpers.d.ts +2 -1
  40. package/dist/vm/commands/choice.d.ts +5 -0
  41. package/dist/vm/commands/quest-commands.d.ts +14 -1
  42. package/dist/vm/commands/util-commands.d.ts +13 -1
  43. package/package.json +1 -1
package/README.md CHANGED
@@ -18,4 +18,4 @@ Or try editing the default narrat game easily:
18
18
 
19
19
  With Codeflow you can test Narrat quickly without setting up an IDE
20
20
 
21
- More info on the [narrat website](https://narrat.dev). There is an [online demo](https://narrat.dev/demo/) available to try in the browser.
21
+ More info on the [narrat website](https://narrat.dev). There is an [online demo](https://demo.narrat.dev/) available to try in the browser.
@@ -14,11 +14,12 @@ declare const _default: import("vue").DefineComponent<{}, {
14
14
  chosenAchievementConf(): null | AchievementConfig;
15
15
  achievementConf(): {
16
16
  [key: string]: {
17
+ icon?: string | undefined;
17
18
  category?: string | undefined;
19
+ lockedIcon?: string | undefined;
18
20
  secret?: boolean | undefined;
19
21
  name: string;
20
22
  description: string;
21
- icon: string;
22
23
  };
23
24
  };
24
25
  sections(): AchievementsSectionProps[];
@@ -12,12 +12,20 @@ declare const _default: import("vue").DefineComponent<{
12
12
  loop?: boolean | undefined;
13
13
  width?: number | undefined;
14
14
  height?: number | undefined;
15
- muted?: boolean | undefined;
16
15
  autoplay?: boolean | undefined;
16
+ muted?: boolean | undefined;
17
17
  video: string;
18
18
  } | undefined>;
19
19
  required: true;
20
20
  };
21
+ character: {
22
+ type: import("vue").PropType<string | undefined>;
23
+ required: true;
24
+ };
25
+ pose: {
26
+ type: import("vue").PropType<string | undefined>;
27
+ required: true;
28
+ };
21
29
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
22
30
  picture: {
23
31
  type: import("vue").PropType<{
@@ -32,11 +40,19 @@ declare const _default: import("vue").DefineComponent<{
32
40
  loop?: boolean | undefined;
33
41
  width?: number | undefined;
34
42
  height?: number | undefined;
35
- muted?: boolean | undefined;
36
43
  autoplay?: boolean | undefined;
44
+ muted?: boolean | undefined;
37
45
  video: string;
38
46
  } | undefined>;
39
47
  required: true;
40
48
  };
49
+ character: {
50
+ type: import("vue").PropType<string | undefined>;
51
+ required: true;
52
+ };
53
+ pose: {
54
+ type: import("vue").PropType<string | undefined>;
55
+ required: true;
56
+ };
41
57
  }>>, {}, {}>;
42
58
  export default _default;
@@ -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
  };
@@ -4,7 +4,12 @@ export interface FloatingTooltipProps {
4
4
  width: number;
5
5
  x: number;
6
6
  y: number;
7
+ screenWidth?: number;
8
+ screenHeight?: number;
7
9
  screenMargin?: number;
10
+ cssClass?: string;
11
+ textCssClass?: string;
12
+ titleCssClass?: string;
8
13
  }
9
14
  declare const _default: import("vue").DefineComponent<{
10
15
  title: {
@@ -26,9 +31,24 @@ declare const _default: import("vue").DefineComponent<{
26
31
  type: import("vue").PropType<number>;
27
32
  required: true;
28
33
  };
34
+ screenWidth: {
35
+ type: import("vue").PropType<number>;
36
+ };
37
+ screenHeight: {
38
+ type: import("vue").PropType<number>;
39
+ };
29
40
  screenMargin: {
30
41
  type: import("vue").PropType<number>;
31
42
  };
43
+ cssClass: {
44
+ type: import("vue").PropType<string>;
45
+ };
46
+ textCssClass: {
47
+ type: import("vue").PropType<string>;
48
+ };
49
+ titleCssClass: {
50
+ type: import("vue").PropType<string>;
51
+ };
32
52
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
33
53
  title: {
34
54
  type: import("vue").PropType<string>;
@@ -49,8 +69,23 @@ declare const _default: import("vue").DefineComponent<{
49
69
  type: import("vue").PropType<number>;
50
70
  required: true;
51
71
  };
72
+ screenWidth: {
73
+ type: import("vue").PropType<number>;
74
+ };
75
+ screenHeight: {
76
+ type: import("vue").PropType<number>;
77
+ };
52
78
  screenMargin: {
53
79
  type: import("vue").PropType<number>;
54
80
  };
81
+ cssClass: {
82
+ type: import("vue").PropType<string>;
83
+ };
84
+ textCssClass: {
85
+ type: import("vue").PropType<string>;
86
+ };
87
+ titleCssClass: {
88
+ type: import("vue").PropType<string>;
89
+ };
55
90
  }>>, {}, {}>;
56
91
  export default _default;
@@ -2,7 +2,8 @@ import { Static } from '@sinclair/typebox';
2
2
  export declare const AchievementConfigSchema: import("@sinclair/typebox").TObject<{
3
3
  name: import("@sinclair/typebox").TString;
4
4
  description: import("@sinclair/typebox").TString;
5
- icon: import("@sinclair/typebox").TString;
5
+ icon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
6
+ lockedIcon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
6
7
  secret: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
7
8
  category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
8
9
  }>;
@@ -15,7 +16,8 @@ export type AchievementCategory = Static<typeof AchievementCategorySchema>;
15
16
  export declare const AchievementsListSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
16
17
  name: import("@sinclair/typebox").TString;
17
18
  description: import("@sinclair/typebox").TString;
18
- icon: import("@sinclair/typebox").TString;
19
+ icon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
20
+ lockedIcon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
19
21
  secret: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
20
22
  category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
21
23
  }>>;
@@ -29,7 +31,8 @@ export declare const AchievementsConfigSchema: import("@sinclair/typebox").TObje
29
31
  achievements: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
30
32
  name: import("@sinclair/typebox").TString;
31
33
  description: import("@sinclair/typebox").TString;
32
- icon: import("@sinclair/typebox").TString;
34
+ icon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
35
+ lockedIcon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
33
36
  secret: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
34
37
  category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
35
38
  }>>;
@@ -49,7 +52,8 @@ export declare const AchievementsInputConfigSchema: import("@sinclair/typebox").
49
52
  achievements: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
50
53
  name: import("@sinclair/typebox").TString;
51
54
  description: import("@sinclair/typebox").TString;
52
- icon: import("@sinclair/typebox").TString;
55
+ icon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
56
+ lockedIcon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
53
57
  secret: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
54
58
  category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
55
59
  }>>>;
@@ -0,0 +1,64 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const CSSAnimationOptionsSchema: import("@sinclair/typebox").TObject<{
3
+ delay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
4
+ direction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
5
+ duration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
6
+ easing: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
7
+ endDelay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
8
+ fill: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
9
+ iterationStart: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
10
+ iterations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
11
+ keyframes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
12
+ }>;
13
+ export type CSSAnimationOptions = Static<typeof CSSAnimationOptionsSchema>;
14
+ export declare const CSSAnimationKeyframesSchema: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>;
15
+ export type CSSAnimationKeyframes = Static<typeof CSSAnimationKeyframesSchema>;
16
+ export declare const NarratAnimationInputSchema: import("@sinclair/typebox").TObject<{
17
+ keyframes: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>]>;
18
+ options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
19
+ delay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
20
+ direction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
21
+ duration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
22
+ easing: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
23
+ endDelay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
24
+ fill: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
25
+ iterationStart: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
26
+ iterations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
27
+ keyframes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
28
+ }>>;
29
+ }>;
30
+ export type NarratAnimationInput = Static<typeof NarratAnimationInputSchema>;
31
+ export declare const NarratAnimationSchema: import("@sinclair/typebox").TObject<{
32
+ keyframes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>;
33
+ options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
34
+ delay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
35
+ direction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
36
+ duration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
37
+ easing: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
38
+ endDelay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
39
+ fill: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
40
+ iterationStart: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
41
+ iterations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
42
+ keyframes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
43
+ }>>;
44
+ }>;
45
+ export type NarratAnimation = Static<typeof NarratAnimationSchema>;
46
+ export declare const AnimationsConfigSchema: import("@sinclair/typebox").TObject<{
47
+ animations: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
48
+ keyframes: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>]>;
49
+ options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
50
+ delay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
51
+ direction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
52
+ duration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
53
+ easing: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
54
+ endDelay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
55
+ fill: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
56
+ iterationStart: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
57
+ iterations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
58
+ keyframes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
59
+ }>>;
60
+ }>>;
61
+ keyframes: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>>;
62
+ }>;
63
+ export type AnimationsConfig = Static<typeof AnimationsConfigSchema>;
64
+ export declare const defaultAnimationsConfig: AnimationsConfig;
@@ -1,5 +1,6 @@
1
1
  import { Static } from '@sinclair/typebox';
2
2
  export declare const DialogStyleConfigSchema: import("@sinclair/typebox").TObject<{
3
+ portraitCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3
4
  color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
4
5
  boxCss: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>>;
5
6
  nameCss: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>>;
@@ -49,6 +50,7 @@ export declare const CharacterConfigSchema: import("@sinclair/typebox").TObject<
49
50
  }>]>>>;
50
51
  name: import("@sinclair/typebox").TString;
51
52
  style: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
53
+ portraitCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
52
54
  color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
53
55
  boxCss: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>>;
54
56
  nameCss: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>>;
@@ -77,6 +79,7 @@ export declare const CharactersFilesConfigSchema: import("@sinclair/typebox").TO
77
79
  }>]>>>;
78
80
  name: import("@sinclair/typebox").TString;
79
81
  style: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
82
+ portraitCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
80
83
  color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
81
84
  boxCss: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>>;
82
85
  nameCss: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>>;
@@ -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;
@@ -8,6 +8,8 @@ export declare const DialogPanelConfigSchema: import("@sinclair/typebox").TOptio
8
8
  bottomOffset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
9
9
  width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
10
10
  height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
11
+ hideDuringTransition: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
12
+ showAfterScriptEnd: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
11
13
  }>>;
12
14
  export type DialogPanelConfig = Static<typeof DialogPanelConfigSchema>;
13
15
  export declare const SplashScreenConfigSchema: import("@sinclair/typebox").TObject<{
@@ -74,6 +74,8 @@ export declare const ConfigInputSchema: import("@sinclair/typebox").TObject<{
74
74
  bottomOffset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
75
75
  width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
76
76
  height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
77
+ hideDuringTransition: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
78
+ showAfterScriptEnd: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
77
79
  }>>>;
78
80
  splashScreens: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
79
81
  engineSplashScreen: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
@@ -209,11 +211,21 @@ export declare const ConfigInputSchema: import("@sinclair/typebox").TObject<{
209
211
  width: import("@sinclair/typebox").TNumber;
210
212
  keywordsPrefix: import("@sinclair/typebox").TString;
211
213
  screenEdgesMinimumMargin: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
214
+ styling: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
215
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
216
+ textCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
217
+ titleCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
218
+ }>>;
212
219
  }>;
213
220
  tooltips: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
214
221
  keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
215
222
  title: import("@sinclair/typebox").TString;
216
223
  description: import("@sinclair/typebox").TString;
224
+ styling: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
225
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
226
+ textCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
227
+ titleCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
228
+ }>>;
217
229
  }>>;
218
230
  }>]>>;
219
231
  hudStats: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
@@ -249,8 +261,16 @@ export declare const ConfigInputSchema: import("@sinclair/typebox").TObject<{
249
261
  quests: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
250
262
  title: import("@sinclair/typebox").TString;
251
263
  description: import("@sinclair/typebox").TString;
264
+ succeededDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
265
+ failedDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
266
+ endings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
267
+ success: import("@sinclair/typebox").TBoolean;
268
+ description: import("@sinclair/typebox").TString;
269
+ }>>>;
252
270
  objectives: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
253
271
  description: import("@sinclair/typebox").TString;
272
+ succeededDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
273
+ failedDescription: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
254
274
  hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
255
275
  }>>;
256
276
  category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
@@ -297,6 +317,7 @@ export declare const ConfigInputSchema: import("@sinclair/typebox").TObject<{
297
317
  }>]>>>;
298
318
  name: import("@sinclair/typebox").TString;
299
319
  style: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
320
+ portraitCssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
300
321
  color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
301
322
  boxCss: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>>;
302
323
  nameCss: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>>;
@@ -304,5 +325,7 @@ export declare const ConfigInputSchema: import("@sinclair/typebox").TObject<{
304
325
  }>>;
305
326
  }>>;
306
327
  }>]>;
328
+ choices: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
329
+ animations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
307
330
  }>;
308
331
  export type ConfigInput = Static<typeof ConfigInputSchema>;
@@ -11,6 +11,8 @@ 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';
15
+ import { AnimationsConfig } from './animations-config';
14
16
  export interface Config {
15
17
  baseAssetsPath: string;
16
18
  baseDataPath: string;
@@ -44,6 +46,8 @@ export interface Config {
44
46
  debugging: DebuggingConfig;
45
47
  saves: SavesConfig;
46
48
  characters: CharactersFilesConfig;
49
+ choices: ChoicesConfig;
50
+ animations: AnimationsConfig;
47
51
  }
48
52
  export declare const defaultConfig: {
49
53
  baseAssetsPath: string;
@@ -86,6 +90,8 @@ export declare const defaultConfig: {
86
90
  textSpeed: number;
87
91
  animateText: boolean;
88
92
  timeBetweenLines: number;
93
+ showDuringTransition: boolean;
94
+ showAfterScriptEnd: boolean;
89
95
  };
90
96
  splashScreens: {};
91
97
  screens: {
@@ -96,16 +102,16 @@ export declare const defaultConfig: {
96
102
  } | undefined;
97
103
  buttons?: (string | ({
98
104
  text?: string | undefined;
99
- cssClass?: string | undefined;
100
- action?: string | undefined;
101
- tag?: string | undefined;
102
105
  background?: string | undefined;
106
+ cssClass?: string | undefined;
103
107
  anchor?: {
104
108
  x: number;
105
109
  y: number;
106
110
  } | undefined;
111
+ action?: string | undefined;
107
112
  actionType?: string | undefined;
108
113
  scriptClickable?: boolean | undefined;
114
+ tag?: string | undefined;
109
115
  enabled: boolean;
110
116
  position: {
111
117
  width?: number | undefined;
@@ -123,16 +129,16 @@ export declare const defaultConfig: {
123
129
  clickableDuringScriptsByDefault?: boolean | undefined;
124
130
  buttons: Record<string, {
125
131
  text?: string | undefined;
126
- cssClass?: string | undefined;
127
- action?: string | undefined;
128
- tag?: string | undefined;
129
132
  background?: string | undefined;
133
+ cssClass?: string | undefined;
130
134
  anchor?: {
131
135
  x: number;
132
136
  y: number;
133
137
  } | undefined;
138
+ action?: string | undefined;
134
139
  actionType?: string | undefined;
135
140
  scriptClickable?: boolean | undefined;
141
+ tag?: string | undefined;
136
142
  enabled: boolean;
137
143
  position: {
138
144
  width?: number | undefined;
@@ -188,10 +194,20 @@ export declare const defaultConfig: {
188
194
  options: {
189
195
  delay?: number | undefined;
190
196
  screenEdgesMinimumMargin?: number | undefined;
197
+ styling?: {
198
+ cssClass?: string | undefined;
199
+ textCssClass?: string | undefined;
200
+ titleCssClass?: string | undefined;
201
+ } | undefined;
191
202
  width: number;
192
203
  keywordsPrefix: string;
193
204
  };
194
205
  tooltips: {
206
+ styling?: {
207
+ cssClass?: string | undefined;
208
+ textCssClass?: string | undefined;
209
+ titleCssClass?: string | undefined;
210
+ } | undefined;
195
211
  title: string;
196
212
  description: string;
197
213
  keywords: string[];
@@ -208,33 +224,34 @@ export declare const defaultConfig: {
208
224
  title: string;
209
225
  id: string;
210
226
  }[];
211
- defaultAchievementIcon: string;
212
227
  achievements: Record<string, {
228
+ icon?: string | undefined;
213
229
  category?: string | undefined;
230
+ lockedIcon?: string | undefined;
214
231
  secret?: boolean | undefined;
215
232
  name: string;
216
233
  description: string;
217
- icon: string;
218
234
  }>;
235
+ defaultAchievementIcon: string;
219
236
  notifyNewAchievements: boolean;
220
237
  };
221
238
  items: {
239
+ categories: {
240
+ title: string;
241
+ id: string;
242
+ }[];
222
243
  items: Record<string, {
223
- category?: string | undefined;
244
+ tag?: string | undefined;
224
245
  onUse?: {
225
246
  label: string;
226
247
  action: string;
227
248
  } | undefined;
228
- tag?: string | undefined;
249
+ category?: string | undefined;
229
250
  showIfEmpty?: boolean | undefined;
230
251
  name: string;
231
252
  description: string;
232
253
  icon: string;
233
254
  }>;
234
- categories: {
235
- title: string;
236
- id: string;
237
- }[];
238
255
  };
239
256
  interactionTags: {
240
257
  default: {
@@ -242,19 +259,27 @@ export declare const defaultConfig: {
242
259
  };
243
260
  };
244
261
  quests: {
262
+ categories: {
263
+ title: string;
264
+ id: string;
265
+ }[];
245
266
  quests: Record<string, {
246
267
  category?: string | undefined;
268
+ succeededDescription?: string | undefined;
269
+ failedDescription?: string | undefined;
270
+ endings?: Record<string, {
271
+ description: string;
272
+ success: boolean;
273
+ }> | undefined;
247
274
  title: string;
248
275
  description: string;
249
276
  objectives: Record<string, {
250
277
  hidden?: boolean | undefined;
278
+ succeededDescription?: string | undefined;
279
+ failedDescription?: string | undefined;
251
280
  description: string;
252
281
  }>;
253
282
  }>;
254
- categories: {
255
- title: string;
256
- id: string;
257
- }[];
258
283
  };
259
284
  transitions: {};
260
285
  menuButtons: {};
@@ -273,6 +298,7 @@ export declare const defaultConfig: {
273
298
  };
274
299
  characters: Record<string, {
275
300
  style?: {
301
+ portraitCssClass?: string | undefined;
276
302
  color?: string | undefined;
277
303
  boxCss?: Record<string, any> | undefined;
278
304
  nameCss?: Record<string, any> | undefined;
@@ -282,8 +308,8 @@ export declare const defaultConfig: {
282
308
  loop?: boolean | undefined;
283
309
  width?: number | undefined;
284
310
  height?: number | undefined;
285
- muted?: boolean | undefined;
286
311
  autoplay?: boolean | undefined;
312
+ muted?: boolean | undefined;
287
313
  video: string;
288
314
  } | {
289
315
  width?: number | undefined;
@@ -293,5 +319,29 @@ export declare const defaultConfig: {
293
319
  name: string;
294
320
  }>;
295
321
  };
322
+ choices: {
323
+ choiceTextTemplate: string;
324
+ choicePrompts: Record<string, {
325
+ cssClass?: string | undefined;
326
+ textTemplate?: string | undefined;
327
+ }>;
328
+ };
329
+ animations: {
330
+ animations: Record<string, {
331
+ options?: {
332
+ fill?: string | undefined;
333
+ delay?: number | undefined;
334
+ duration?: number | undefined;
335
+ direction?: string | undefined;
336
+ easing?: string | undefined;
337
+ endDelay?: number | undefined;
338
+ iterationStart?: number | undefined;
339
+ iterations?: number | undefined;
340
+ keyframes?: any;
341
+ } | undefined;
342
+ keyframes: string | any[];
343
+ }>;
344
+ keyframes: Record<string, any[]>;
345
+ };
296
346
  };
297
347
  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>;