@rpg-engine/long-bow 0.6.49 → 0.6.51

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.
@@ -32127,44 +32127,29 @@ var ProgressBarContainer = /*#__PURE__*/styled.div.withConfig({
32127
32127
  var SkillProgressBar = function SkillProgressBar(_ref) {
32128
32128
  var bgColor = _ref.bgColor,
32129
32129
  skillName = _ref.skillName,
32130
- initialLevel = _ref.level,
32131
- initialSkillPoints = _ref.skillPoints,
32132
- initialSkillPointsToNextLevel = _ref.skillPointsToNextLevel,
32130
+ level = _ref.level,
32131
+ currentSkillPoints = _ref.skillPoints,
32133
32132
  texturePath = _ref.texturePath,
32134
32133
  _ref$showSkillPoints = _ref.showSkillPoints,
32135
32134
  showSkillPoints = _ref$showSkillPoints === void 0 ? true : _ref$showSkillPoints,
32136
32135
  atlasIMG = _ref.atlasIMG,
32137
32136
  atlasJSON = _ref.atlasJSON,
32138
32137
  buffAndDebuff = _ref.buffAndDebuff;
32139
- var _useState = useState(initialLevel),
32140
- level = _useState[0],
32141
- setLevel = _useState[1];
32142
- var _useState2 = useState(initialSkillPoints),
32143
- skillPoints = _useState2[0],
32144
- setSkillPoints = _useState2[1];
32145
- var _useState3 = useState(initialSkillPointsToNextLevel || getSPForLevel(initialLevel + 1)),
32146
- skillPointsToNextLevel = _useState3[0],
32147
- setSkillPointsToNextLevel = _useState3[1];
32148
- // Update skill points and level from props when they change
32149
- useEffect(function () {
32150
- setLevel(initialLevel);
32151
- setSkillPoints(initialSkillPoints);
32152
- setSkillPointsToNextLevel(initialSkillPointsToNextLevel || getSPForLevel(initialLevel + 1));
32153
- }, [initialLevel, initialSkillPoints, initialSkillPointsToNextLevel]);
32154
- useEffect(function () {
32155
- if (skillPoints >= skillPointsToNextLevel) {
32156
- var excessSkillPoints = skillPoints - skillPointsToNextLevel;
32157
- var newLevel = level + 1;
32158
- setLevel(newLevel);
32159
- setSkillPoints(excessSkillPoints);
32160
- setSkillPointsToNextLevel(getSPForLevel(newLevel + 1));
32161
- }
32162
- }, [skillPoints, skillPointsToNextLevel, level]);
32163
- // Calculate the ratio, ensuring it doesn't exceed 100%
32164
- var ratio = Math.min(skillPoints / skillPointsToNextLevel * 100, 100);
32138
+ // Base skill points for the previous level (0 for level 1)
32139
+ var baseSkillPointsPrevLevel = level > 1 ? getSPForLevel(level - 1) : 0;
32140
+ // Total skill points needed for the next level
32141
+ var nextLevelSkillPoints = getSPForLevel(level + 1);
32142
+ // Calculate excess skill points above the previous level
32143
+ var excessSkillPoints = currentSkillPoints - baseSkillPointsPrevLevel;
32144
+ // Calculate progress percentage towards the next level
32145
+ var progress = nextLevelSkillPoints > baseSkillPointsPrevLevel ? Math.max(Math.min(excessSkillPoints / (nextLevelSkillPoints - baseSkillPointsPrevLevel) * 100, 100), 0) : 0;
32165
32146
  var skillsBuffsCalc = function skillsBuffsCalc(level, buffAndDebuff) {
32166
32147
  var result = level * (buffAndDebuff / 100);
32167
- return result > 0 ? "+" + result : "" + result;
32148
+ if (result > 0) {
32149
+ return "+" + result.toFixed(2);
32150
+ } else {
32151
+ return "" + result.toFixed(2);
32152
+ }
32168
32153
  };
32169
32154
  return React.createElement(React.Fragment, null, React.createElement(ProgressTitle, null, buffAndDebuff !== undefined && React.createElement(React.Fragment, null, buffAndDebuff > 0 ? React.createElement(BuffAndDebuffContainer, null, React.createElement(TitleNameContainer, null, React.createElement(TitleNameBuff, null, skillName), React.createElement(TitleNameBuff, null, "lv ", level, " (", skillsBuffsCalc(level, buffAndDebuff), ")")), React.createElement(TitleNameBuffContainer, null, React.createElement(TitleNameBuff, null, "(+", buffAndDebuff, "%)"))) : buffAndDebuff < 0 ? React.createElement(React.Fragment, null, React.createElement(TitleNameContainer, null, React.createElement(TitleNameDebuff, null, skillName), React.createElement(TitleNameDebuff, null, "lv ", level, " (", skillsBuffsCalc(level, buffAndDebuff), ")")), React.createElement("div", null, React.createElement(TitleNameDebuff, null, "(", buffAndDebuff, "%)"))) : React.createElement(TitleName, null, skillName)), !buffAndDebuff && React.createElement(TitleNameContainer, null, React.createElement(TitleName, null, skillName), React.createElement(ValueDisplay, null, "lv ", level))), React.createElement(ProgressBody, null, React.createElement(ProgressIconContainer, null, atlasIMG && atlasJSON ? React.createElement(SpriteContainer$2, null, React.createElement(ErrorBoundary, null, React.createElement(SpriteFromAtlas, {
32170
32155
  atlasIMG: atlasIMG,
@@ -32174,9 +32159,9 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
32174
32159
  grayScale: true,
32175
32160
  opacity: 0.5
32176
32161
  }))) : React.createElement(React.Fragment, null)), React.createElement(ProgressBarContainer$1, null, React.createElement(SimpleProgressBar, {
32177
- value: ratio,
32162
+ value: progress,
32178
32163
  bgColor: bgColor
32179
- }))), showSkillPoints && React.createElement(SkillDisplayContainer, null, React.createElement(SkillPointsDisplay, null, skillPoints, " / ", skillPointsToNextLevel, " (", ratio.toFixed(2), "%)")));
32164
+ }))), showSkillPoints && React.createElement(SkillDisplayContainer, null, React.createElement(SkillPointsDisplay, null, progress.toFixed(2), "%")));
32180
32165
  };
32181
32166
  var ProgressBarContainer$1 = /*#__PURE__*/styled.div.withConfig({
32182
32167
  displayName: "SkillProgressBar__ProgressBarContainer",