@rpg-engine/long-bow 0.8.94 → 0.8.95
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/long-bow.cjs.development.js +17 -8
- package/dist/long-bow.cjs.development.js.map +1 -1
- package/dist/long-bow.cjs.production.min.js +1 -1
- package/dist/long-bow.cjs.production.min.js.map +1 -1
- package/dist/long-bow.esm.js +18 -9
- package/dist/long-bow.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/components/SkillProgressBar.tsx +23 -8
|
@@ -36532,7 +36532,6 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
|
|
|
36532
36532
|
skillName = _ref.skillName,
|
|
36533
36533
|
skillKey = _ref.skillKey,
|
|
36534
36534
|
characterClass = _ref.characterClass,
|
|
36535
|
-
level = _ref.level,
|
|
36536
36535
|
currentSkillPoints = _ref.skillPoints,
|
|
36537
36536
|
texturePath = _ref.texturePath,
|
|
36538
36537
|
_ref$showSkillPoints = _ref.showSkillPoints,
|
|
@@ -36542,11 +36541,13 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
|
|
|
36542
36541
|
buffAndDebuff = _ref.buffAndDebuff;
|
|
36543
36542
|
// Use CharacterClass.None as default if skillKey is provided but characterClass is not
|
|
36544
36543
|
var effectiveClass = characterClass != null ? characterClass : shared.CharacterClass.None;
|
|
36545
|
-
// Calculate the effective level based on actual SP (handles data inconsistencies)
|
|
36544
|
+
// Calculate the effective level based on actual SP/XP (handles data inconsistencies)
|
|
36546
36545
|
var calculateEffectiveLevel = function calculateEffectiveLevel() {
|
|
36547
36546
|
if (!skillKey) {
|
|
36548
|
-
|
|
36547
|
+
// Character level: uses cubic formula (level³ * 3)
|
|
36548
|
+
return Math.max(1, shared.getLevelFromXP(currentSkillPoints));
|
|
36549
36549
|
}
|
|
36550
|
+
// Skills: use exponential formula with class-based constants
|
|
36550
36551
|
var _getSkillConstants = shared.getSkillConstants(skillKey, effectiveClass),
|
|
36551
36552
|
A = _getSkillConstants.A,
|
|
36552
36553
|
b = _getSkillConstants.b,
|
|
@@ -36555,12 +36556,20 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
|
|
|
36555
36556
|
return Math.max(1, actualLevel); // Minimum level is always 1 in our system
|
|
36556
36557
|
};
|
|
36557
36558
|
var effectiveLevel = calculateEffectiveLevel();
|
|
36558
|
-
// Calculate progress based on actual SP position
|
|
36559
|
+
// Calculate progress based on actual SP/XP position
|
|
36559
36560
|
var calculateProgress = function calculateProgress() {
|
|
36560
|
-
//
|
|
36561
|
-
|
|
36562
|
-
|
|
36563
|
-
|
|
36561
|
+
// Character level uses cubic XP formula, skills use exponential SP formula
|
|
36562
|
+
if (!skillKey) {
|
|
36563
|
+
// Character level: uses cubic formula (level³ * 3)
|
|
36564
|
+
var _actualLevel = Math.max(1, shared.getLevelFromXP(currentSkillPoints));
|
|
36565
|
+
var currentLevelXP = shared.getXPForLevel(_actualLevel);
|
|
36566
|
+
var nextLevelXP = shared.getXPForLevel(_actualLevel + 1);
|
|
36567
|
+
var _range = nextLevelXP - currentLevelXP;
|
|
36568
|
+
var _progressInLevel = currentSkillPoints - currentLevelXP;
|
|
36569
|
+
return Math.min(99.99, Math.max(0, _progressInLevel / Math.max(1, _range) * 100));
|
|
36570
|
+
}
|
|
36571
|
+
// Skills: use exponential formula with class-based constants
|
|
36572
|
+
var _getSkillConstants2 = shared.getSkillConstants(skillKey, effectiveClass),
|
|
36564
36573
|
A = _getSkillConstants2.A,
|
|
36565
36574
|
b = _getSkillConstants2.b,
|
|
36566
36575
|
c = _getSkillConstants2.c;
|