@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
package/dist/long-bow.esm.js
CHANGED
|
@@ -2,7 +2,7 @@ import React, { useState, useEffect, Component, useRef, useCallback, useContext,
|
|
|
2
2
|
import styled, { css, keyframes, createGlobalStyle } from 'styled-components';
|
|
3
3
|
import { BeatLoader } from 'react-spinners';
|
|
4
4
|
import { v4 } from 'uuid';
|
|
5
|
-
import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemQualityLevel, ItemRarities, ItemSubType, isMobile, TaskType, TaskStatus, isMobileOrTablet, RewardType, ItemSlotType, NPCSubtype, EntityAttackType, NPCAlignment, VideoGuideCategory, VideoGuideLanguage, CharacterClass, QuestStatus,
|
|
5
|
+
import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemQualityLevel, ItemRarities, ItemSubType, isMobile, TaskType, TaskStatus, isMobileOrTablet, RewardType, ItemSlotType, NPCSubtype, EntityAttackType, NPCAlignment, VideoGuideCategory, VideoGuideLanguage, CharacterClass, QuestStatus, getSkillConstants, getSPForLevelExponential, getSPForLevel, getXPForLevel, MetadataType, PurchaseType, UserAccountTypes, PaymentCurrency, PeriodOfDay } from '@rpg-engine/shared';
|
|
6
6
|
import dayjs from 'dayjs';
|
|
7
7
|
import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
|
|
8
8
|
import { FaTimes, FaDiscord, FaWhatsapp, FaSearch, FaThumbtack, FaBoxOpen, FaChevronLeft, FaChevronRight, FaClipboardList, FaChevronUp, FaChevronDown, FaReddit, FaTrash, FaShoppingBag, FaInfoCircle, FaCartPlus, FaArrowLeft, FaHistory, FaShoppingCart } from 'react-icons/fa';
|
|
@@ -36509,18 +36509,29 @@ var Tooltip = /*#__PURE__*/styled.div.withConfig({
|
|
|
36509
36509
|
var SkillProgressBar = function SkillProgressBar(_ref) {
|
|
36510
36510
|
var bgColor = _ref.bgColor,
|
|
36511
36511
|
skillName = _ref.skillName,
|
|
36512
|
+
skillKey = _ref.skillKey,
|
|
36513
|
+
characterClass = _ref.characterClass,
|
|
36512
36514
|
level = _ref.level,
|
|
36513
36515
|
currentSkillPoints = _ref.skillPoints,
|
|
36514
36516
|
skillPointsToNextLevel = _ref.skillPointsToNextLevel,
|
|
36515
|
-
skillPointsForCurrentLevel = _ref.skillPointsForCurrentLevel,
|
|
36516
36517
|
texturePath = _ref.texturePath,
|
|
36517
36518
|
_ref$showSkillPoints = _ref.showSkillPoints,
|
|
36518
36519
|
showSkillPoints = _ref$showSkillPoints === void 0 ? true : _ref$showSkillPoints,
|
|
36519
36520
|
atlasIMG = _ref.atlasIMG,
|
|
36520
36521
|
atlasJSON = _ref.atlasJSON,
|
|
36521
36522
|
buffAndDebuff = _ref.buffAndDebuff;
|
|
36522
|
-
// Skill points needed to start the current level
|
|
36523
|
-
var baseSkillPoints =
|
|
36523
|
+
// Skill points needed to start the current level
|
|
36524
|
+
var baseSkillPoints = useMemo(function () {
|
|
36525
|
+
if (skillKey && characterClass) {
|
|
36526
|
+
var _getSkillConstants = getSkillConstants(skillKey, characterClass),
|
|
36527
|
+
A = _getSkillConstants.A,
|
|
36528
|
+
b = _getSkillConstants.b,
|
|
36529
|
+
c = _getSkillConstants.c;
|
|
36530
|
+
return getSPForLevelExponential(level, A, b, c);
|
|
36531
|
+
}
|
|
36532
|
+
// Fallback to old formula for backwards compatibility
|
|
36533
|
+
return getSPForLevel(level);
|
|
36534
|
+
}, [level, skillKey, characterClass]);
|
|
36524
36535
|
var calculateProgress = function calculateProgress() {
|
|
36525
36536
|
var totalPointsForLevelUp = Math.max(1, skillPointsToNextLevel - baseSkillPoints);
|
|
36526
36537
|
var excessSkillPoints = Math.max(0, currentSkillPoints - baseSkillPoints);
|
|
@@ -36674,39 +36685,48 @@ var SkillsContainer = function SkillsContainer(_ref) {
|
|
|
36674
36685
|
var skillCategory = skillProps[category];
|
|
36675
36686
|
var skillCategoryColor = skillCategory.color;
|
|
36676
36687
|
var output = [];
|
|
36688
|
+
var _loop = function _loop() {
|
|
36689
|
+
var _Object$entries$_i = _Object$entries[_i],
|
|
36690
|
+
key = _Object$entries$_i[0],
|
|
36691
|
+
value = _Object$entries$_i[1];
|
|
36692
|
+
if (key === 'stamina') {
|
|
36693
|
+
return 0; // continue
|
|
36694
|
+
}
|
|
36695
|
+
//@ts-ignore
|
|
36696
|
+
var skillDetails = skill[key];
|
|
36697
|
+
if (!skillDetails) {
|
|
36698
|
+
return 0; // continue
|
|
36699
|
+
}
|
|
36700
|
+
// Calculate skillPointsToNextLevel using exponential formula if characterClass available
|
|
36701
|
+
var calcSkillPointsToNextLevel = function calcSkillPointsToNextLevel() {
|
|
36702
|
+
if (characterClass) {
|
|
36703
|
+
var _getSkillConstants = getSkillConstants(key, characterClass),
|
|
36704
|
+
A = _getSkillConstants.A,
|
|
36705
|
+
b = _getSkillConstants.b,
|
|
36706
|
+
c = _getSkillConstants.c;
|
|
36707
|
+
return Math.round(getSPForLevelExponential(skillDetails.level + 1, A, b, c));
|
|
36708
|
+
}
|
|
36709
|
+
return Math.round(getSPForLevel(skillDetails.level + 1));
|
|
36710
|
+
};
|
|
36711
|
+
output.push(React.createElement(SkillProgressBar, {
|
|
36712
|
+
key: key,
|
|
36713
|
+
skillName: skillNameMap[key],
|
|
36714
|
+
skillKey: key,
|
|
36715
|
+
characterClass: characterClass,
|
|
36716
|
+
bgColor: skillCategoryColor,
|
|
36717
|
+
level: skillDetails.level || 0,
|
|
36718
|
+
skillPoints: Math.round(skillDetails.skillPoints) || 0,
|
|
36719
|
+
skillPointsToNextLevel: calcSkillPointsToNextLevel(),
|
|
36720
|
+
texturePath: value,
|
|
36721
|
+
atlasIMG: atlasIMG,
|
|
36722
|
+
atlasJSON: atlasJSON,
|
|
36723
|
+
buffAndDebuff: skillDetails.buffAndDebuff
|
|
36724
|
+
}));
|
|
36725
|
+
},
|
|
36726
|
+
_ret;
|
|
36677
36727
|
for (var _i = 0, _Object$entries = Object.entries(skillCategory.values); _i < _Object$entries.length; _i++) {
|
|
36678
|
-
|
|
36679
|
-
|
|
36680
|
-
value = _Object$entries$_i[1];
|
|
36681
|
-
if (key === 'stamina') {
|
|
36682
|
-
continue;
|
|
36683
|
-
}
|
|
36684
|
-
//@ts-ignore
|
|
36685
|
-
var skillDetails = skill[key];
|
|
36686
|
-
if (!skillDetails) {
|
|
36687
|
-
continue;
|
|
36688
|
-
}
|
|
36689
|
-
// Get the skill constants for this skill and character class
|
|
36690
|
-
var _getSkillConstants = getSkillConstants(key, characterClass),
|
|
36691
|
-
A = _getSkillConstants.A,
|
|
36692
|
-
b = _getSkillConstants.b,
|
|
36693
|
-
c = _getSkillConstants.c;
|
|
36694
|
-
// Calculate SP thresholds using exponential formula
|
|
36695
|
-
var skillPointsForCurrentLevel = getSPForLevelExponential(skillDetails.level, A, b, c);
|
|
36696
|
-
var skillPointsToNextLevel = getSPForLevelExponential(skillDetails.level + 1, A, b, c);
|
|
36697
|
-
output.push(React.createElement(SkillProgressBar, {
|
|
36698
|
-
key: key,
|
|
36699
|
-
skillName: skillNameMap[key],
|
|
36700
|
-
bgColor: skillCategoryColor,
|
|
36701
|
-
level: skillDetails.level || 0,
|
|
36702
|
-
skillPoints: Math.round(skillDetails.skillPoints) || 0,
|
|
36703
|
-
skillPointsToNextLevel: skillPointsToNextLevel,
|
|
36704
|
-
skillPointsForCurrentLevel: skillPointsForCurrentLevel,
|
|
36705
|
-
texturePath: value,
|
|
36706
|
-
atlasIMG: atlasIMG,
|
|
36707
|
-
atlasJSON: atlasJSON,
|
|
36708
|
-
buffAndDebuff: skillDetails.buffAndDebuff
|
|
36709
|
-
}));
|
|
36728
|
+
_ret = _loop();
|
|
36729
|
+
if (_ret === 0) continue;
|
|
36710
36730
|
}
|
|
36711
36731
|
return output;
|
|
36712
36732
|
};
|
|
@@ -36727,7 +36747,6 @@ var SkillsContainer = function SkillsContainer(_ref) {
|
|
|
36727
36747
|
level: Math.round(skill.level) || 0,
|
|
36728
36748
|
skillPoints: Math.round(skill.experience) || 0,
|
|
36729
36749
|
skillPointsToNextLevel: Math.round(getXPForLevel(skill.level + 1)) || 0,
|
|
36730
|
-
skillPointsForCurrentLevel: Math.round(getXPForLevel(skill.level)) || 0,
|
|
36731
36750
|
texturePath: 'swords/broad-sword.png',
|
|
36732
36751
|
atlasIMG: atlasIMG,
|
|
36733
36752
|
atlasJSON: atlasJSON
|