@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.
@@ -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, getXPForLevel, getSkillConstants, getSPForLevelExponential, MetadataType, PurchaseType, UserAccountTypes, PaymentCurrency, PeriodOfDay } from '@rpg-engine/shared';
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 (passed from parent, calculated with correct formula)
36523
- var baseSkillPoints = skillPointsForCurrentLevel;
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
- var _Object$entries$_i = _Object$entries[_i],
36679
- key = _Object$entries$_i[0],
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