narrat 2.0.3 → 2.0.6

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 (101) hide show
  1. package/CHANGELOG.md +776 -0
  2. package/LICENSE +21 -21
  3. package/README.md +38 -38
  4. package/dist/.DS_Store +0 -0
  5. package/dist/app.vue.d.ts +106 -106
  6. package/dist/components/MainMenu.vue.d.ts +12 -12
  7. package/dist/components/Skills.vue.d.ts +22 -22
  8. package/dist/components/debug/debug-menu.vue.d.ts +48 -48
  9. package/dist/components/dialog-picture.vue.d.ts +9 -9
  10. package/dist/components/game-dialog.vue.d.ts +65 -65
  11. package/dist/components/hud.vue.d.ts +12 -12
  12. package/dist/components/inventory-ui.vue.d.ts +30 -30
  13. package/dist/components/loading-bar.vue.d.ts +10 -10
  14. package/dist/components/menu-buttons.vue.d.ts +26 -26
  15. package/dist/components/notification-toast.vue.d.ts +6 -6
  16. package/dist/components/quests-ui.vue.d.ts +20 -20
  17. package/dist/components/utils/modal.vue.d.ts +6 -6
  18. package/dist/components/volume-controls.vue.d.ts +7 -7
  19. package/dist/config.d.ts +151 -151
  20. package/dist/constants.d.ts +1 -1
  21. package/dist/data/characters.json +62 -62
  22. package/dist/data/config.json +182 -182
  23. package/dist/data/example.rpy +360 -360
  24. package/dist/data/refactor.rpy +30 -30
  25. package/dist/defaultConfig.d.ts +2 -2
  26. package/dist/demo/demo.d.ts +1 -1
  27. package/dist/dialog-box.vue.d.ts +37 -37
  28. package/dist/exports/config.d.ts +1 -1
  29. package/dist/exports/display.d.ts +2 -2
  30. package/dist/exports/plugins.d.ts +20 -20
  31. package/dist/fonts/OpenDyslexic.ttf.svg +2326 -2326
  32. package/dist/gameloop.d.ts +3 -3
  33. package/dist/img/.DS_Store +0 -0
  34. package/dist/lib/lib.d.ts +15 -15
  35. package/dist/main.d.ts +5 -5
  36. package/dist/music/.DS_Store +0 -0
  37. package/dist/narrat.es.js +40 -14
  38. package/dist/narrat.es.js.map +1 -1
  39. package/dist/narrat.umd.js +70 -70
  40. package/dist/narrat.umd.js.map +1 -1
  41. package/dist/plugins/NarratPlugin.d.ts +11 -11
  42. package/dist/sounds/.DS_Store +0 -0
  43. package/dist/stores/audio-store.d.ts +12 -12
  44. package/dist/stores/dialog-store.d.ts +31 -31
  45. package/dist/stores/hud-stats-store.d.ts +22 -22
  46. package/dist/stores/inventory-store.d.ts +37 -37
  47. package/dist/stores/main-store.d.ts +276 -276
  48. package/dist/stores/notification-store.d.ts +12 -12
  49. package/dist/stores/quest-log.d.ts +39 -39
  50. package/dist/stores/rendering-store.d.ts +13 -13
  51. package/dist/stores/screens-store.d.ts +23 -23
  52. package/dist/stores/skills.d.ts +36 -36
  53. package/dist/stores/vm-store.d.ts +148 -148
  54. package/dist/types/app-types.d.ts +4 -4
  55. package/dist/types/character-types.d.ts +27 -27
  56. package/dist/types/dialog-box-types.d.ts +10 -10
  57. package/dist/types/game-save.d.ts +21 -21
  58. package/dist/types/parser.d.ts +92 -92
  59. package/dist/types/state.d.ts +3 -3
  60. package/dist/utils/ajax.d.ts +1 -1
  61. package/dist/utils/audio-loader.d.ts +13 -13
  62. package/dist/utils/characters.d.ts +5 -5
  63. package/dist/utils/data-helpers.d.ts +19 -19
  64. package/dist/utils/debounce.d.ts +14 -14
  65. package/dist/utils/error-handling.d.ts +3 -3
  66. package/dist/utils/helpers.d.ts +6 -6
  67. package/dist/utils/images-loader.d.ts +6 -6
  68. package/dist/utils/logger.d.ts +11 -11
  69. package/dist/utils/object-iterators.d.ts +8 -8
  70. package/dist/utils/promises.d.ts +1 -1
  71. package/dist/utils/randomId.d.ts +1 -1
  72. package/dist/utils/save-helpers.d.ts +3 -0
  73. package/dist/utils/skillchecks.d.ts +17 -17
  74. package/dist/utils/string-helpers.d.ts +3 -3
  75. package/dist/utils/time-helpers.d.ts +2 -2
  76. package/dist/vm/commands/arithmetic-commands.d.ts +17 -17
  77. package/dist/vm/commands/audio-commands.d.ts +8 -8
  78. package/dist/vm/commands/choice.d.ts +37 -37
  79. package/dist/vm/commands/clear_dialog.d.ts +2 -2
  80. package/dist/vm/commands/command-helpers.d.ts +2 -2
  81. package/dist/vm/commands/command-plugin.d.ts +30 -30
  82. package/dist/vm/commands/flow-commands.d.ts +14 -14
  83. package/dist/vm/commands/if.d.ts +10 -10
  84. package/dist/vm/commands/index.d.ts +2 -2
  85. package/dist/vm/commands/inventory-commands.d.ts +15 -15
  86. package/dist/vm/commands/logic-command.d.ts +42 -42
  87. package/dist/vm/commands/notify.d.ts +4 -4
  88. package/dist/vm/commands/quest-commands.d.ts +30 -30
  89. package/dist/vm/commands/screen-commands.d.ts +8 -8
  90. package/dist/vm/commands/set.d.ts +6 -6
  91. package/dist/vm/commands/skill-commands.d.ts +33 -33
  92. package/dist/vm/commands/stats-commands.d.ts +12 -12
  93. package/dist/vm/commands/string-commands.d.ts +9 -9
  94. package/dist/vm/commands/text-field.d.ts +7 -7
  95. package/dist/vm/commands/text.d.ts +13 -13
  96. package/dist/vm/commands/wait.d.ts +4 -4
  97. package/dist/vm/vm-helpers.d.ts +16 -16
  98. package/dist/vm/vm-parser.d.ts +19 -19
  99. package/dist/vm/vm-parser.test.d.ts +1 -1
  100. package/dist/vm/vm.d.ts +19 -19
  101. package/package.json +79 -79
package/dist/config.d.ts CHANGED
@@ -1,151 +1,151 @@
1
- export declare function setConfig(conf: Config): void;
2
- export declare function getConfig(): Config;
3
- export declare function getSkillConfig(id: string): SkillData;
4
- export declare function getItemConfig(id: string): ItemData;
5
- export declare function getQuestConfig(questId: string): QuestData;
6
- export declare function getObjectiveConfig(quest: string, objectiveId: string): ObjectiveData;
7
- export interface AppOptions {
8
- logging: boolean;
9
- debug: boolean;
10
- }
11
- export interface Config {
12
- gameTitle: string;
13
- images: {
14
- [key: string]: string;
15
- };
16
- layout: {
17
- backgrounds: {
18
- width: number;
19
- height: number;
20
- };
21
- dialogBottomPadding: number;
22
- minTextWidth: number;
23
- mobileDialogHeightPercentage: number;
24
- verticalLayoutThreshold: number;
25
- portraits: {
26
- width: number;
27
- height: number;
28
- };
29
- };
30
- screens: {
31
- [key: string]: {
32
- background: string;
33
- buttons: string[];
34
- };
35
- };
36
- buttons: {
37
- [key: string]: ButtonConfig;
38
- };
39
- skills: {
40
- [key: string]: SkillData;
41
- };
42
- skillOptions: {
43
- xpPerLevel: number;
44
- };
45
- skillChecks: {
46
- rollRange: number;
47
- skillMultiplier: number;
48
- failureChance: number;
49
- difficultyText: Array<[number, string]>;
50
- };
51
- scripts: string[];
52
- audio: {
53
- [key: string]: AudioConfig;
54
- };
55
- audioOptions: {
56
- volume: number;
57
- defaultMusic?: string;
58
- musicFadeInTime: number;
59
- musicFadeInDelay: number;
60
- musicFadeOutTime: number;
61
- };
62
- sound?: {
63
- [key: string]: AudioConfig;
64
- };
65
- music?: {
66
- [key: string]: AudioConfig;
67
- };
68
- notifications: {
69
- timeOnScreen: number;
70
- alsoPrintInDialogue?: boolean;
71
- };
72
- hudStats: {
73
- [key: string]: HudStatConfig;
74
- };
75
- items: {
76
- [key: string]: ItemData;
77
- };
78
- interactionTags: {
79
- [key: string]: {
80
- onlyInteractOutsideOfScripts: boolean;
81
- };
82
- };
83
- quests: {
84
- [key: string]: QuestData;
85
- };
86
- audioTriggers: {
87
- [key: string]: string;
88
- };
89
- menuButtons: {
90
- [key: string]: MenuButtonData;
91
- };
92
- }
93
- export interface MenuButtonData {
94
- text: string;
95
- }
96
- export interface QuestData {
97
- title: string;
98
- description: string;
99
- objectives: {
100
- [key: string]: ObjectiveData;
101
- };
102
- }
103
- export interface ObjectiveData {
104
- description: string;
105
- hidden?: boolean;
106
- }
107
- export interface ItemData {
108
- name: string;
109
- description: string;
110
- icon: string;
111
- onUse?: {
112
- action: 'jump' | 'run';
113
- label: string;
114
- };
115
- tag?: string;
116
- }
117
- export interface HudStatConfig {
118
- name: string;
119
- icon: string;
120
- startingValue: number;
121
- minValue?: number;
122
- maxValue?: number;
123
- }
124
- export interface AudioConfig {
125
- src: string;
126
- path?: string;
127
- volume?: number;
128
- rate?: number;
129
- html5?: boolean;
130
- }
131
- export interface MusicConfig extends AudioConfig {
132
- loop?: boolean;
133
- }
134
- export interface ButtonConfig {
135
- enabled: boolean;
136
- background: string;
137
- position: {
138
- left: number;
139
- top: number;
140
- width: number;
141
- height: number;
142
- };
143
- action: string;
144
- }
145
- export interface SkillData {
146
- name: string;
147
- description: string;
148
- startingLevel: number;
149
- hidden?: boolean;
150
- icon: string;
151
- }
1
+ export declare function setConfig(conf: Config): void;
2
+ export declare function getConfig(): Config;
3
+ export declare function getSkillConfig(id: string): SkillData;
4
+ export declare function getItemConfig(id: string): ItemData;
5
+ export declare function getQuestConfig(questId: string): QuestData;
6
+ export declare function getObjectiveConfig(quest: string, objectiveId: string): ObjectiveData;
7
+ export interface AppOptions {
8
+ logging: boolean;
9
+ debug: boolean;
10
+ }
11
+ export interface Config {
12
+ gameTitle: string;
13
+ images: {
14
+ [key: string]: string;
15
+ };
16
+ layout: {
17
+ backgrounds: {
18
+ width: number;
19
+ height: number;
20
+ };
21
+ dialogBottomPadding: number;
22
+ minTextWidth: number;
23
+ mobileDialogHeightPercentage: number;
24
+ verticalLayoutThreshold: number;
25
+ portraits: {
26
+ width: number;
27
+ height: number;
28
+ };
29
+ };
30
+ screens: {
31
+ [key: string]: {
32
+ background: string;
33
+ buttons: string[];
34
+ };
35
+ };
36
+ buttons: {
37
+ [key: string]: ButtonConfig;
38
+ };
39
+ skills: {
40
+ [key: string]: SkillData;
41
+ };
42
+ skillOptions: {
43
+ xpPerLevel: number;
44
+ };
45
+ skillChecks: {
46
+ rollRange: number;
47
+ skillMultiplier: number;
48
+ failureChance: number;
49
+ difficultyText: Array<[number, string]>;
50
+ };
51
+ scripts: string[];
52
+ audio: {
53
+ [key: string]: AudioConfig;
54
+ };
55
+ audioOptions: {
56
+ volume: number;
57
+ defaultMusic?: string;
58
+ musicFadeInTime: number;
59
+ musicFadeInDelay: number;
60
+ musicFadeOutTime: number;
61
+ };
62
+ sound?: {
63
+ [key: string]: AudioConfig;
64
+ };
65
+ music?: {
66
+ [key: string]: AudioConfig;
67
+ };
68
+ notifications: {
69
+ timeOnScreen: number;
70
+ alsoPrintInDialogue?: boolean;
71
+ };
72
+ hudStats: {
73
+ [key: string]: HudStatConfig;
74
+ };
75
+ items: {
76
+ [key: string]: ItemData;
77
+ };
78
+ interactionTags: {
79
+ [key: string]: {
80
+ onlyInteractOutsideOfScripts: boolean;
81
+ };
82
+ };
83
+ quests: {
84
+ [key: string]: QuestData;
85
+ };
86
+ audioTriggers: {
87
+ [key: string]: string;
88
+ };
89
+ menuButtons: {
90
+ [key: string]: MenuButtonData;
91
+ };
92
+ }
93
+ export interface MenuButtonData {
94
+ text: string;
95
+ }
96
+ export interface QuestData {
97
+ title: string;
98
+ description: string;
99
+ objectives: {
100
+ [key: string]: ObjectiveData;
101
+ };
102
+ }
103
+ export interface ObjectiveData {
104
+ description: string;
105
+ hidden?: boolean;
106
+ }
107
+ export interface ItemData {
108
+ name: string;
109
+ description: string;
110
+ icon: string;
111
+ onUse?: {
112
+ action: 'jump' | 'run';
113
+ label: string;
114
+ };
115
+ tag?: string;
116
+ }
117
+ export interface HudStatConfig {
118
+ name: string;
119
+ icon: string;
120
+ startingValue: number;
121
+ minValue?: number;
122
+ maxValue?: number;
123
+ }
124
+ export interface AudioConfig {
125
+ src: string;
126
+ path?: string;
127
+ volume?: number;
128
+ rate?: number;
129
+ html5?: boolean;
130
+ }
131
+ export interface MusicConfig extends AudioConfig {
132
+ loop?: boolean;
133
+ }
134
+ export interface ButtonConfig {
135
+ enabled: boolean;
136
+ background: string;
137
+ position: {
138
+ left: number;
139
+ top: number;
140
+ width: number;
141
+ height: number;
142
+ };
143
+ action: string;
144
+ }
145
+ export interface SkillData {
146
+ name: string;
147
+ description: string;
148
+ startingLevel: number;
149
+ hidden?: boolean;
150
+ icon: string;
151
+ }
@@ -1 +1 @@
1
- export declare const SAVE_FILE = "gameSave";
1
+ export declare const SAVE_FILE = "gameSave";
@@ -1,62 +1,62 @@
1
- {
2
- "config": {
3
- "imagesPath": "./img/characters/"
4
- },
5
- "characters": {
6
- "game": {
7
- "name": "",
8
- "color": "white"
9
- },
10
- "player": {
11
- "style": {
12
- "color": "orange"
13
- },
14
- "name": "You"
15
- },
16
- "cat": {
17
- "sprites": {
18
- "idle": "cat_idle.jpg"
19
- },
20
- "style": {
21
- "color": "white"
22
- },
23
- "name": "Generic Cat"
24
- },
25
- "shopkeeper": {
26
- "sprites": {
27
- "idle": "music_cat.jpeg"
28
- },
29
- "style": {
30
- "color": "white"
31
- },
32
- "name": "Shopkeeper"
33
- },
34
- "helper": {
35
- "sprites": {
36
- "idle": "helper_cat.png"
37
- },
38
- "style": {
39
- "color": "green"
40
- },
41
- "name": "Helper Cat"
42
- },
43
- "music_cat": {
44
- "sprites": {
45
- "idle": "music_cat.jpeg"
46
- },
47
- "style": {
48
- "color": "green"
49
- },
50
- "name": "Music Cat"
51
- },
52
- "inner": {
53
- "sprites": {
54
- "idle": "inner_voice.png"
55
- },
56
- "style": {
57
- "color": "red"
58
- },
59
- "name": "Inner Voice"
60
- }
61
- }
62
- }
1
+ {
2
+ "config": {
3
+ "imagesPath": "./img/characters/"
4
+ },
5
+ "characters": {
6
+ "game": {
7
+ "name": "",
8
+ "color": "white"
9
+ },
10
+ "player": {
11
+ "style": {
12
+ "color": "orange"
13
+ },
14
+ "name": "You"
15
+ },
16
+ "cat": {
17
+ "sprites": {
18
+ "idle": "cat_idle.jpg"
19
+ },
20
+ "style": {
21
+ "color": "white"
22
+ },
23
+ "name": "Generic Cat"
24
+ },
25
+ "shopkeeper": {
26
+ "sprites": {
27
+ "idle": "music_cat.jpeg"
28
+ },
29
+ "style": {
30
+ "color": "white"
31
+ },
32
+ "name": "Shopkeeper"
33
+ },
34
+ "helper": {
35
+ "sprites": {
36
+ "idle": "helper_cat.png"
37
+ },
38
+ "style": {
39
+ "color": "green"
40
+ },
41
+ "name": "Helper Cat"
42
+ },
43
+ "music_cat": {
44
+ "sprites": {
45
+ "idle": "music_cat.jpeg"
46
+ },
47
+ "style": {
48
+ "color": "green"
49
+ },
50
+ "name": "Music Cat"
51
+ },
52
+ "inner": {
53
+ "sprites": {
54
+ "idle": "inner_voice.png"
55
+ },
56
+ "style": {
57
+ "color": "red"
58
+ },
59
+ "name": "Inner Voice"
60
+ }
61
+ }
62
+ }