@rpg-engine/long-bow 0.8.191 → 0.8.193
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/long-bow.cjs.production.min.js +1 -1
- package/dist/long-bow.cjs.production.min.js.map +1 -1
- package/package.json +1 -1
- package/src/components/SkillInfoOverlay.tsx +100 -0
- package/src/components/SkillProgressBar.tsx +21 -2
- package/src/components/SkillsContainer.tsx +15 -1
- package/src/constants/skillInfoData.ts +158 -0
- package/dist/components/Abstractions/ModalPortal.d.ts +0 -6
- package/dist/components/Abstractions/SlotsContainer.d.ts +0 -18
- package/dist/components/Arrow/SelectArrow.d.ts +0 -9
- package/dist/components/AsyncDropdown.d.ts +0 -14
- package/dist/components/Button.d.ts +0 -12
- package/dist/components/Character/CharacterSelection.d.ts +0 -13
- package/dist/components/Character/CharacterSkinSelectionModal.d.ts +0 -12
- package/dist/components/Character/SkinSelectionGrid.d.ts +0 -11
- package/dist/components/CharacterStatus/CharacterStatus.d.ts +0 -9
- package/dist/components/Chat/Chat.d.ts +0 -25
- package/dist/components/ChatRevamp/ChatContent.d.ts +0 -28
- package/dist/components/ChatRevamp/ChatRevamp.d.ts +0 -3
- package/dist/components/ChatRevamp/ChatTabs.d.ts +0 -11
- package/dist/components/ChatRevamp/ExpandButton.d.ts +0 -7
- package/dist/components/ChatRevamp/RecentChats.d.ts +0 -17
- package/dist/components/ChatRevamp/SearchCharacter.d.ts +0 -14
- package/dist/components/ChatRevamp/types.d.ts +0 -34
- package/dist/components/Chatdeprecated/ChatDeprecated.d.ts +0 -13
- package/dist/components/CheckButton.d.ts +0 -13
- package/dist/components/CheckItem.d.ts +0 -7
- package/dist/components/CircularController/CircularController.d.ts +0 -14
- package/dist/components/ConfirmModal.d.ts +0 -7
- package/dist/components/CraftBook/CraftBook.d.ts +0 -20
- package/dist/components/CraftBook/CraftingRecipe.d.ts +0 -14
- package/dist/components/CraftBook/CraftingTooltip.d.ts +0 -12
- package/dist/components/CraftBook/MockItems.d.ts +0 -2
- package/dist/components/CraftBook/components/CraftBookHeader.d.ts +0 -9
- package/dist/components/CraftBook/components/CraftBookPagination.d.ts +0 -0
- package/dist/components/CraftBook/components/CraftBookSearch.d.ts +0 -0
- package/dist/components/CraftBook/hooks/useCraftBookFilters.d.ts +0 -9
- package/dist/components/CraftBook/hooks/useFilteredItems.d.ts +0 -9
- package/dist/components/CraftBook/hooks/usePagination.d.ts +0 -13
- package/dist/components/CraftBook/hooks/useResponsiveSize.d.ts +0 -6
- package/dist/components/CraftBook/utils/calculateMaxCraftable.d.ts +0 -2
- package/dist/components/CraftBook/utils/modifyString.d.ts +0 -1
- package/dist/components/DCWallet/DCHistoryPanel.d.ts +0 -18
- package/dist/components/DCWallet/DCTransferPanel.d.ts +0 -21
- package/dist/components/DCWallet/DCWalletContent.d.ts +0 -27
- package/dist/components/DCWallet/DCWalletModal.d.ts +0 -6
- package/dist/components/DPad/JoystickDPad.d.ts +0 -23
- package/dist/components/DailyTasks/DailyRewardsTooltip.d.ts +0 -11
- package/dist/components/DailyTasks/DailyTaskItem.d.ts +0 -15
- package/dist/components/DailyTasks/DailyTasks.d.ts +0 -15
- package/dist/components/DailyTasks/GlobalDailyProgress.d.ts +0 -9
- package/dist/components/DailyTasks/TaskProgress.d.ts +0 -11
- package/dist/components/DailyTasks/TaskProgressDetails.d.ts +0 -7
- package/dist/components/DailyTasks/utils/dailyTasks.utils.d.ts +0 -8
- package/dist/components/DraggableContainer.d.ts +0 -27
- package/dist/components/Dropdown.d.ts +0 -13
- package/dist/components/DropdownSelectorContainer.d.ts +0 -13
- package/dist/components/Equipment/EquipmentSet.d.ts +0 -27
- package/dist/components/Friends/FriendList.d.ts +0 -22
- package/dist/components/Friends/SearchFriend.d.ts +0 -14
- package/dist/components/HistoryDialog.d.ts +0 -14
- package/dist/components/Image/ZoomableImage.d.ts +0 -5
- package/dist/components/ImageCarousel/ImageCarousel.d.ts +0 -12
- package/dist/components/ImageCarousel/SimpleImageCarousel.d.ts +0 -9
- package/dist/components/InformationCenter/InformationCenter.d.ts +0 -20
- package/dist/components/InformationCenter/InformationCenterCell.d.ts +0 -14
- package/dist/components/InformationCenter/InformationCenterTabView.d.ts +0 -19
- package/dist/components/InformationCenter/sections/bestiary/BestiaryAdvancedFilters.d.ts +0 -13
- package/dist/components/InformationCenter/sections/bestiary/InformationCenterBestiarySection.d.ts +0 -15
- package/dist/components/InformationCenter/sections/bestiary/InformationCenterNPCDetails.d.ts +0 -15
- package/dist/components/InformationCenter/sections/bestiary/InformationCenterNPCTooltip.d.ts +0 -9
- package/dist/components/InformationCenter/sections/faq/InformationCenterFaqSection.d.ts +0 -9
- package/dist/components/InformationCenter/sections/items/InformationCenterItemDetails.d.ts +0 -11
- package/dist/components/InformationCenter/sections/items/InformationCenterItemTooltip.d.ts +0 -7
- package/dist/components/InformationCenter/sections/items/InformationCenterItemsSection.d.ts +0 -13
- package/dist/components/InformationCenter/sections/items/ItemsAdvancedFilters.d.ts +0 -11
- package/dist/components/InformationCenter/sections/tutorials/InformationCenterTutorialsSection.d.ts +0 -9
- package/dist/components/InformationCenter/shared/BaseInformationDetails.d.ts +0 -10
- package/dist/components/Input.d.ts +0 -5
- package/dist/components/InputRadio.d.ts +0 -10
- package/dist/components/InternalTabs/InternalTabs.d.ts +0 -18
- package/dist/components/Item/Cards/ItemInfo.d.ts +0 -10
- package/dist/components/Item/Cards/ItemInfoDisplay.d.ts +0 -10
- package/dist/components/Item/Cards/ItemInfoWrapper.d.ts +0 -12
- package/dist/components/Item/Cards/ItemTooltip.d.ts +0 -9
- package/dist/components/Item/Cards/MobileItemTooltip.d.ts +0 -18
- package/dist/components/Item/Inventory/DraggedItem.d.ts +0 -8
- package/dist/components/Item/Inventory/ErrorBoundary.d.ts +0 -14
- package/dist/components/Item/Inventory/ItemContainer.d.ts +0 -35
- package/dist/components/Item/Inventory/ItemContainerTypes.d.ts +0 -6
- package/dist/components/Item/Inventory/ItemGem.d.ts +0 -11
- package/dist/components/Item/Inventory/ItemPropertyColorSelector.d.ts +0 -14
- package/dist/components/Item/Inventory/ItemPropertySimpleHandler.d.ts +0 -14
- package/dist/components/Item/Inventory/ItemQuantitySelector.d.ts +0 -7
- package/dist/components/Item/Inventory/ItemQuantitySelectorModal.d.ts +0 -8
- package/dist/components/Item/Inventory/ItemSlot.d.ts +0 -56
- package/dist/components/Item/Inventory/ItemSlotQty/ItemSlotQty.d.ts +0 -9
- package/dist/components/Item/Inventory/ItemSlotQuality.d.ts +0 -2
- package/dist/components/Item/Inventory/ItemSlotRarity.d.ts +0 -2
- package/dist/components/Item/Inventory/ItemSlotRenderer.d.ts +0 -11
- package/dist/components/Item/Inventory/ItemSlotTooltips.d.ts +0 -12
- package/dist/components/Item/Inventory/context/ItemSlotDetailsContext.d.ts +0 -30
- package/dist/components/Item/Inventory/context/ItemSlotDraggingContext.d.ts +0 -22
- package/dist/components/Item/Inventory/itemContainerHelper.d.ts +0 -6
- package/dist/components/Leaderboard/Leaderboard.d.ts +0 -13
- package/dist/components/Leaderboard/LeaderboardTable.d.ts +0 -7
- package/dist/components/ListMenu.d.ts +0 -13
- package/dist/components/LoginStreak/LoginStreakPanel.d.ts +0 -17
- package/dist/components/Marketplace/BlueprintSearchModal.d.ts +0 -19
- package/dist/components/Marketplace/BlueprintTable.d.ts +0 -9
- package/dist/components/Marketplace/BuyOrderDetailsModal.d.ts +0 -19
- package/dist/components/Marketplace/BuyOrderPanel.d.ts +0 -26
- package/dist/components/Marketplace/BuyOrderRows.d.ts +0 -24
- package/dist/components/Marketplace/BuyPanel.d.ts +0 -36
- package/dist/components/Marketplace/CharacterDetailModal.d.ts +0 -17
- package/dist/components/Marketplace/CharacterListingForm.d.ts +0 -15
- package/dist/components/Marketplace/CharacterListingModal.d.ts +0 -17
- package/dist/components/Marketplace/CharacterMarketplacePanel.d.ts +0 -22
- package/dist/components/Marketplace/CharacterMarketplaceRows.d.ts +0 -26
- package/dist/components/Marketplace/GroupedRowContainer.d.ts +0 -7
- package/dist/components/Marketplace/HistoryPanel.d.ts +0 -18
- package/dist/components/Marketplace/ManagmentPanel.d.ts +0 -21
- package/dist/components/Marketplace/Marketplace.d.ts +0 -96
- package/dist/components/Marketplace/MarketplaceBuyModal.d.ts +0 -10
- package/dist/components/Marketplace/MarketplaceRows.d.ts +0 -30
- package/dist/components/Marketplace/MarketplaceSettingsPanel.d.ts +0 -8
- package/dist/components/Marketplace/MyCharacterListingsPanel.d.ts +0 -22
- package/dist/components/Marketplace/filters/index.d.ts +0 -8
- package/dist/components/Multitab/Tab.d.ts +0 -9
- package/dist/components/Multitab/TabBody.d.ts +0 -13
- package/dist/components/Multitab/TabsContainer.d.ts +0 -28
- package/dist/components/NPCDialog/NPCDialog.d.ts +0 -16
- package/dist/components/NPCDialog/NPCDialogText.d.ts +0 -11
- package/dist/components/NPCDialog/NPCMultiDialog.d.ts +0 -15
- package/dist/components/NPCDialog/QuestionDialog/QuestionDialog.d.ts +0 -17
- package/dist/components/Pager.d.ts +0 -10
- package/dist/components/PartySystem/PartyCreate/PartyCreate.d.ts +0 -6
- package/dist/components/PartySystem/PartyCreate/index.d.ts +0 -1
- package/dist/components/PartySystem/PartyDashboard/PartyDashboard.d.ts +0 -6
- package/dist/components/PartySystem/PartyDashboard/PartyRows.d.ts +0 -11
- package/dist/components/PartySystem/PartyDashboard/index.d.ts +0 -2
- package/dist/components/PartySystem/PartyInvite/PartyInvite.d.ts +0 -6
- package/dist/components/PartySystem/PartyInvite/PlayersRows.d.ts +0 -9
- package/dist/components/PartySystem/PartyInvite/index.d.ts +0 -2
- package/dist/components/PartySystem/PartyManager/PartyManager.d.ts +0 -9
- package/dist/components/PartySystem/PartyManager/PartyManagerRows.d.ts +0 -12
- package/dist/components/PartySystem/PartyManager/index.d.ts +0 -2
- package/dist/components/PartySystem/index.d.ts +0 -5
- package/dist/components/PartySystem/mockedConstantes/index.d.ts +0 -1
- package/dist/components/PartySystem/mockedConstantes/mockedValues.d.ts +0 -9
- package/dist/components/ProgressBar.d.ts +0 -12
- package/dist/components/PropertySelect/PropertySelect.d.ts +0 -13
- package/dist/components/QuantitySelector/QuantitySelector.d.ts +0 -9
- package/dist/components/QuantitySelector/QuantitySelectorModal.d.ts +0 -14
- package/dist/components/Quests/QuestInfo/QuestInfo.d.ts +0 -15
- package/dist/components/Quests/QuestList.d.ts +0 -16
- package/dist/components/RPGUI/RPGUIContainer.d.ts +0 -15
- package/dist/components/RPGUI/RPGUIForceRenderStart.d.ts +0 -9
- package/dist/components/RPGUI/RPGUIOverrides.d.ts +0 -6
- package/dist/components/RPGUI/RPGUIRoot.d.ts +0 -9
- package/dist/components/RPGUI/RPGUIScrollbar.d.ts +0 -6
- package/dist/components/RadioButton.d.ts +0 -11
- package/dist/components/RadioInput/RadioButton.d.ts +0 -8
- package/dist/components/RadioInput/RadioInput.d.ts +0 -13
- package/dist/components/RadioInput/instruments.d.ts +0 -4
- package/dist/components/RangeSlider.d.ts +0 -15
- package/dist/components/ReadOnlyCheckItem.d.ts +0 -7
- package/dist/components/RelativeListMenu.d.ts +0 -17
- package/dist/components/ScrollList.d.ts +0 -15
- package/dist/components/ShopModal/ShopModal.d.ts +0 -7
- package/dist/components/Shortcuts/Shortcuts.d.ts +0 -13
- package/dist/components/Shortcuts/ShortcutsSetter.d.ts +0 -12
- package/dist/components/Shortcuts/SingleShortcut.d.ts +0 -1
- package/dist/components/Shortcuts/useShortcutCooldown.d.ts +0 -4
- package/dist/components/SimpleProgressBar.d.ts +0 -7
- package/dist/components/SkillProgressBar.d.ts +0 -17
- package/dist/components/SkillsContainer.d.ts +0 -11
- package/dist/components/SocialModal/SocialModal.d.ts +0 -6
- package/dist/components/Spellbook/Spell.d.ts +0 -15
- package/dist/components/Spellbook/Spellbook.d.ts +0 -22
- package/dist/components/Spellbook/cards/MobileSpellTooltip.d.ts +0 -15
- package/dist/components/Spellbook/cards/SpellInfo.d.ts +0 -7
- package/dist/components/Spellbook/cards/SpellInfoDisplay.d.ts +0 -7
- package/dist/components/Spellbook/cards/SpellInfoWrapper.d.ts +0 -10
- package/dist/components/Spellbook/cards/SpellTooltip.d.ts +0 -6
- package/dist/components/Spellbook/constants.d.ts +0 -3
- package/dist/components/Spellbook/mockSpells.d.ts +0 -2
- package/dist/components/StaticBook/StaticBook.d.ts +0 -7
- package/dist/components/Stepper.d.ts +0 -22
- package/dist/components/Store/CartView.d.ts +0 -39
- package/dist/components/Store/CountdownTimer.d.ts +0 -7
- package/dist/components/Store/FeaturedBanner.d.ts +0 -23
- package/dist/components/Store/MetadataCollector.d.ts +0 -9
- package/dist/components/Store/PaymentMethodModal.d.ts +0 -11
- package/dist/components/Store/PurchaseSuccess.d.ts +0 -18
- package/dist/components/Store/Store.d.ts +0 -77
- package/dist/components/Store/StoreBadges.d.ts +0 -13
- package/dist/components/Store/StoreCharacterSkinRow.d.ts +0 -12
- package/dist/components/Store/StoreItemDetails.d.ts +0 -17
- package/dist/components/Store/StoreItemRow.d.ts +0 -25
- package/dist/components/Store/TrustBar.d.ts +0 -9
- package/dist/components/Store/hooks/useStoreCart.d.ts +0 -20
- package/dist/components/Store/hooks/useStoreMetadata.d.ts +0 -15
- package/dist/components/Store/sections/StoreItemsSection.d.ts +0 -27
- package/dist/components/Store/sections/StorePacksSection.d.ts +0 -24
- package/dist/components/Table/Table.d.ts +0 -10
- package/dist/components/Text/HighlightedText.d.ts +0 -6
- package/dist/components/TextArea.d.ts +0 -4
- package/dist/components/TimeWidget/DayNightPeriod/DayNightPeriod.d.ts +0 -6
- package/dist/components/TimeWidget/TimeWidget.d.ts +0 -9
- package/dist/components/Tooltip/Tooltip.d.ts +0 -1
- package/dist/components/TradingMenu/PremiumLabel.d.ts +0 -7
- package/dist/components/TradingMenu/TradingItemRow.d.ts +0 -13
- package/dist/components/TradingMenu/TradingMenu.d.ts +0 -14
- package/dist/components/TradingMenu/items.mock.d.ts +0 -14
- package/dist/components/TradingMenu/useTradingGold.d.ts +0 -16
- package/dist/components/Truncate.d.ts +0 -7
- package/dist/components/Tutorial/TutorialStepper.d.ts +0 -16
- package/dist/components/itemSelector/GemSelector.d.ts +0 -11
- package/dist/components/itemSelector/ItemSelector.d.ts +0 -14
- package/dist/components/shared/AdvancedFilters/AdvancedFilters.d.ts +0 -24
- package/dist/components/shared/BaseTooltip.d.ts +0 -12
- package/dist/components/shared/CTAButton/CTAButton.d.ts +0 -14
- package/dist/components/shared/Card/Card.d.ts +0 -14
- package/dist/components/shared/Collapsible/Collapsible.d.ts +0 -9
- package/dist/components/shared/Column.d.ts +0 -8
- package/dist/components/shared/CustomScrollbar.d.ts +0 -9
- package/dist/components/shared/DCRateStrip.d.ts +0 -2
- package/dist/components/shared/Divider/Divider.d.ts +0 -7
- package/dist/components/shared/Ellipsis.d.ts +0 -10
- package/dist/components/shared/ItemRowWrapper.d.ts +0 -3
- package/dist/components/shared/LabelPill/LabelPill.d.ts +0 -9
- package/dist/components/shared/LabelPill/index.d.ts +0 -1
- package/dist/components/shared/PaginatedContent/PaginatedContent.d.ts +0 -27
- package/dist/components/shared/Pagination/Pagination.d.ts +0 -9
- package/dist/components/shared/Portal/Portal.d.ts +0 -6
- package/dist/components/shared/RadioOption.d.ts +0 -22
- package/dist/components/shared/ScalableContainer.d.ts +0 -7
- package/dist/components/shared/ScrollableContent/ScrollableContent.d.ts +0 -23
- package/dist/components/shared/SearchBar/SearchBar.d.ts +0 -10
- package/dist/components/shared/SearchHeader/SearchHeader.d.ts +0 -18
- package/dist/components/shared/SegmentedToggle/SegmentedToggle.d.ts +0 -12
- package/dist/components/shared/SegmentedToggle/index.d.ts +0 -1
- package/dist/components/shared/ShoppingCart/CartCard.d.ts +0 -14
- package/dist/components/shared/ShoppingCart/CartCardHorizontal.d.ts +0 -13
- package/dist/components/shared/SimpleTooltip.d.ts +0 -12
- package/dist/components/shared/SpriteFromAtlas.d.ts +0 -20
- package/dist/components/shared/Tabs/Tabs.d.ts +0 -13
- package/dist/components/shared/Tabs/index.d.ts +0 -1
- package/dist/components/typography/DynamicText.d.ts +0 -8
- package/dist/constants/uiBreakpoints.d.ts +0 -2
- package/dist/constants/uiColors.d.ts +0 -22
- package/dist/constants/uiDevices.d.ts +0 -1
- package/dist/constants/uiFonts.d.ts +0 -12
- package/dist/hooks/useCharacterSkinNavigation.d.ts +0 -7
- package/dist/hooks/useChat.d.ts +0 -19
- package/dist/hooks/useCursorPosition.d.ts +0 -6
- package/dist/hooks/useEventListener.d.ts +0 -1
- package/dist/hooks/useLocalStorage.d.ts +0 -1
- package/dist/hooks/useOutsideAlerter.d.ts +0 -1
- package/dist/hooks/usePackFiltering.d.ts +0 -7
- package/dist/hooks/useQuantityControl.d.ts +0 -10
- package/dist/hooks/useScrollOnDrag.d.ts +0 -11
- package/dist/hooks/useShortcuts.d.ts +0 -12
- package/dist/hooks/useStoreFiltering.d.ts +0 -11
- package/dist/hooks/useTapAndHold.d.ts +0 -10
- package/dist/hooks/useTooltipPosition.d.ts +0 -15
- package/dist/hooks/useTouchTarget.d.ts +0 -5
- package/dist/index.d.ts +0 -97
- package/dist/libs/CastingTypeHelper.d.ts +0 -1
- package/dist/libs/StringHelpers.d.ts +0 -1
- package/dist/libs/itemCounter.d.ts +0 -2
- package/dist/long-bow.cjs.development.js +0 -74174
- package/dist/long-bow.cjs.development.js.map +0 -1
- package/dist/long-bow.esm.js +0 -74038
- package/dist/long-bow.esm.js.map +0 -1
- package/dist/mocks/dailyTasks.mocks.d.ts +0 -2
- package/dist/mocks/equipmentSet.mocks.d.ts +0 -16
- package/dist/mocks/informationCenter.mocks.d.ts +0 -5
- package/dist/mocks/itemContainer.mocks.d.ts +0 -3
- package/dist/mocks/leaderboard.mocks.d.ts +0 -4
- package/dist/mocks/shortcut.mocks.d.ts +0 -19
- package/dist/mocks/skills.mocks.d.ts +0 -2
- package/dist/stories/Character/SkinSelectionGrid.stories.d.ts +0 -1
- package/dist/stories/Character/character/CharacterSelection.stories.d.ts +0 -4
- package/dist/stories/Character/character/CharacterSkinSelectionModal.stories.d.ts +0 -1
- package/dist/stories/Character/character/CharacterStatus.stories.d.ts +0 -5
- package/dist/stories/Character/equipment/EquipmentSet.stories.d.ts +0 -5
- package/dist/stories/Character/skills/SkillProgressBar.stories.d.ts +0 -5
- package/dist/stories/Character/skills/SkillsContainer.stories.d.ts +0 -5
- package/dist/stories/Features/chat/Chat.stories.d.ts +0 -5
- package/dist/stories/Features/chat/ChatDeprecated.stories.d.ts +0 -5
- package/dist/stories/Features/chat/ChatRevamp.stories.d.ts +0 -9
- package/dist/stories/Features/controller/CircullarController.stories.d.ts +0 -5
- package/dist/stories/Features/craftbook/CraftBook.stories.d.ts +0 -8
- package/dist/stories/Features/dailyTasks/DailyTasks.stories.d.ts +0 -1
- package/dist/stories/Features/friend/FriendList.stories.d.ts +0 -5
- package/dist/stories/Features/leaderboard/Leaderboard.stories.d.ts +0 -7
- package/dist/stories/Features/loginStreak/LoginStreakPanel.stories.d.ts +0 -1
- package/dist/stories/Features/marketplace/BlueprintSearchModal.stories.d.ts +0 -1
- package/dist/stories/Features/marketplace/BuyOrderPanel.stories.d.ts +0 -1
- package/dist/stories/Features/marketplace/BuyOrderRows.stories.d.ts +0 -1
- package/dist/stories/Features/marketplace/CharacterDetailModal.stories.d.ts +0 -7
- package/dist/stories/Features/marketplace/CharacterListingModal.stories.d.ts +0 -8
- package/dist/stories/Features/marketplace/CharacterMarketplace.stories.d.ts +0 -11
- package/dist/stories/Features/marketplace/HistoryPanel.stories.d.ts +0 -1
- package/dist/stories/Features/party/PartyCreate.stories.d.ts +0 -5
- package/dist/stories/Features/party/PartyDashboard.stories.d.ts +0 -5
- package/dist/stories/Features/party/PartyInvite.stories.d.ts +0 -5
- package/dist/stories/Features/party/PartyManager.stories.d.ts +0 -6
- package/dist/stories/Features/quest/QuestInfo.stories.d.ts +0 -5
- package/dist/stories/Features/quest/QuestList.stories.d.ts +0 -8
- package/dist/stories/Features/shortcuts/Shortcuts.stories.d.ts +0 -5
- package/dist/stories/Features/spells/SpellInfoDisplay.stories.d.ts +0 -8
- package/dist/stories/Features/spells/Spellbook.stories.d.ts +0 -5
- package/dist/stories/Features/store/FeaturedBanner.stories.d.ts +0 -1
- package/dist/stories/Features/store/MetadataCollector.stories.d.ts +0 -1
- package/dist/stories/Features/store/PurchaseSuccess.stories.d.ts +0 -1
- package/dist/stories/Features/store/Store.stories.d.ts +0 -1
- package/dist/stories/Features/store/StoreBadges.stories.d.ts +0 -1
- package/dist/stories/Features/store/TrustBar.stories.d.ts +0 -1
- package/dist/stories/Features/trading/ItemTradingComponent.stories.d.ts +0 -5
- package/dist/stories/Features/trading/Marketplace.stories.d.ts +0 -4
- package/dist/stories/Features/trading/MarketplaceRows.stories.d.ts +0 -6
- package/dist/stories/Features/trading/TradingMenu.stories.d.ts +0 -5
- package/dist/stories/Features/weather/DayNightPeriod.stories.d.ts +0 -5
- package/dist/stories/Features/weather/TimeWidget.stories.d.ts +0 -5
- package/dist/stories/Item/ItemInfoDisplay.stories.d.ts +0 -8
- package/dist/stories/NPC/dialog/NPCDialog.stories.d.ts +0 -7
- package/dist/stories/NPC/dialog/NPCHistoryDialog.stories.d.ts +0 -5
- package/dist/stories/NPC/dialog/NPCMultiDialog.stories.d.ts +0 -5
- package/dist/stories/UI/RPGUI/RPGUIContainers.stories.d.ts +0 -5
- package/dist/stories/UI/books/StaticBook.stories.d.ts +0 -5
- package/dist/stories/UI/buttonsAndInputs/Button.stories.d.ts +0 -5
- package/dist/stories/UI/buttonsAndInputs/CTAButton.stories.d.ts +0 -18
- package/dist/stories/UI/buttonsAndInputs/CheckItem.stories.d.ts +0 -7
- package/dist/stories/UI/buttonsAndInputs/RadioButton.stories.d.ts +0 -5
- package/dist/stories/UI/buttonsAndInputs/RadioInput.stories.d.ts +0 -5
- package/dist/stories/UI/buttonsAndInputs/SegmentedToggle.stories.d.ts +0 -6
- package/dist/stories/UI/containers/DraggableContainer.stories.d.ts +0 -5
- package/dist/stories/UI/containers/ItemContainer.stories.d.ts +0 -11
- package/dist/stories/UI/dropdownsAndSelectors/Arrow.stories.d.ts +0 -5
- package/dist/stories/UI/dropdownsAndSelectors/Dropdown.stories.d.ts +0 -5
- package/dist/stories/UI/dropdownsAndSelectors/DropdownSelectorContainer.stories.d.ts +0 -5
- package/dist/stories/UI/dropdownsAndSelectors/GemSelector.stories.d.ts +0 -5
- package/dist/stories/UI/dropdownsAndSelectors/ItemPropertyColorSelector.stories.d.ts +0 -6
- package/dist/stories/UI/dropdownsAndSelectors/ItemQuantitySelector.stories.d.ts +0 -5
- package/dist/stories/UI/dropdownsAndSelectors/ItemSelector.stories.d.ts +0 -4
- package/dist/stories/UI/dropdownsAndSelectors/PropertySelect.stories.d.ts +0 -5
- package/dist/stories/UI/images/ImageCarousel.stories.d.ts +0 -6
- package/dist/stories/UI/images/SimpleImageCarousel.stories.d.ts +0 -5
- package/dist/stories/UI/info/InformationCenter.stories.d.ts +0 -7
- package/dist/stories/UI/joystick/JoystickDPad.stories.d.ts +0 -6
- package/dist/stories/UI/lists/ListMenu.stories.d.ts +0 -5
- package/dist/stories/UI/lists/ScrollList.stories.d.ts +0 -5
- package/dist/stories/UI/modals/ConfirmModal.stories.d.ts +0 -5
- package/dist/stories/UI/modals/ShopModal.stories.d.ts +0 -5
- package/dist/stories/UI/progress/ProgressBar.stories.d.ts +0 -8
- package/dist/stories/UI/progress/SimpleProgressBar.stories.d.ts +0 -5
- package/dist/stories/UI/sliders/RangeSlider.stories.d.ts +0 -5
- package/dist/stories/UI/steppers/Stepper.stories.d.ts +0 -5
- package/dist/stories/UI/steppers/TutorialStepper.stories.d.ts +0 -5
- package/dist/stories/UI/tabs/InternalTabs.stories.d.ts +0 -7
- package/dist/stories/UI/tabs/Multitab.stories.d.ts +0 -6
- package/dist/stories/UI/text/LabelPill.stories.d.ts +0 -7
- package/dist/stories/UI/text/Text.stories.d.ts +0 -7
- package/dist/stories/shared/RadioOption.stories.d.ts +0 -8
- package/dist/types/eventTypes.d.ts +0 -4
- package/dist/utils/atlasUtils.d.ts +0 -2
- package/dist/utils/colorUtils.d.ts +0 -1
- package/dist/utils/itemUtils.d.ts +0 -8
package/package.json
CHANGED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import styled from 'styled-components';
|
|
3
|
+
import { ISkillInfoEntry } from '../constants/skillInfoData';
|
|
4
|
+
|
|
5
|
+
interface IProps {
|
|
6
|
+
info: ISkillInfoEntry;
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const SkillInfoOverlay: React.FC<IProps> = ({ info, onClose }) => (
|
|
11
|
+
<Overlay>
|
|
12
|
+
<Header>
|
|
13
|
+
<ColorBar $color={info.color} />
|
|
14
|
+
<Title $color={info.color}>{info.name}</Title>
|
|
15
|
+
<CloseBtn onPointerDown={onClose}>✕</CloseBtn>
|
|
16
|
+
</Header>
|
|
17
|
+
<Section>
|
|
18
|
+
<Label>What it does</Label>
|
|
19
|
+
<Text>{info.description}</Text>
|
|
20
|
+
</Section>
|
|
21
|
+
<Section>
|
|
22
|
+
<Label>How to train</Label>
|
|
23
|
+
<Text>{info.howToTrain}</Text>
|
|
24
|
+
</Section>
|
|
25
|
+
{info.notes && (
|
|
26
|
+
<Section>
|
|
27
|
+
<Label>Notes</Label>
|
|
28
|
+
<Text>{info.notes}</Text>
|
|
29
|
+
</Section>
|
|
30
|
+
)}
|
|
31
|
+
</Overlay>
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
const Overlay = styled.div`
|
|
35
|
+
position: absolute;
|
|
36
|
+
inset: 0;
|
|
37
|
+
background: rgba(20, 20, 30, 0.97);
|
|
38
|
+
z-index: 10;
|
|
39
|
+
overflow-y: auto;
|
|
40
|
+
padding: 0.75rem;
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-direction: column;
|
|
43
|
+
gap: 0.75rem;
|
|
44
|
+
`;
|
|
45
|
+
|
|
46
|
+
const Header = styled.div`
|
|
47
|
+
display: flex;
|
|
48
|
+
flex-direction: row;
|
|
49
|
+
align-items: center;
|
|
50
|
+
gap: 0.4rem;
|
|
51
|
+
margin-bottom: 0.25rem;
|
|
52
|
+
`;
|
|
53
|
+
|
|
54
|
+
const ColorBar = styled.div<{ $color: string }>`
|
|
55
|
+
width: 3px;
|
|
56
|
+
height: 1rem;
|
|
57
|
+
background: ${({ $color }) => $color};
|
|
58
|
+
border-radius: 2px;
|
|
59
|
+
flex-shrink: 0;
|
|
60
|
+
`;
|
|
61
|
+
|
|
62
|
+
const Title = styled.span<{ $color: string }>`
|
|
63
|
+
font-size: 0.65rem;
|
|
64
|
+
font-weight: bold;
|
|
65
|
+
flex: 1;
|
|
66
|
+
color: ${({ $color }) => $color};
|
|
67
|
+
`;
|
|
68
|
+
|
|
69
|
+
const CloseBtn = styled.div`
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
color: rgba(255, 255, 255, 0.6);
|
|
72
|
+
font-size: 0.7rem;
|
|
73
|
+
line-height: 1;
|
|
74
|
+
padding: 2px 4px;
|
|
75
|
+
|
|
76
|
+
&:hover {
|
|
77
|
+
color: rgba(255, 255, 255, 0.9);
|
|
78
|
+
}
|
|
79
|
+
`;
|
|
80
|
+
|
|
81
|
+
const Section = styled.div`
|
|
82
|
+
display: flex;
|
|
83
|
+
flex-direction: column;
|
|
84
|
+
gap: 0.15rem;
|
|
85
|
+
`;
|
|
86
|
+
|
|
87
|
+
const Label = styled.span`
|
|
88
|
+
font-size: 0.5rem;
|
|
89
|
+
font-weight: bold;
|
|
90
|
+
text-transform: uppercase;
|
|
91
|
+
letter-spacing: 0.05em;
|
|
92
|
+
color: rgba(255, 255, 255, 0.45);
|
|
93
|
+
`;
|
|
94
|
+
|
|
95
|
+
const Text = styled.p`
|
|
96
|
+
font-size: 0.55rem;
|
|
97
|
+
line-height: 1.5;
|
|
98
|
+
color: rgba(255, 255, 255, 0.85);
|
|
99
|
+
margin: 0;
|
|
100
|
+
`;
|
|
@@ -27,6 +27,7 @@ export interface ISkillProgressBarProps {
|
|
|
27
27
|
atlasJSON: any;
|
|
28
28
|
atlasIMG: any;
|
|
29
29
|
buffAndDebuff?: number;
|
|
30
|
+
onClick?: () => void;
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
export const SkillProgressBar: React.FC<ISkillProgressBarProps> = ({
|
|
@@ -43,6 +44,7 @@ export const SkillProgressBar: React.FC<ISkillProgressBarProps> = ({
|
|
|
43
44
|
atlasJSON,
|
|
44
45
|
|
|
45
46
|
buffAndDebuff,
|
|
47
|
+
onClick,
|
|
46
48
|
}) => {
|
|
47
49
|
// Use CharacterClass.None as default if skillKey is provided but characterClass is not
|
|
48
50
|
const effectiveClass = characterClass ?? CharacterClass.None;
|
|
@@ -107,7 +109,7 @@ export const SkillProgressBar: React.FC<ISkillProgressBarProps> = ({
|
|
|
107
109
|
};
|
|
108
110
|
|
|
109
111
|
return (
|
|
110
|
-
|
|
112
|
+
<ClickableRow onClick={onClick} $isClickable={!!onClick}>
|
|
111
113
|
<ProgressTitle>
|
|
112
114
|
{buffAndDebuff !== undefined && (
|
|
113
115
|
<>
|
|
@@ -182,7 +184,7 @@ export const SkillProgressBar: React.FC<ISkillProgressBarProps> = ({
|
|
|
182
184
|
<SkillPointsDisplay>{progress.toFixed(2)}%</SkillPointsDisplay>
|
|
183
185
|
</SkillDisplayContainer>
|
|
184
186
|
)}
|
|
185
|
-
|
|
187
|
+
</ClickableRow>
|
|
186
188
|
);
|
|
187
189
|
};
|
|
188
190
|
|
|
@@ -263,3 +265,20 @@ const TitleNameContainer = styled.div`
|
|
|
263
265
|
display: flex;
|
|
264
266
|
justify-content: space-between;
|
|
265
267
|
`;
|
|
268
|
+
|
|
269
|
+
const ClickableRow = styled.div<{ $isClickable: boolean }>`
|
|
270
|
+
cursor: ${({ $isClickable }) => ($isClickable ? 'pointer' : 'default')};
|
|
271
|
+
border-radius: 4px;
|
|
272
|
+
transition: background-color 0.15s ease;
|
|
273
|
+
|
|
274
|
+
${({ $isClickable }) =>
|
|
275
|
+
$isClickable &&
|
|
276
|
+
`
|
|
277
|
+
&:hover {
|
|
278
|
+
background-color: rgba(255, 255, 255, 0.05);
|
|
279
|
+
}
|
|
280
|
+
&:active {
|
|
281
|
+
background-color: rgba(255, 255, 255, 0.1);
|
|
282
|
+
}
|
|
283
|
+
`}
|
|
284
|
+
`;
|
|
@@ -6,10 +6,12 @@ import {
|
|
|
6
6
|
CharacterClass,
|
|
7
7
|
getXPForLevel,
|
|
8
8
|
} from '@rpg-engine/shared';
|
|
9
|
-
import React from 'react';
|
|
9
|
+
import React, { useState } from 'react';
|
|
10
10
|
import styled from 'styled-components';
|
|
11
11
|
import { uiColors } from '../constants/uiColors';
|
|
12
|
+
import { SKILL_INFO_DATA } from '../constants/skillInfoData';
|
|
12
13
|
import { DraggableContainer } from './DraggableContainer';
|
|
14
|
+
import { SkillInfoOverlay } from './SkillInfoOverlay';
|
|
13
15
|
import { SkillProgressBar } from './SkillProgressBar';
|
|
14
16
|
|
|
15
17
|
export interface ISkillContainerProps {
|
|
@@ -94,6 +96,9 @@ export const SkillsContainer: React.FC<ISkillContainerProps> = ({
|
|
|
94
96
|
atlasJSON,
|
|
95
97
|
scale,
|
|
96
98
|
}) => {
|
|
99
|
+
const [selectedSkillKey, setSelectedSkillKey] = useState<string | null>(null);
|
|
100
|
+
const selectedInfo = selectedSkillKey ? SKILL_INFO_DATA[selectedSkillKey] : null;
|
|
101
|
+
|
|
97
102
|
const onRenderSkillCategory = (
|
|
98
103
|
category: 'attributes' | 'combat' | 'crafting'
|
|
99
104
|
) => {
|
|
@@ -135,6 +140,7 @@ export const SkillsContainer: React.FC<ISkillContainerProps> = ({
|
|
|
135
140
|
atlasIMG={atlasIMG}
|
|
136
141
|
atlasJSON={atlasJSON}
|
|
137
142
|
buffAndDebuff={skillDetails.buffAndDebuff}
|
|
143
|
+
onClick={() => setSelectedSkillKey(key)}
|
|
138
144
|
/>
|
|
139
145
|
);
|
|
140
146
|
}
|
|
@@ -152,6 +158,12 @@ export const SkillsContainer: React.FC<ISkillContainerProps> = ({
|
|
|
152
158
|
{onCloseButton && (
|
|
153
159
|
<CloseButton onPointerDown={onCloseButton}>X</CloseButton>
|
|
154
160
|
)}
|
|
161
|
+
{selectedInfo && (
|
|
162
|
+
<SkillInfoOverlay
|
|
163
|
+
info={selectedInfo}
|
|
164
|
+
onClose={() => setSelectedSkillKey(null)}
|
|
165
|
+
/>
|
|
166
|
+
)}
|
|
155
167
|
<SkillsContainerDiv id="skillsDiv">
|
|
156
168
|
<SkillSplitDiv>
|
|
157
169
|
<p>General</p>
|
|
@@ -168,6 +180,7 @@ export const SkillsContainer: React.FC<ISkillContainerProps> = ({
|
|
|
168
180
|
texturePath={'swords/broad-sword.png'}
|
|
169
181
|
atlasIMG={atlasIMG}
|
|
170
182
|
atlasJSON={atlasJSON}
|
|
183
|
+
onClick={() => setSelectedSkillKey('level')}
|
|
171
184
|
/>
|
|
172
185
|
|
|
173
186
|
<p>Combat Skills</p>
|
|
@@ -195,6 +208,7 @@ export const SkillsContainer: React.FC<ISkillContainerProps> = ({
|
|
|
195
208
|
};
|
|
196
209
|
|
|
197
210
|
const SkillsDraggableContainer = styled(DraggableContainer)`
|
|
211
|
+
position: relative;
|
|
198
212
|
border: 1px solid black;
|
|
199
213
|
|
|
200
214
|
max-width: 450px;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
export interface ISkillInfoEntry {
|
|
2
|
+
name: string;
|
|
3
|
+
color: string;
|
|
4
|
+
description: string;
|
|
5
|
+
howToTrain: string;
|
|
6
|
+
notes?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const COMBAT_COLOR = '#C5283D';
|
|
10
|
+
const CRAFTING_COLOR = '#597DCE';
|
|
11
|
+
const ATTRIBUTE_COLOR = '#6833A3';
|
|
12
|
+
const LEVEL_COLOR = '#0E79B2';
|
|
13
|
+
|
|
14
|
+
export const SKILL_INFO_DATA: Record<string, ISkillInfoEntry> = {
|
|
15
|
+
first: {
|
|
16
|
+
name: 'Fist',
|
|
17
|
+
color: COMBAT_COLOR,
|
|
18
|
+
description: 'Governs your effectiveness when fighting unarmed or with punch-type weapons. Your level directly scales unarmed attack damage and attack speed.',
|
|
19
|
+
howToTrain: 'Deal damage to enemies while fighting with no weapon equipped or while wearing leather gloves.',
|
|
20
|
+
notes: 'No equipment is required to train this skill — useful for new players. Berserker class receives a strong affinity bonus.',
|
|
21
|
+
},
|
|
22
|
+
club: {
|
|
23
|
+
name: 'Club',
|
|
24
|
+
color: COMBAT_COLOR,
|
|
25
|
+
description: 'Determines your proficiency with mace-type weapons such as clubs and hammers. Higher level increases damage dealt and reduces attack interval.',
|
|
26
|
+
howToTrain: 'Deal damage to enemies while wielding any mace-type weapon.',
|
|
27
|
+
notes: 'Mace weapons deal more consistent damage than swords but have slower attack speed. Useful against heavily armored enemies.',
|
|
28
|
+
},
|
|
29
|
+
sword: {
|
|
30
|
+
name: 'Sword',
|
|
31
|
+
color: COMBAT_COLOR,
|
|
32
|
+
description: 'Governs your mastery of one-handed and two-handed swords. Level scales both the damage bonus and effective swing speed of sword attacks.',
|
|
33
|
+
howToTrain: 'Deal damage to enemies while wielding any sword-type weapon.',
|
|
34
|
+
notes: 'Swords are the most balanced combat skill — moderate damage, moderate speed. Knight class has an affinity bonus to sword progression.',
|
|
35
|
+
},
|
|
36
|
+
axe: {
|
|
37
|
+
name: 'Axe',
|
|
38
|
+
color: COMBAT_COLOR,
|
|
39
|
+
description: 'Controls your skill with axe-type weapons. High axe level gives the biggest per-hit damage increase of any melee weapon type.',
|
|
40
|
+
howToTrain: 'Deal damage to enemies while wielding any axe-type weapon.',
|
|
41
|
+
notes: 'Axes have the highest damage ceiling of melee weapons but the slowest base attack speed. Best for burst damage on single targets.',
|
|
42
|
+
},
|
|
43
|
+
distance: {
|
|
44
|
+
name: 'Distance',
|
|
45
|
+
color: COMBAT_COLOR,
|
|
46
|
+
description: 'Measures your accuracy and damage with ranged weapons such as bows, crossbows, and spears. Level reduces miss chance and increases projectile damage.',
|
|
47
|
+
howToTrain: 'Deal damage to enemies using any ranged weapon.',
|
|
48
|
+
notes: 'Allows attacking from a safe range. Archer class receives a notable affinity bonus. Vigor level affects the delay between ranged shots.',
|
|
49
|
+
},
|
|
50
|
+
shielding: {
|
|
51
|
+
name: 'Shielding',
|
|
52
|
+
color: COMBAT_COLOR,
|
|
53
|
+
description: 'Represents your skill at blocking with shields. Higher level increases the percentage of incoming damage blocked per successful shield block and lowers block failure chance.',
|
|
54
|
+
howToTrain: 'Receive attacks from enemies while a shield is equipped in your off-hand slot.',
|
|
55
|
+
notes: 'Purely defensive — trains only when you are being hit, not when you attack. Any shield enables training. Paladin and Knight classes have affinity bonuses.',
|
|
56
|
+
},
|
|
57
|
+
dagger: {
|
|
58
|
+
name: 'Dagger',
|
|
59
|
+
color: COMBAT_COLOR,
|
|
60
|
+
description: 'Governs your technique with daggers and short blades. Daggers are fast but deal less per-hit damage; high level compensates with additional attack speed and critical hit probability.',
|
|
61
|
+
howToTrain: 'Deal damage to enemies while wielding any dagger-type weapon.',
|
|
62
|
+
notes: 'Daggers have the fastest attack speed of any melee weapon type. Rogue class has a strong affinity bonus to dagger progression.',
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
fishing: {
|
|
66
|
+
name: 'Fishing',
|
|
67
|
+
color: CRAFTING_COLOR,
|
|
68
|
+
description: 'Determines your success rate and yield when fishing. Higher levels unlock catches of rarer fish species and reduce waiting time between bites.',
|
|
69
|
+
howToTrain: 'Use a fishing rod near any water body with a fish resource. Each successful catch grants Skill Points.',
|
|
70
|
+
notes: 'A fishing rod must be equipped. Caught fish can be cooked with the Cooking skill. Druid class has a 10% bonus.',
|
|
71
|
+
},
|
|
72
|
+
farming: {
|
|
73
|
+
name: 'Farming',
|
|
74
|
+
color: CRAFTING_COLOR,
|
|
75
|
+
description: 'Controls your efficiency when cultivating crops. Level affects harvest quantity, double-harvest chance, and which rare crop varieties you can grow.',
|
|
76
|
+
howToTrain: 'Plant seeds in farming spots using a watering can, then harvest mature crops. Each harvest grants Skill Points.',
|
|
77
|
+
notes: 'Requires seeds (purchasable from farming NPCs) and a watering can. Crops must be watered at least once before harvest. Druid class has a 20% affinity bonus.',
|
|
78
|
+
},
|
|
79
|
+
mining: {
|
|
80
|
+
name: 'Mining',
|
|
81
|
+
color: CRAFTING_COLOR,
|
|
82
|
+
description: 'Governs your ability to extract ore and stone from rock nodes. Level determines which ore types you can mine and how many resources you yield per swing.',
|
|
83
|
+
howToTrain: 'Mine rock or ore nodes with a pickaxe. Each successful resource extraction grants Skill Points.',
|
|
84
|
+
notes: 'A pickaxe must be equipped. Higher mining levels unlock rarer ores found in deeper zones. Dwarf race has a 20% bonus.',
|
|
85
|
+
},
|
|
86
|
+
lumberjacking: {
|
|
87
|
+
name: 'Lumberjacking',
|
|
88
|
+
color: CRAFTING_COLOR,
|
|
89
|
+
description: 'Controls your skill at chopping trees for wood. Level determines which tree types you can cut and the number of logs obtained per swing.',
|
|
90
|
+
howToTrain: 'Chop tree resource nodes with an axe equipped. Each log obtained grants Skill Points.',
|
|
91
|
+
notes: 'Any axe-type weapon doubles as a lumberjacking tool — there is no separate lumberjacking tool. Rarer wood types require higher skill and appear in higher-level zones.',
|
|
92
|
+
},
|
|
93
|
+
blacksmithing: {
|
|
94
|
+
name: 'Blacksmithing',
|
|
95
|
+
color: CRAFTING_COLOR,
|
|
96
|
+
description: 'Determines your ability to craft metal equipment such as weapons and armor at forge stations. Higher level unlocks stronger recipes and improves crafted item quality.',
|
|
97
|
+
howToTrain: "Craft metal items at a blacksmith's forge using ingots and other materials. Each successful craft grants Skill Points.",
|
|
98
|
+
notes: 'Requires materials obtained from mining. Blacksmithing produces tradeable equipment items. Higher level recipes require rare ingots. Rogue class has a 10% bonus.',
|
|
99
|
+
},
|
|
100
|
+
cooking: {
|
|
101
|
+
name: 'Cooking',
|
|
102
|
+
color: CRAFTING_COLOR,
|
|
103
|
+
description: 'Governs your ability to prepare food from raw ingredients. Cooked food restores HP or provides temporary stat buffs. Higher level produces more potent food.',
|
|
104
|
+
howToTrain: 'Cook raw food items at a cooking station or campfire. Each successful cook grants Skill Points.',
|
|
105
|
+
notes: 'Raw ingredients come from fishing, farming, and monster drops. Cooked meals restore more HP than potions at equivalent cost and can provide additional buffs.',
|
|
106
|
+
},
|
|
107
|
+
alchemy: {
|
|
108
|
+
name: 'Alchemy',
|
|
109
|
+
color: CRAFTING_COLOR,
|
|
110
|
+
description: 'Controls your skill at brewing potions and elixirs. Higher levels unlock stronger potion recipes, reduce failure chance, and increase the potency of brewed potions.',
|
|
111
|
+
howToTrain: 'Brew potions at an alchemy station using herbs, reagents, and vials. Each successful brew grants Skill Points.',
|
|
112
|
+
notes: 'Herb reagents are gathered from nature nodes across the world. High-level alchemy produces Greater and Superior potions that substantially outperform shop-bought equivalents. Druid has a 20% bonus.',
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
magic: {
|
|
116
|
+
name: 'Magic',
|
|
117
|
+
color: ATTRIBUTE_COLOR,
|
|
118
|
+
description: 'Governs the power and efficiency of spells and magic-type weapons. Higher Magic level increases spell damage, spell range, and reduces mana consumption.',
|
|
119
|
+
howToTrain: 'Deal damage to enemies using spells from your spellbook, or fight while wielding a magic staff or wand.',
|
|
120
|
+
notes: 'Magic starts at level 0 and is one of the slower attributes to train since it requires active spell use. Sorcerer and Mage classes receive strong affinity bonuses. Also increases maximum mana.',
|
|
121
|
+
},
|
|
122
|
+
magicResistance: {
|
|
123
|
+
name: 'Magic Resistance',
|
|
124
|
+
color: ATTRIBUTE_COLOR,
|
|
125
|
+
description: 'Reduces the damage taken from incoming magical attacks and spells. Each level of magic resistance reduces a percentage of spell damage received.',
|
|
126
|
+
howToTrain: 'Receive magic damage from enemies (spells, magical attacks, staff hits aimed at you).',
|
|
127
|
+
notes: 'Purely defensive — trains only when you are the target of magical attacks. Cannot be trained offensively. Essential for characters that frequently face casters or magic creatures.',
|
|
128
|
+
},
|
|
129
|
+
strength: {
|
|
130
|
+
name: 'Strength',
|
|
131
|
+
color: ATTRIBUTE_COLOR,
|
|
132
|
+
description: 'Directly increases melee attack damage for all physical weapon types. Also increases how much weight your character can carry.',
|
|
133
|
+
howToTrain: 'Deal melee damage to enemies using any physical weapon or unarmed combat.',
|
|
134
|
+
notes: 'Applies to all physical weapon types regardless of which combat skill you use. Warrior and Berserker classes gain Strength faster due to class affinity.',
|
|
135
|
+
},
|
|
136
|
+
resistance: {
|
|
137
|
+
name: 'Resistance',
|
|
138
|
+
color: ATTRIBUTE_COLOR,
|
|
139
|
+
description: 'Reduces incoming physical damage from melee and ranged attacks. Higher resistance provides a percentage reduction to the physical damage you receive per hit.',
|
|
140
|
+
howToTrain: 'Receive physical damage from enemies (melee hits, arrows, projectiles).',
|
|
141
|
+
notes: 'Passive defense — trains only when you take physical damage. Tank-oriented classes (Paladin, Knight) receive faster resistance growth. Stacks with Shielding for substantial physical damage reduction.',
|
|
142
|
+
},
|
|
143
|
+
dexterity: {
|
|
144
|
+
name: 'Dexterity',
|
|
145
|
+
color: ATTRIBUTE_COLOR,
|
|
146
|
+
description: 'Increases your attack speed (reduces attack interval) and improves your chance to dodge incoming attacks. Also slightly improves accuracy with ranged weapons.',
|
|
147
|
+
howToTrain: 'Deal physical damage to enemies or successfully dodge incoming attacks.',
|
|
148
|
+
notes: 'Attack speed compounds with damage — more attacks per second means proportionally more total damage. One of the most impactful combat attributes. Archer and Rogue classes have strong dexterity affinity.',
|
|
149
|
+
},
|
|
150
|
+
|
|
151
|
+
level: {
|
|
152
|
+
name: 'Character Level',
|
|
153
|
+
color: LEVEL_COLOR,
|
|
154
|
+
description: 'Your overall character level, derived from total Experience Points (XP) accumulated. It summarizes your overall progress and may unlock access to certain areas or content.',
|
|
155
|
+
howToTrain: 'XP is gained by killing monsters, completing quests, and reaching skill level milestones. Unlike skill SP, all XP accumulates into a single shared pool that determines your character level.',
|
|
156
|
+
notes: 'Uses a cubic progression formula (level³ × 3 XP per level), so higher levels require exponentially more XP. Character level itself does not directly affect combat — individual skill levels handle that.',
|
|
157
|
+
},
|
|
158
|
+
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { IPosition } from '../../types/eventTypes';
|
|
3
|
-
interface IProps {
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
title: string;
|
|
6
|
-
onClose?: () => void;
|
|
7
|
-
onPositionChange?: (position: IPosition) => void;
|
|
8
|
-
onPositionChangeEnd?: (position: IPosition) => void;
|
|
9
|
-
onPositionChangeStart?: (position: IPosition) => void;
|
|
10
|
-
onOutsideClick?: () => void;
|
|
11
|
-
initialPosition?: IPosition;
|
|
12
|
-
scale?: number;
|
|
13
|
-
width?: string;
|
|
14
|
-
isFullScreen?: boolean;
|
|
15
|
-
opacity?: number;
|
|
16
|
-
}
|
|
17
|
-
export declare const SlotsContainer: React.FC<IProps>;
|
|
18
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface ArrowBarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
-
direction: 'right' | 'left';
|
|
4
|
-
onPointerDown: () => void;
|
|
5
|
-
size?: number;
|
|
6
|
-
scale?: number;
|
|
7
|
-
}
|
|
8
|
-
export declare const SelectArrow: React.FC<ArrowBarProps>;
|
|
9
|
-
export default SelectArrow;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface IAsyncDropdownOptionsProps {
|
|
3
|
-
id: number;
|
|
4
|
-
value: string;
|
|
5
|
-
option: string | JSX.Element;
|
|
6
|
-
}
|
|
7
|
-
export interface IAsyncDropdownProps {
|
|
8
|
-
options: IAsyncDropdownOptionsProps[];
|
|
9
|
-
width?: string;
|
|
10
|
-
onChange: (value: string) => void;
|
|
11
|
-
defaultValue?: string;
|
|
12
|
-
opensUp?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export declare const AsyncDropdown: React.FC<IAsyncDropdownProps>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export declare enum ButtonTypes {
|
|
3
|
-
RPGUIButton = "rpgui-button",
|
|
4
|
-
RPGUIGoldButton = "rpgui-button golden"
|
|
5
|
-
}
|
|
6
|
-
export interface IButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
children: React.ReactNode;
|
|
9
|
-
buttonType: ButtonTypes;
|
|
10
|
-
onPointerDown?: (e: any) => void;
|
|
11
|
-
}
|
|
12
|
-
export declare const Button: ({ disabled, children, buttonType, onPointerDown, ...props }: IButtonProps) => JSX.Element;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface ICharacterProps {
|
|
3
|
-
name: string;
|
|
4
|
-
textureKey: string;
|
|
5
|
-
}
|
|
6
|
-
export interface ICharacterSelectionProps {
|
|
7
|
-
availableCharacters: ICharacterProps[];
|
|
8
|
-
atlasJSON: any;
|
|
9
|
-
atlasIMG: any;
|
|
10
|
-
onChange: (textureKey: string) => void;
|
|
11
|
-
}
|
|
12
|
-
export declare const CharacterSelection: React.FC<ICharacterSelectionProps>;
|
|
13
|
-
export default CharacterSelection;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ICharacterProps } from './CharacterSelection';
|
|
3
|
-
export interface ICharacterSkinSelectionModalProps {
|
|
4
|
-
isOpen: boolean;
|
|
5
|
-
onClose: () => void;
|
|
6
|
-
onConfirm: (textureKey: string) => void;
|
|
7
|
-
availableCharacters: ICharacterProps[];
|
|
8
|
-
atlasJSON: any;
|
|
9
|
-
atlasIMG: any;
|
|
10
|
-
initialSelectedSkin?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare const CharacterSkinSelectionModal: React.FC<ICharacterSkinSelectionModalProps>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ICharacterProps } from './CharacterSelection';
|
|
3
|
-
export interface ISkinSelectionGridProps {
|
|
4
|
-
availableCharacters: ICharacterProps[];
|
|
5
|
-
initialSelectedSkin?: string;
|
|
6
|
-
onChange: (skinKey: string) => void;
|
|
7
|
-
atlasJSON: any;
|
|
8
|
-
atlasIMG: any;
|
|
9
|
-
}
|
|
10
|
-
export declare const SkinSelectionGrid: React.FC<ISkinSelectionGridProps>;
|
|
11
|
-
export default SkinSelectionGrid;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ChatMessage } from '../ChatRevamp/types';
|
|
3
|
-
export interface IStyles {
|
|
4
|
-
textColor?: string;
|
|
5
|
-
buttonColor?: string;
|
|
6
|
-
buttonBackgroundColor?: string;
|
|
7
|
-
width?: string;
|
|
8
|
-
height?: string;
|
|
9
|
-
}
|
|
10
|
-
export interface IEmitter {
|
|
11
|
-
_id: string;
|
|
12
|
-
name: string;
|
|
13
|
-
}
|
|
14
|
-
export interface IChatProps {
|
|
15
|
-
chatMessages: ChatMessage[];
|
|
16
|
-
onSendChatMessage: (message: string) => void;
|
|
17
|
-
onCloseButton: () => void;
|
|
18
|
-
onFocus?: () => void;
|
|
19
|
-
onBlur?: () => void;
|
|
20
|
-
opacity?: number;
|
|
21
|
-
sendMessage: boolean;
|
|
22
|
-
styles?: IStyles;
|
|
23
|
-
isExpanded: boolean;
|
|
24
|
-
}
|
|
25
|
-
export declare const Chat: React.FC<IChatProps>;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { IStyles } from '../Chat/Chat';
|
|
3
|
-
import { ChatMessage, PrivateChatCharacter } from './types';
|
|
4
|
-
interface IChatContentProps {
|
|
5
|
-
isPrivate: boolean;
|
|
6
|
-
isTrade: boolean;
|
|
7
|
-
isGlobal: boolean;
|
|
8
|
-
searchCharacterUI: boolean;
|
|
9
|
-
chatMessages: ChatMessage[];
|
|
10
|
-
onSendGlobalChatMessage: (message: string) => void;
|
|
11
|
-
onSendLocalChatMessage: (message: string) => void;
|
|
12
|
-
onSendPrivateChatMessage: (message: string) => void;
|
|
13
|
-
onSendTradeMessage: (message: string) => void;
|
|
14
|
-
onCloseButton: () => void;
|
|
15
|
-
styles?: IStyles;
|
|
16
|
-
onFocus?: () => void;
|
|
17
|
-
onBlur?: () => void;
|
|
18
|
-
isExpanded: boolean;
|
|
19
|
-
autoCloseOnSend: boolean;
|
|
20
|
-
onChangeCharacterName: (characterName: string) => void;
|
|
21
|
-
privateChatCharacters?: PrivateChatCharacter[];
|
|
22
|
-
hideSearchCharacterUI: () => void;
|
|
23
|
-
onCharacterClick?: (character: PrivateChatCharacter) => void;
|
|
24
|
-
isGuild: boolean;
|
|
25
|
-
onSendGuildChatMessage: (message: string) => void;
|
|
26
|
-
}
|
|
27
|
-
export declare const ChatContent: React.FC<IChatContentProps>;
|
|
28
|
-
export {};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { PrivateChatCharacter } from './types';
|
|
3
|
-
interface IRecentChatsProps {
|
|
4
|
-
showRecentChats: boolean;
|
|
5
|
-
toggleRecentChats: () => void;
|
|
6
|
-
hasUnseenMessages: boolean;
|
|
7
|
-
showSearchCharacterUI: () => void;
|
|
8
|
-
recentChatCharacters?: PrivateChatCharacter[];
|
|
9
|
-
recentSelectedChatCharacterId?: string;
|
|
10
|
-
unseenMessageCharacterIds?: string[];
|
|
11
|
-
onPreviousChatCharacterClick: (character: PrivateChatCharacter) => void;
|
|
12
|
-
onRemoveRecentChatCharacter?: (character: PrivateChatCharacter) => void;
|
|
13
|
-
isPrivate: boolean;
|
|
14
|
-
hideSearchCharacterUI: () => void;
|
|
15
|
-
}
|
|
16
|
-
export declare const RecentChats: React.FC<IRecentChatsProps>;
|
|
17
|
-
export {};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { IStyles } from '../Chat/Chat';
|
|
3
|
-
import { PrivateChatCharacter } from './types';
|
|
4
|
-
interface ISearchCharacterProps {
|
|
5
|
-
onFocus?: () => void;
|
|
6
|
-
onBlur?: () => void;
|
|
7
|
-
onChangeCharacterName: (characterName: string) => void;
|
|
8
|
-
styles?: IStyles;
|
|
9
|
-
recentCharacters?: PrivateChatCharacter[];
|
|
10
|
-
onCharacterClick?: (character: PrivateChatCharacter) => void;
|
|
11
|
-
hideSearchCharacterUI: () => void;
|
|
12
|
-
}
|
|
13
|
-
export declare const SearchCharacter: React.FC<ISearchCharacterProps>;
|
|
14
|
-
export {};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { ICharacter, IGlobalChatMessage, ILocalChatMessage, IPrivateChatMessage, ITradeChatMessage } from '@rpg-engine/shared';
|
|
2
|
-
import { IStyles } from '../Chat/Chat';
|
|
3
|
-
export declare type PrivateChatCharacter = Pick<ICharacter, '_id' | 'name'>;
|
|
4
|
-
export declare type ChatMessage = ILocalChatMessage | IPrivateChatMessage | ITradeChatMessage | IGlobalChatMessage;
|
|
5
|
-
export interface IChatRevampProps {
|
|
6
|
-
chatMessages: ChatMessage[];
|
|
7
|
-
onSendGlobalChatMessage: (message: string) => void;
|
|
8
|
-
onSendGuildChatMessage: (message: string) => void;
|
|
9
|
-
onChangeCharacterName: (characterName: string) => void;
|
|
10
|
-
onFocus?: () => void;
|
|
11
|
-
onBlur?: () => void;
|
|
12
|
-
onCloseButton: () => void;
|
|
13
|
-
styles?: IStyles;
|
|
14
|
-
tabs: any[];
|
|
15
|
-
onChangeTab: (tab: string) => void;
|
|
16
|
-
activeTab?: string;
|
|
17
|
-
privateChatCharacters?: PrivateChatCharacter[];
|
|
18
|
-
onCharacterClick?: (character: PrivateChatCharacter) => void;
|
|
19
|
-
onSendPrivateChatMessage: (message: string) => void;
|
|
20
|
-
recentChatCharacters?: PrivateChatCharacter[];
|
|
21
|
-
recentSelectedChatCharacterId?: string;
|
|
22
|
-
onPreviousChatCharacterClick?: (character: PrivateChatCharacter) => void;
|
|
23
|
-
onRemoveRecentChatCharacter?: (character: PrivateChatCharacter) => void;
|
|
24
|
-
unseenMessageCharacterIds?: string[];
|
|
25
|
-
onSendTradeMessage: (message: string) => void;
|
|
26
|
-
searchCharacterUI?: boolean;
|
|
27
|
-
hideSearchCharacterUI?: () => void;
|
|
28
|
-
showSearchCharacterUI?: () => void;
|
|
29
|
-
minimizedByDefault?: boolean;
|
|
30
|
-
autoCloseOnSend?: boolean;
|
|
31
|
-
onSendLocalChatMessage: (message: string) => void;
|
|
32
|
-
onDiscordClick?: () => void;
|
|
33
|
-
onWhatsAppClick?: () => void;
|
|
34
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ILocalChatMessage } from '@rpg-engine/shared';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
export interface IChatDeprecatedProps {
|
|
4
|
-
chatMessages: ILocalChatMessage[];
|
|
5
|
-
onSendChatMessage: (message: string) => void;
|
|
6
|
-
onCloseButton: () => void;
|
|
7
|
-
onFocus?: () => void;
|
|
8
|
-
onBlur?: () => void;
|
|
9
|
-
opacity?: number;
|
|
10
|
-
width?: string;
|
|
11
|
-
height?: string;
|
|
12
|
-
}
|
|
13
|
-
export declare const ChatDeprecated: React.FC<IChatDeprecatedProps>;
|