@rpg-engine/shared 0.10.52 → 0.10.54

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.
@@ -2,9 +2,17 @@ import { CharacterClass } from "../types/character.types";
2
2
  export declare const SKILL_BASE_B = 1.035;
3
3
  export declare const SPECIALTY_REFERENCE_B = 1.1;
4
4
  export declare const AFFINITY_PENALTY_FACTOR = 0.5;
5
+ export declare enum SkillAffinity {
6
+ Specialty = 1.1,
7
+ Good = 1.2,
8
+ Average = 1.3,
9
+ Weak = 1.4,
10
+ Terrible = 1.5,
11
+ Awful = 1.8
12
+ }
5
13
  export declare const SKILL_BASE_CONSTANTS: Record<string, number>;
6
14
  export declare const SKILL_OFFSET = 1;
7
- export declare const VOCATION_SKILL_CONSTANTS: Record<CharacterClass, Record<string, number>>;
15
+ export declare const VOCATION_SKILL_CONSTANTS: Record<CharacterClass, Record<string, SkillAffinity>>;
8
16
  export declare const MINIMUM_EFFECTIVE_B = 1.001;
9
17
  export declare const getTieredB: (baseAffinityB: number, _level: number) => number;
10
18
  export declare const getSkillConstants: (skillName: string, characterClass: CharacterClass, _level?: number) => {
@@ -1 +1 @@
1
- {"version":3,"file":"skillProgression.constants.d.ts","sourceRoot":"","sources":["../../src/constants/skillProgression.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAS1D,eAAO,MAAM,YAAY,QAAQ,CAAC;AAGlC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAIzC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAQ3C,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwBvD,CAAC;AAGF,eAAO,MAAM,YAAY,IAAI,CAAC;AAG9B,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmKnF,CAAC;AAGF,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAUzC,eAAO,MAAM,UAAU,kBAAmB,MAAM,UAAU,MAAM,KAAG,MAQlE,CAAC;AASF,eAAO,MAAM,iBAAiB,cACjB,MAAM,kBACD,cAAc,WACrB,MAAM;OACT,MAAM;OAAK,MAAM;OAAK,MAAM;CASnC,CAAC"}
1
+ {"version":3,"file":"skillProgression.constants.d.ts","sourceRoot":"","sources":["../../src/constants/skillProgression.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAS1D,eAAO,MAAM,YAAY,QAAQ,CAAC;AAGlC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAIzC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAM3C,oBAAY,aAAa;IACvB,SAAS,MAAM;IACf,IAAI,MAAM;IACV,OAAO,MAAM;IACb,IAAI,MAAM;IACV,QAAQ,MAAM;IACd,KAAK,MAAM;CACZ;AAQD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwBvD,CAAC;AAGF,eAAO,MAAM,YAAY,IAAI,CAAC;AAG9B,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAmK1F,CAAC;AAGF,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAUzC,eAAO,MAAM,UAAU,kBAAmB,MAAM,UAAU,MAAM,KAAG,MAQlE,CAAC;AAUF,eAAO,MAAM,iBAAiB,cACjB,MAAM,kBACD,cAAc,WACrB,MAAM;OACT,MAAM;OAAK,MAAM;OAAK,MAAM;CAQnC,CAAC"}
@@ -1,10 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSkillConstants = exports.getTieredB = exports.MINIMUM_EFFECTIVE_B = exports.VOCATION_SKILL_CONSTANTS = exports.SKILL_OFFSET = exports.SKILL_BASE_CONSTANTS = exports.AFFINITY_PENALTY_FACTOR = exports.SPECIALTY_REFERENCE_B = exports.SKILL_BASE_B = void 0;
3
+ exports.getSkillConstants = exports.getTieredB = exports.MINIMUM_EFFECTIVE_B = exports.VOCATION_SKILL_CONSTANTS = exports.SKILL_OFFSET = exports.SKILL_BASE_CONSTANTS = exports.SkillAffinity = exports.AFFINITY_PENALTY_FACTOR = exports.SPECIALTY_REFERENCE_B = exports.SKILL_BASE_B = void 0;
4
4
  const character_types_1 = require("../types/character.types");
5
5
  exports.SKILL_BASE_B = 1.035;
6
6
  exports.SPECIALTY_REFERENCE_B = 1.1;
7
7
  exports.AFFINITY_PENALTY_FACTOR = 0.5;
8
+ var SkillAffinity;
9
+ (function (SkillAffinity) {
10
+ SkillAffinity[SkillAffinity["Specialty"] = 1.1] = "Specialty";
11
+ SkillAffinity[SkillAffinity["Good"] = 1.2] = "Good";
12
+ SkillAffinity[SkillAffinity["Average"] = 1.3] = "Average";
13
+ SkillAffinity[SkillAffinity["Weak"] = 1.4] = "Weak";
14
+ SkillAffinity[SkillAffinity["Terrible"] = 1.5] = "Terrible";
15
+ SkillAffinity[SkillAffinity["Awful"] = 1.8] = "Awful";
16
+ })(SkillAffinity = exports.SkillAffinity || (exports.SkillAffinity = {}));
8
17
  exports.SKILL_BASE_CONSTANTS = {
9
18
  strength: 50,
10
19
  resistance: 50,
@@ -28,144 +37,144 @@ exports.SKILL_BASE_CONSTANTS = {
28
37
  exports.SKILL_OFFSET = 1;
29
38
  exports.VOCATION_SKILL_CONSTANTS = {
30
39
  [character_types_1.CharacterClass.Warrior]: {
31
- strength: 1.1,
32
- resistance: 1.1,
33
- dexterity: 1.2,
34
- magic: 1.8,
35
- magicResistance: 1.4,
36
- sword: 1.1,
37
- club: 1.1,
38
- axe: 1.1,
39
- dagger: 1.2,
40
- first: 1.2,
41
- distance: 1.4,
42
- shielding: 1.1,
43
- fishing: 1.1,
44
- mining: 1.1,
45
- lumberjacking: 1.1,
46
- cooking: 1.1,
47
- alchemy: 1.1,
48
- blacksmithing: 1.1,
40
+ strength: SkillAffinity.Specialty,
41
+ resistance: SkillAffinity.Specialty,
42
+ dexterity: SkillAffinity.Good,
43
+ magic: SkillAffinity.Awful,
44
+ magicResistance: SkillAffinity.Weak,
45
+ sword: SkillAffinity.Specialty,
46
+ club: SkillAffinity.Specialty,
47
+ axe: SkillAffinity.Specialty,
48
+ dagger: SkillAffinity.Good,
49
+ first: SkillAffinity.Good,
50
+ distance: SkillAffinity.Weak,
51
+ shielding: SkillAffinity.Specialty,
52
+ fishing: SkillAffinity.Specialty,
53
+ mining: SkillAffinity.Specialty,
54
+ lumberjacking: SkillAffinity.Specialty,
55
+ cooking: SkillAffinity.Specialty,
56
+ alchemy: SkillAffinity.Specialty,
57
+ blacksmithing: SkillAffinity.Specialty,
49
58
  },
50
59
  [character_types_1.CharacterClass.Sorcerer]: {
51
- strength: 1.5,
52
- resistance: 1.3,
53
- dexterity: 1.2,
54
- magic: 1.1,
55
- magicResistance: 1.1,
56
- sword: 1.5,
57
- club: 1.5,
58
- axe: 1.5,
59
- dagger: 1.4,
60
- first: 1.5,
61
- distance: 1.5,
62
- shielding: 1.4,
63
- fishing: 1.1,
64
- mining: 1.1,
65
- lumberjacking: 1.1,
66
- cooking: 1.1,
67
- alchemy: 1.1,
68
- blacksmithing: 1.1,
60
+ strength: SkillAffinity.Terrible,
61
+ resistance: SkillAffinity.Average,
62
+ dexterity: SkillAffinity.Good,
63
+ magic: SkillAffinity.Specialty,
64
+ magicResistance: SkillAffinity.Specialty,
65
+ sword: SkillAffinity.Terrible,
66
+ club: SkillAffinity.Terrible,
67
+ axe: SkillAffinity.Terrible,
68
+ dagger: SkillAffinity.Weak,
69
+ first: SkillAffinity.Terrible,
70
+ distance: SkillAffinity.Terrible,
71
+ shielding: SkillAffinity.Weak,
72
+ fishing: SkillAffinity.Specialty,
73
+ mining: SkillAffinity.Specialty,
74
+ lumberjacking: SkillAffinity.Specialty,
75
+ cooking: SkillAffinity.Specialty,
76
+ alchemy: SkillAffinity.Specialty,
77
+ blacksmithing: SkillAffinity.Specialty,
69
78
  },
70
79
  [character_types_1.CharacterClass.Hunter]: {
71
- strength: 1.2,
72
- resistance: 1.3,
73
- dexterity: 1.1,
74
- magic: 1.4,
75
- magicResistance: 1.3,
76
- sword: 1.3,
77
- club: 1.3,
78
- axe: 1.3,
79
- dagger: 1.1,
80
- first: 1.3,
81
- distance: 1.1,
82
- shielding: 1.3,
83
- fishing: 1.1,
84
- mining: 1.1,
85
- lumberjacking: 1.1,
86
- cooking: 1.1,
87
- alchemy: 1.1,
88
- blacksmithing: 1.1,
80
+ strength: SkillAffinity.Good,
81
+ resistance: SkillAffinity.Average,
82
+ dexterity: SkillAffinity.Specialty,
83
+ magic: SkillAffinity.Weak,
84
+ magicResistance: SkillAffinity.Average,
85
+ sword: SkillAffinity.Average,
86
+ club: SkillAffinity.Average,
87
+ axe: SkillAffinity.Average,
88
+ dagger: SkillAffinity.Specialty,
89
+ first: SkillAffinity.Average,
90
+ distance: SkillAffinity.Specialty,
91
+ shielding: SkillAffinity.Average,
92
+ fishing: SkillAffinity.Specialty,
93
+ mining: SkillAffinity.Specialty,
94
+ lumberjacking: SkillAffinity.Specialty,
95
+ cooking: SkillAffinity.Specialty,
96
+ alchemy: SkillAffinity.Specialty,
97
+ blacksmithing: SkillAffinity.Specialty,
89
98
  },
90
99
  [character_types_1.CharacterClass.Druid]: {
91
- strength: 1.4,
92
- resistance: 1.2,
93
- dexterity: 1.2,
94
- magic: 1.1,
95
- magicResistance: 1.1,
96
- sword: 1.4,
97
- club: 1.3,
98
- axe: 1.4,
99
- dagger: 1.3,
100
- first: 1.4,
101
- distance: 1.3,
102
- shielding: 1.4,
103
- fishing: 1.1,
104
- mining: 1.1,
105
- lumberjacking: 1.1,
106
- cooking: 1.1,
107
- alchemy: 1.1,
108
- blacksmithing: 1.1,
100
+ strength: SkillAffinity.Weak,
101
+ resistance: SkillAffinity.Good,
102
+ dexterity: SkillAffinity.Good,
103
+ magic: SkillAffinity.Specialty,
104
+ magicResistance: SkillAffinity.Specialty,
105
+ sword: SkillAffinity.Weak,
106
+ club: SkillAffinity.Average,
107
+ axe: SkillAffinity.Weak,
108
+ dagger: SkillAffinity.Average,
109
+ first: SkillAffinity.Weak,
110
+ distance: SkillAffinity.Average,
111
+ shielding: SkillAffinity.Weak,
112
+ fishing: SkillAffinity.Specialty,
113
+ mining: SkillAffinity.Specialty,
114
+ lumberjacking: SkillAffinity.Specialty,
115
+ cooking: SkillAffinity.Specialty,
116
+ alchemy: SkillAffinity.Specialty,
117
+ blacksmithing: SkillAffinity.Specialty,
109
118
  },
110
119
  [character_types_1.CharacterClass.Berserker]: {
111
- strength: 1.05,
112
- resistance: 1.2,
113
- dexterity: 1.3,
114
- magic: 1.8,
115
- magicResistance: 1.3,
116
- sword: 1.1,
117
- club: 1.1,
118
- axe: 1.05,
119
- dagger: 1.2,
120
- first: 1.1,
121
- distance: 1.5,
122
- shielding: 1.2,
123
- fishing: 1.1,
124
- mining: 1.1,
125
- lumberjacking: 1.1,
126
- cooking: 1.1,
127
- alchemy: 1.1,
128
- blacksmithing: 1.1,
120
+ strength: SkillAffinity.Specialty,
121
+ resistance: SkillAffinity.Good,
122
+ dexterity: SkillAffinity.Average,
123
+ magic: SkillAffinity.Awful,
124
+ magicResistance: SkillAffinity.Average,
125
+ sword: SkillAffinity.Specialty,
126
+ club: SkillAffinity.Specialty,
127
+ axe: SkillAffinity.Specialty,
128
+ dagger: SkillAffinity.Good,
129
+ first: SkillAffinity.Specialty,
130
+ distance: SkillAffinity.Terrible,
131
+ shielding: SkillAffinity.Good,
132
+ fishing: SkillAffinity.Specialty,
133
+ mining: SkillAffinity.Specialty,
134
+ lumberjacking: SkillAffinity.Specialty,
135
+ cooking: SkillAffinity.Specialty,
136
+ alchemy: SkillAffinity.Specialty,
137
+ blacksmithing: SkillAffinity.Specialty,
129
138
  },
130
139
  [character_types_1.CharacterClass.Rogue]: {
131
- strength: 1.3,
132
- resistance: 1.4,
133
- dexterity: 1.05,
134
- magic: 1.5,
135
- magicResistance: 1.3,
136
- sword: 1.2,
137
- club: 1.4,
138
- axe: 1.4,
139
- dagger: 1.05,
140
- first: 1.3,
141
- distance: 1.2,
142
- shielding: 1.4,
143
- fishing: 1.1,
144
- mining: 1.1,
145
- lumberjacking: 1.1,
146
- cooking: 1.1,
147
- alchemy: 1.1,
148
- blacksmithing: 1.1,
140
+ strength: SkillAffinity.Average,
141
+ resistance: SkillAffinity.Weak,
142
+ dexterity: SkillAffinity.Specialty,
143
+ magic: SkillAffinity.Terrible,
144
+ magicResistance: SkillAffinity.Average,
145
+ sword: SkillAffinity.Good,
146
+ club: SkillAffinity.Weak,
147
+ axe: SkillAffinity.Weak,
148
+ dagger: SkillAffinity.Specialty,
149
+ first: SkillAffinity.Average,
150
+ distance: SkillAffinity.Good,
151
+ shielding: SkillAffinity.Weak,
152
+ fishing: SkillAffinity.Specialty,
153
+ mining: SkillAffinity.Specialty,
154
+ lumberjacking: SkillAffinity.Specialty,
155
+ cooking: SkillAffinity.Specialty,
156
+ alchemy: SkillAffinity.Specialty,
157
+ blacksmithing: SkillAffinity.Specialty,
149
158
  },
150
159
  [character_types_1.CharacterClass.None]: {
151
- strength: 1.3,
152
- resistance: 1.3,
153
- dexterity: 1.3,
154
- magic: 1.3,
155
- magicResistance: 1.3,
156
- sword: 1.3,
157
- club: 1.3,
158
- axe: 1.3,
159
- dagger: 1.3,
160
- first: 1.3,
161
- distance: 1.3,
162
- shielding: 1.3,
163
- fishing: 1.1,
164
- mining: 1.1,
165
- lumberjacking: 1.1,
166
- cooking: 1.1,
167
- alchemy: 1.1,
168
- blacksmithing: 1.1,
160
+ strength: SkillAffinity.Average,
161
+ resistance: SkillAffinity.Average,
162
+ dexterity: SkillAffinity.Average,
163
+ magic: SkillAffinity.Average,
164
+ magicResistance: SkillAffinity.Average,
165
+ sword: SkillAffinity.Average,
166
+ club: SkillAffinity.Average,
167
+ axe: SkillAffinity.Average,
168
+ dagger: SkillAffinity.Average,
169
+ first: SkillAffinity.Average,
170
+ distance: SkillAffinity.Average,
171
+ shielding: SkillAffinity.Average,
172
+ fishing: SkillAffinity.Specialty,
173
+ mining: SkillAffinity.Specialty,
174
+ lumberjacking: SkillAffinity.Specialty,
175
+ cooking: SkillAffinity.Specialty,
176
+ alchemy: SkillAffinity.Specialty,
177
+ blacksmithing: SkillAffinity.Specialty,
169
178
  },
170
179
  };
171
180
  exports.MINIMUM_EFFECTIVE_B = 1.001;
@@ -179,8 +188,7 @@ const getSkillConstants = (skillName, characterClass, _level) => {
179
188
  const A = (_a = exports.SKILL_BASE_CONSTANTS[skillName]) !== null && _a !== void 0 ? _a : 50;
180
189
  const baseB = (_c = (_b = exports.VOCATION_SKILL_CONSTANTS[characterClass]) === null || _b === void 0 ? void 0 : _b[skillName]) !== null && _c !== void 0 ? _c : 1.2;
181
190
  const c = exports.SKILL_OFFSET;
182
- const b = (0, exports.getTieredB)(baseB, 1);
183
- return { A, b, c };
191
+ return { A, b: baseB, c };
184
192
  };
185
193
  exports.getSkillConstants = getSkillConstants;
186
194
  //# sourceMappingURL=skillProgression.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skillProgression.constants.js","sourceRoot":"","sources":["../../src/constants/skillProgression.constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skillProgression.constants.js","sourceRoot":"","sources":["../../src/constants/skillProgression.constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=skillProgression.constants.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillProgression.constants.test.d.ts","sourceRoot":"","sources":["../../src/constants/skillProgression.constants.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const character_types_1 = require("../types/character.types");
4
+ const skillProgression_constants_1 = require("./skillProgression.constants");
5
+ describe("skillProgression.constants - Vocation Affinities", () => {
6
+ describe("Warrior affinities", () => {
7
+ it("should have Specialty (1.1) for main combat skills", () => {
8
+ const warrior = skillProgression_constants_1.VOCATION_SKILL_CONSTANTS[character_types_1.CharacterClass.Warrior];
9
+ expect(warrior.sword).toBe(skillProgression_constants_1.SkillAffinity.Specialty);
10
+ expect(warrior.club).toBe(skillProgression_constants_1.SkillAffinity.Specialty);
11
+ expect(warrior.axe).toBe(skillProgression_constants_1.SkillAffinity.Specialty);
12
+ expect(warrior.shielding).toBe(skillProgression_constants_1.SkillAffinity.Specialty);
13
+ });
14
+ it("should have Awful (1.8) for magic - worst possible affinity", () => {
15
+ const warrior = skillProgression_constants_1.VOCATION_SKILL_CONSTANTS[character_types_1.CharacterClass.Warrior];
16
+ expect(warrior.magic).toBe(skillProgression_constants_1.SkillAffinity.Awful);
17
+ });
18
+ });
19
+ describe("Sorcerer affinities", () => {
20
+ it("should have Specialty for magic skills", () => {
21
+ const sorcerer = skillProgression_constants_1.VOCATION_SKILL_CONSTANTS[character_types_1.CharacterClass.Sorcerer];
22
+ expect(sorcerer.magic).toBe(skillProgression_constants_1.SkillAffinity.Specialty);
23
+ expect(sorcerer.magicResistance).toBe(skillProgression_constants_1.SkillAffinity.Specialty);
24
+ });
25
+ it("should have Terrible (1.5) for melee combat skills", () => {
26
+ const sorcerer = skillProgression_constants_1.VOCATION_SKILL_CONSTANTS[character_types_1.CharacterClass.Sorcerer];
27
+ expect(sorcerer.sword).toBe(skillProgression_constants_1.SkillAffinity.Terrible);
28
+ expect(sorcerer.club).toBe(skillProgression_constants_1.SkillAffinity.Terrible);
29
+ expect(sorcerer.axe).toBe(skillProgression_constants_1.SkillAffinity.Terrible);
30
+ });
31
+ it("should have Terrible (1.5) for strength - physically weak", () => {
32
+ const sorcerer = skillProgression_constants_1.VOCATION_SKILL_CONSTANTS[character_types_1.CharacterClass.Sorcerer];
33
+ expect(sorcerer.strength).toBe(skillProgression_constants_1.SkillAffinity.Terrible);
34
+ });
35
+ });
36
+ describe("Hunter affinities", () => {
37
+ it("should have Specialty for distance and dexterity", () => {
38
+ const hunter = skillProgression_constants_1.VOCATION_SKILL_CONSTANTS[character_types_1.CharacterClass.Hunter];
39
+ expect(hunter.distance).toBe(skillProgression_constants_1.SkillAffinity.Specialty);
40
+ expect(hunter.dexterity).toBe(skillProgression_constants_1.SkillAffinity.Specialty);
41
+ });
42
+ it("should have Specialty for dagger (short-range precision)", () => {
43
+ const hunter = skillProgression_constants_1.VOCATION_SKILL_CONSTANTS[character_types_1.CharacterClass.Hunter];
44
+ expect(hunter.dagger).toBe(skillProgression_constants_1.SkillAffinity.Specialty);
45
+ });
46
+ });
47
+ describe("All classes have Specialty for crafting", () => {
48
+ it("should give every class Specialty affinity for all crafting skills", () => {
49
+ const craftingSkills = [
50
+ "fishing",
51
+ "mining",
52
+ "lumberjacking",
53
+ "cooking",
54
+ "alchemy",
55
+ "blacksmithing",
56
+ ];
57
+ Object.values(skillProgression_constants_1.VOCATION_SKILL_CONSTANTS).forEach((classSkills) => {
58
+ craftingSkills.forEach((skill) => {
59
+ expect(classSkills[skill]).toBe(skillProgression_constants_1.SkillAffinity.Specialty);
60
+ });
61
+ });
62
+ });
63
+ });
64
+ describe("getSkillConstants integration", () => {
65
+ it("should return raw affinity b-value (not processed)", () => {
66
+ const result = (0, skillProgression_constants_1.getSkillConstants)("sword", character_types_1.CharacterClass.Warrior);
67
+ expect(result.b).toBe(1.1);
68
+ expect(result.A).toBe(50);
69
+ expect(result.c).toBe(1);
70
+ });
71
+ it("should return Awful (1.8) for Sorcerer melee skills", () => {
72
+ const result = (0, skillProgression_constants_1.getSkillConstants)("sword", character_types_1.CharacterClass.Sorcerer);
73
+ expect(result.b).toBe(1.5);
74
+ });
75
+ it("should return Average (1.3) for None class skills", () => {
76
+ const result = (0, skillProgression_constants_1.getSkillConstants)("sword", character_types_1.CharacterClass.None);
77
+ expect(result.b).toBe(1.3);
78
+ });
79
+ });
80
+ });
81
+ //# sourceMappingURL=skillProgression.constants.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillProgression.constants.test.js","sourceRoot":"","sources":["../../src/constants/skillProgression.constants.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=skillHelpers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillHelpers.test.d.ts","sourceRoot":"","sources":["../../src/helpers/skillHelpers.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const character_types_1 = require("../types/character.types");
4
+ const skillHelpers_1 = require("./skillHelpers");
5
+ const skillProgression_constants_1 = require("../constants/skillProgression.constants");
6
+ const A = 50;
7
+ const c = 1;
8
+ describe("skillHelpers - Exponential Progression Curve Verification", () => {
9
+ describe("Base exponential formula verification", () => {
10
+ const b = 1.035;
11
+ it("should grow exponentially - each level costs more than previous", () => {
12
+ let previousCost = 0;
13
+ for (let level = 2; level <= 100; level++) {
14
+ const totalSP = (0, skillHelpers_1.getSPForLevelExponential)(level, A, b, c);
15
+ const incrementalCost = totalSP - previousCost;
16
+ const previousIncrementalCost = previousCost > 0
17
+ ? previousCost - (0, skillHelpers_1.getSPForLevelExponential)(level - 1, A, b, c)
18
+ : A;
19
+ if (level > 2) {
20
+ const ratio = incrementalCost / previousIncrementalCost;
21
+ expect(ratio).toBeCloseTo(b, 1);
22
+ }
23
+ previousCost = totalSP;
24
+ }
25
+ });
26
+ it("should correctly invert - SP to level roundtrip", () => {
27
+ for (let level = 2; level <= 50; level++) {
28
+ const sp = (0, skillHelpers_1.getSPForLevelExponential)(level, A, b, c);
29
+ const recoveredLevel = (0, skillHelpers_1.getLevelFromSP)(sp, A, b, c);
30
+ expect(Math.abs(recoveredLevel - level)).toBeLessThan(0.01);
31
+ }
32
+ });
33
+ it("should produce exponential growth - doubling level more than doubles SP", () => {
34
+ const sp10 = (0, skillHelpers_1.getSPForLevelExponential)(10, A, b, c);
35
+ const sp20 = (0, skillHelpers_1.getSPForLevelExponential)(20, A, b, c);
36
+ const sp40 = (0, skillHelpers_1.getSPForLevelExponential)(40, A, b, c);
37
+ expect(sp20 / sp10).toBeGreaterThan(2);
38
+ expect(sp40 / sp20).toBeGreaterThan(2);
39
+ });
40
+ });
41
+ describe("Tiered exponential functions", () => {
42
+ const b = 1.035;
43
+ it("should correctly invert - SP to level roundtrip (binary search)", () => {
44
+ for (let level = 2; level <= 50; level++) {
45
+ const sp = (0, skillHelpers_1.getSPForLevelTiered)(level, A, b, c);
46
+ const recoveredLevel = (0, skillHelpers_1.getLevelFromSPTiered)(sp, A, b, c);
47
+ expect(recoveredLevel).toBe(level);
48
+ }
49
+ });
50
+ it("should grow monotonically - higher levels always require more SP", () => {
51
+ let previousSP = 0;
52
+ for (let level = 2; level <= 100; level++) {
53
+ const sp = (0, skillHelpers_1.getSPForLevelTiered)(level, A, b, c);
54
+ expect(sp).toBeGreaterThan(previousSP);
55
+ previousSP = sp;
56
+ }
57
+ });
58
+ it("should handle large levels without overflow", () => {
59
+ const sp = (0, skillHelpers_1.getSPForLevelTiered)(1000, A, b, c);
60
+ expect(isFinite(sp)).toBe(true);
61
+ const level = (0, skillHelpers_1.getLevelFromSPTiered)(sp, A, b, c);
62
+ expect(level).toBe(1000);
63
+ });
64
+ });
65
+ });
66
+ describe("skillHelpers - Integration: Vocation Affinities + Skill Formulas", () => {
67
+ describe("Warrior sword progression vs Sorcerer sword progression", () => {
68
+ it("should require much less SP for Warrior than Sorcerer to reach same sword level", () => {
69
+ const warriorConstants = (0, skillProgression_constants_1.getSkillConstants)("sword", character_types_1.CharacterClass.Warrior);
70
+ const sorcererConstants = (0, skillProgression_constants_1.getSkillConstants)("sword", character_types_1.CharacterClass.Sorcerer);
71
+ const warriorB = (0, skillProgression_constants_1.getTieredB)(warriorConstants.b, 10);
72
+ const sorcererB = (0, skillProgression_constants_1.getTieredB)(sorcererConstants.b, 10);
73
+ expect(warriorB).toBeLessThan(sorcererB);
74
+ const warriorSP = (0, skillHelpers_1.getSPForLevelTiered)(20, A, warriorB, c);
75
+ const sorcererSP = (0, skillHelpers_1.getSPForLevelTiered)(20, A, sorcererB, c);
76
+ expect(sorcererSP / warriorSP).toBeGreaterThan(3);
77
+ });
78
+ it("should show exponential difference growing at higher levels", () => {
79
+ const warriorConstants = (0, skillProgression_constants_1.getSkillConstants)("sword", character_types_1.CharacterClass.Warrior);
80
+ const sorcererConstants = (0, skillProgression_constants_1.getSkillConstants)("sword", character_types_1.CharacterClass.Sorcerer);
81
+ const warriorB = (0, skillProgression_constants_1.getTieredB)(warriorConstants.b, 10);
82
+ const sorcererB = (0, skillProgression_constants_1.getTieredB)(sorcererConstants.b, 10);
83
+ const warriorSP10 = (0, skillHelpers_1.getSPForLevelTiered)(10, A, warriorB, c);
84
+ const sorcererSP10 = (0, skillHelpers_1.getSPForLevelTiered)(10, A, sorcererB, c);
85
+ const ratio10 = sorcererSP10 / warriorSP10;
86
+ const warriorSP30 = (0, skillHelpers_1.getSPForLevelTiered)(30, A, warriorB, c);
87
+ const sorcererSP30 = (0, skillHelpers_1.getSPForLevelTiered)(30, A, sorcererB, c);
88
+ const ratio30 = sorcererSP30 / warriorSP30;
89
+ expect(ratio30).toBeGreaterThan(ratio10);
90
+ });
91
+ });
92
+ describe("Sorcerer magic vs Warrior magic (reversed affinities)", () => {
93
+ it("should require much less SP for Sorcerer than Warrior for magic", () => {
94
+ const sorcererConstants = (0, skillProgression_constants_1.getSkillConstants)("magic", character_types_1.CharacterClass.Sorcerer);
95
+ const warriorConstants = (0, skillProgression_constants_1.getSkillConstants)("magic", character_types_1.CharacterClass.Warrior);
96
+ const sorcererB = (0, skillProgression_constants_1.getTieredB)(sorcererConstants.b, 10);
97
+ const warriorB = (0, skillProgression_constants_1.getTieredB)(warriorConstants.b, 10);
98
+ expect(sorcererB).toBeLessThan(warriorB);
99
+ const sorcererSP = (0, skillHelpers_1.getSPForLevelTiered)(20, A, sorcererB, c);
100
+ const warriorSP = (0, skillHelpers_1.getSPForLevelTiered)(20, A, warriorB, c);
101
+ expect(warriorSP / sorcererSP).toBeGreaterThan(2);
102
+ });
103
+ });
104
+ describe("All classes have equal crafting progression", () => {
105
+ it("should require same SP for all classes to reach mining level 20", () => {
106
+ const classes = [
107
+ character_types_1.CharacterClass.Warrior,
108
+ character_types_1.CharacterClass.Sorcerer,
109
+ character_types_1.CharacterClass.Hunter,
110
+ ];
111
+ const spValues = classes.map((cls) => {
112
+ const constants = (0, skillProgression_constants_1.getSkillConstants)("mining", cls);
113
+ const b = (0, skillProgression_constants_1.getTieredB)(constants.b, 10);
114
+ return (0, skillHelpers_1.getSPForLevelTiered)(20, A, b, c);
115
+ });
116
+ expect(spValues[0]).toBe(spValues[1]);
117
+ expect(spValues[1]).toBe(spValues[2]);
118
+ });
119
+ });
120
+ describe("Affinity tier progression difficulty", () => {
121
+ it("should show increasing difficulty: Specialty < Good < Average < Weak < Terrible < Awful", () => {
122
+ const affinities = [1.1, 1.2, 1.3, 1.4, 1.5, 1.8];
123
+ const spValues = affinities.map((affinityB) => {
124
+ const effectiveB = (0, skillProgression_constants_1.getTieredB)(affinityB, 10);
125
+ return (0, skillHelpers_1.getSPForLevelTiered)(20, A, effectiveB, c);
126
+ });
127
+ for (let i = 1; i < spValues.length; i++) {
128
+ expect(spValues[i]).toBeGreaterThan(spValues[i - 1]);
129
+ }
130
+ expect(spValues[5] / spValues[0]).toBeGreaterThan(4);
131
+ });
132
+ });
133
+ describe("Realistic progression times", () => {
134
+ it("should show Warrior reaches sword level 50 much faster than Sorcerer", () => {
135
+ const warriorConstants = (0, skillProgression_constants_1.getSkillConstants)("sword", character_types_1.CharacterClass.Warrior);
136
+ const sorcererConstants = (0, skillProgression_constants_1.getSkillConstants)("sword", character_types_1.CharacterClass.Sorcerer);
137
+ const warriorB = (0, skillProgression_constants_1.getTieredB)(warriorConstants.b, 50);
138
+ const sorcererB = (0, skillProgression_constants_1.getTieredB)(sorcererConstants.b, 50);
139
+ const warriorSP = (0, skillHelpers_1.getSPForLevelTiered)(50, A, warriorB, c);
140
+ const sorcererSP = (0, skillHelpers_1.getSPForLevelTiered)(50, A, sorcererB, c);
141
+ console.log(`Warrior sword 50: ${warriorSP.toLocaleString()} SP`);
142
+ console.log(`Sorcerer sword 50: ${sorcererSP.toLocaleString()} SP`);
143
+ console.log(`Ratio: ${(sorcererSP / warriorSP).toFixed(2)}x`);
144
+ expect(sorcererSP / warriorSP).toBeGreaterThan(5);
145
+ });
146
+ });
147
+ });
148
+ describe("skillHelpers - Edge Cases", () => {
149
+ it("should handle level 1 correctly (0 SP required)", () => {
150
+ expect((0, skillHelpers_1.getSPForLevelTiered)(1, A, 1.035, c)).toBe(0);
151
+ expect((0, skillHelpers_1.getLevelFromSPTiered)(0, A, 1.035, c)).toBe(1);
152
+ });
153
+ it("should return 0 SP for first level up regardless of b-value", () => {
154
+ expect((0, skillHelpers_1.getSPForLevelTiered)(2, A, 1.1, c)).toBe(A);
155
+ expect((0, skillHelpers_1.getSPForLevelTiered)(2, A, 1.8, c)).toBe(A);
156
+ });
157
+ it("should handle invalid inputs gracefully", () => {
158
+ expect((0, skillHelpers_1.getLevelFromSPTiered)(-100, A, 1.035, c)).toBe(c);
159
+ expect((0, skillHelpers_1.getLevelFromSPTiered)(0, A, 1.035, c)).toBe(c);
160
+ expect((0, skillHelpers_1.getLevelFromSPTiered)(0, 0, 1.035, c)).toBe(c);
161
+ });
162
+ it("should maintain monotonicity - SP strictly increases with level", () => {
163
+ const bValues = [1.035, 1.1, 1.3, 1.5];
164
+ bValues.forEach((b) => {
165
+ let previousSP = 0;
166
+ for (let level = 2; level <= 100; level++) {
167
+ const sp = (0, skillHelpers_1.getSPForLevelTiered)(level, A, b, c);
168
+ expect(sp).toBeGreaterThan(previousSP);
169
+ previousSP = sp;
170
+ }
171
+ });
172
+ });
173
+ });
174
+ //# sourceMappingURL=skillHelpers.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillHelpers.test.js","sourceRoot":"","sources":["../../src/helpers/skillHelpers.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpg-engine/shared",
3
- "version": "0.10.52",
3
+ "version": "0.10.54",
4
4
  "description": "Types shared across our API and client",
5
5
  "author": "Definya Team",
6
6
  "homepage": "",
@@ -17,7 +17,7 @@
17
17
  "access": "public"
18
18
  },
19
19
  "scripts": {
20
- "test": "echo \"Error: no test specified\" && exit 1",
20
+ "test": "jest",
21
21
  "tsc": "tsc -p .",
22
22
  "prepublish": "tsc",
23
23
  "format": "prettier --write 'src/**/*.ts' --loglevel silent",
@@ -38,7 +38,10 @@
38
38
  },
39
39
  "devDependencies": {
40
40
  "@capacitor/core": "^6.1.0",
41
- "@types/mongoose": "^5.11.97"
41
+ "@types/jest": "^30.0.0",
42
+ "@types/mongoose": "^5.11.97",
43
+ "jest": "^30.2.0",
44
+ "ts-jest": "^29.4.6"
42
45
  },
43
46
  "peerDependencies": {
44
47
  "@capacitor/core": "^4.6.3"