narrat 3.6.2-beta.3 → 3.7.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 (45) hide show
  1. package/dist/application/application-start.d.ts +2 -0
  2. package/dist/application/application-utils.d.ts +6 -0
  3. package/dist/application/saving.d.ts +12 -0
  4. package/dist/components/hud.vue.d.ts +12 -0
  5. package/dist/components/skills/skills-composables.d.ts +1 -1
  6. package/dist/config/common-config.d.ts +27 -0
  7. package/dist/config/config-helpers.d.ts +2 -0
  8. package/dist/config/config-input.d.ts +36 -0
  9. package/dist/config/config-output.d.ts +6 -0
  10. package/dist/config.d.ts +2 -1
  11. package/dist/data/StoreInfo.d.ts +23 -0
  12. package/dist/data/all-stores.d.ts +3691 -0
  13. package/dist/examples/default/config/index.d.ts +3 -0
  14. package/dist/examples/demo/config/index.d.ts +3 -0
  15. package/dist/examples/demo/scripts/index.d.ts +2 -0
  16. package/dist/examples/empty/config/index.d.ts +3 -0
  17. package/dist/examples/godot/config/index.d.ts +3 -0
  18. package/dist/examples/rpg/config/index.d.ts +3 -0
  19. package/dist/examples/rpg/scripts/index.d.ts +2 -0
  20. package/dist/narrat.es.js +14703 -14426
  21. package/dist/narrat.es.js.map +1 -1
  22. package/dist/narrat.umd.js +110 -110
  23. package/dist/narrat.umd.js.map +1 -1
  24. package/dist/stores/achievements-store.d.ts +5 -8
  25. package/dist/stores/config-store.d.ts +6 -8
  26. package/dist/stores/hud-stats-store.d.ts +3 -3
  27. package/dist/stores/inventory-store.d.ts +3 -6
  28. package/dist/stores/main-store.d.ts +143 -6015
  29. package/dist/stores/quest-log.d.ts +1 -1
  30. package/dist/stores/screens-store.d.ts +2 -2
  31. package/dist/stores/settings-store.d.ts +1 -1
  32. package/dist/stores/skills.d.ts +1 -1
  33. package/dist/stores/stores-management.d.ts +12 -0
  34. package/dist/stores/vm-store.d.ts +4 -5
  35. package/dist/types/app-types.d.ts +3 -1
  36. package/dist/types/game-save.d.ts +11 -3
  37. package/dist/utils/data-helpers.d.ts +24 -15
  38. package/dist/utils/save-helpers.d.ts +19 -2
  39. package/package.json +3 -3
  40. package/dist/examples/default/config/defaultGameConfig.d.ts +0 -2
  41. package/dist/examples/default/scripts/defaultGameScripts.d.ts +0 -1
  42. package/dist/examples/demo/scripts.d.ts +0 -2
  43. /package/dist/examples/{rpg → default/scripts}/scripts.d.ts +0 -0
  44. /package/dist/examples/empty/{scripts.d.ts → scripts/index.d.ts} +0 -0
  45. /package/dist/examples/godot/{scripts.d.ts → scripts/index.d.ts} +0 -0
@@ -0,0 +1,2 @@
1
+ export declare function setupEngine(): Promise<void>;
2
+ export declare function preloadAndSetupGame(): Promise<void>;
@@ -0,0 +1,6 @@
1
+ import { SaveSlot } from '../types/game-save';
2
+ export declare function resetApplication(): void;
3
+ export declare function menuReturn(): void;
4
+ export declare function startNewGame(saveSlot: string): Promise<void>;
5
+ export declare function startMachine(): void;
6
+ export declare function loadAndStartGame(save: SaveSlot, saveSlot: string): Promise<void>;
@@ -0,0 +1,12 @@
1
+ import { ChosenSlot, ExtractedSave } from '../utils/save-helpers';
2
+ export declare function autoSaveGame({ slotId, name, }: {
3
+ slotId?: string;
4
+ name?: string;
5
+ }): void;
6
+ export declare function setupLoadedData(save: ExtractedSave): void;
7
+ export declare function resetGlobalSave(): void;
8
+ export declare function startManualSave({ saveName, withPrompt, }: {
9
+ saveName?: string;
10
+ withPrompt?: boolean;
11
+ }): Promise<void>;
12
+ export declare function finishManualSave(slotData: ChosenSlot | null, yes: boolean): void;
@@ -5,6 +5,15 @@ declare const _default: import("vue").DefineComponent<{}, {}, {}, {
5
5
  [key: string]: {
6
6
  minValue?: number | undefined;
7
7
  maxValue?: number | undefined;
8
+ decimals?: number | undefined;
9
+ prefix?: string | undefined;
10
+ suffix?: string | undefined;
11
+ hideName?: boolean | undefined;
12
+ formatting?: {
13
+ currency?: string | undefined;
14
+ unit?: string | undefined;
15
+ style: "decimal" | "currency" | "percent" | "unit";
16
+ } | undefined;
8
17
  name: string;
9
18
  icon: string;
10
19
  startingValue: number;
@@ -16,5 +25,8 @@ declare const _default: import("vue").DefineComponent<{}, {}, {}, {
16
25
  hudStats: () => HudStatsState;
17
26
  }, {
18
27
  getStatImage(key: string): string;
28
+ formatStat(key: string, value: number): string;
29
+ statPrefix(key: string): string;
30
+ statSuffix(key: string): string;
19
31
  }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
20
32
  export default _default;
@@ -9,7 +9,7 @@ export declare function useSkillData(skill: string): {
9
9
  getSkillCheck(id: string): import("../../stores/skills").SkillCheckState;
10
10
  createSkillCheckState(): import("../../stores/skills").SkillCheckState;
11
11
  loadSaveData(data: import("../../stores/skills").Skills): void;
12
- setupSkills(skillsConfig: {
12
+ updateConfig(skillsConfig: {
13
13
  skills: Record<string, {
14
14
  hidden?: boolean | undefined;
15
15
  name: string;
@@ -38,6 +38,15 @@ export declare const HudStatDataSchema: import("@sinclair/typebox").TObject<{
38
38
  startingValue: import("@sinclair/typebox").TNumber;
39
39
  maxValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
40
40
  minValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
41
+ decimals: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
42
+ prefix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
43
+ suffix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
44
+ hideName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
45
+ formatting: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
46
+ style: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"decimal">, import("@sinclair/typebox").TLiteral<"currency">, import("@sinclair/typebox").TLiteral<"percent">, import("@sinclair/typebox").TLiteral<"unit">]>;
47
+ currency: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
48
+ unit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
49
+ }>>;
41
50
  }>;
42
51
  export type HudStatData = Static<typeof HudStatDataSchema>;
43
52
  export declare const HudStatsConfigSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
@@ -46,6 +55,15 @@ export declare const HudStatsConfigSchema: import("@sinclair/typebox").TRecord<i
46
55
  startingValue: import("@sinclair/typebox").TNumber;
47
56
  maxValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
48
57
  minValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
58
+ decimals: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
59
+ prefix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
60
+ suffix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
61
+ hideName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
62
+ formatting: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
63
+ style: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"decimal">, import("@sinclair/typebox").TLiteral<"currency">, import("@sinclair/typebox").TLiteral<"percent">, import("@sinclair/typebox").TLiteral<"unit">]>;
64
+ currency: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
65
+ unit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
66
+ }>>;
49
67
  }>>;
50
68
  export type HudStatsConfig = Static<typeof HudStatsConfigSchema>;
51
69
  export declare const InteractionTagsConfigSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
@@ -185,6 +203,15 @@ export declare const CommonConfigInputSchema: import("@sinclair/typebox").TObjec
185
203
  startingValue: import("@sinclair/typebox").TNumber;
186
204
  maxValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
187
205
  minValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
206
+ decimals: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
207
+ prefix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
208
+ suffix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
209
+ hideName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
210
+ formatting: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
211
+ style: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"decimal">, import("@sinclair/typebox").TLiteral<"currency">, import("@sinclair/typebox").TLiteral<"percent">, import("@sinclair/typebox").TLiteral<"unit">]>;
212
+ currency: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
213
+ unit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
214
+ }>>;
188
215
  }>>;
189
216
  interactionTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
190
217
  onlyInteractOutsideOfScripts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
@@ -0,0 +1,2 @@
1
+ import { Config, ConfigKey } from './config-output';
2
+ export declare function processConfigUpdate<Key extends ConfigKey>(config: Config, configKey: Key, newValue: any): Config[Key] | undefined;
@@ -590,6 +590,15 @@ export declare const ConfigInputSchemaWithCommon: import("@sinclair/typebox").TI
590
590
  startingValue: import("@sinclair/typebox").TNumber;
591
591
  maxValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
592
592
  minValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
593
+ decimals: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
594
+ prefix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
595
+ suffix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
596
+ hideName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
597
+ formatting: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
598
+ style: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"decimal">, import("@sinclair/typebox").TLiteral<"currency">, import("@sinclair/typebox").TLiteral<"percent">, import("@sinclair/typebox").TLiteral<"unit">]>;
599
+ currency: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
600
+ unit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
601
+ }>>;
593
602
  }>>;
594
603
  interactionTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
595
604
  onlyInteractOutsideOfScripts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
@@ -957,6 +966,15 @@ export declare const ConfigInputSchemaWithoutCommon: import("@sinclair/typebox")
957
966
  startingValue: import("@sinclair/typebox").TNumber;
958
967
  maxValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
959
968
  minValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
969
+ decimals: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
970
+ prefix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
971
+ suffix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
972
+ hideName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
973
+ formatting: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
974
+ style: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"decimal">, import("@sinclair/typebox").TLiteral<"currency">, import("@sinclair/typebox").TLiteral<"percent">, import("@sinclair/typebox").TLiteral<"unit">]>;
975
+ currency: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
976
+ unit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
977
+ }>>;
960
978
  }>>;
961
979
  interactionTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
962
980
  onlyInteractOutsideOfScripts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
@@ -1324,6 +1342,15 @@ export declare const ConfigInputSchema: import("@sinclair/typebox").TUnion<[impo
1324
1342
  startingValue: import("@sinclair/typebox").TNumber;
1325
1343
  maxValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1326
1344
  minValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1345
+ decimals: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1346
+ prefix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1347
+ suffix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1348
+ hideName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1349
+ formatting: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
1350
+ style: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"decimal">, import("@sinclair/typebox").TLiteral<"currency">, import("@sinclair/typebox").TLiteral<"percent">, import("@sinclair/typebox").TLiteral<"unit">]>;
1351
+ currency: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1352
+ unit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1353
+ }>>;
1327
1354
  }>>;
1328
1355
  interactionTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
1329
1356
  onlyInteractOutsideOfScripts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
@@ -1689,6 +1716,15 @@ export declare const ConfigInputSchema: import("@sinclair/typebox").TUnion<[impo
1689
1716
  startingValue: import("@sinclair/typebox").TNumber;
1690
1717
  maxValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1691
1718
  minValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1719
+ decimals: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1720
+ prefix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1721
+ suffix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1722
+ hideName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1723
+ formatting: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
1724
+ style: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"decimal">, import("@sinclair/typebox").TLiteral<"currency">, import("@sinclair/typebox").TLiteral<"percent">, import("@sinclair/typebox").TLiteral<"unit">]>;
1725
+ currency: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1726
+ unit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1727
+ }>>;
1692
1728
  }>>;
1693
1729
  interactionTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
1694
1730
  onlyInteractOutsideOfScripts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
@@ -29,3 +29,9 @@ export interface Config {
29
29
  }
30
30
  export declare const defaultConfig: Config;
31
31
  export declare const defaultConfigTyped: Config;
32
+ export type ConfigKey = keyof Config;
33
+ export interface ConfigModule {
34
+ id: string;
35
+ configKey: keyof Config;
36
+ code: Config[keyof Config];
37
+ }
package/dist/config.d.ts CHANGED
@@ -2,7 +2,7 @@ import { AppOptions } from './types/app-types';
2
2
  import { Config } from './config/config-output';
3
3
  import { ScreenConfig } from './config/screens-config';
4
4
  import { ButtonConfig } from './config/buttons-config';
5
- import { CommonConfig } from './config/common-config';
5
+ import { CommonConfig, HudStatData } from './config/common-config';
6
6
  import { ConfigInput, ConfigInputWithCommon, ConfigInputWithoutCommon } from './config/config-input';
7
7
  export declare function extendBaseConfig(newConfig: Config, configInput: ConfigInputWithCommon): Promise<void>;
8
8
  export declare function copyValue<T>(value: T, base?: T): T;
@@ -11,6 +11,7 @@ export declare function setupConfig(configInput: ConfigInput): Promise<Config>;
11
11
  export declare function loadConfig(options: AppOptions): Promise<Config>;
12
12
  export declare function getConfig(): Config;
13
13
  export declare function getCommonConfig(): CommonConfig;
14
+ export declare function getHudStatConfig(stat: string): HudStatData;
14
15
  export declare function audioConfig(): import("./config/audio-config").AudioConfig;
15
16
  export declare function audioFileConfig(key: string): {
16
17
  path?: string | undefined;
@@ -0,0 +1,23 @@
1
+ import { ExtractedGameSave, GameSave, GlobalGameSave } from '../types/game-save';
2
+ import { Config } from '../config/config-output';
3
+ export type StoreInfo = {
4
+ store: any;
5
+ config?: keyof Config;
6
+ save?: keyof ExtractedGameSave;
7
+ globalSave?: keyof GlobalGameSave;
8
+ };
9
+ export type SaveableStore = StoreInfo & {
10
+ save: keyof GameSave;
11
+ generateSaveData?: () => GameSave[keyof GameSave];
12
+ };
13
+ export type GlobalSaveableStore = StoreInfo & {
14
+ globalSave: keyof GlobalGameSave;
15
+ generateGlobalSaveData?: () => GlobalGameSave[keyof GlobalGameSave];
16
+ };
17
+ export type StoreWithConfig = StoreInfo & {
18
+ config: keyof Config;
19
+ updateConfig?: (config: Config[keyof Config]) => void;
20
+ };
21
+ export declare function isSaveableStore(store: StoreInfo): store is SaveableStore;
22
+ export declare function isGlobalSaveableStore(store: StoreInfo): store is GlobalSaveableStore;
23
+ export declare function isStoreWithConfig(store: StoreInfo): store is StoreWithConfig;