@rpg-engine/long-bow 0.8.81 → 0.8.82

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.
@@ -1,13 +1,15 @@
1
+ import { CharacterClass } from '@rpg-engine/shared';
1
2
  import React from 'react';
2
3
  export interface ISkillProgressBarProps {
3
4
  skillName: string;
5
+ skillKey?: string;
6
+ characterClass?: CharacterClass;
4
7
  bgColor: string;
5
8
  level: number;
6
9
  skillPoints: number;
7
10
  texturePath: string;
8
11
  showSkillPoints?: boolean;
9
12
  skillPointsToNextLevel: number;
10
- skillPointsForCurrentLevel: number;
11
13
  atlasJSON: any;
12
14
  atlasIMG: any;
13
15
  buffAndDebuff?: number;
@@ -1,8 +1,8 @@
1
- import { CharacterClass, ISkill } from '@rpg-engine/shared';
1
+ import { ISkill, CharacterClass } from '@rpg-engine/shared';
2
2
  import React from 'react';
3
3
  export interface ISkillContainerProps {
4
4
  skill: ISkill;
5
- characterClass: CharacterClass;
5
+ characterClass?: CharacterClass;
6
6
  onCloseButton: () => void;
7
7
  atlasJSON: any;
8
8
  atlasIMG: any;
@@ -36512,18 +36512,29 @@ var Tooltip = /*#__PURE__*/styled__default.div.withConfig({
36512
36512
  var SkillProgressBar = function SkillProgressBar(_ref) {
36513
36513
  var bgColor = _ref.bgColor,
36514
36514
  skillName = _ref.skillName,
36515
+ skillKey = _ref.skillKey,
36516
+ characterClass = _ref.characterClass,
36515
36517
  level = _ref.level,
36516
36518
  currentSkillPoints = _ref.skillPoints,
36517
36519
  skillPointsToNextLevel = _ref.skillPointsToNextLevel,
36518
- skillPointsForCurrentLevel = _ref.skillPointsForCurrentLevel,
36519
36520
  texturePath = _ref.texturePath,
36520
36521
  _ref$showSkillPoints = _ref.showSkillPoints,
36521
36522
  showSkillPoints = _ref$showSkillPoints === void 0 ? true : _ref$showSkillPoints,
36522
36523
  atlasIMG = _ref.atlasIMG,
36523
36524
  atlasJSON = _ref.atlasJSON,
36524
36525
  buffAndDebuff = _ref.buffAndDebuff;
36525
- // Skill points needed to start the current level (passed from parent, calculated with correct formula)
36526
- var baseSkillPoints = skillPointsForCurrentLevel;
36526
+ // Skill points needed to start the current level
36527
+ var baseSkillPoints = React.useMemo(function () {
36528
+ if (skillKey && characterClass) {
36529
+ var _getSkillConstants = shared.getSkillConstants(skillKey, characterClass),
36530
+ A = _getSkillConstants.A,
36531
+ b = _getSkillConstants.b,
36532
+ c = _getSkillConstants.c;
36533
+ return shared.getSPForLevelExponential(level, A, b, c);
36534
+ }
36535
+ // Fallback to old formula for backwards compatibility
36536
+ return shared.getSPForLevel(level);
36537
+ }, [level, skillKey, characterClass]);
36527
36538
  var calculateProgress = function calculateProgress() {
36528
36539
  var totalPointsForLevelUp = Math.max(1, skillPointsToNextLevel - baseSkillPoints);
36529
36540
  var excessSkillPoints = Math.max(0, currentSkillPoints - baseSkillPoints);
@@ -36677,39 +36688,48 @@ var SkillsContainer = function SkillsContainer(_ref) {
36677
36688
  var skillCategory = skillProps[category];
36678
36689
  var skillCategoryColor = skillCategory.color;
36679
36690
  var output = [];
36691
+ var _loop = function _loop() {
36692
+ var _Object$entries$_i = _Object$entries[_i],
36693
+ key = _Object$entries$_i[0],
36694
+ value = _Object$entries$_i[1];
36695
+ if (key === 'stamina') {
36696
+ return 0; // continue
36697
+ }
36698
+ //@ts-ignore
36699
+ var skillDetails = skill[key];
36700
+ if (!skillDetails) {
36701
+ return 0; // continue
36702
+ }
36703
+ // Calculate skillPointsToNextLevel using exponential formula if characterClass available
36704
+ var calcSkillPointsToNextLevel = function calcSkillPointsToNextLevel() {
36705
+ if (characterClass) {
36706
+ var _getSkillConstants = shared.getSkillConstants(key, characterClass),
36707
+ A = _getSkillConstants.A,
36708
+ b = _getSkillConstants.b,
36709
+ c = _getSkillConstants.c;
36710
+ return Math.round(shared.getSPForLevelExponential(skillDetails.level + 1, A, b, c));
36711
+ }
36712
+ return Math.round(shared.getSPForLevel(skillDetails.level + 1));
36713
+ };
36714
+ output.push(React__default.createElement(SkillProgressBar, {
36715
+ key: key,
36716
+ skillName: skillNameMap[key],
36717
+ skillKey: key,
36718
+ characterClass: characterClass,
36719
+ bgColor: skillCategoryColor,
36720
+ level: skillDetails.level || 0,
36721
+ skillPoints: Math.round(skillDetails.skillPoints) || 0,
36722
+ skillPointsToNextLevel: calcSkillPointsToNextLevel(),
36723
+ texturePath: value,
36724
+ atlasIMG: atlasIMG,
36725
+ atlasJSON: atlasJSON,
36726
+ buffAndDebuff: skillDetails.buffAndDebuff
36727
+ }));
36728
+ },
36729
+ _ret;
36680
36730
  for (var _i = 0, _Object$entries = Object.entries(skillCategory.values); _i < _Object$entries.length; _i++) {
36681
- var _Object$entries$_i = _Object$entries[_i],
36682
- key = _Object$entries$_i[0],
36683
- value = _Object$entries$_i[1];
36684
- if (key === 'stamina') {
36685
- continue;
36686
- }
36687
- //@ts-ignore
36688
- var skillDetails = skill[key];
36689
- if (!skillDetails) {
36690
- continue;
36691
- }
36692
- // Get the skill constants for this skill and character class
36693
- var _getSkillConstants = shared.getSkillConstants(key, characterClass),
36694
- A = _getSkillConstants.A,
36695
- b = _getSkillConstants.b,
36696
- c = _getSkillConstants.c;
36697
- // Calculate SP thresholds using exponential formula
36698
- var skillPointsForCurrentLevel = shared.getSPForLevelExponential(skillDetails.level, A, b, c);
36699
- var skillPointsToNextLevel = shared.getSPForLevelExponential(skillDetails.level + 1, A, b, c);
36700
- output.push(React__default.createElement(SkillProgressBar, {
36701
- key: key,
36702
- skillName: skillNameMap[key],
36703
- bgColor: skillCategoryColor,
36704
- level: skillDetails.level || 0,
36705
- skillPoints: Math.round(skillDetails.skillPoints) || 0,
36706
- skillPointsToNextLevel: skillPointsToNextLevel,
36707
- skillPointsForCurrentLevel: skillPointsForCurrentLevel,
36708
- texturePath: value,
36709
- atlasIMG: atlasIMG,
36710
- atlasJSON: atlasJSON,
36711
- buffAndDebuff: skillDetails.buffAndDebuff
36712
- }));
36731
+ _ret = _loop();
36732
+ if (_ret === 0) continue;
36713
36733
  }
36714
36734
  return output;
36715
36735
  };
@@ -36730,7 +36750,6 @@ var SkillsContainer = function SkillsContainer(_ref) {
36730
36750
  level: Math.round(skill.level) || 0,
36731
36751
  skillPoints: Math.round(skill.experience) || 0,
36732
36752
  skillPointsToNextLevel: Math.round(shared.getXPForLevel(skill.level + 1)) || 0,
36733
- skillPointsForCurrentLevel: Math.round(shared.getXPForLevel(skill.level)) || 0,
36734
36753
  texturePath: 'swords/broad-sword.png',
36735
36754
  atlasIMG: atlasIMG,
36736
36755
  atlasJSON: atlasJSON