narrat 2.10.8 → 2.11.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.
- package/dist/components/inventory-ui.vue.d.ts +1 -1
- package/dist/config/config-output.d.ts +3 -3
- package/dist/config.d.ts +4 -4
- package/dist/narrat.es.js +816 -801
- package/dist/narrat.es.js.map +1 -1
- package/dist/narrat.umd.js +5 -5
- package/dist/narrat.umd.js.map +1 -1
- package/dist/stores/hud-stats-store.d.ts +1 -0
- package/dist/stores/inventory-store.d.ts +5 -14
- package/dist/stores/main-store.d.ts +44 -14
- package/dist/stores/quest-log.d.ts +1 -0
- package/dist/stores/screens-store.d.ts +2 -0
- package/dist/stores/skills.d.ts +1 -0
- package/package.json +27 -27
- package/LICENSE +0 -21
|
@@ -11,6 +11,7 @@ export interface HudState {
|
|
|
11
11
|
export declare type HudSave = HudState;
|
|
12
12
|
export declare const useHud: import("pinia").StoreDefinition<"hud", HudState, {}, {
|
|
13
13
|
setupHudStats(stats: HudStatsConfig): void;
|
|
14
|
+
reset(stats: HudStatsConfig): void;
|
|
14
15
|
setStat(stat: string, value: number): void;
|
|
15
16
|
addStat(stat: string, value: number): void;
|
|
16
17
|
getStat(stat: string): HudStat;
|
|
@@ -17,23 +17,14 @@ export interface InventoryState {
|
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
export declare type InventorySave = InventoryState;
|
|
20
|
+
export interface ItemsSetupConfig {
|
|
21
|
+
[key: string]: ItemConfig;
|
|
22
|
+
}
|
|
20
23
|
export declare const useInventory: import("pinia").StoreDefinition<"inventory", InventoryState, {}, {
|
|
21
24
|
generateSaveData(): InventorySave;
|
|
22
25
|
loadSaveData(save: InventorySave): void;
|
|
23
|
-
setupItems(items:
|
|
24
|
-
|
|
25
|
-
onUse?: {
|
|
26
|
-
label: string;
|
|
27
|
-
action: string;
|
|
28
|
-
} | undefined;
|
|
29
|
-
tag?: string | undefined;
|
|
30
|
-
category?: string | undefined;
|
|
31
|
-
showIfEmpty?: boolean | undefined;
|
|
32
|
-
description: string;
|
|
33
|
-
name: string;
|
|
34
|
-
icon: string;
|
|
35
|
-
};
|
|
36
|
-
}): void;
|
|
26
|
+
setupItems(items: ItemsSetupConfig): void;
|
|
27
|
+
reset(items: ItemsSetupConfig): void;
|
|
37
28
|
hasItem(itemId: string, amount?: number): boolean;
|
|
38
29
|
getExistingItem(id: string): ItemState | undefined;
|
|
39
30
|
getItemAmount(id: string): number;
|
|
@@ -1305,6 +1305,7 @@ export declare const useMain: import("pinia").StoreDefinition<"main", MainState,
|
|
|
1305
1305
|
transitionScreen(screen: string, transition: import("../utils/transition").AddTransition, layer?: number | undefined): Promise<void>;
|
|
1306
1306
|
emptyLayer(layer: number, transition?: import("../utils/transition").AddTransition | undefined): Promise<void>;
|
|
1307
1307
|
setButtons(config: import("../config/config-output").Config): void;
|
|
1308
|
+
reset(config: import("../config/config-output").Config): void;
|
|
1308
1309
|
changeButton(button: string, newValue: import("./screens-store").ButtonStateValue): void;
|
|
1309
1310
|
generateSaveData(): import("./screens-store").ScreenSave;
|
|
1310
1311
|
loadSaveData(data: import("./screens-store").ScreenSave): void;
|
|
@@ -1337,6 +1338,25 @@ export declare const useMain: import("pinia").StoreDefinition<"main", MainState,
|
|
|
1337
1338
|
notifyLevelUp: boolean;
|
|
1338
1339
|
};
|
|
1339
1340
|
}): void;
|
|
1341
|
+
reset(skillsConfig: {
|
|
1342
|
+
skills: Record<string, {
|
|
1343
|
+
hidden?: boolean | undefined;
|
|
1344
|
+
description: string;
|
|
1345
|
+
name: string;
|
|
1346
|
+
startingLevel: number;
|
|
1347
|
+
icon: string;
|
|
1348
|
+
}>;
|
|
1349
|
+
skillChecks: {
|
|
1350
|
+
rollRange: number;
|
|
1351
|
+
skillMultiplier: number;
|
|
1352
|
+
failureChance: number;
|
|
1353
|
+
difficultyText: [number, string][];
|
|
1354
|
+
};
|
|
1355
|
+
skillOptions: {
|
|
1356
|
+
xpPerLevel: number;
|
|
1357
|
+
notifyLevelUp: boolean;
|
|
1358
|
+
};
|
|
1359
|
+
}): void;
|
|
1340
1360
|
getSkill(skill: string): import("./skills").SkillState;
|
|
1341
1361
|
getSkillLevel(skill: string): number;
|
|
1342
1362
|
getSkillXp(skill: string): number;
|
|
@@ -1507,6 +1527,13 @@ export declare const useMain: import("pinia").StoreDefinition<"main", MainState,
|
|
|
1507
1527
|
icon: string;
|
|
1508
1528
|
startingValue: number;
|
|
1509
1529
|
}>): void;
|
|
1530
|
+
reset(stats: Record<string, {
|
|
1531
|
+
maxValue?: number | undefined;
|
|
1532
|
+
minValue?: number | undefined;
|
|
1533
|
+
name: string;
|
|
1534
|
+
icon: string;
|
|
1535
|
+
startingValue: number;
|
|
1536
|
+
}>): void;
|
|
1510
1537
|
setStat(stat: string, value: number): void;
|
|
1511
1538
|
addStat(stat: string, value: number): void;
|
|
1512
1539
|
getStat(stat: string): import("./hud-stats-store").HudStat;
|
|
@@ -1557,20 +1584,8 @@ export declare const useMain: import("pinia").StoreDefinition<"main", MainState,
|
|
|
1557
1584
|
inventory: import("pinia").Store<"inventory", import("./inventory-store").InventoryState, {}, {
|
|
1558
1585
|
generateSaveData(): import("./inventory-store").InventoryState;
|
|
1559
1586
|
loadSaveData(save: import("./inventory-store").InventoryState): void;
|
|
1560
|
-
setupItems(items:
|
|
1561
|
-
|
|
1562
|
-
onUse?: {
|
|
1563
|
-
label: string;
|
|
1564
|
-
action: string;
|
|
1565
|
-
} | undefined;
|
|
1566
|
-
tag?: string | undefined;
|
|
1567
|
-
category?: string | undefined;
|
|
1568
|
-
showIfEmpty?: boolean | undefined;
|
|
1569
|
-
description: string;
|
|
1570
|
-
name: string;
|
|
1571
|
-
icon: string;
|
|
1572
|
-
};
|
|
1573
|
-
}): void;
|
|
1587
|
+
setupItems(items: import("./inventory-store").ItemsSetupConfig): void;
|
|
1588
|
+
reset(items: import("./inventory-store").ItemsSetupConfig): void;
|
|
1574
1589
|
hasItem(itemId: string, amount?: number | undefined): boolean;
|
|
1575
1590
|
getExistingItem(id: string): import("./inventory-store").ItemState | undefined;
|
|
1576
1591
|
getItemAmount(id: string): number;
|
|
@@ -1602,6 +1617,21 @@ export declare const useMain: import("pinia").StoreDefinition<"main", MainState,
|
|
|
1602
1617
|
id: string;
|
|
1603
1618
|
}[];
|
|
1604
1619
|
}): void;
|
|
1620
|
+
reset(questsConfig: {
|
|
1621
|
+
quests: Record<string, {
|
|
1622
|
+
category?: string | undefined;
|
|
1623
|
+
title: string;
|
|
1624
|
+
description: string;
|
|
1625
|
+
objectives: Record<string, {
|
|
1626
|
+
hidden?: boolean | undefined;
|
|
1627
|
+
description: string;
|
|
1628
|
+
}>;
|
|
1629
|
+
}>;
|
|
1630
|
+
categories: {
|
|
1631
|
+
title: string;
|
|
1632
|
+
id: string;
|
|
1633
|
+
}[];
|
|
1634
|
+
}): void;
|
|
1605
1635
|
startQuest(questId: string): void;
|
|
1606
1636
|
startObjective(questId: string, objectiveId: string): void;
|
|
1607
1637
|
completeObjective(questId: string, objectiveId: string): void;
|
|
@@ -23,6 +23,7 @@ export declare const useQuests: import("pinia").StoreDefinition<"quests", QuestL
|
|
|
23
23
|
getQuest(questId: string): QuestState;
|
|
24
24
|
getObjective(questId: string, objectiveId: string): ObjectiveState;
|
|
25
25
|
setupQuests(questsConfig: QuestsConfig): void;
|
|
26
|
+
reset(questsConfig: QuestsConfig): void;
|
|
26
27
|
startQuest(questId: string): void;
|
|
27
28
|
startObjective(questId: string, objectiveId: string): void;
|
|
28
29
|
completeObjective(questId: string, objectiveId: string): void;
|
|
@@ -20,6 +20,7 @@ export declare type ScreenSave = {
|
|
|
20
20
|
layers: Array<string | null>;
|
|
21
21
|
buttons: ButtonsState;
|
|
22
22
|
};
|
|
23
|
+
export declare const defaultScreensState: () => ScreenState;
|
|
23
24
|
export declare const useScreens: import("pinia").StoreDefinition<"screens", ScreenState, {
|
|
24
25
|
nonEmptyLayers(state: ScreenState): FullLayerState[];
|
|
25
26
|
}, {
|
|
@@ -28,6 +29,7 @@ export declare const useScreens: import("pinia").StoreDefinition<"screens", Scre
|
|
|
28
29
|
transitionScreen(screen: string, transition: AddTransition, layer?: number): Promise<void>;
|
|
29
30
|
emptyLayer(layer: number, transition?: AddTransition): Promise<void>;
|
|
30
31
|
setButtons(config: Config): void;
|
|
32
|
+
reset(config: Config): void;
|
|
31
33
|
changeButton(button: string, newValue: ButtonStateValue): void;
|
|
32
34
|
generateSaveData(): ScreenSave;
|
|
33
35
|
loadSaveData(data: ScreenSave): void;
|
package/dist/stores/skills.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export declare const useSkills: import("pinia").StoreDefinition<"skills", Skills
|
|
|
29
29
|
createSkillCheckState(): SkillCheckState;
|
|
30
30
|
loadSaveData(data: SkillsSave): void;
|
|
31
31
|
setupSkills(skillsConfig: SkillsConfig): void;
|
|
32
|
+
reset(skillsConfig: SkillsConfig): void;
|
|
32
33
|
getSkill(skill: string): SkillState;
|
|
33
34
|
getSkillLevel(skill: string): number;
|
|
34
35
|
getSkillXp(skill: string): number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "narrat",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.11.0",
|
|
4
4
|
"description": "narrat narrative engine",
|
|
5
5
|
"main": "dist/narrat.umd.js",
|
|
6
6
|
"module": "dist/narrat.es.js",
|
|
@@ -17,6 +17,31 @@
|
|
|
17
17
|
"files": [
|
|
18
18
|
"dist/"
|
|
19
19
|
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"test-unit": "vitest",
|
|
22
|
+
"coverage": "vitest run --coverage",
|
|
23
|
+
"start": "pnpm run dev",
|
|
24
|
+
"rpg": "pnpm run run-example rpg",
|
|
25
|
+
"build-rpg": "pnpm run build-example rpg",
|
|
26
|
+
"empty": "pnpm run run-example empty",
|
|
27
|
+
"build-empty": "pnpm run build-example empty",
|
|
28
|
+
"test-game": "pnpm run run-example test",
|
|
29
|
+
"build-test-game": "pnpm run build-example test",
|
|
30
|
+
"demo": "pnpm run run-example demo",
|
|
31
|
+
"build-demo": "pnpm run build-example demo",
|
|
32
|
+
"run-example": "node run-example.js",
|
|
33
|
+
"build-example": "node build-example.js",
|
|
34
|
+
"dev": "pnpm run run-example default",
|
|
35
|
+
"generate-types": "vue-tsc --emitDeclarationOnly --outDir dist && pnpm run fix-type-aliases",
|
|
36
|
+
"fix-type-aliases": "tsc-alias -p tsconfig.json",
|
|
37
|
+
"build": "rimraf lib && vue-tsc --noEmit && vite build && pnpm run generate-types",
|
|
38
|
+
"preview": "vite preview",
|
|
39
|
+
"lint": "eslint src --ext=.js,.jsx,.ts,.tsx",
|
|
40
|
+
"preversion": "pnpm run build && pnpm run lint",
|
|
41
|
+
"postversion": "git push && git push --tags",
|
|
42
|
+
"check-types": "tsc --noEmit && vue-tsc --noEmit",
|
|
43
|
+
"find-deadcode": "ts-prune"
|
|
44
|
+
},
|
|
20
45
|
"keywords": [
|
|
21
46
|
"game"
|
|
22
47
|
],
|
|
@@ -71,30 +96,5 @@
|
|
|
71
96
|
"vue": "^3.2.37",
|
|
72
97
|
"vue-tsc": "^0.38.2",
|
|
73
98
|
"windicss": "^3.5.6"
|
|
74
|
-
},
|
|
75
|
-
"scripts": {
|
|
76
|
-
"test-unit": "vitest",
|
|
77
|
-
"coverage": "vitest run --coverage",
|
|
78
|
-
"start": "pnpm run dev",
|
|
79
|
-
"rpg": "pnpm run run-example rpg",
|
|
80
|
-
"build-rpg": "pnpm run build-example rpg",
|
|
81
|
-
"empty": "pnpm run run-example empty",
|
|
82
|
-
"build-empty": "pnpm run build-example empty",
|
|
83
|
-
"test-game": "pnpm run run-example test",
|
|
84
|
-
"build-test-game": "pnpm run build-example test",
|
|
85
|
-
"demo": "pnpm run run-example demo",
|
|
86
|
-
"build-demo": "pnpm run build-example demo",
|
|
87
|
-
"run-example": "node run-example.js",
|
|
88
|
-
"build-example": "node build-example.js",
|
|
89
|
-
"dev": "pnpm run run-example default",
|
|
90
|
-
"generate-types": "vue-tsc --emitDeclarationOnly --outDir dist && pnpm run fix-type-aliases",
|
|
91
|
-
"fix-type-aliases": "tsc-alias -p tsconfig.json",
|
|
92
|
-
"build": "rimraf lib && vue-tsc --noEmit && vite build && pnpm run generate-types",
|
|
93
|
-
"preview": "vite preview",
|
|
94
|
-
"lint": "eslint src --ext=.js,.jsx,.ts,.tsx",
|
|
95
|
-
"preversion": "pnpm run build && pnpm run lint",
|
|
96
|
-
"postversion": "git push && git push --tags",
|
|
97
|
-
"check-types": "tsc --noEmit && vue-tsc --noEmit",
|
|
98
|
-
"find-deadcode": "ts-prune"
|
|
99
99
|
}
|
|
100
|
-
}
|
|
100
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2020 Liana Pigeot
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|