@rpg-engine/long-bow 0.8.94 → 0.8.96

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.
@@ -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
- return level; // Fallback to stored level for general "Level" display
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
- // Use exponential formula for all skill progress calculations
36561
- // For character XP (when skillKey is not provided), use default constants
36562
- var skillName = skillKey != null ? skillKey : 'level';
36563
- var _getSkillConstants2 = shared.getSkillConstants(skillName, effectiveClass),
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;