@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.
- package/dist/components/SkillProgressBar.d.ts +3 -1
- package/dist/components/SkillsContainer.d.ts +2 -2
- package/dist/long-bow.cjs.development.js +55 -36
- 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 +56 -37
- package/dist/long-bow.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/components/SkillProgressBar.tsx +20 -5
- package/src/components/SkillsContainer.tsx +14 -13
- package/src/mocks/skills.mocks.ts +21 -9
|
@@ -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 {
|
|
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
|
|
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
|
|
36526
|
-
var baseSkillPoints =
|
|
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
|
-
|
|
36682
|
-
|
|
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
|