@rpg-engine/long-bow 0.3.76 → 0.3.77

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.
Files changed (160) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/CraftBook/CraftBook.d.ts +1 -3
  4. package/dist/components/Item/Cards/ItemTooltip.d.ts +4 -7
  5. package/dist/components/Item/Inventory/ItemContainer.d.ts +1 -2
  6. package/dist/components/Item/Inventory/ItemSlot.d.ts +1 -4
  7. package/dist/components/TradingMenu/TradingItemRow.d.ts +1 -3
  8. package/dist/components/TradingMenu/TradingMenu.d.ts +4 -6
  9. package/dist/components/shared/SpriteFromAtlas.d.ts +0 -1
  10. package/dist/long-bow.cjs.development.js +1029 -1420
  11. package/dist/long-bow.cjs.development.js.map +1 -1
  12. package/dist/long-bow.cjs.production.min.js +1 -1
  13. package/dist/long-bow.cjs.production.min.js.map +1 -1
  14. package/dist/long-bow.esm.js +1032 -1421
  15. package/dist/long-bow.esm.js.map +1 -1
  16. package/dist/stories/TradingMenu.stories.d.ts +2 -2
  17. package/package.json +100 -100
  18. package/src/components/Abstractions/SlotsContainer.tsx +45 -45
  19. package/src/components/Arrow/SelectArrow.tsx +69 -69
  20. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  21. package/src/components/Arrow/img/arrow01-left.png +0 -0
  22. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  23. package/src/components/Arrow/img/arrow01-right.png +0 -0
  24. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  25. package/src/components/Arrow/img/arrow02-left.png +0 -0
  26. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  27. package/src/components/Arrow/img/arrow02-right.png +0 -0
  28. package/src/components/Button.tsx +40 -40
  29. package/src/components/Character/CharacterSelection.tsx +96 -96
  30. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  31. package/src/components/Chat/Chat.tsx +195 -195
  32. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  33. package/src/components/CheckButton.tsx +65 -65
  34. package/src/components/CircularController/CircularController.tsx +248 -248
  35. package/src/components/CraftBook/CraftBook.tsx +227 -240
  36. package/src/components/CraftBook/MockItems.ts +251 -246
  37. package/src/components/DraggableContainer.tsx +153 -153
  38. package/src/components/Dropdown.tsx +90 -90
  39. package/src/components/DropdownSelectorContainer.tsx +42 -42
  40. package/src/components/Equipment/EquipmentSet.tsx +190 -190
  41. package/src/components/HistoryDialog.tsx +104 -104
  42. package/src/components/Input.tsx +15 -15
  43. package/src/components/Item/Cards/ItemTooltip.tsx +33 -85
  44. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  45. package/src/components/Item/Inventory/ItemContainer.tsx +210 -214
  46. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  47. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  48. package/src/components/Item/Inventory/ItemSlot.tsx +501 -540
  49. package/src/components/Item/Inventory/itemContainerHelper.ts +156 -156
  50. package/src/components/ListMenu.tsx +63 -63
  51. package/src/components/Multitab/Tab.tsx +66 -66
  52. package/src/components/Multitab/TabBody.tsx +13 -13
  53. package/src/components/Multitab/TabsContainer.tsx +97 -97
  54. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  55. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  56. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  57. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  58. package/src/components/ProgressBar.tsx +92 -92
  59. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  60. package/src/components/QuestInfo/QuestInfo.tsx +230 -230
  61. package/src/components/QuestList.tsx +129 -129
  62. package/src/components/RPGUIContainer.tsx +47 -47
  63. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  64. package/src/components/RPGUIRoot.tsx +14 -14
  65. package/src/components/RadioButton.tsx +53 -53
  66. package/src/components/RadioInput/RadioButton.tsx +96 -96
  67. package/src/components/RadioInput/RadioInput.tsx +102 -102
  68. package/src/components/RadioInput/instruments.ts +15 -15
  69. package/src/components/RangeSlider.tsx +78 -78
  70. package/src/components/RelativeListMenu.tsx +83 -83
  71. package/src/components/ScrollList.tsx +79 -79
  72. package/src/components/Shortcuts/Shortcuts.tsx +151 -151
  73. package/src/components/Shortcuts/ShortcutsSetter.tsx +132 -132
  74. package/src/components/Shortcuts/SingleShortcut.ts +62 -62
  75. package/src/components/SimpleProgressBar.tsx +62 -62
  76. package/src/components/SkillProgressBar.tsx +133 -133
  77. package/src/components/SkillsContainer.tsx +200 -200
  78. package/src/components/Spellbook/Spell.tsx +201 -201
  79. package/src/components/Spellbook/Spellbook.tsx +150 -150
  80. package/src/components/Spellbook/constants.ts +8 -8
  81. package/src/components/Spellbook/mockSpells.ts +60 -60
  82. package/src/components/StaticBook/StaticBook.tsx +103 -103
  83. package/src/components/TextArea.tsx +11 -11
  84. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  85. package/src/components/TimeWidget/TimeWidget.tsx +63 -63
  86. package/src/components/TradingMenu/TradingItemRow.tsx +181 -198
  87. package/src/components/TradingMenu/TradingMenu.tsx +203 -215
  88. package/src/components/TradingMenu/items.mock.ts +96 -48
  89. package/src/components/Truncate.tsx +25 -25
  90. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  91. package/src/components/shared/Column.tsx +16 -16
  92. package/src/components/shared/Ellipsis.tsx +65 -65
  93. package/src/components/shared/SpriteFromAtlas.tsx +102 -104
  94. package/src/components/typography/DynamicText.tsx +49 -49
  95. package/src/constants/uiColors.ts +20 -20
  96. package/src/constants/uiDevices.ts +3 -3
  97. package/src/constants/uiFonts.ts +12 -12
  98. package/src/hooks/useEventListener.ts +21 -21
  99. package/src/hooks/useOutsideAlerter.ts +25 -25
  100. package/src/index.tsx +40 -40
  101. package/src/libs/StringHelpers.ts +3 -3
  102. package/src/mocks/atlas/entities/entities.json +20215 -20215
  103. package/src/mocks/atlas/icons/icons.json +735 -735
  104. package/src/mocks/atlas/items/items.json +12086 -12086
  105. package/src/mocks/equipmentSet.mocks.ts +393 -391
  106. package/src/mocks/itemContainer.mocks.ts +562 -563
  107. package/src/mocks/skills.mocks.ts +128 -128
  108. package/src/stories/Arrow.stories.tsx +26 -26
  109. package/src/stories/Button.stories.tsx +36 -36
  110. package/src/stories/CharacterSelection.stories.tsx +45 -45
  111. package/src/stories/CharacterStatus.stories.tsx +29 -29
  112. package/src/stories/Chat.stories.tsx +187 -187
  113. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  114. package/src/stories/CheckButton.stories.tsx +48 -48
  115. package/src/stories/CircullarController.stories.tsx +37 -37
  116. package/src/stories/CraftBook.stories.tsx +40 -42
  117. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  118. package/src/stories/DraggableContainer.stories.tsx +28 -28
  119. package/src/stories/Dropdown.stories.tsx +46 -46
  120. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  121. package/src/stories/EquipmentSet.stories.tsx +65 -65
  122. package/src/stories/HistoryDialog.stories.tsx +61 -61
  123. package/src/stories/ItemContainer.stories.tsx +198 -200
  124. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  125. package/src/stories/ItemSelector.stories.tsx +77 -77
  126. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  127. package/src/stories/ListMenu.stories.tsx +56 -56
  128. package/src/stories/Multitab.stories.tsx +51 -51
  129. package/src/stories/NPCDialog.stories.tsx +130 -130
  130. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  131. package/src/stories/ProgressBar.stories.tsx +23 -23
  132. package/src/stories/PropertySelect.stories.tsx +40 -40
  133. package/src/stories/QuestInfo.stories.tsx +107 -107
  134. package/src/stories/QuestList.stories.tsx +82 -82
  135. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  136. package/src/stories/RadioButton.stories.tsx +49 -49
  137. package/src/stories/RadioInput.stories.tsx +34 -34
  138. package/src/stories/RangeSlider.stories.tsx +64 -64
  139. package/src/stories/ScrollList.stories.tsx +85 -85
  140. package/src/stories/Shortcuts.stories.tsx +39 -39
  141. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  142. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  143. package/src/stories/SkillsContainer.stories.tsx +35 -35
  144. package/src/stories/Spellbook.stories.tsx +104 -104
  145. package/src/stories/StaticBook.stories.tsx +32 -32
  146. package/src/stories/Text.stories.tsx +42 -42
  147. package/src/stories/TimeWidget.stories.tsx +27 -27
  148. package/src/stories/TradingMenu.stories.tsx +45 -47
  149. package/src/types/eventTypes.ts +4 -4
  150. package/src/types/index.d.ts +2 -2
  151. package/dist/components/Item/Cards/ItemInfo.d.ts +0 -10
  152. package/dist/components/Item/Cards/ItemInfoDisplay.d.ts +0 -10
  153. package/dist/components/Item/Cards/ItemInfoWrapper.d.ts +0 -12
  154. package/dist/components/Item/Cards/MobileItemTooltip.d.ts +0 -18
  155. package/dist/stories/ItemInfoDisplay.stories.d.ts +0 -8
  156. package/src/components/Item/Cards/ItemInfo.tsx +0 -248
  157. package/src/components/Item/Cards/ItemInfoDisplay.tsx +0 -123
  158. package/src/components/Item/Cards/ItemInfoWrapper.tsx +0 -62
  159. package/src/components/Item/Cards/MobileItemTooltip.tsx +0 -105
  160. package/src/stories/ItemInfoDisplay.stories.tsx +0 -33
@@ -1,12 +1,11 @@
1
1
  import React, { Component, useState, useEffect, useRef, useMemo, Fragment } from 'react';
2
2
  import styled from 'styled-components';
3
- import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSubType, ItemSlotType, getSPForLevel, PeriodOfDay, isMobileOrTablet } from '@rpg-engine/shared';
3
+ import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemSubType, ItemContainerType, ItemType, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSlotType, isMobileOrTablet, getSPForLevel, PeriodOfDay } from '@rpg-engine/shared';
4
4
  import dayjs from 'dayjs';
5
5
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
6
6
  import { RxPaperPlane } from 'react-icons/rx';
7
7
  import Draggable from 'react-draggable';
8
8
  import { v4 } from 'uuid';
9
- import { camelCase } from 'lodash-es';
10
9
  import { observer } from 'mobx-react-lite';
11
10
  import 'rpgui/rpgui.min.css';
12
11
  import 'rpgui/rpgui.min.js';
@@ -108,8 +107,7 @@ var SpriteFromAtlas = function SpriteFromAtlas(_ref) {
108
107
  _ref$grayScale = _ref.grayScale,
109
108
  grayScale = _ref$grayScale === void 0 ? false : _ref$grayScale,
110
109
  _ref$opacity = _ref.opacity,
111
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
112
- imgClassname = _ref.imgClassname;
110
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
113
111
  //! If an item is not showing, remember that you MUST run yarn atlas:copy everytime you add a new item to the atlas (it will sync our public folder atlas with src/atlas).
114
112
  //!Due to React's limitations, we cannot import it from the public folder directly!
115
113
  var spriteData = atlasJSON.frames[spriteKey] || atlasJSON.frames['others/no-image.png'];
@@ -121,7 +119,7 @@ var SpriteFromAtlas = function SpriteFromAtlas(_ref) {
121
119
  onPointerDown: onPointerDown,
122
120
  style: containerStyle
123
121
  }, React.createElement(ImgSprite, {
124
- className: "sprite-from-atlas-img " + (imgClassname || ''),
122
+ className: "sprite-from-atlas-img",
125
123
  atlasIMG: atlasIMG,
126
124
  frame: spriteData.frame,
127
125
  scale: imgScale,
@@ -33358,6 +33356,202 @@ var DropdownOptions = /*#__PURE__*/styled.ul.withConfig({
33358
33356
  return props.opened ? 'block' : 'none';
33359
33357
  });
33360
33358
 
33359
+ var CraftBook = function CraftBook(_ref) {
33360
+ var atlasIMG = _ref.atlasIMG,
33361
+ atlasJSON = _ref.atlasJSON,
33362
+ onClose = _ref.onClose,
33363
+ onSelect = _ref.onSelect,
33364
+ onCraftItem = _ref.onCraftItem,
33365
+ craftablesItems = _ref.craftablesItems;
33366
+ var optionsId = 0;
33367
+ var _useState = useState({
33368
+ show: false,
33369
+ index: 200
33370
+ }),
33371
+ isShown = _useState[0],
33372
+ setIsShown = _useState[1];
33373
+ var _useState2 = useState(),
33374
+ craftItem = _useState2[0],
33375
+ setCraftItem = _useState2[1];
33376
+ var getDropdownOptions = function getDropdownOptions() {
33377
+ var options = [];
33378
+ Object.keys(ItemSubType).forEach(function (key) {
33379
+ if (key === 'DeadBody') {
33380
+ return; // we can't craft crafting resouces...
33381
+ }
33382
+
33383
+ options.push({
33384
+ id: optionsId,
33385
+ value: key,
33386
+ option: key
33387
+ });
33388
+ optionsId += 1;
33389
+ });
33390
+ return options;
33391
+ };
33392
+ var modifyString = function modifyString(str) {
33393
+ // Split the string by "/" and "."
33394
+ var parts = str.split('/');
33395
+ var fileName = parts[parts.length - 1];
33396
+ parts = fileName.split('.');
33397
+ var name = parts[0];
33398
+ // Replace all occurrences of "-" with " "
33399
+ name = name.replace(/-/g, ' ');
33400
+ // Uppercase the first word
33401
+ var words = name.split(' ');
33402
+ var firstWord = words[0].slice(0, 1).toUpperCase() + words[0].slice(1);
33403
+ var modifiedWords = [firstWord].concat(words.slice(1));
33404
+ name = modifiedWords.join(' ');
33405
+ return name;
33406
+ };
33407
+ var handleClick = function handleClick(value) {
33408
+ setCraftItem(value);
33409
+ };
33410
+ return React.createElement(DraggableContainer, {
33411
+ type: RPGUIContainerTypes.Framed,
33412
+ width: "500px",
33413
+ cancelDrag: ".inputRadioCraftBook",
33414
+ onCloseButton: function onCloseButton() {
33415
+ if (onClose) {
33416
+ onClose();
33417
+ }
33418
+ }
33419
+ }, React.createElement("div", {
33420
+ style: {
33421
+ width: '100%'
33422
+ }
33423
+ }, React.createElement(Title$1, null, 'Craftbook'), React.createElement(Subtitle, null, 'Select an item to craft'), React.createElement("hr", {
33424
+ className: "golden"
33425
+ })), React.createElement(Dropdown, {
33426
+ options: getDropdownOptions(),
33427
+ onChange: function onChange(value) {
33428
+ return onSelect(value);
33429
+ }
33430
+ }), React.createElement(RadioInputScroller, {
33431
+ className: "inputRadioCraftBook"
33432
+ }, craftablesItems == null ? void 0 : craftablesItems.map(function (option, index) {
33433
+ return React.createElement(RadioOptionsWrapper, {
33434
+ key: index
33435
+ }, React.createElement(SpriteAtlasWrapper, null, React.createElement(SpriteFromAtlas, {
33436
+ atlasIMG: atlasIMG,
33437
+ atlasJSON: atlasJSON,
33438
+ spriteKey: option.texturePath,
33439
+ imgScale: 3,
33440
+ grayScale: !option.canCraft
33441
+ })), React.createElement("div", null, React.createElement("div", {
33442
+ onPointerDown: function onPointerDown() {
33443
+ return handleClick(option.key);
33444
+ }
33445
+ }, React.createElement("input", {
33446
+ className: "rpgui-radio",
33447
+ type: "radio",
33448
+ value: option.name,
33449
+ name: "test",
33450
+ disabled: !option.canCraft,
33451
+ checked: craftItem === option.key,
33452
+ onChange: function onChange() {
33453
+ return handleClick(option.key);
33454
+ }
33455
+ }), React.createElement("label", {
33456
+ onPointerDown: function onPointerDown() {
33457
+ handleClick(option.key);
33458
+ },
33459
+ onTouchEnd: function onTouchEnd() {
33460
+ setIsShown({
33461
+ show: true,
33462
+ index: index
33463
+ });
33464
+ },
33465
+ style: {
33466
+ display: 'flex',
33467
+ alignItems: 'center'
33468
+ },
33469
+ onMouseEnter: function onMouseEnter() {
33470
+ return setIsShown({
33471
+ show: true,
33472
+ index: index
33473
+ });
33474
+ },
33475
+ onMouseLeave: function onMouseLeave() {
33476
+ return setIsShown({
33477
+ show: false,
33478
+ index: index
33479
+ });
33480
+ }
33481
+ }, modifyString(option.name))), isShown && isShown.index === index && option.ingredients.map(function (option, index) {
33482
+ return React.createElement(Recipes, {
33483
+ key: index
33484
+ }, React.createElement(SpriteFromAtlas, {
33485
+ atlasIMG: atlasIMG,
33486
+ atlasJSON: atlasJSON,
33487
+ spriteKey: option.texturePath,
33488
+ imgScale: 1
33489
+ }), React.createElement(StyledItem, null, modifyString(option.key), " (", option.qty, "x)"));
33490
+ })));
33491
+ })), React.createElement(ButtonWrapper, null, React.createElement(Button, {
33492
+ buttonType: ButtonTypes.RPGUIButton,
33493
+ onPointerDown: onClose
33494
+ }, "Cancel"), React.createElement(Button, {
33495
+ buttonType: ButtonTypes.RPGUIButton,
33496
+ onPointerDown: function onPointerDown() {
33497
+ return onCraftItem(craftItem);
33498
+ }
33499
+ }, "Craft")));
33500
+ };
33501
+ var StyledItem = /*#__PURE__*/styled.div.withConfig({
33502
+ displayName: "CraftBook__StyledItem",
33503
+ componentId: "sc-19q95ue-0"
33504
+ })(["margin-left:10px;"]);
33505
+ var Recipes = /*#__PURE__*/styled.div.withConfig({
33506
+ displayName: "CraftBook__Recipes",
33507
+ componentId: "sc-19q95ue-1"
33508
+ })(["font-size:0.6rem;color:yellow !important;margin-bottom:3px;display:flex;align-items:center;.sprite-from-atlas-img{top:0px;left:0px;}"]);
33509
+ var Title$1 = /*#__PURE__*/styled.h1.withConfig({
33510
+ displayName: "CraftBook__Title",
33511
+ componentId: "sc-19q95ue-2"
33512
+ })(["font-size:0.6rem;color:yellow !important;"]);
33513
+ var Subtitle = /*#__PURE__*/styled.h1.withConfig({
33514
+ displayName: "CraftBook__Subtitle",
33515
+ componentId: "sc-19q95ue-3"
33516
+ })(["font-size:0.4rem;color:yellow !important;"]);
33517
+ var RadioInputScroller = /*#__PURE__*/styled.div.withConfig({
33518
+ displayName: "CraftBook__RadioInputScroller",
33519
+ componentId: "sc-19q95ue-4"
33520
+ })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;-webkit-overflow-scrolling:touch;"]);
33521
+ var SpriteAtlasWrapper = /*#__PURE__*/styled.div.withConfig({
33522
+ displayName: "CraftBook__SpriteAtlasWrapper",
33523
+ componentId: "sc-19q95ue-5"
33524
+ })(["margin-right:40px;"]);
33525
+ var RadioOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
33526
+ displayName: "CraftBook__RadioOptionsWrapper",
33527
+ componentId: "sc-19q95ue-6"
33528
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
33529
+ var ButtonWrapper = /*#__PURE__*/styled.div.withConfig({
33530
+ displayName: "CraftBook__ButtonWrapper",
33531
+ componentId: "sc-19q95ue-7"
33532
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
33533
+
33534
+ var DropdownSelectorContainer = function DropdownSelectorContainer(_ref) {
33535
+ var title = _ref.title,
33536
+ onChange = _ref.onChange,
33537
+ options = _ref.options,
33538
+ details = _ref.details;
33539
+ return React.createElement("div", null, React.createElement("p", null, title), React.createElement(Dropdown, {
33540
+ options: options.map(function (option, index) {
33541
+ return {
33542
+ option: option.name,
33543
+ value: option.id,
33544
+ id: index
33545
+ };
33546
+ }),
33547
+ onChange: onChange
33548
+ }), React.createElement(Details, null, details));
33549
+ };
33550
+ var Details = /*#__PURE__*/styled.p.withConfig({
33551
+ displayName: "DropdownSelectorContainer__Details",
33552
+ componentId: "sc-kaa0h9-0"
33553
+ })(["font-size:", " !important;"], uiFonts.size.xsmall);
33554
+
33361
33555
  var RelativeListMenu = function RelativeListMenu(_ref) {
33362
33556
  var options = _ref.options,
33363
33557
  onSelected = _ref.onSelected,
@@ -33407,69 +33601,14 @@ var ListElement = /*#__PURE__*/styled.li.withConfig({
33407
33601
  componentId: "sc-7hohf-1"
33408
33602
  })(["margin-right:0.5rem;"]);
33409
33603
 
33410
- var MobileItemTooltip = function MobileItemTooltip(_ref) {
33411
- var item = _ref.item,
33412
- atlasIMG = _ref.atlasIMG,
33413
- atlasJSON = _ref.atlasJSON,
33414
- closeTooltip = _ref.closeTooltip,
33415
- equipmentSet = _ref.equipmentSet,
33416
- _ref$scale = _ref.scale,
33417
- scale = _ref$scale === void 0 ? 1 : _ref$scale,
33418
- options = _ref.options,
33419
- onSelected = _ref.onSelected;
33420
- var ref = useRef(null);
33421
- useEffect(function () {
33422
- var current = ref.current;
33423
- if (current) {
33424
- // Adjust the position to be on whole window
33425
- var rect = current.getBoundingClientRect();
33426
- var x = -rect.x * 100 / (scale * 100);
33427
- var y = -rect.y * 100 / (scale * 100);
33428
- current.style.transform = "translate(" + x + "px, " + y + "px)";
33429
- current.style.opacity = '1';
33430
- }
33431
- return;
33432
- }, []);
33433
- return React.createElement(Container$9, {
33434
- ref: ref,
33435
- onTouchEnd: function onTouchEnd(e) {
33436
- e.stopPropagation();
33437
- closeTooltip();
33438
- },
33439
- scale: scale
33440
- }, React.createElement(ItemInfoDisplay, {
33441
- item: item,
33442
- atlasIMG: atlasIMG,
33443
- atlasJSON: atlasJSON,
33444
- equipmentSet: equipmentSet,
33445
- isMobile: true
33446
- }), React.createElement(OptionsContainer, null, options == null ? void 0 : options.map(function (option) {
33447
- return React.createElement(Option, {
33448
- key: option.id,
33449
- onTouchEnd: function onTouchEnd() {
33450
- return onSelected == null ? void 0 : onSelected(option.id);
33451
- }
33452
- }, option.text);
33453
- })));
33604
+ var ItemTooltip = function ItemTooltip(_ref) {
33605
+ var label = _ref.label;
33606
+ return React.createElement(Container$9, null, React.createElement("div", null, label));
33454
33607
  };
33455
33608
  var Container$9 = /*#__PURE__*/styled.div.withConfig({
33456
- displayName: "MobileItemTooltip__Container",
33457
- componentId: "sc-ku4p1j-0"
33458
- })(["position:fixed;z-index:50;left:0;top:0;opacity:0;width:", ";height:", ";background-color:rgba(0 0 0 / 0.5);display:flex;justify-content:center;align-items:center;"], function (_ref2) {
33459
- var scale = _ref2.scale;
33460
- return "calc(100vw * 100 / " + scale * 100 + ")";
33461
- }, function (_ref3) {
33462
- var scale = _ref3.scale;
33463
- return "calc(100vh * 100 / " + scale * 100 + ")";
33464
- });
33465
- var OptionsContainer = /*#__PURE__*/styled.div.withConfig({
33466
- displayName: "MobileItemTooltip__OptionsContainer",
33467
- componentId: "sc-ku4p1j-1"
33468
- })(["display:flex;flex-direction:column;margin-left:2rem;gap:1rem;"]);
33469
- var Option = /*#__PURE__*/styled.button.withConfig({
33470
- displayName: "MobileItemTooltip__Option",
33471
- componentId: "sc-ku4p1j-2"
33472
- })(["padding:1rem;background-color:", ";border:none;border-radius:3px;"], uiColors.lightGray);
33609
+ displayName: "ItemTooltip__Container",
33610
+ componentId: "sc-11d9r7x-0"
33611
+ })(["z-index:2;position:absolute;top:1rem;left:4rem;font-size:", ";color:white;background-color:black;border-radius:5px;padding:0.5rem;min-width:20px;width:100%;text-align:center;opacity:0.75;"], uiFonts.size.xxsmall);
33473
33612
 
33474
33613
  var generateContextMenuListOptions = function generateContextMenuListOptions(actionsByTypeList) {
33475
33614
  var contextMenu = actionsByTypeList.map(function (action) {
@@ -33605,36 +33744,32 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33605
33744
  openQuantitySelector = _ref.openQuantitySelector,
33606
33745
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
33607
33746
  dragScale = _ref.dragScale,
33608
- isSelectingShortcut = _ref.isSelectingShortcut,
33609
- equipmentSet = _ref.equipmentSet;
33747
+ isSelectingShortcut = _ref.isSelectingShortcut;
33610
33748
  var _useState = useState(false),
33611
33749
  isTooltipVisible = _useState[0],
33612
33750
  setTooltipVisible = _useState[1];
33613
33751
  var _useState2 = useState(false),
33614
- isTooltipMobileVisible = _useState2[0],
33615
- setIsTooltipMobileVisible = _useState2[1];
33752
+ isContextMenuVisible = _useState2[0],
33753
+ setIsContextMenuVisible = _useState2[1];
33616
33754
  var _useState3 = useState(false),
33617
- isContextMenuVisible = _useState3[0],
33618
- setIsContextMenuVisible = _useState3[1];
33755
+ isFocused = _useState3[0],
33756
+ setIsFocused = _useState3[1];
33619
33757
  var _useState4 = useState(false),
33620
- isFocused = _useState4[0],
33621
- setIsFocused = _useState4[1];
33622
- var _useState5 = useState(false),
33623
- wasDragged = _useState5[0],
33624
- setWasDragged = _useState5[1];
33625
- var _useState6 = useState({
33758
+ wasDragged = _useState4[0],
33759
+ setWasDragged = _useState4[1];
33760
+ var _useState5 = useState({
33626
33761
  x: 0,
33627
33762
  y: 0
33628
33763
  }),
33629
- dragPosition = _useState6[0],
33630
- setDragPosition = _useState6[1];
33631
- var _useState7 = useState(null),
33632
- dropPosition = _useState7[0],
33633
- setDropPosition = _useState7[1];
33764
+ dragPosition = _useState5[0],
33765
+ setDragPosition = _useState5[1];
33766
+ var _useState6 = useState(null),
33767
+ dropPosition = _useState6[0],
33768
+ setDropPosition = _useState6[1];
33634
33769
  var dragContainer = useRef(null);
33635
- var _useState8 = useState([]),
33636
- contextActions = _useState8[0],
33637
- setContextActions = _useState8[1];
33770
+ var _useState7 = useState([]),
33771
+ contextActions = _useState7[0],
33772
+ setContextActions = _useState7[1];
33638
33773
  useEffect(function () {
33639
33774
  setDragPosition({
33640
33775
  x: 0,
@@ -33683,8 +33818,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33683
33818
  texturePath: itemToRender.texturePath,
33684
33819
  stackQty: itemToRender.stackQty || 1
33685
33820
  }, atlasJSON),
33686
- imgScale: 3,
33687
- imgClassname: "sprite-from-atlas-img--item"
33821
+ imgScale: 3
33688
33822
  })));
33689
33823
  }
33690
33824
  var stackInfo = getStackInfo((_itemToRender$_id = itemToRender == null ? void 0 : itemToRender._id) != null ? _itemToRender$_id : '', (_itemToRender$stackQt = itemToRender == null ? void 0 : itemToRender.stackQty) != null ? _itemToRender$stackQt : 0);
@@ -33709,8 +33843,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33709
33843
  texturePath: itemToRender.texturePath,
33710
33844
  stackQty: itemToRender.stackQty || 1
33711
33845
  }, atlasJSON),
33712
- imgScale: 3,
33713
- imgClassname: "sprite-from-atlas-img--item"
33846
+ imgScale: 3
33714
33847
  })));
33715
33848
  var stackInfo = getStackInfo((_itemToRender$_id2 = itemToRender == null ? void 0 : itemToRender._id) != null ? _itemToRender$_id2 : '', (_itemToRender$stackQt2 = itemToRender == null ? void 0 : itemToRender.stackQty) != null ? _itemToRender$stackQt2 : 0);
33716
33849
  if (stackInfo) {
@@ -33727,8 +33860,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33727
33860
  spriteKey: EquipmentSlotSpriteByType[slotSpriteMask],
33728
33861
  imgScale: 3,
33729
33862
  grayScale: true,
33730
- opacity: 0.4,
33731
- imgClassname: "sprite-from-atlas-img--item"
33863
+ opacity: 0.4
33732
33864
  }));
33733
33865
  }
33734
33866
  };
@@ -33821,12 +33953,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33821
33953
  }
33822
33954
  }, 100);
33823
33955
  } else if (item) {
33824
- var isTouch = false;
33825
- if (e.type === 'touchend' && !isSelectingShortcut) {
33826
- isTouch = true;
33827
- setIsTooltipMobileVisible(true);
33828
- }
33829
- if (!isContextMenuDisabled && !isSelectingShortcut && !isTouch) setIsContextMenuVisible(!isContextMenuVisible);
33956
+ if (!isContextMenuDisabled && !isSelectingShortcut) setIsContextMenuVisible(!isContextMenuVisible);
33830
33957
  onPointerDown(item.type, containerType, item);
33831
33958
  }
33832
33959
  },
@@ -33862,26 +33989,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33862
33989
  setTooltipVisible(false);
33863
33990
  }
33864
33991
  }, onRenderSlot(item))), isTooltipVisible && item && !isFocused && React.createElement(ItemTooltip, {
33865
- item: item,
33866
- atlasIMG: atlasIMG,
33867
- atlasJSON: atlasJSON,
33868
- equipmentSet: equipmentSet
33869
- }), isTooltipMobileVisible && item && React.createElement(MobileItemTooltip, {
33870
- item: item,
33871
- atlasIMG: atlasIMG,
33872
- atlasJSON: atlasJSON,
33873
- equipmentSet: equipmentSet,
33874
- closeTooltip: function closeTooltip() {
33875
- setIsTooltipMobileVisible(false);
33876
- },
33877
- scale: dragScale,
33878
- options: contextActions,
33879
- onSelected: function onSelected(optionId) {
33880
- setIsContextMenuVisible(false);
33881
- if (item) {
33882
- _onSelected(optionId, item);
33883
- }
33884
- }
33992
+ label: item.name
33885
33993
  }), !isContextMenuDisabled && isContextMenuVisible && contextActions && React.createElement(RelativeListMenu, {
33886
33994
  options: contextActions,
33887
33995
  onSelected: function onSelected(optionId) {
@@ -33906,13 +34014,13 @@ var rarityColor = function rarityColor(item) {
33906
34014
  case ItemRarities.Legendary:
33907
34015
  return 'rgba(255, 191, 0,0.6)';
33908
34016
  default:
33909
- return null;
34017
+ return 'unset';
33910
34018
  }
33911
34019
  };
33912
34020
  var Container$a = /*#__PURE__*/styled.div.withConfig({
33913
34021
  displayName: "ItemSlot__Container",
33914
34022
  componentId: "sc-l2j5ef-0"
33915
- })(["margin:0.1rem;.sprite-from-atlas-img--item{position:relative;top:1.5rem;left:1.5rem;border-color:", ";box-shadow:", " inset,", ";}position:relative;&::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-radius:12px;pointer-events:none;animation:", ";@keyframes bg-color-change{0%{background-color:rgba(255 255 255 / 0.5);}50%{background-color:transparent;}100%{background-color:rgba(255 255 255 / 0.5);}}}"], function (_ref2) {
34023
+ })(["margin:0.1rem;.sprite-from-atlas-img{position:relative;top:1.5rem;left:1.5rem;border-color:", ";box-shadow:", " inset,", ";}position:relative;&::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-radius:12px;pointer-events:none;animation:", ";@keyframes bg-color-change{0%{background-color:rgba(255 255 255 / 0.5);}50%{background-color:transparent;}100%{background-color:rgba(255 255 255 / 0.5);}}}"], function (_ref2) {
33916
34024
  var item = _ref2.item;
33917
34025
  return rarityColor(item);
33918
34026
  }, function (_ref3) {
@@ -33940,582 +34048,639 @@ var ItemQty = /*#__PURE__*/styled.span.withConfig({
33940
34048
  componentId: "sc-l2j5ef-3"
33941
34049
  })(["&.regular{font-size:", ";}&.small{font-size:", ";}&.xsmall{font-size:", ";}"], uiFonts.size.small, uiFonts.size.xsmall, uiFonts.size.xxsmall);
33942
34050
 
33943
- var statisticsToDisplay = [{
33944
- key: 'attack'
33945
- }, {
33946
- key: 'defense'
33947
- }, {
33948
- key: 'maxRange',
33949
- label: 'Range'
33950
- }, {
33951
- key: 'weight',
33952
- higherIsWorse: true
33953
- }];
33954
- var ItemInfo = function ItemInfo(_ref) {
33955
- var _item$stackQty;
33956
- var item = _ref.item,
33957
- itemToCompare = _ref.itemToCompare,
34051
+ var EquipmentSet = function EquipmentSet(_ref) {
34052
+ var equipmentSet = _ref.equipmentSet,
34053
+ onClose = _ref.onClose,
34054
+ _onMouseOver = _ref.onMouseOver,
34055
+ _onSelected = _ref.onSelected,
34056
+ onItemClick = _ref.onItemClick,
33958
34057
  atlasIMG = _ref.atlasIMG,
33959
- atlasJSON = _ref.atlasJSON;
33960
- var renderStatistics = function renderStatistics() {
33961
- var statistics = [];
33962
- for (var _i = 0, _statisticsToDisplay = statisticsToDisplay; _i < _statisticsToDisplay.length; _i++) {
33963
- var stat = _statisticsToDisplay[_i];
33964
- var itemStatistic = item[stat.key];
33965
- if (itemStatistic) {
33966
- var _itemToCompare$stat$k, _itemToCompare$stat$k2;
33967
- var label = stat.label || stat.key[0].toUpperCase() + stat.key.slice(1);
33968
- var isItemToCompare = !!itemToCompare;
33969
- var isOnlyInOneItem = isItemToCompare && !(itemToCompare != null && itemToCompare[stat.key]);
33970
- var statDiff = parseInt(itemStatistic.toString()) - parseInt((_itemToCompare$stat$k = itemToCompare == null ? void 0 : (_itemToCompare$stat$k2 = itemToCompare[stat.key]) == null ? void 0 : _itemToCompare$stat$k2.toString()) != null ? _itemToCompare$stat$k : '0');
33971
- var isDifference = isItemToCompare && statDiff !== 0;
33972
- var isBetter = statDiff > 0 && !stat.higherIsWorse || statDiff < 0 && stat.higherIsWorse;
33973
- statistics.push(React.createElement(Statistic, {
33974
- key: stat.key,
33975
- className: isOnlyInOneItem ? 'better' : ''
33976
- }, React.createElement("div", {
33977
- className: "label"
33978
- }, label, ":"), React.createElement("div", {
33979
- className: "value " + (isDifference ? isBetter ? 'better' : 'worse' : '')
33980
- }, itemStatistic.toString() + " " + (isDifference ? "(" + (statDiff > 0 ? '+' : '') + statDiff + ")" : ''))));
33981
- }
33982
- }
33983
- return statistics;
33984
- };
33985
- var renderMissingStatistic = function renderMissingStatistic() {
33986
- var statistics = [];
33987
- for (var _i2 = 0, _statisticsToDisplay2 = statisticsToDisplay; _i2 < _statisticsToDisplay2.length; _i2++) {
33988
- var stat = _statisticsToDisplay2[_i2];
33989
- var itemToCompareStatistic = itemToCompare == null ? void 0 : itemToCompare[stat.key];
33990
- if (itemToCompareStatistic && !item[stat.key]) {
33991
- var label = stat.label || stat.key[0].toUpperCase() + stat.key.slice(1);
33992
- statistics.push(React.createElement(Statistic, {
33993
- key: stat.key,
33994
- className: "worse"
33995
- }, React.createElement("div", {
33996
- className: "label"
33997
- }, label, ":"), React.createElement("div", {
33998
- className: "value worse"
33999
- }, itemToCompareStatistic.toString())));
34000
- }
34001
- }
34002
- return statistics;
34003
- };
34004
- var renderAvaibleSlots = function renderAvaibleSlots() {
34005
- if (!item.allowedEquipSlotType) return null;
34006
- return item.allowedEquipSlotType.map(function (slotType, index) {
34007
- return React.createElement(ErrorBoundary, {
34008
- key: index
34009
- }, React.createElement(SpriteFromAtlas, {
34058
+ atlasJSON = _ref.atlasJSON,
34059
+ onItemDragEnd = _ref.onItemDragEnd,
34060
+ onItemDragStart = _ref.onItemDragStart,
34061
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
34062
+ onItemOutsideDrop = _ref.onItemOutsideDrop,
34063
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
34064
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
34065
+ dragScale = _ref.dragScale;
34066
+ var neck = equipmentSet.neck,
34067
+ leftHand = equipmentSet.leftHand,
34068
+ ring = equipmentSet.ring,
34069
+ head = equipmentSet.head,
34070
+ armor = equipmentSet.armor,
34071
+ legs = equipmentSet.legs,
34072
+ boot = equipmentSet.boot,
34073
+ inventory = equipmentSet.inventory,
34074
+ rightHand = equipmentSet.rightHand,
34075
+ accessory = equipmentSet.accessory;
34076
+ var equipmentData = [neck, leftHand, ring, head, armor, legs, boot, inventory, rightHand, accessory];
34077
+ var equipmentMaskSlots = [ItemSlotType.Neck, ItemSlotType.LeftHand, ItemSlotType.Ring, ItemSlotType.Head, ItemSlotType.Torso, ItemSlotType.Legs, ItemSlotType.Feet, ItemSlotType.Inventory, ItemSlotType.RightHand, ItemSlotType.Accessory];
34078
+ var onRenderEquipmentSlotRange = function onRenderEquipmentSlotRange(start, end) {
34079
+ var equipmentRange = equipmentData.slice(start, end);
34080
+ var slotMaksRange = equipmentMaskSlots.slice(start, end);
34081
+ return equipmentRange.map(function (data, i) {
34082
+ var _ref2;
34083
+ var item = data;
34084
+ var itemContainer = (_ref2 = item && item.itemContainer) != null ? _ref2 : null;
34085
+ return React.createElement(ItemSlot, {
34086
+ key: i,
34087
+ slotIndex: i,
34088
+ item: item,
34089
+ itemContainer: itemContainer,
34090
+ itemContainerType: ItemContainerType.Equipment,
34091
+ slotSpriteMask: slotMaksRange[i],
34092
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
34093
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34094
+ },
34095
+ onPointerDown: function onPointerDown(itemType, ContainerType) {
34096
+ if (onItemClick) onItemClick(itemType, item, ContainerType);
34097
+ },
34098
+ onSelected: function onSelected(optionId) {
34099
+ if (_onSelected) _onSelected(optionId);
34100
+ },
34101
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
34102
+ if (!item) {
34103
+ return;
34104
+ }
34105
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
34106
+ },
34107
+ onDragEnd: function onDragEnd(quantity) {
34108
+ if (onItemDragEnd) onItemDragEnd(quantity);
34109
+ },
34110
+ dragScale: dragScale,
34111
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
34112
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
34113
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
34114
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
34115
+ },
34116
+ onOutsideDrop: function onOutsideDrop(item, position) {
34117
+ if (onItemOutsideDrop) onItemOutsideDrop(item, position);
34118
+ },
34010
34119
  atlasIMG: atlasIMG,
34011
- atlasJSON: atlasJSON,
34012
- spriteKey: EquipmentSlotSpriteByType[slotType],
34013
- imgScale: 2,
34014
- grayScale: true,
34015
- opacity: 0.4,
34016
- containerStyle: {
34017
- width: '32px',
34018
- height: '32px'
34019
- }
34020
- }));
34120
+ atlasJSON: atlasJSON
34121
+ });
34021
34122
  });
34022
34123
  };
34023
- return React.createElement(Container$b, {
34024
- item: item
34025
- }, React.createElement(Header, null, React.createElement("div", null, React.createElement(Title$1, null, item.name), item.rarity !== 'Common' && React.createElement(Rarity, {
34026
- item: item
34027
- }, item.rarity), React.createElement(Type, null, item.subType)), React.createElement(AllowedSlots, null, renderAvaibleSlots())), renderStatistics(), item.isTwoHanded && React.createElement(Statistic, null, "Two handed"), React.createElement(Description, null, item.description), item.maxStackSize && item.maxStackSize !== 1 && React.createElement(StackInfo, null, "x", (_item$stackQty = item.stackQty) != null ? _item$stackQty : 1, "(", item.maxStackSize, ")"), renderMissingStatistic().length > 0 && React.createElement(MissingStatistics, null, React.createElement(Statistic, null, "Equipped Diff"), itemToCompare && renderMissingStatistic()));
34124
+ return React.createElement(DraggableContainer, {
34125
+ title: 'Equipments',
34126
+ type: RPGUIContainerTypes.Framed,
34127
+ onCloseButton: function onCloseButton() {
34128
+ if (onClose) onClose();
34129
+ },
34130
+ width: "330px",
34131
+ cancelDrag: ".equipment-container-body"
34132
+ }, React.createElement(EquipmentSetContainer, {
34133
+ className: "equipment-container-body"
34134
+ }, React.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(0, 3)), React.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(3, 7)), React.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(7, 10))));
34028
34135
  };
34029
- var Container$b = /*#__PURE__*/styled.div.withConfig({
34030
- displayName: "ItemInfo__Container",
34031
- componentId: "sc-1xm4q8k-0"
34032
- })(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;width:max-content;font-size:", ";border:3px solid ", ";"], uiFonts.size.small, function (_ref2) {
34033
- var _rarityColor;
34034
- var item = _ref2.item;
34035
- return (_rarityColor = rarityColor(item)) != null ? _rarityColor : uiColors.lightGray;
34036
- });
34037
- var Title$1 = /*#__PURE__*/styled.div.withConfig({
34038
- displayName: "ItemInfo__Title",
34039
- componentId: "sc-1xm4q8k-1"
34040
- })(["font-size:", ";font-weight:bold;margin-bottom:0.5rem;display:flex;align-items:center;margin:0;"], uiFonts.size.medium);
34041
- var Rarity = /*#__PURE__*/styled.div.withConfig({
34042
- displayName: "ItemInfo__Rarity",
34043
- componentId: "sc-1xm4q8k-2"
34044
- })(["font-size:", ";font-weight:normal;margin-top:0.2rem;color:", ";filter:brightness(1.5);"], uiFonts.size.small, function (_ref3) {
34045
- var item = _ref3.item;
34046
- return rarityColor(item);
34047
- });
34048
- var Type = /*#__PURE__*/styled.div.withConfig({
34049
- displayName: "ItemInfo__Type",
34050
- componentId: "sc-1xm4q8k-3"
34051
- })(["font-size:", ";margin-top:0.2rem;color:", ";"], uiFonts.size.small, uiColors.lightGray);
34052
- var Statistic = /*#__PURE__*/styled.div.withConfig({
34053
- displayName: "ItemInfo__Statistic",
34054
- componentId: "sc-1xm4q8k-4"
34055
- })(["margin-bottom:0.4rem;.label{display:inline-block;margin-right:0.5rem;color:inherit;}.value{display:inline-block;color:inherit;}&.better,.better{color:", ";}&.worse,.worse{color:", ";}"], uiColors.lightGreen, uiColors.cardinal);
34056
- var Description = /*#__PURE__*/styled.div.withConfig({
34057
- displayName: "ItemInfo__Description",
34058
- componentId: "sc-1xm4q8k-5"
34059
- })(["margin-top:1.5rem;font-size:", ";color:", ";font-style:italic;width:max-content;max-width:20rem;"], uiFonts.size.small, uiColors.lightGray);
34060
- var Header = /*#__PURE__*/styled.div.withConfig({
34061
- displayName: "ItemInfo__Header",
34062
- componentId: "sc-1xm4q8k-6"
34063
- })(["display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem;"]);
34064
- var AllowedSlots = /*#__PURE__*/styled.div.withConfig({
34065
- displayName: "ItemInfo__AllowedSlots",
34066
- componentId: "sc-1xm4q8k-7"
34067
- })(["display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0.5rem;margin-left:2rem;"]);
34068
- var StackInfo = /*#__PURE__*/styled.div.withConfig({
34069
- displayName: "ItemInfo__StackInfo",
34070
- componentId: "sc-1xm4q8k-8"
34071
- })(["width:100%;text-align:right;font-size:", ";color:", ";margin-top:1rem;"], uiFonts.size.small, uiColors.orange);
34072
- var MissingStatistics = /*#__PURE__*/styled.div.withConfig({
34073
- displayName: "ItemInfo__MissingStatistics",
34074
- componentId: "sc-1xm4q8k-9"
34075
- })(["margin-top:1rem;color:", ";"], uiColors.cardinal);
34136
+ var EquipmentSetContainer = /*#__PURE__*/styled.div.withConfig({
34137
+ displayName: "EquipmentSet__EquipmentSetContainer",
34138
+ componentId: "sc-1wuddg2-0"
34139
+ })(["width:inherit;display:flex;justify-content:center;flex-wrap:wrap;flex-direction:row;touch-action:none;"]);
34140
+ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
34141
+ displayName: "EquipmentSet__EquipmentColumn",
34142
+ componentId: "sc-1wuddg2-1"
34143
+ })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
34076
34144
 
34077
- var itemSlotTypes = ['head', 'neck', 'leftHand', 'rightHand', 'ring', 'legs', 'boot', 'accessory', 'armor', 'inventory'];
34078
- var getSlotType = function getSlotType(itemSlotTypes, slotType, subType) {
34079
- if (!itemSlotTypes.includes(slotType)) {
34080
- return subType;
34081
- }
34082
- return slotType;
34083
- };
34084
- var ItemInfoDisplay = function ItemInfoDisplay(_ref) {
34085
- var item = _ref.item,
34086
- atlasIMG = _ref.atlasIMG,
34087
- atlasJSON = _ref.atlasJSON,
34088
- equipmentSet = _ref.equipmentSet,
34089
- isMobile = _ref.isMobile;
34090
- var itemToCompare = useMemo(function () {
34091
- var _item$allowedEquipSlo;
34092
- if (equipmentSet && (_item$allowedEquipSlo = item.allowedEquipSlotType) != null && _item$allowedEquipSlo.length) {
34093
- var allowedSlotTypeCamelCase = camelCase(item.allowedEquipSlotType[0]);
34094
- var itemSubTypeCamelCase = camelCase(item.subType);
34095
- var slotType = getSlotType(itemSlotTypes, allowedSlotTypeCamelCase, itemSubTypeCamelCase);
34096
- var itemFromEquipment = equipmentSet[slotType];
34097
- if (itemFromEquipment && (!item._id || itemFromEquipment._id !== item._id)) {
34098
- return itemFromEquipment;
34099
- }
34100
- }
34101
- return undefined;
34102
- }, [equipmentSet, item]);
34103
- return React.createElement(Flex, {
34104
- "$isMobile": isMobile
34105
- }, React.createElement(ItemInfo, {
34106
- item: item,
34107
- itemToCompare: itemToCompare,
34108
- atlasIMG: atlasIMG,
34109
- atlasJSON: atlasJSON
34110
- }), itemToCompare && React.createElement(CompareContainer, null, React.createElement(Equipped, null, React.createElement("span", null, "Equipped")), React.createElement(ItemInfo, {
34111
- item: itemToCompare,
34112
- itemToCompare: item,
34113
- atlasIMG: atlasIMG,
34114
- atlasJSON: atlasJSON
34115
- })));
34145
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
34146
+
34147
+ var chunkString = function chunkString(str, length) {
34148
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
34116
34149
  };
34117
- var Flex = /*#__PURE__*/styled.div.withConfig({
34118
- displayName: "ItemInfoDisplay__Flex",
34119
- componentId: "sc-1lftdo8-0"
34120
- })(["display:flex;gap:0.5rem;flex-direction:", ";"], function (_ref2) {
34121
- var $isMobile = _ref2.$isMobile;
34122
- return $isMobile ? 'row-reverse' : 'row';
34123
- });
34124
- var Equipped = /*#__PURE__*/styled.div.withConfig({
34125
- displayName: "ItemInfoDisplay__Equipped",
34126
- componentId: "sc-1lftdo8-1"
34127
- })(["position:absolute;bottom:100%;left:50%;transform:translateX(-50%);"]);
34128
- var CompareContainer = /*#__PURE__*/styled.div.withConfig({
34129
- displayName: "ItemInfoDisplay__CompareContainer",
34130
- componentId: "sc-1lftdo8-2"
34131
- })(["position:relative;"]);
34132
34150
 
34133
- var offset = 20;
34134
- var ItemTooltip = function ItemTooltip(_ref) {
34135
- var item = _ref.item,
34136
- atlasIMG = _ref.atlasIMG,
34137
- atlasJSON = _ref.atlasJSON,
34138
- equipmentSet = _ref.equipmentSet;
34139
- var ref = useRef(null);
34151
+ var DynamicText = function DynamicText(_ref) {
34152
+ var text = _ref.text,
34153
+ onFinish = _ref.onFinish,
34154
+ onStart = _ref.onStart;
34155
+ var _useState = useState(''),
34156
+ textState = _useState[0],
34157
+ setTextState = _useState[1];
34140
34158
  useEffect(function () {
34141
- var current = ref.current;
34142
- var initialOffset;
34143
- if (current) {
34144
- var handleMouseMove = function handleMouseMove(event) {
34145
- var clientX = event.clientX,
34146
- clientY = event.clientY;
34147
- // Adjust the position of the tooltip based on the mouse position
34148
- var rect = current.getBoundingClientRect();
34149
- if (!initialOffset) {
34150
- initialOffset = rect;
34159
+ var i = 0;
34160
+ var interval = setInterval(function () {
34161
+ // on every interval, show one more character
34162
+ if (i === 0) {
34163
+ if (onStart) {
34164
+ onStart();
34151
34165
  }
34152
- var tooltipWidth = rect.width;
34153
- var tooltipHeight = rect.height;
34154
- var isOffScreenRight = clientX + tooltipWidth + offset > window.innerWidth;
34155
- var isOffScreenBottom = clientY + tooltipHeight + offset > window.innerHeight;
34156
- var x = (isOffScreenRight ? clientX - tooltipWidth - offset : clientX + offset) - initialOffset.x;
34157
- var y = (isOffScreenBottom ? clientY - tooltipHeight - offset : clientY + offset) - initialOffset.y;
34158
- current.style.transform = "translate(" + x + "px, " + y + "px)";
34159
- current.style.opacity = '1';
34160
- };
34161
- window.addEventListener('mousemove', handleMouseMove);
34162
- return function () {
34163
- window.removeEventListener('mousemove', handleMouseMove);
34164
- };
34165
- }
34166
- return;
34167
- }, []);
34168
- return React.createElement(Container$c, {
34169
- ref: ref
34170
- }, React.createElement(ItemInfoDisplay, {
34171
- item: item,
34172
- atlasIMG: atlasIMG,
34173
- atlasJSON: atlasJSON,
34174
- equipmentSet: equipmentSet
34175
- }));
34166
+ }
34167
+ if (i < text.length) {
34168
+ setTextState(text.substring(0, i + 1));
34169
+ i++;
34170
+ } else {
34171
+ clearInterval(interval);
34172
+ if (onFinish) {
34173
+ onFinish();
34174
+ }
34175
+ }
34176
+ }, 50);
34177
+ return function () {
34178
+ clearInterval(interval);
34179
+ };
34180
+ }, [text]);
34181
+ return React.createElement(TextContainer, null, textState);
34176
34182
  };
34177
- var Container$c = /*#__PURE__*/styled.div.withConfig({
34178
- displayName: "ItemTooltip__Container",
34179
- componentId: "sc-11d9r7x-0"
34180
- })(["position:fixed;z-index:50;pointer-events:none;left:0;top:0;opacity:0;"]);
34183
+ var TextContainer = /*#__PURE__*/styled.p.withConfig({
34184
+ displayName: "DynamicText__TextContainer",
34185
+ componentId: "sc-1ggl9nd-0"
34186
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
34181
34187
 
34182
- var ItemInfoWrapper = function ItemInfoWrapper(_ref) {
34183
- var children = _ref.children,
34184
- atlasIMG = _ref.atlasIMG,
34185
- atlasJSON = _ref.atlasJSON,
34186
- item = _ref.item,
34187
- equipmentSet = _ref.equipmentSet,
34188
- scale = _ref.scale;
34189
- var _useState = useState(false),
34190
- isTooltipVisible = _useState[0],
34191
- setIsTooltipVisible = _useState[1];
34188
+ var img$6 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
34189
+
34190
+ var img$7 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
34191
+
34192
+ var NPCDialogText = function NPCDialogText(_ref) {
34193
+ var text = _ref.text,
34194
+ onClose = _ref.onClose,
34195
+ onEndStep = _ref.onEndStep,
34196
+ onStartStep = _ref.onStartStep,
34197
+ type = _ref.type;
34198
+ var windowSize = useRef([window.innerWidth, window.innerHeight]);
34199
+ function maxCharacters(width) {
34200
+ // Set the font size to 16 pixels
34201
+ var fontSize = 11.2;
34202
+ // Calculate the number of characters that can fit in one line
34203
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
34204
+ // Calculate the number of lines that can fit in the div
34205
+ var linesPerDiv = Math.floor(180 / fontSize);
34206
+ // Calculate the maximum number of characters that can fit in the div
34207
+ var maxCharacters = charactersPerLine * linesPerDiv;
34208
+ // Return the maximum number of characters
34209
+ return Math.round(maxCharacters / 5);
34210
+ }
34211
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
34212
+ var _useState = useState(0),
34213
+ chunkIndex = _useState[0],
34214
+ setChunkIndex = _useState[1];
34215
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34216
+ if (event.code === 'Space') {
34217
+ goToNextStep();
34218
+ }
34219
+ };
34220
+ var goToNextStep = function goToNextStep() {
34221
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
34222
+ if (hasNextChunk) {
34223
+ setChunkIndex(function (prev) {
34224
+ return prev + 1;
34225
+ });
34226
+ } else {
34227
+ // if there's no more text chunks, close the dialog
34228
+ onClose();
34229
+ }
34230
+ };
34231
+ useEffect(function () {
34232
+ document.addEventListener('keydown', onHandleSpacePress);
34233
+ return function () {
34234
+ return document.removeEventListener('keydown', onHandleSpacePress);
34235
+ };
34236
+ }, [chunkIndex]);
34192
34237
  var _useState2 = useState(false),
34193
- isTooltipMobileVisible = _useState2[0],
34194
- setIsTooltipMobileVisible = _useState2[1];
34195
- return React.createElement("div", {
34196
- onMouseEnter: function onMouseEnter() {
34197
- if (!isTooltipMobileVisible) setIsTooltipVisible(true);
34238
+ showGoNextIndicator = _useState2[0],
34239
+ setShowGoNextIndicator = _useState2[1];
34240
+ return React.createElement(Container$b, null, React.createElement(DynamicText, {
34241
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
34242
+ onFinish: function onFinish() {
34243
+ setShowGoNextIndicator(true);
34244
+ onEndStep && onEndStep();
34198
34245
  },
34199
- onMouseLeave: setIsTooltipVisible.bind(null, false),
34200
- onTouchEnd: function onTouchEnd() {
34201
- setIsTooltipMobileVisible(true);
34202
- setIsTooltipVisible(false);
34246
+ onStart: function onStart() {
34247
+ setShowGoNextIndicator(false);
34248
+ onStartStep && onStartStep();
34249
+ }
34250
+ }), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
34251
+ right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
34252
+ src: IS_MOBILE_OR_TABLET ? img$6 : img$7,
34253
+ onPointerDown: function onPointerDown() {
34254
+ goToNextStep();
34203
34255
  }
34204
- }, children, isTooltipVisible && !isTooltipMobileVisible && React.createElement(ItemTooltip, {
34205
- atlasIMG: atlasIMG,
34206
- atlasJSON: atlasJSON,
34207
- equipmentSet: equipmentSet,
34208
- item: item
34209
- }), isTooltipMobileVisible && React.createElement(MobileItemTooltip, {
34210
- atlasIMG: atlasIMG,
34211
- atlasJSON: atlasJSON,
34212
- equipmentSet: equipmentSet,
34213
- closeTooltip: function closeTooltip() {
34214
- setIsTooltipMobileVisible(false);
34215
- console.log('close');
34216
- },
34217
- item: item,
34218
- scale: scale
34219
34256
  }));
34220
34257
  };
34258
+ var Container$b = /*#__PURE__*/styled.div.withConfig({
34259
+ displayName: "NPCDialogText__Container",
34260
+ componentId: "sc-1cxkdh9-0"
34261
+ })([""]);
34262
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
34263
+ displayName: "NPCDialogText__PressSpaceIndicator",
34264
+ componentId: "sc-1cxkdh9-1"
34265
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
34266
+ var right = _ref2.right;
34267
+ return right;
34268
+ });
34221
34269
 
34222
- var CraftBook = function CraftBook(_ref) {
34223
- var atlasIMG = _ref.atlasIMG,
34224
- atlasJSON = _ref.atlasJSON,
34225
- onClose = _ref.onClose,
34226
- onSelect = _ref.onSelect,
34227
- onCraftItem = _ref.onCraftItem,
34228
- craftablesItems = _ref.craftablesItems,
34229
- equipmentSet = _ref.equipmentSet,
34230
- scale = _ref.scale;
34231
- var optionsId = 0;
34232
- var _useState = useState({
34233
- show: false,
34234
- index: 200
34235
- }),
34236
- isShown = _useState[0],
34237
- setIsShown = _useState[1];
34238
- var _useState2 = useState(),
34239
- craftItem = _useState2[0],
34240
- setCraftItem = _useState2[1];
34241
- var getDropdownOptions = function getDropdownOptions() {
34242
- var options = [];
34243
- Object.keys(ItemSubType).forEach(function (key) {
34244
- if (key === 'DeadBody') {
34245
- return; // we can't craft crafting resouces...
34246
- }
34270
+ //@ts-ignore
34271
+ var useEventListener = function useEventListener(type, handler, el) {
34272
+ if (el === void 0) {
34273
+ el = window;
34274
+ }
34275
+ var savedHandler = React.useRef();
34276
+ React.useEffect(function () {
34277
+ savedHandler.current = handler;
34278
+ }, [handler]);
34279
+ React.useEffect(function () {
34280
+ //@ts-ignore
34281
+ var listener = function listener(e) {
34282
+ return savedHandler.current(e);
34283
+ };
34284
+ el.addEventListener(type, listener);
34285
+ return function () {
34286
+ el.removeEventListener(type, listener);
34287
+ };
34288
+ }, [type, el]);
34289
+ };
34247
34290
 
34248
- options.push({
34249
- id: optionsId,
34250
- value: key,
34251
- option: key
34252
- });
34253
- optionsId += 1;
34291
+ var QuestionDialog = function QuestionDialog(_ref) {
34292
+ var questions = _ref.questions,
34293
+ answers = _ref.answers,
34294
+ onClose = _ref.onClose;
34295
+ var _useState = useState(questions[0]),
34296
+ currentQuestion = _useState[0],
34297
+ setCurrentQuestion = _useState[1];
34298
+ var _useState2 = useState(false),
34299
+ canShowAnswers = _useState2[0],
34300
+ setCanShowAnswers = _useState2[1];
34301
+ var onGetFirstAnswer = function onGetFirstAnswer() {
34302
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
34303
+ return null;
34304
+ }
34305
+ var firstAnswerId = currentQuestion.answerIds[0];
34306
+ return answers.find(function (answer) {
34307
+ return answer.id === firstAnswerId;
34254
34308
  });
34255
- return options;
34256
34309
  };
34257
- var modifyString = function modifyString(str) {
34258
- // Split the string by "/" and "."
34259
- var parts = str.split('/');
34260
- var fileName = parts[parts.length - 1];
34261
- parts = fileName.split('.');
34262
- var name = parts[0];
34263
- // Replace all occurrences of "-" with " "
34264
- name = name.replace(/-/g, ' ');
34265
- // Uppercase the first word
34266
- var words = name.split(' ');
34267
- var firstWord = words[0].slice(0, 1).toUpperCase() + words[0].slice(1);
34268
- var modifiedWords = [firstWord].concat(words.slice(1));
34269
- name = modifiedWords.join(' ');
34270
- return name;
34310
+ var _useState3 = useState(onGetFirstAnswer()),
34311
+ currentAnswer = _useState3[0],
34312
+ setCurrentAnswer = _useState3[1];
34313
+ useEffect(function () {
34314
+ setCurrentAnswer(onGetFirstAnswer());
34315
+ }, [currentQuestion]);
34316
+ var onGetAnswers = function onGetAnswers(answerIds) {
34317
+ return answerIds.map(function (answerId) {
34318
+ return answers.find(function (answer) {
34319
+ return answer.id === answerId;
34320
+ });
34321
+ });
34271
34322
  };
34272
- var handleClick = function handleClick(value) {
34273
- setCraftItem(value);
34323
+ var onKeyPress = function onKeyPress(e) {
34324
+ switch (e.key) {
34325
+ case 'ArrowDown':
34326
+ // select next answer, if any.
34327
+ // if no next answer, select first answer
34328
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
34329
+ // (answer) => answer?.id === currentAnswer!.id + 1
34330
+ // );
34331
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34332
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
34333
+ });
34334
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
34335
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34336
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
34337
+ });
34338
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
34339
+ break;
34340
+ case 'ArrowUp':
34341
+ // select previous answer, if any.
34342
+ // if no previous answer, select last answer
34343
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34344
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
34345
+ });
34346
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
34347
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34348
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
34349
+ });
34350
+ if (previousAnswer) {
34351
+ setCurrentAnswer(previousAnswer);
34352
+ } else {
34353
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
34354
+ }
34355
+ break;
34356
+ case 'Enter':
34357
+ setCanShowAnswers(false);
34358
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
34359
+ onClose();
34360
+ return;
34361
+ } else {
34362
+ setCurrentQuestion(questions.find(function (question) {
34363
+ return question.id === currentAnswer.nextQuestionId;
34364
+ }));
34365
+ }
34366
+ break;
34367
+ }
34274
34368
  };
34275
- return React.createElement(DraggableContainer, {
34276
- type: RPGUIContainerTypes.Framed,
34277
- width: "500px",
34278
- cancelDrag: ".inputRadioCraftBook",
34279
- onCloseButton: function onCloseButton() {
34280
- if (onClose) {
34281
- onClose();
34282
- }
34369
+ useEventListener('keydown', onKeyPress);
34370
+ var onAnswerClick = function onAnswerClick(answer) {
34371
+ setCanShowAnswers(false);
34372
+ if (answer.nextQuestionId) {
34373
+ // if there is a next question, go to it
34374
+ setCurrentQuestion(questions.find(function (question) {
34375
+ return question.id === answer.nextQuestionId;
34376
+ }));
34377
+ } else {
34378
+ // else, finish dialog!
34379
+ onClose();
34283
34380
  }
34284
- }, React.createElement("div", {
34285
- style: {
34286
- width: '100%'
34381
+ };
34382
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
34383
+ var answerIds = currentQuestion.answerIds;
34384
+ if (!answerIds) {
34385
+ return null;
34287
34386
  }
34288
- }, React.createElement(Title$2, null, "Craftbook"), React.createElement(Subtitle, null, "Select an item to craft"), React.createElement("hr", {
34289
- className: "golden"
34290
- })), React.createElement(Dropdown, {
34291
- options: getDropdownOptions(),
34292
- onChange: function onChange(value) {
34293
- return onSelect(value);
34387
+ var answers = onGetAnswers(answerIds);
34388
+ if (!answers) {
34389
+ return null;
34294
34390
  }
34295
- }), React.createElement(RadioInputScroller, {
34296
- className: "inputRadioCraftBook"
34297
- }, craftablesItems == null ? void 0 : craftablesItems.map(function (option, index) {
34298
- return React.createElement(RadioOptionsWrapper, {
34299
- key: index
34300
- }, React.createElement(SpriteAtlasWrapper, null, React.createElement(ItemInfoWrapper, {
34301
- item: option,
34302
- atlasIMG: atlasIMG,
34303
- atlasJSON: atlasJSON,
34304
- equipmentSet: equipmentSet,
34305
- scale: scale
34306
- }, React.createElement(SpriteFromAtlas, {
34307
- atlasIMG: atlasIMG,
34308
- atlasJSON: atlasJSON,
34309
- spriteKey: option.texturePath,
34310
- imgScale: 3,
34311
- grayScale: !option.canCraft
34312
- }))), React.createElement("div", null, React.createElement("div", {
34313
- onPointerDown: function onPointerDown() {
34314
- return handleClick(option.key);
34391
+ return answers.map(function (answer) {
34392
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
34393
+ var selectedColor = isSelected ? 'yellow' : 'white';
34394
+ if (answer) {
34395
+ return React.createElement(AnswerRow, {
34396
+ key: "answer_" + answer.id
34397
+ }, React.createElement(AnswerSelectedIcon, {
34398
+ color: selectedColor
34399
+ }, isSelected ? 'X' : null), React.createElement(Answer, {
34400
+ key: answer.id,
34401
+ onPointerDown: function onPointerDown() {
34402
+ return onAnswerClick(answer);
34403
+ },
34404
+ color: selectedColor
34405
+ }, answer.text));
34315
34406
  }
34316
- }, React.createElement("input", {
34317
- className: "rpgui-radio",
34318
- type: "radio",
34319
- value: option.name,
34320
- name: "test",
34321
- disabled: !option.canCraft,
34322
- checked: craftItem === option.key,
34323
- onChange: function onChange() {
34324
- return handleClick(option.key);
34407
+ return null;
34408
+ });
34409
+ };
34410
+ return React.createElement(Container$c, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
34411
+ text: currentQuestion.text,
34412
+ onStart: function onStart() {
34413
+ return setCanShowAnswers(false);
34414
+ },
34415
+ onFinish: function onFinish() {
34416
+ return setCanShowAnswers(true);
34417
+ }
34418
+ })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34419
+ };
34420
+ var Container$c = /*#__PURE__*/styled.div.withConfig({
34421
+ displayName: "QuestionDialog__Container",
34422
+ componentId: "sc-bxc5u0-0"
34423
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
34424
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
34425
+ displayName: "QuestionDialog__QuestionContainer",
34426
+ componentId: "sc-bxc5u0-1"
34427
+ })(["flex:100%;width:100%;"]);
34428
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
34429
+ displayName: "QuestionDialog__AnswersContainer",
34430
+ componentId: "sc-bxc5u0-2"
34431
+ })(["flex:100%;"]);
34432
+ var Answer = /*#__PURE__*/styled.p.withConfig({
34433
+ displayName: "QuestionDialog__Answer",
34434
+ componentId: "sc-bxc5u0-3"
34435
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
34436
+ return props.color;
34437
+ });
34438
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
34439
+ displayName: "QuestionDialog__AnswerSelectedIcon",
34440
+ componentId: "sc-bxc5u0-4"
34441
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
34442
+ return props.color;
34443
+ });
34444
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
34445
+ displayName: "QuestionDialog__AnswerRow",
34446
+ componentId: "sc-bxc5u0-5"
34447
+ })(["display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:0.5rem;height:22px;p{line-height:unset;margin-top:0;margin-bottom:0rem;}"]);
34448
+
34449
+ var img$8 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
34450
+
34451
+ var NPCDialogType;
34452
+ (function (NPCDialogType) {
34453
+ NPCDialogType["TextOnly"] = "TextOnly";
34454
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
34455
+ })(NPCDialogType || (NPCDialogType = {}));
34456
+ var NPCDialog = function NPCDialog(_ref) {
34457
+ var text = _ref.text,
34458
+ type = _ref.type,
34459
+ _onClose = _ref.onClose,
34460
+ imagePath = _ref.imagePath,
34461
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
34462
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
34463
+ questions = _ref.questions,
34464
+ answers = _ref.answers;
34465
+ return React.createElement(RPGUIContainer, {
34466
+ type: RPGUIContainerTypes.FramedGold,
34467
+ width: isQuestionDialog ? '600px' : '80%',
34468
+ height: '180px'
34469
+ }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$1, {
34470
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34471
+ }, React.createElement(QuestionDialog, {
34472
+ questions: questions,
34473
+ answers: answers,
34474
+ onClose: function onClose() {
34475
+ if (_onClose) {
34476
+ _onClose();
34325
34477
  }
34326
- }), React.createElement("label", {
34327
- onPointerDown: function onPointerDown() {
34328
- handleClick(option.key);
34329
- },
34330
- onTouchEnd: function onTouchEnd() {
34331
- setIsShown({
34332
- show: true,
34333
- index: index
34334
- });
34335
- },
34336
- style: {
34337
- display: 'flex',
34338
- alignItems: 'center'
34339
- },
34340
- onMouseEnter: function onMouseEnter() {
34341
- return setIsShown({
34342
- show: true,
34343
- index: index
34344
- });
34345
- },
34346
- onMouseLeave: function onMouseLeave() {
34347
- return setIsShown({
34348
- show: false,
34349
- index: index
34350
- });
34478
+ }
34479
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34480
+ src: imagePath || img$8
34481
+ }))) : React.createElement(React.Fragment, null, React.createElement(Container$d, null, React.createElement(TextContainer$1, {
34482
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34483
+ }, React.createElement(NPCDialogText, {
34484
+ type: type,
34485
+ text: text || 'No text provided.',
34486
+ onClose: function onClose() {
34487
+ if (_onClose) {
34488
+ _onClose();
34351
34489
  }
34352
- }, modifyString(option.name))), isShown && isShown.index === index && option.ingredients.map(function (option, index) {
34353
- return React.createElement(Recipes, {
34354
- key: index
34355
- }, React.createElement(SpriteFromAtlas, {
34356
- atlasIMG: atlasIMG,
34357
- atlasJSON: atlasJSON,
34358
- spriteKey: option.texturePath,
34359
- imgScale: 1
34360
- }), React.createElement(StyledItem, null, modifyString(option.key), " (", option.qty, "x)"));
34361
- })));
34362
- })), React.createElement(ButtonWrapper, null, React.createElement(Button, {
34363
- buttonType: ButtonTypes.RPGUIButton,
34364
- onPointerDown: onClose
34365
- }, "Cancel"), React.createElement(Button, {
34366
- buttonType: ButtonTypes.RPGUIButton,
34367
- onPointerDown: function onPointerDown() {
34368
- return onCraftItem(craftItem);
34369
34490
  }
34370
- }, "Craft")));
34491
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34492
+ src: imagePath || img$8
34493
+ })))));
34371
34494
  };
34372
- var StyledItem = /*#__PURE__*/styled.div.withConfig({
34373
- displayName: "CraftBook__StyledItem",
34374
- componentId: "sc-19q95ue-0"
34375
- })(["margin-left:10px;"]);
34376
- var Recipes = /*#__PURE__*/styled.div.withConfig({
34377
- displayName: "CraftBook__Recipes",
34378
- componentId: "sc-19q95ue-1"
34379
- })(["font-size:0.6rem;color:yellow !important;margin-bottom:3px;display:flex;align-items:center;.sprite-from-atlas-img{top:0px;left:0px;}"]);
34380
- var Title$2 = /*#__PURE__*/styled.h1.withConfig({
34381
- displayName: "CraftBook__Title",
34382
- componentId: "sc-19q95ue-2"
34383
- })(["font-size:0.6rem;color:yellow !important;"]);
34384
- var Subtitle = /*#__PURE__*/styled.h1.withConfig({
34385
- displayName: "CraftBook__Subtitle",
34386
- componentId: "sc-19q95ue-3"
34387
- })(["font-size:0.4rem;color:yellow !important;"]);
34388
- var RadioInputScroller = /*#__PURE__*/styled.div.withConfig({
34389
- displayName: "CraftBook__RadioInputScroller",
34390
- componentId: "sc-19q95ue-4"
34391
- })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;-webkit-overflow-scrolling:touch;"]);
34392
- var SpriteAtlasWrapper = /*#__PURE__*/styled.div.withConfig({
34393
- displayName: "CraftBook__SpriteAtlasWrapper",
34394
- componentId: "sc-19q95ue-5"
34395
- })(["margin-right:40px;"]);
34396
- var RadioOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
34397
- displayName: "CraftBook__RadioOptionsWrapper",
34398
- componentId: "sc-19q95ue-6"
34399
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
34400
- var ButtonWrapper = /*#__PURE__*/styled.div.withConfig({
34401
- displayName: "CraftBook__ButtonWrapper",
34402
- componentId: "sc-19q95ue-7"
34403
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
34495
+ var Container$d = /*#__PURE__*/styled.div.withConfig({
34496
+ displayName: "NPCDialog__Container",
34497
+ componentId: "sc-1b4aw74-0"
34498
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34499
+ var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
34500
+ displayName: "NPCDialog__TextContainer",
34501
+ componentId: "sc-1b4aw74-1"
34502
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34503
+ var flex = _ref2.flex;
34504
+ return flex;
34505
+ });
34506
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34507
+ displayName: "NPCDialog__ThumbnailContainer",
34508
+ componentId: "sc-1b4aw74-2"
34509
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34510
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34511
+ displayName: "NPCDialog__NPCThumbnail",
34512
+ componentId: "sc-1b4aw74-3"
34513
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
34404
34514
 
34405
- var DropdownSelectorContainer = function DropdownSelectorContainer(_ref) {
34406
- var title = _ref.title,
34407
- onChange = _ref.onChange,
34408
- options = _ref.options,
34409
- details = _ref.details;
34410
- return React.createElement("div", null, React.createElement("p", null, title), React.createElement(Dropdown, {
34411
- options: options.map(function (option, index) {
34412
- return {
34413
- option: option.name,
34414
- value: option.id,
34415
- id: index
34416
- };
34417
- }),
34418
- onChange: onChange
34419
- }), React.createElement(Details, null, details));
34515
+ var ImgSide;
34516
+ (function (ImgSide) {
34517
+ ImgSide["right"] = "right";
34518
+ ImgSide["left"] = "left";
34519
+ })(ImgSide || (ImgSide = {}));
34520
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
34521
+ var _textAndTypeArray$sli;
34522
+ var _onClose = _ref.onClose,
34523
+ textAndTypeArray = _ref.textAndTypeArray;
34524
+ var _useState = useState(false),
34525
+ showGoNextIndicator = _useState[0],
34526
+ setShowGoNextIndicator = _useState[1];
34527
+ var _useState2 = useState(0),
34528
+ slide = _useState2[0],
34529
+ setSlide = _useState2[1];
34530
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34531
+ if (event.code === 'Space') {
34532
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34533
+ setSlide(function (prev) {
34534
+ return prev + 1;
34535
+ });
34536
+ } else {
34537
+ // if there's no more text chunks, close the dialog
34538
+ _onClose();
34539
+ }
34540
+ }
34541
+ };
34542
+ useEffect(function () {
34543
+ document.addEventListener('keydown', onHandleSpacePress);
34544
+ return function () {
34545
+ return document.removeEventListener('keydown', onHandleSpacePress);
34546
+ };
34547
+ }, [slide]);
34548
+ return React.createElement(RPGUIContainer, {
34549
+ type: RPGUIContainerTypes.FramedGold,
34550
+ width: '50%',
34551
+ height: '180px'
34552
+ }, React.createElement(React.Fragment, null, React.createElement(Container$e, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
34553
+ flex: '70%'
34554
+ }, React.createElement(NPCDialogText, {
34555
+ onStartStep: function onStartStep() {
34556
+ return setShowGoNextIndicator(false);
34557
+ },
34558
+ onEndStep: function onEndStep() {
34559
+ return setShowGoNextIndicator(true);
34560
+ },
34561
+ text: textAndTypeArray[slide].text || 'No text provided.',
34562
+ onClose: function onClose() {
34563
+ if (_onClose) {
34564
+ _onClose();
34565
+ }
34566
+ }
34567
+ })), React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
34568
+ src: textAndTypeArray[slide].imagePath || img$8
34569
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
34570
+ right: '10.5rem',
34571
+ src: img$7
34572
+ })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
34573
+ src: textAndTypeArray[slide].imagePath || img$8
34574
+ })), React.createElement(TextContainer$2, {
34575
+ flex: '70%'
34576
+ }, React.createElement(NPCDialogText, {
34577
+ onStartStep: function onStartStep() {
34578
+ return setShowGoNextIndicator(false);
34579
+ },
34580
+ onEndStep: function onEndStep() {
34581
+ return setShowGoNextIndicator(true);
34582
+ },
34583
+ text: textAndTypeArray[slide].text || 'No text provided.',
34584
+ onClose: function onClose() {
34585
+ if (_onClose) {
34586
+ _onClose();
34587
+ }
34588
+ }
34589
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
34590
+ right: '1rem',
34591
+ src: img$7
34592
+ }))), ")"));
34420
34593
  };
34421
- var Details = /*#__PURE__*/styled.p.withConfig({
34422
- displayName: "DropdownSelectorContainer__Details",
34423
- componentId: "sc-kaa0h9-0"
34424
- })(["font-size:", " !important;"], uiFonts.size.xsmall);
34594
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
34595
+ displayName: "NPCMultiDialog__Container",
34596
+ componentId: "sc-rvu5wg-0"
34597
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34598
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
34599
+ displayName: "NPCMultiDialog__TextContainer",
34600
+ componentId: "sc-rvu5wg-1"
34601
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34602
+ var flex = _ref2.flex;
34603
+ return flex;
34604
+ });
34605
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
34606
+ displayName: "NPCMultiDialog__ThumbnailContainer",
34607
+ componentId: "sc-rvu5wg-2"
34608
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34609
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
34610
+ displayName: "NPCMultiDialog__NPCThumbnail",
34611
+ componentId: "sc-rvu5wg-3"
34612
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
34613
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
34614
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
34615
+ componentId: "sc-rvu5wg-4"
34616
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34617
+ var right = _ref3.right;
34618
+ return right;
34619
+ });
34425
34620
 
34426
- var EquipmentSet = function EquipmentSet(_ref) {
34427
- var equipmentSet = _ref.equipmentSet,
34428
- onClose = _ref.onClose,
34429
- _onMouseOver = _ref.onMouseOver,
34430
- _onSelected = _ref.onSelected,
34431
- onItemClick = _ref.onItemClick,
34432
- atlasIMG = _ref.atlasIMG,
34433
- atlasJSON = _ref.atlasJSON,
34434
- onItemDragEnd = _ref.onItemDragEnd,
34435
- onItemDragStart = _ref.onItemDragStart,
34436
- onItemPlaceDrop = _ref.onItemPlaceDrop,
34437
- onItemOutsideDrop = _ref.onItemOutsideDrop,
34438
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
34439
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
34440
- dragScale = _ref.dragScale;
34441
- var neck = equipmentSet.neck,
34442
- leftHand = equipmentSet.leftHand,
34443
- ring = equipmentSet.ring,
34444
- head = equipmentSet.head,
34445
- armor = equipmentSet.armor,
34446
- legs = equipmentSet.legs,
34447
- boot = equipmentSet.boot,
34448
- inventory = equipmentSet.inventory,
34449
- rightHand = equipmentSet.rightHand,
34450
- accessory = equipmentSet.accessory;
34451
- var equipmentData = [neck, leftHand, ring, head, armor, legs, boot, inventory, rightHand, accessory];
34452
- var equipmentMaskSlots = [ItemSlotType.Neck, ItemSlotType.LeftHand, ItemSlotType.Ring, ItemSlotType.Head, ItemSlotType.Torso, ItemSlotType.Legs, ItemSlotType.Feet, ItemSlotType.Inventory, ItemSlotType.RightHand, ItemSlotType.Accessory];
34453
- var onRenderEquipmentSlotRange = function onRenderEquipmentSlotRange(start, end) {
34454
- var equipmentRange = equipmentData.slice(start, end);
34455
- var slotMaksRange = equipmentMaskSlots.slice(start, end);
34456
- return equipmentRange.map(function (data, i) {
34457
- var _ref2;
34458
- var item = data;
34459
- var itemContainer = (_ref2 = item && item.itemContainer) != null ? _ref2 : null;
34460
- return React.createElement(ItemSlot, {
34461
- key: i,
34462
- slotIndex: i,
34463
- item: item,
34464
- itemContainer: itemContainer,
34465
- itemContainerType: ItemContainerType.Equipment,
34466
- slotSpriteMask: slotMaksRange[i],
34467
- onMouseOver: function onMouseOver(event, slotIndex, item) {
34468
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34469
- },
34470
- onPointerDown: function onPointerDown(itemType, ContainerType) {
34471
- if (onItemClick) onItemClick(itemType, item, ContainerType);
34472
- },
34473
- onSelected: function onSelected(optionId) {
34474
- if (_onSelected) _onSelected(optionId);
34475
- },
34476
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
34477
- if (!item) {
34478
- return;
34479
- }
34480
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
34481
- },
34482
- onDragEnd: function onDragEnd(quantity) {
34483
- if (onItemDragEnd) onItemDragEnd(quantity);
34484
- },
34485
- dragScale: dragScale,
34486
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
34487
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
34488
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
34489
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
34490
- },
34491
- onOutsideDrop: function onOutsideDrop(item, position) {
34492
- if (onItemOutsideDrop) onItemOutsideDrop(item, position);
34493
- },
34494
- atlasIMG: atlasIMG,
34495
- atlasJSON: atlasJSON
34496
- });
34497
- });
34621
+ var HistoryDialog = function HistoryDialog(_ref) {
34622
+ var backgroundImgPath = _ref.backgroundImgPath,
34623
+ fullCoverBackground = _ref.fullCoverBackground,
34624
+ questions = _ref.questions,
34625
+ answers = _ref.answers,
34626
+ text = _ref.text,
34627
+ imagePath = _ref.imagePath,
34628
+ textAndTypeArray = _ref.textAndTypeArray,
34629
+ onClose = _ref.onClose;
34630
+ var _useState = useState(0),
34631
+ img = _useState[0],
34632
+ setImage = _useState[1];
34633
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34634
+ if (event.code === 'Space') {
34635
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
34636
+ setImage(function (prev) {
34637
+ return prev + 1;
34638
+ });
34639
+ } else {
34640
+ // if there's no more text chunks, close the dialog
34641
+ onClose();
34642
+ }
34643
+ }
34498
34644
  };
34499
- return React.createElement(DraggableContainer, {
34500
- title: 'Equipments',
34501
- type: RPGUIContainerTypes.Framed,
34502
- onCloseButton: function onCloseButton() {
34503
- if (onClose) onClose();
34504
- },
34505
- width: "330px",
34506
- cancelDrag: ".equipment-container-body"
34507
- }, React.createElement(EquipmentSetContainer, {
34508
- className: "equipment-container-body"
34509
- }, React.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(0, 3)), React.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(3, 7)), React.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(7, 10))));
34645
+ useEffect(function () {
34646
+ document.addEventListener('keydown', onHandleSpacePress);
34647
+ return function () {
34648
+ return document.removeEventListener('keydown', onHandleSpacePress);
34649
+ };
34650
+ }, [backgroundImgPath]);
34651
+ return React.createElement(BackgroundContainer, {
34652
+ imgPath: backgroundImgPath[img],
34653
+ fullImg: fullCoverBackground
34654
+ }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
34655
+ textAndTypeArray: textAndTypeArray,
34656
+ onClose: onClose
34657
+ }) : questions && answers ? React.createElement(QuestionDialog, {
34658
+ questions: questions,
34659
+ answers: answers,
34660
+ onClose: onClose
34661
+ }) : text && imagePath ? React.createElement(NPCDialog, {
34662
+ text: text,
34663
+ imagePath: imagePath,
34664
+ onClose: onClose,
34665
+ type: NPCDialogType.TextAndThumbnail
34666
+ }) : React.createElement(NPCDialog, {
34667
+ text: text,
34668
+ onClose: onClose,
34669
+ type: NPCDialogType.TextOnly
34670
+ })));
34510
34671
  };
34511
- var EquipmentSetContainer = /*#__PURE__*/styled.div.withConfig({
34512
- displayName: "EquipmentSet__EquipmentSetContainer",
34513
- componentId: "sc-1wuddg2-0"
34514
- })(["width:inherit;display:flex;justify-content:center;flex-wrap:wrap;flex-direction:row;touch-action:none;"]);
34515
- var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
34516
- displayName: "EquipmentSet__EquipmentColumn",
34517
- componentId: "sc-1wuddg2-1"
34518
- })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
34672
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
34673
+ displayName: "HistoryDialog__BackgroundContainer",
34674
+ componentId: "sc-u6oe75-0"
34675
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
34676
+ return props.imgPath;
34677
+ }, function (props) {
34678
+ return props.imgPath ? 'cover' : 'auto';
34679
+ });
34680
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
34681
+ displayName: "HistoryDialog__DialogContainer",
34682
+ componentId: "sc-u6oe75-1"
34683
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
34519
34684
 
34520
34685
  var SlotsContainer = function SlotsContainer(_ref) {
34521
34686
  var children = _ref.children,
@@ -34738,7 +34903,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
34738
34903
  return word[0];
34739
34904
  }));
34740
34905
  };
34741
- return React.createElement(Container$d, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
34906
+ return React.createElement(Container$f, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
34742
34907
  id: "shortcuts_list"
34743
34908
  }, Array.from({
34744
34909
  length: 6
@@ -34754,7 +34919,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
34754
34919
  }, getContent(i));
34755
34920
  })));
34756
34921
  };
34757
- var Container$d = /*#__PURE__*/styled.div.withConfig({
34922
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
34758
34923
  displayName: "ShortcutsSetter__Container",
34759
34924
  componentId: "sc-xuouuf-0"
34760
34925
  })(["p{margin:0;margin-left:0.5rem;}"]);
@@ -34791,8 +34956,7 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34791
34956
  dragScale = _ref.dragScale,
34792
34957
  shortcuts = _ref.shortcuts,
34793
34958
  setItemShortcut = _ref.setItemShortcut,
34794
- removeShortcut = _ref.removeShortcut,
34795
- equipmentSet = _ref.equipmentSet;
34959
+ removeShortcut = _ref.removeShortcut;
34796
34960
  var _useState = useState({
34797
34961
  isOpen: false,
34798
34962
  maxQuantity: 1,
@@ -34833,518 +34997,191 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34833
34997
  onDragEnd: function onDragEnd(quantity) {
34834
34998
  if (onItemDragEnd) onItemDragEnd(quantity);
34835
34999
  },
34836
- dragScale: dragScale,
34837
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
34838
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
34839
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
34840
- setQuantitySelect({
34841
- isOpen: true,
34842
- maxQuantity: maxQuantity,
34843
- callback: callback
34844
- });
34845
- },
34846
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
34847
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
34848
- },
34849
- onOutsideDrop: function onOutsideDrop(item, position) {
34850
- if (_onOutsideDrop) _onOutsideDrop(item, position);
34851
- },
34852
- atlasIMG: atlasIMG,
34853
- atlasJSON: atlasJSON,
34854
- isSelectingShortcut: settingShortcutIndex !== -1,
34855
- equipmentSet: equipmentSet
34856
- }));
34857
- }
34858
- return slots;
34859
- };
34860
- return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
34861
- title: itemContainer.name || 'Container',
34862
- onClose: onClose,
34863
- initialPosition: initialPosition
34864
- }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
34865
- setSettingShortcutIndex: setSettingShortcutIndex,
34866
- settingShortcutIndex: settingShortcutIndex,
34867
- shortcuts: shortcuts,
34868
- removeShortcut: removeShortcut,
34869
- atlasIMG: atlasIMG,
34870
- atlasJSON: atlasJSON
34871
- }), React.createElement(ItemsContainer, {
34872
- className: "item-container-body"
34873
- }, onRenderSlots())), quantitySelect.isOpen && React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
34874
- quantity: quantitySelect.maxQuantity,
34875
- onConfirm: function onConfirm(quantity) {
34876
- quantitySelect.callback(quantity);
34877
- setQuantitySelect({
34878
- isOpen: false,
34879
- maxQuantity: 1,
34880
- callback: function callback() {}
34881
- });
34882
- },
34883
- onClose: function onClose() {
34884
- quantitySelect.callback(-1);
34885
- setQuantitySelect({
34886
- isOpen: false,
34887
- maxQuantity: 1,
34888
- callback: function callback() {}
34889
- });
34890
- }
34891
- })));
34892
- };
34893
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
34894
- displayName: "ItemContainer__ItemsContainer",
34895
- componentId: "sc-15y5p9l-0"
34896
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
34897
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
34898
- displayName: "ItemContainer__QuantitySelectorContainer",
34899
- componentId: "sc-15y5p9l-1"
34900
- })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
34901
-
34902
- var ItemSelector = function ItemSelector(_ref) {
34903
- var atlasIMG = _ref.atlasIMG,
34904
- atlasJSON = _ref.atlasJSON,
34905
- options = _ref.options,
34906
- onClose = _ref.onClose,
34907
- onSelect = _ref.onSelect;
34908
- var _useState = useState(),
34909
- selectedValue = _useState[0],
34910
- setSelectedValue = _useState[1];
34911
- var handleClick = function handleClick() {
34912
- var element = document.querySelector("input[name='test']:checked");
34913
- var elementValue = element.value;
34914
- setSelectedValue(elementValue);
34915
- };
34916
- useEffect(function () {
34917
- if (selectedValue) {
34918
- onSelect(selectedValue);
34919
- }
34920
- }, [selectedValue]);
34921
- return React.createElement(DraggableContainer, {
34922
- type: RPGUIContainerTypes.Framed,
34923
- width: "500px",
34924
- cancelDrag: ".equipment-container-body .arrow-selector",
34925
- onCloseButton: function onCloseButton() {
34926
- if (onClose) {
34927
- onClose();
34928
- }
34929
- }
34930
- }, React.createElement("div", {
34931
- style: {
34932
- width: '100%'
34933
- }
34934
- }, React.createElement(Title$3, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
34935
- className: "golden"
34936
- })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
34937
- return React.createElement(RadioOptionsWrapper$1, {
34938
- key: index
34939
- }, React.createElement(SpriteAtlasWrapper$1, null, React.createElement(SpriteFromAtlas, {
34940
- atlasIMG: atlasIMG,
34941
- atlasJSON: atlasJSON,
34942
- spriteKey: option.imageKey,
34943
- imgScale: 3
34944
- })), React.createElement("div", null, React.createElement("input", {
34945
- className: "rpgui-radio",
34946
- type: "radio",
34947
- value: option.name,
34948
- name: "test"
34949
- }), React.createElement("label", {
34950
- onPointerDown: handleClick,
34951
- style: {
34952
- display: 'flex',
34953
- alignItems: 'center'
34954
- }
34955
- }, option.name, " ", React.createElement("br", null), option.description)));
34956
- })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
34957
- buttonType: ButtonTypes.RPGUIButton,
34958
- onPointerDown: onClose
34959
- }, "Cancel"), React.createElement(Button, {
34960
- buttonType: ButtonTypes.RPGUIButton
34961
- }, "Select")));
34962
- };
34963
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
34964
- displayName: "ItemSelector__Title",
34965
- componentId: "sc-gptoxp-0"
34966
- })(["font-size:0.6rem;color:yellow !important;"]);
34967
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
34968
- displayName: "ItemSelector__Subtitle",
34969
- componentId: "sc-gptoxp-1"
34970
- })(["font-size:0.4rem;color:yellow !important;"]);
34971
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
34972
- displayName: "ItemSelector__RadioInputScroller",
34973
- componentId: "sc-gptoxp-2"
34974
- })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
34975
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
34976
- displayName: "ItemSelector__SpriteAtlasWrapper",
34977
- componentId: "sc-gptoxp-3"
34978
- })(["margin-right:40px;"]);
34979
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
34980
- displayName: "ItemSelector__RadioOptionsWrapper",
34981
- componentId: "sc-gptoxp-4"
34982
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
34983
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
34984
- displayName: "ItemSelector__ButtonWrapper",
34985
- componentId: "sc-gptoxp-5"
34986
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
34987
-
34988
- var ListMenu = function ListMenu(_ref) {
34989
- var options = _ref.options,
34990
- onSelected = _ref.onSelected,
34991
- x = _ref.x,
34992
- y = _ref.y;
34993
- return React.createElement(Container$e, {
34994
- x: x,
34995
- y: y
34996
- }, React.createElement("ul", {
34997
- className: "rpgui-list-imp",
34998
- style: {
34999
- overflow: 'hidden'
35000
- }
35001
- }, options.map(function (params, index) {
35002
- return React.createElement(ListElement$1, {
35003
- key: (params == null ? void 0 : params.id) || index,
35004
- onPointerDown: function onPointerDown() {
35005
- onSelected(params == null ? void 0 : params.id);
35006
- }
35007
- }, (params == null ? void 0 : params.text) || 'No text');
35008
- })));
35009
- };
35010
- var Container$e = /*#__PURE__*/styled.div.withConfig({
35011
- displayName: "ListMenu__Container",
35012
- componentId: "sc-i9097t-0"
35013
- })(["display:flex;flex-direction:column;width:100%;justify-content:start;align-items:flex-start;position:absolute;top:", "px;left:", "px;li{font-size:", ";}"], function (props) {
35014
- return props.y || 0;
35015
- }, function (props) {
35016
- return props.x || 0;
35017
- }, uiFonts.size.xsmall);
35018
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
35019
- displayName: "ListMenu__ListElement",
35020
- componentId: "sc-i9097t-1"
35021
- })(["margin-right:0.5rem;"]);
35022
-
35023
- var img$6 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
35024
-
35025
- var img$7 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
35026
-
35027
- var ImgSide;
35028
- (function (ImgSide) {
35029
- ImgSide["right"] = "right";
35030
- ImgSide["left"] = "left";
35031
- })(ImgSide || (ImgSide = {}));
35032
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
35033
- var _textAndTypeArray$sli;
35034
- var _onClose = _ref.onClose,
35035
- textAndTypeArray = _ref.textAndTypeArray;
35036
- var _useState = useState(false),
35037
- showGoNextIndicator = _useState[0],
35038
- setShowGoNextIndicator = _useState[1];
35039
- var _useState2 = useState(0),
35040
- slide = _useState2[0],
35041
- setSlide = _useState2[1];
35042
- var onHandleSpacePress = function onHandleSpacePress(event) {
35043
- if (event.code === 'Space') {
35044
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
35045
- setSlide(function (prev) {
35046
- return prev + 1;
35047
- });
35048
- } else {
35049
- // if there's no more text chunks, close the dialog
35050
- _onClose();
35051
- }
35052
- }
35053
- };
35054
- useEffect(function () {
35055
- document.addEventListener('keydown', onHandleSpacePress);
35056
- return function () {
35057
- return document.removeEventListener('keydown', onHandleSpacePress);
35058
- };
35059
- }, [slide]);
35060
- return React.createElement(RPGUIContainer, {
35061
- type: RPGUIContainerTypes.FramedGold,
35062
- width: '50%',
35063
- height: '180px'
35064
- }, React.createElement(React.Fragment, null, React.createElement(Container$f, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer, {
35065
- flex: '70%'
35066
- }, React.createElement(NPCDialogText, {
35067
- onStartStep: function onStartStep() {
35068
- return setShowGoNextIndicator(false);
35069
- },
35070
- onEndStep: function onEndStep() {
35071
- return setShowGoNextIndicator(true);
35072
- },
35073
- text: textAndTypeArray[slide].text || 'No text provided.',
35074
- onClose: function onClose() {
35075
- if (_onClose) {
35076
- _onClose();
35077
- }
35078
- }
35079
- })), React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
35080
- src: textAndTypeArray[slide].imagePath || img$6
35081
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
35082
- right: '10.5rem',
35083
- src: img$7
35084
- })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
35085
- src: textAndTypeArray[slide].imagePath || img$6
35086
- })), React.createElement(TextContainer, {
35087
- flex: '70%'
35088
- }, React.createElement(NPCDialogText, {
35089
- onStartStep: function onStartStep() {
35090
- return setShowGoNextIndicator(false);
35091
- },
35092
- onEndStep: function onEndStep() {
35093
- return setShowGoNextIndicator(true);
35094
- },
35095
- text: textAndTypeArray[slide].text || 'No text provided.',
35096
- onClose: function onClose() {
35097
- if (_onClose) {
35098
- _onClose();
35099
- }
35100
- }
35101
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
35102
- right: '1rem',
35103
- src: img$7
35104
- }))), ")"));
35105
- };
35106
- var Container$f = /*#__PURE__*/styled.div.withConfig({
35107
- displayName: "NPCMultiDialog__Container",
35108
- componentId: "sc-rvu5wg-0"
35109
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
35110
- var TextContainer = /*#__PURE__*/styled.div.withConfig({
35111
- displayName: "NPCMultiDialog__TextContainer",
35112
- componentId: "sc-rvu5wg-1"
35113
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
35114
- var flex = _ref2.flex;
35115
- return flex;
35116
- });
35117
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
35118
- displayName: "NPCMultiDialog__ThumbnailContainer",
35119
- componentId: "sc-rvu5wg-2"
35120
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
35121
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
35122
- displayName: "NPCMultiDialog__NPCThumbnail",
35123
- componentId: "sc-rvu5wg-3"
35124
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
35125
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
35126
- displayName: "NPCMultiDialog__PressSpaceIndicator",
35127
- componentId: "sc-rvu5wg-4"
35128
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
35129
- var right = _ref3.right;
35130
- return right;
35131
- });
35132
-
35133
- //@ts-ignore
35134
- var useEventListener = function useEventListener(type, handler, el) {
35135
- if (el === void 0) {
35136
- el = window;
35137
- }
35138
- var savedHandler = React.useRef();
35139
- React.useEffect(function () {
35140
- savedHandler.current = handler;
35141
- }, [handler]);
35142
- React.useEffect(function () {
35143
- //@ts-ignore
35144
- var listener = function listener(e) {
35145
- return savedHandler.current(e);
35146
- };
35147
- el.addEventListener(type, listener);
35148
- return function () {
35149
- el.removeEventListener(type, listener);
35150
- };
35151
- }, [type, el]);
35152
- };
35153
-
35154
- var DynamicText = function DynamicText(_ref) {
35155
- var text = _ref.text,
35156
- onFinish = _ref.onFinish,
35157
- onStart = _ref.onStart;
35158
- var _useState = useState(''),
35159
- textState = _useState[0],
35160
- setTextState = _useState[1];
35161
- useEffect(function () {
35162
- var i = 0;
35163
- var interval = setInterval(function () {
35164
- // on every interval, show one more character
35165
- if (i === 0) {
35166
- if (onStart) {
35167
- onStart();
35168
- }
35169
- }
35170
- if (i < text.length) {
35171
- setTextState(text.substring(0, i + 1));
35172
- i++;
35173
- } else {
35174
- clearInterval(interval);
35175
- if (onFinish) {
35176
- onFinish();
35177
- }
35178
- }
35179
- }, 50);
35180
- return function () {
35181
- clearInterval(interval);
35182
- };
35183
- }, [text]);
35184
- return React.createElement(TextContainer$1, null, textState);
35185
- };
35186
- var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
35187
- displayName: "DynamicText__TextContainer",
35188
- componentId: "sc-1ggl9nd-0"
35189
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
35190
-
35191
- var QuestionDialog = function QuestionDialog(_ref) {
35192
- var questions = _ref.questions,
35193
- answers = _ref.answers,
35194
- onClose = _ref.onClose;
35195
- var _useState = useState(questions[0]),
35196
- currentQuestion = _useState[0],
35197
- setCurrentQuestion = _useState[1];
35198
- var _useState2 = useState(false),
35199
- canShowAnswers = _useState2[0],
35200
- setCanShowAnswers = _useState2[1];
35201
- var onGetFirstAnswer = function onGetFirstAnswer() {
35202
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
35203
- return null;
35000
+ dragScale: dragScale,
35001
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
35002
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
35003
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
35004
+ setQuantitySelect({
35005
+ isOpen: true,
35006
+ maxQuantity: maxQuantity,
35007
+ callback: callback
35008
+ });
35009
+ },
35010
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
35011
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
35012
+ },
35013
+ onOutsideDrop: function onOutsideDrop(item, position) {
35014
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
35015
+ },
35016
+ atlasIMG: atlasIMG,
35017
+ atlasJSON: atlasJSON,
35018
+ isSelectingShortcut: settingShortcutIndex !== -1
35019
+ }));
35204
35020
  }
35205
- var firstAnswerId = currentQuestion.answerIds[0];
35206
- return answers.find(function (answer) {
35207
- return answer.id === firstAnswerId;
35208
- });
35021
+ return slots;
35209
35022
  };
35210
- var _useState3 = useState(onGetFirstAnswer()),
35211
- currentAnswer = _useState3[0],
35212
- setCurrentAnswer = _useState3[1];
35213
- useEffect(function () {
35214
- setCurrentAnswer(onGetFirstAnswer());
35215
- }, [currentQuestion]);
35216
- var onGetAnswers = function onGetAnswers(answerIds) {
35217
- return answerIds.map(function (answerId) {
35218
- return answers.find(function (answer) {
35219
- return answer.id === answerId;
35023
+ return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
35024
+ title: itemContainer.name || 'Container',
35025
+ onClose: onClose,
35026
+ initialPosition: initialPosition
35027
+ }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
35028
+ setSettingShortcutIndex: setSettingShortcutIndex,
35029
+ settingShortcutIndex: settingShortcutIndex,
35030
+ shortcuts: shortcuts,
35031
+ removeShortcut: removeShortcut,
35032
+ atlasIMG: atlasIMG,
35033
+ atlasJSON: atlasJSON
35034
+ }), React.createElement(ItemsContainer, {
35035
+ className: "item-container-body"
35036
+ }, onRenderSlots())), quantitySelect.isOpen && React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
35037
+ quantity: quantitySelect.maxQuantity,
35038
+ onConfirm: function onConfirm(quantity) {
35039
+ quantitySelect.callback(quantity);
35040
+ setQuantitySelect({
35041
+ isOpen: false,
35042
+ maxQuantity: 1,
35043
+ callback: function callback() {}
35044
+ });
35045
+ },
35046
+ onClose: function onClose() {
35047
+ quantitySelect.callback(-1);
35048
+ setQuantitySelect({
35049
+ isOpen: false,
35050
+ maxQuantity: 1,
35051
+ callback: function callback() {}
35220
35052
  });
35221
- });
35222
- };
35223
- var onKeyPress = function onKeyPress(e) {
35224
- switch (e.key) {
35225
- case 'ArrowDown':
35226
- // select next answer, if any.
35227
- // if no next answer, select first answer
35228
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
35229
- // (answer) => answer?.id === currentAnswer!.id + 1
35230
- // );
35231
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
35232
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
35233
- });
35234
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
35235
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
35236
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
35237
- });
35238
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
35239
- break;
35240
- case 'ArrowUp':
35241
- // select previous answer, if any.
35242
- // if no previous answer, select last answer
35243
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
35244
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
35245
- });
35246
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
35247
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
35248
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
35249
- });
35250
- if (previousAnswer) {
35251
- setCurrentAnswer(previousAnswer);
35252
- } else {
35253
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
35254
- }
35255
- break;
35256
- case 'Enter':
35257
- setCanShowAnswers(false);
35258
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
35259
- onClose();
35260
- return;
35261
- } else {
35262
- setCurrentQuestion(questions.find(function (question) {
35263
- return question.id === currentAnswer.nextQuestionId;
35264
- }));
35265
- }
35266
- break;
35267
35053
  }
35054
+ })));
35055
+ };
35056
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
35057
+ displayName: "ItemContainer__ItemsContainer",
35058
+ componentId: "sc-15y5p9l-0"
35059
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
35060
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
35061
+ displayName: "ItemContainer__QuantitySelectorContainer",
35062
+ componentId: "sc-15y5p9l-1"
35063
+ })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
35064
+
35065
+ var ItemSelector = function ItemSelector(_ref) {
35066
+ var atlasIMG = _ref.atlasIMG,
35067
+ atlasJSON = _ref.atlasJSON,
35068
+ options = _ref.options,
35069
+ onClose = _ref.onClose,
35070
+ onSelect = _ref.onSelect;
35071
+ var _useState = useState(),
35072
+ selectedValue = _useState[0],
35073
+ setSelectedValue = _useState[1];
35074
+ var handleClick = function handleClick() {
35075
+ var element = document.querySelector("input[name='test']:checked");
35076
+ var elementValue = element.value;
35077
+ setSelectedValue(elementValue);
35268
35078
  };
35269
- useEventListener('keydown', onKeyPress);
35270
- var onAnswerClick = function onAnswerClick(answer) {
35271
- setCanShowAnswers(false);
35272
- if (answer.nextQuestionId) {
35273
- // if there is a next question, go to it
35274
- setCurrentQuestion(questions.find(function (question) {
35275
- return question.id === answer.nextQuestionId;
35276
- }));
35277
- } else {
35278
- // else, finish dialog!
35279
- onClose();
35079
+ useEffect(function () {
35080
+ if (selectedValue) {
35081
+ onSelect(selectedValue);
35280
35082
  }
35281
- };
35282
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
35283
- var answerIds = currentQuestion.answerIds;
35284
- if (!answerIds) {
35285
- return null;
35083
+ }, [selectedValue]);
35084
+ return React.createElement(DraggableContainer, {
35085
+ type: RPGUIContainerTypes.Framed,
35086
+ width: "500px",
35087
+ cancelDrag: ".equipment-container-body .arrow-selector",
35088
+ onCloseButton: function onCloseButton() {
35089
+ if (onClose) {
35090
+ onClose();
35091
+ }
35286
35092
  }
35287
- var answers = onGetAnswers(answerIds);
35288
- if (!answers) {
35289
- return null;
35093
+ }, React.createElement("div", {
35094
+ style: {
35095
+ width: '100%'
35290
35096
  }
35291
- return answers.map(function (answer) {
35292
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
35293
- var selectedColor = isSelected ? 'yellow' : 'white';
35294
- if (answer) {
35295
- return React.createElement(AnswerRow, {
35296
- key: "answer_" + answer.id
35297
- }, React.createElement(AnswerSelectedIcon, {
35298
- color: selectedColor
35299
- }, isSelected ? 'X' : null), React.createElement(Answer, {
35300
- key: answer.id,
35301
- onPointerDown: function onPointerDown() {
35302
- return onAnswerClick(answer);
35303
- },
35304
- color: selectedColor
35305
- }, answer.text));
35097
+ }, React.createElement(Title$2, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
35098
+ className: "golden"
35099
+ })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
35100
+ return React.createElement(RadioOptionsWrapper$1, {
35101
+ key: index
35102
+ }, React.createElement(SpriteAtlasWrapper$1, null, React.createElement(SpriteFromAtlas, {
35103
+ atlasIMG: atlasIMG,
35104
+ atlasJSON: atlasJSON,
35105
+ spriteKey: option.imageKey,
35106
+ imgScale: 3
35107
+ })), React.createElement("div", null, React.createElement("input", {
35108
+ className: "rpgui-radio",
35109
+ type: "radio",
35110
+ value: option.name,
35111
+ name: "test"
35112
+ }), React.createElement("label", {
35113
+ onPointerDown: handleClick,
35114
+ style: {
35115
+ display: 'flex',
35116
+ alignItems: 'center'
35306
35117
  }
35307
- return null;
35308
- });
35309
- };
35310
- return React.createElement(Container$g, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
35311
- text: currentQuestion.text,
35312
- onStart: function onStart() {
35313
- return setCanShowAnswers(false);
35314
- },
35315
- onFinish: function onFinish() {
35316
- return setCanShowAnswers(true);
35118
+ }, option.name, " ", React.createElement("br", null), option.description)));
35119
+ })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
35120
+ buttonType: ButtonTypes.RPGUIButton,
35121
+ onPointerDown: onClose
35122
+ }, "Cancel"), React.createElement(Button, {
35123
+ buttonType: ButtonTypes.RPGUIButton
35124
+ }, "Select")));
35125
+ };
35126
+ var Title$2 = /*#__PURE__*/styled.h1.withConfig({
35127
+ displayName: "ItemSelector__Title",
35128
+ componentId: "sc-gptoxp-0"
35129
+ })(["font-size:0.6rem;color:yellow !important;"]);
35130
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
35131
+ displayName: "ItemSelector__Subtitle",
35132
+ componentId: "sc-gptoxp-1"
35133
+ })(["font-size:0.4rem;color:yellow !important;"]);
35134
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
35135
+ displayName: "ItemSelector__RadioInputScroller",
35136
+ componentId: "sc-gptoxp-2"
35137
+ })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
35138
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
35139
+ displayName: "ItemSelector__SpriteAtlasWrapper",
35140
+ componentId: "sc-gptoxp-3"
35141
+ })(["margin-right:40px;"]);
35142
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
35143
+ displayName: "ItemSelector__RadioOptionsWrapper",
35144
+ componentId: "sc-gptoxp-4"
35145
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
35146
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
35147
+ displayName: "ItemSelector__ButtonWrapper",
35148
+ componentId: "sc-gptoxp-5"
35149
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
35150
+
35151
+ var ListMenu = function ListMenu(_ref) {
35152
+ var options = _ref.options,
35153
+ onSelected = _ref.onSelected,
35154
+ x = _ref.x,
35155
+ y = _ref.y;
35156
+ return React.createElement(Container$g, {
35157
+ x: x,
35158
+ y: y
35159
+ }, React.createElement("ul", {
35160
+ className: "rpgui-list-imp",
35161
+ style: {
35162
+ overflow: 'hidden'
35317
35163
  }
35318
- })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
35164
+ }, options.map(function (params, index) {
35165
+ return React.createElement(ListElement$1, {
35166
+ key: (params == null ? void 0 : params.id) || index,
35167
+ onPointerDown: function onPointerDown() {
35168
+ onSelected(params == null ? void 0 : params.id);
35169
+ }
35170
+ }, (params == null ? void 0 : params.text) || 'No text');
35171
+ })));
35319
35172
  };
35320
35173
  var Container$g = /*#__PURE__*/styled.div.withConfig({
35321
- displayName: "QuestionDialog__Container",
35322
- componentId: "sc-bxc5u0-0"
35323
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
35324
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
35325
- displayName: "QuestionDialog__QuestionContainer",
35326
- componentId: "sc-bxc5u0-1"
35327
- })(["flex:100%;width:100%;"]);
35328
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
35329
- displayName: "QuestionDialog__AnswersContainer",
35330
- componentId: "sc-bxc5u0-2"
35331
- })(["flex:100%;"]);
35332
- var Answer = /*#__PURE__*/styled.p.withConfig({
35333
- displayName: "QuestionDialog__Answer",
35334
- componentId: "sc-bxc5u0-3"
35335
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
35336
- return props.color;
35337
- });
35338
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
35339
- displayName: "QuestionDialog__AnswerSelectedIcon",
35340
- componentId: "sc-bxc5u0-4"
35341
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
35342
- return props.color;
35343
- });
35344
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
35345
- displayName: "QuestionDialog__AnswerRow",
35346
- componentId: "sc-bxc5u0-5"
35347
- })(["display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:0.5rem;height:22px;p{line-height:unset;margin-top:0;margin-bottom:0rem;}"]);
35174
+ displayName: "ListMenu__Container",
35175
+ componentId: "sc-i9097t-0"
35176
+ })(["display:flex;flex-direction:column;width:100%;justify-content:start;align-items:flex-start;position:absolute;top:", "px;left:", "px;li{font-size:", ";}"], function (props) {
35177
+ return props.y || 0;
35178
+ }, function (props) {
35179
+ return props.x || 0;
35180
+ }, uiFonts.size.xsmall);
35181
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
35182
+ displayName: "ListMenu__ListElement",
35183
+ componentId: "sc-i9097t-1"
35184
+ })(["margin-right:0.5rem;"]);
35348
35185
 
35349
35186
  var ProgressBar = function ProgressBar(_ref) {
35350
35187
  var max = _ref.max,
@@ -35403,7 +35240,7 @@ var Container$h = /*#__PURE__*/styled.div.withConfig({
35403
35240
  return props.style;
35404
35241
  });
35405
35242
 
35406
- var img$8 = 'data:image/png;base64,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';
35243
+ var img$9 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAEZ0FNQQAAsY58+1GTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAHcSURBVHja7Ji/agJBEId/K/cCdoKFFjZCbGxCekmVOunzCil8hhS+gr3WVmIvKbQxIILFKQjXhCPkASZN5tjd27ud9SRYOKV3u/ftN7P/VESEa4gariRuIHZEkpeUUkYhEZEKbeNrG0mJJ/MlOq0m9odTKRg/W+2OaDfqRh9xkmbPbaBIMrLJfInB/R0AoN2o4+v7B3GSAkAOzAXAwW0XH59QSpEOIzLCEHanuq31Zot+r1sIYcdwNDZgahIblww2GTxrXDb02B9OAIB+r4tOqymCYXtspRQkxMZ6s82lK8SG14jPBnccYmM6W6Df62ZWSkGkNjgt59p4eXyAt1h9NvSoasMJcs5MqWqj0IjEBncuNVdmIwcSYmN/OIlSUjZTnCD2Ui7pXLqK+tKSgTCEtOikBcrAvrQAQE2HkIwwTlJj2l7CBgBERKSUUrTaHQ3lcZI6t3G2IZ0pEhvZ7ssww9E4Wym5YUi6qoQioqDZwmB6emxDtg3ej97fXv0nNN64OHQrutbpbGG8o//2/DRwpsyXFsOI9DDjCv0j+oCkNowakR6iXSks+rjURtDhWS9q+1DtMiL5eC41lar9D8w2pQMVrR1nGym7p9hA/25EcrESXchu/wbcQDzxOwDLF0pIXBCe1wAAAABJRU5ErkJggg==';
35407
35244
 
35408
35245
  var QuestInfo = function QuestInfo(_ref) {
35409
35246
  var quests = _ref.quests,
@@ -35444,8 +35281,8 @@ var QuestInfo = function QuestInfo(_ref) {
35444
35281
  onPointerDown: onRightClick
35445
35282
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
35446
35283
  className: "drag-handler"
35447
- }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
35448
- src: quests[currentIndex].thumbnail || img$8
35284
+ }, React.createElement(Title$3, null, React.createElement(Thumbnail, {
35285
+ src: quests[currentIndex].thumbnail || img$9
35449
35286
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
35450
35287
  className: "golden"
35451
35288
  }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
@@ -35463,8 +35300,8 @@ var QuestInfo = function QuestInfo(_ref) {
35463
35300
  }, button.title);
35464
35301
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
35465
35302
  className: "drag-handler"
35466
- }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
35467
- src: quests[0].thumbnail || img$8
35303
+ }, React.createElement(Title$3, null, React.createElement(Thumbnail, {
35304
+ src: quests[0].thumbnail || img$9
35468
35305
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
35469
35306
  className: "golden"
35470
35307
  }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
@@ -35510,7 +35347,7 @@ var TitleContainer$1 = /*#__PURE__*/styled.div.withConfig({
35510
35347
  displayName: "QuestInfo__TitleContainer",
35511
35348
  componentId: "sc-15s2boc-6"
35512
35349
  })(["width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;margin-top:1rem;"]);
35513
- var Title$4 = /*#__PURE__*/styled.h1.withConfig({
35350
+ var Title$3 = /*#__PURE__*/styled.h1.withConfig({
35514
35351
  displayName: "QuestInfo__Title",
35515
35352
  componentId: "sc-15s2boc-7"
35516
35353
  })(["color:white;z-index:22;font-size:", " !important;color:", " !important;"], uiFonts.size.medium, uiColors.yellow);
@@ -35532,7 +35369,7 @@ var QuestList = function QuestList(_ref) {
35532
35369
  style: {
35533
35370
  width: '100%'
35534
35371
  }
35535
- }, React.createElement(Title$5, null, "Quests"), React.createElement("hr", {
35372
+ }, React.createElement(Title$4, null, "Quests"), React.createElement("hr", {
35536
35373
  className: "golden"
35537
35374
  }), React.createElement(QuestListContainer, null, quests ? quests.map(function (quest, i) {
35538
35375
  return React.createElement("div", {
@@ -35553,7 +35390,7 @@ var QuestDraggableContainer$1 = /*#__PURE__*/styled(DraggableContainer).withConf
35553
35390
  displayName: "QuestList__QuestDraggableContainer",
35554
35391
  componentId: "sc-1a2vx6q-0"
35555
35392
  })([".container-close{top:10px;right:10px;}.quest-title{text-align:left;margin-left:44px;margin-top:20px;color:yellow;}.quest-desc{margin-top:12px;margin-left:44px;}.rpgui-progress{min-width:80%;margin:0 auto;}"]);
35556
- var Title$5 = /*#__PURE__*/styled.h1.withConfig({
35393
+ var Title$4 = /*#__PURE__*/styled.h1.withConfig({
35557
35394
  displayName: "QuestList__Title",
35558
35395
  componentId: "sc-1a2vx6q-1"
35559
35396
  })(["z-index:22;font-size:", " !important;color:yellow !important;"], uiFonts.size.medium);
@@ -35958,9 +35795,9 @@ var Spell = function Spell(_ref) {
35958
35795
  className: "spell"
35959
35796
  }, disabled && React.createElement(Overlay, null, charMagicLevel < minMagicLevelRequired ? 'Low magic level' : manaCost > charMana && 'No mana'), React.createElement(SpellImage, null, magicWords.split(' ').map(function (word) {
35960
35797
  return word[0];
35961
- })), React.createElement(Info, null, React.createElement(Title$6, null, React.createElement("span", null, name), React.createElement("span", {
35798
+ })), React.createElement(Info, null, React.createElement(Title$5, null, React.createElement("span", null, name), React.createElement("span", {
35962
35799
  className: "spell"
35963
- }, "(", magicWords, ")")), React.createElement(Description$1, null, description)), React.createElement(Divider, null), React.createElement(Cost, null, React.createElement("span", null, "Mana cost:"), React.createElement("span", {
35800
+ }, "(", magicWords, ")")), React.createElement(Description, null, description)), React.createElement(Divider, null), React.createElement(Cost, null, React.createElement("span", null, "Mana cost:"), React.createElement("span", {
35964
35801
  className: "mana"
35965
35802
  }, manaCost)));
35966
35803
  };
@@ -35979,11 +35816,11 @@ var Info = /*#__PURE__*/styled.span.withConfig({
35979
35816
  displayName: "Spell__Info",
35980
35817
  componentId: "sc-j96fa2-2"
35981
35818
  })(["width:0;flex:1;"]);
35982
- var Title$6 = /*#__PURE__*/styled.p.withConfig({
35819
+ var Title$5 = /*#__PURE__*/styled.p.withConfig({
35983
35820
  displayName: "Spell__Title",
35984
35821
  componentId: "sc-j96fa2-3"
35985
35822
  })(["display:flex;flex-wrap:wrap;align-items:center;margin-bottom:5px;margin:0;span{font-size:", " !important;font-weight:bold !important;color:", " !important;margin-right:0.5rem;}.spell{font-size:", " !important;font-weight:normal !important;color:", " !important;}"], uiFonts.size.medium, uiColors.yellow, uiFonts.size.small, uiColors.lightGray);
35986
- var Description$1 = /*#__PURE__*/styled.div.withConfig({
35823
+ var Description = /*#__PURE__*/styled.div.withConfig({
35987
35824
  displayName: "Spell__Description",
35988
35825
  componentId: "sc-j96fa2-4"
35989
35826
  })(["font-size:", " !important;line-height:1.1 !important;"], uiFonts.size.small);
@@ -36049,7 +35886,7 @@ var Spellbook = function Spellbook(_ref) {
36049
35886
  width: "inherit",
36050
35887
  height: "inherit",
36051
35888
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell"
36052
- }, React.createElement(Container$k, null, React.createElement(Title$7, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
35889
+ }, React.createElement(Container$k, null, React.createElement(Title$6, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
36053
35890
  setSettingShortcutIndex: setSettingShortcutIndex,
36054
35891
  settingShortcutIndex: settingShortcutIndex,
36055
35892
  shortcuts: shortcuts,
@@ -36077,7 +35914,7 @@ var Spellbook = function Spellbook(_ref) {
36077
35914
  }, spell)));
36078
35915
  }))));
36079
35916
  };
36080
- var Title$7 = /*#__PURE__*/styled.h1.withConfig({
35917
+ var Title$6 = /*#__PURE__*/styled.h1.withConfig({
36081
35918
  displayName: "Spellbook__Title",
36082
35919
  componentId: "sc-r02nfq-0"
36083
35920
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
@@ -36095,16 +35932,16 @@ var TextArea = function TextArea(_ref) {
36095
35932
  return React.createElement("textarea", Object.assign({}, props));
36096
35933
  };
36097
35934
 
36098
- var img$9 = 'data:image/gif;base64,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';
35935
+ var img$a = 'data:image/gif;base64,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';
36099
35936
 
36100
- var img$a = 'data:image/gif;base64,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';
35937
+ var img$b = 'data:image/gif;base64,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';
36101
35938
 
36102
- var img$b = 'data:image/gif;base64,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';
35939
+ var img$c = 'data:image/gif;base64,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';
36103
35940
 
36104
35941
  var DayNightPeriod = function DayNightPeriod(_ref) {
36105
35942
  var _periodOfDaySrcFiles;
36106
35943
  var periodOfDay = _ref.periodOfDay;
36107
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
35944
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$b, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$c, _periodOfDaySrcFiles);
36108
35945
  return React.createElement(GifContainer, null, React.createElement("img", {
36109
35946
  src: periodOfDaySrcFiles[periodOfDay]
36110
35947
  }));
@@ -36114,7 +35951,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
36114
35951
  componentId: "sc-10t97fw-0"
36115
35952
  })(["width:100%;img{width:67%;}"]);
36116
35953
 
36117
- var img$c = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABHCAYAAAA0qHhdAAAAAXNSR0IArs4c6QAABGRJREFUeJztnb9PGzEUx7+JMjC0Uge6tVsVdTghQP0D2qgjzGz8D8woE2LO/5CNOcwlU9WJRCgDYmWJRAYkFgak6wDv5HPsO9/P8J79WUhicr7nzz3bOV8uHbRPXOXN2x++1LUfYnh4uu8AQK+FulLy7hbHxn96vrh22tjW0b7xPVtH+87bkMbnj1/jh6f7TqfBOmKgurwy6MJ10VRuKqNylwMl7wBy3U5WuetBOhg9om6ZSRaqEtvImJ2zRfL4/GA3eXy494LJzNwBmcpc//9w7wUAMJn1ktdt5bbnaj228qw6VeqWGbctUEXNxn40Fj+2/jn5lHpel8xUd+oqcedsUajum2HkNHEiqf1oDAD4/e1HkWrYMF8uE6GTWQ+j6aryBCh2lVhUXt77bXJpP2i/+tE41e1y5uo2W1cVmfHd4rhxiXnbdZEqReiv76/jpE1q2YbOFNmUwDxsYreO9lkLvbrtJSLp+Xy5xN9/g8TBYPSIboltv0uRWXU/X1zjbnGM08t527tUC7aM1B0UbXiryE1KNGHKUu4ZqjKarpLMpAlQkcxkIxIw7xP3DLVBnzldZbISSUgXqvtwkclSJCFNqDpu0mdqOkOUJ5O1SEKSUHVWWyQzRYgkJAml7KTMzBszRYkkJAhVu1ny49rNpuAskuAaw9VtL/d0nikwY1ZybQQb+udQ+gzKZbXFtGqiq3Y63yoR6m770Rg3wyi1gK1iel1dQNbLqazsX9M2dKib1bPNi6wkbNl5M4w2tUulGIwe8fB031nrhH0RCbzGpgrVJxSEaYXfdoWCrdxE1lUNtnJ9+6PpKrmgSxUVm45IyTIB8zncnbPF2th58nMbo+kq9zUX8t5XpC4SCQSZVpkovzy4MWiHvRRJSBFaZj0z8E6xyvQlKwE5sYbMFEQXlvHSd97apNL3YtomZKYgjDKljCFFkBBzyExBBJmCCDIFEWQKIsgURJApiCBTEEGmILqA26q4b3Bsk5CZgjDKdL1/gCQkxJzI5NitNAXXtugC6HC5NL9N3tqE1cn3MGYKIiVT7V4kjCGuqLFy7WIBw61jOAdTFikxp66bPT/YXbsnm4RF2yz0Hmgy67EcLwHDmCnlKC0D99hVmcmslntQZaCYuWYlYPgWmOkeOaeXc5bB5XF+sLs2yeMs05iC+rh5uBfF0sbO17EyHSf3HkkfMzunl3P2QZWB88SHsO246JmtpBmsSuYZoMmsJ+5Egn6CQFIvlHUkrk2GKFO5ZiiJ1AVKyEogPwDj7BbgN8M1zVwBOSIBtyDYC/VBJOAeCFuhvogEigXDTqhPIoESd4LmItQ3kUC5oKxCgc1LtUkEZIsEKvx6wnsU6rNIoFpwmUKJpsVmCVT2ARAuEqgeoJNQoH6pLhLf6gU8EAnUE2QMoPDPSxSV6ypP2T499EIkUG+gzlnaND5lo0pjv5/Ztljt2l/vRALNBl2q+y2Kj92pjTYaIDXWVZVruPree4nEJhqi6ppokGfhP6xr60VVr5O+AAAAAElFTkSuQmCC';
35954
+ var img$d = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABHCAYAAAA0qHhdAAAAAXNSR0IArs4c6QAABGRJREFUeJztnb9PGzEUx7+JMjC0Uge6tVsVdTghQP0D2qgjzGz8D8woE2LO/5CNOcwlU9WJRCgDYmWJRAYkFgak6wDv5HPsO9/P8J79WUhicr7nzz3bOV8uHbRPXOXN2x++1LUfYnh4uu8AQK+FulLy7hbHxn96vrh22tjW0b7xPVtH+87bkMbnj1/jh6f7TqfBOmKgurwy6MJ10VRuKqNylwMl7wBy3U5WuetBOhg9om6ZSRaqEtvImJ2zRfL4/GA3eXy494LJzNwBmcpc//9w7wUAMJn1ktdt5bbnaj228qw6VeqWGbctUEXNxn40Fj+2/jn5lHpel8xUd+oqcedsUajum2HkNHEiqf1oDAD4/e1HkWrYMF8uE6GTWQ+j6aryBCh2lVhUXt77bXJpP2i/+tE41e1y5uo2W1cVmfHd4rhxiXnbdZEqReiv76/jpE1q2YbOFNmUwDxsYreO9lkLvbrtJSLp+Xy5xN9/g8TBYPSIboltv0uRWXU/X1zjbnGM08t527tUC7aM1B0UbXiryE1KNGHKUu4ZqjKarpLMpAlQkcxkIxIw7xP3DLVBnzldZbISSUgXqvtwkclSJCFNqDpu0mdqOkOUJ5O1SEKSUHVWWyQzRYgkJAml7KTMzBszRYkkJAhVu1ny49rNpuAskuAaw9VtL/d0nikwY1ZybQQb+udQ+gzKZbXFtGqiq3Y63yoR6m770Rg3wyi1gK1iel1dQNbLqazsX9M2dKib1bPNi6wkbNl5M4w2tUulGIwe8fB031nrhH0RCbzGpgrVJxSEaYXfdoWCrdxE1lUNtnJ9+6PpKrmgSxUVm45IyTIB8zncnbPF2th58nMbo+kq9zUX8t5XpC4SCQSZVpkovzy4MWiHvRRJSBFaZj0z8E6xyvQlKwE5sYbMFEQXlvHSd97apNL3YtomZKYgjDKljCFFkBBzyExBBJmCCDIFEWQKIsgURJApiCBTEEGmILqA26q4b3Bsk5CZgjDKdL1/gCQkxJzI5NitNAXXtugC6HC5NL9N3tqE1cn3MGYKIiVT7V4kjCGuqLFy7WIBw61jOAdTFikxp66bPT/YXbsnm4RF2yz0Hmgy67EcLwHDmCnlKC0D99hVmcmslntQZaCYuWYlYPgWmOkeOaeXc5bB5XF+sLs2yeMs05iC+rh5uBfF0sbO17EyHSf3HkkfMzunl3P2QZWB88SHsO246JmtpBmsSuYZoMmsJ+5Egn6CQFIvlHUkrk2GKFO5ZiiJ1AVKyEogPwDj7BbgN8M1zVwBOSIBtyDYC/VBJOAeCFuhvogEigXDTqhPIoESd4LmItQ3kUC5oKxCgc1LtUkEZIsEKvx6wnsU6rNIoFpwmUKJpsVmCVT2ARAuEqgeoJNQoH6pLhLf6gU8EAnUE2QMoPDPSxSV6ypP2T499EIkUG+gzlnaND5lo0pjv5/Ztljt2l/vRALNBl2q+y2Kj92pjTYaIDXWVZVruPree4nEJhqi6ppokGfhP6xr60VVr5O+AAAAAElFTkSuQmCC';
36118
35955
 
36119
35956
  var TimeWidget = function TimeWidget(_ref) {
36120
35957
  var onClose = _ref.onClose,
@@ -36129,7 +35966,7 @@ var TimeWidget = function TimeWidget(_ref) {
36129
35966
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
36130
35967
  displayName: "TimeWidget__WidgetContainer",
36131
35968
  componentId: "sc-1ja236h-0"
36132
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
35969
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$d);
36133
35970
  var Time = /*#__PURE__*/styled.div.withConfig({
36134
35971
  displayName: "TimeWidget__Time",
36135
35972
  componentId: "sc-1ja236h-1"
@@ -36149,9 +35986,7 @@ var TradingItemRow = function TradingItemRow(_ref) {
36149
35986
  atlasJSON = _ref.atlasJSON,
36150
35987
  onQuantityChange = _ref.onQuantityChange,
36151
35988
  traderItem = _ref.traderItem,
36152
- selectedQty = _ref.selectedQty,
36153
- equipmentSet = _ref.equipmentSet,
36154
- scale = _ref.scale;
35989
+ selectedQty = _ref.selectedQty;
36155
35990
  var onLeftClick = function onLeftClick(qty) {
36156
35991
  if (qty === void 0) {
36157
35992
  qty = 1;
@@ -36159,28 +35994,22 @@ var TradingItemRow = function TradingItemRow(_ref) {
36159
35994
  onQuantityChange(traderItem, Math.max(0, selectedQty - qty));
36160
35995
  };
36161
35996
  var onRightClick = function onRightClick(qty) {
36162
- var _traderItem$stackQty;
35997
+ var _traderItem$qty;
36163
35998
  if (qty === void 0) {
36164
35999
  qty = 1;
36165
36000
  }
36166
- onQuantityChange(traderItem, Math.min((_traderItem$stackQty = traderItem.stackQty) != null ? _traderItem$stackQty : 999, selectedQty + qty));
36001
+ onQuantityChange(traderItem, Math.min((_traderItem$qty = traderItem.qty) != null ? _traderItem$qty : 999, selectedQty + qty));
36167
36002
  };
36168
- return React.createElement(ItemWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer$1, null, React.createElement(ItemInfoWrapper, {
36169
- atlasIMG: atlasIMG,
36170
- atlasJSON: atlasJSON,
36171
- equipmentSet: equipmentSet,
36172
- item: traderItem,
36173
- scale: scale
36174
- }, React.createElement(SpriteFromAtlas, {
36003
+ return React.createElement(ItemWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer$1, null, React.createElement(SpriteFromAtlas, {
36175
36004
  atlasIMG: atlasIMG,
36176
36005
  atlasJSON: atlasJSON,
36177
36006
  spriteKey: getItemTextureKeyPath({
36178
36007
  key: traderItem.key,
36179
- stackQty: traderItem.stackQty || 1,
36008
+ stackQty: traderItem.qty || 1,
36180
36009
  texturePath: traderItem.texturePath
36181
36010
  }, atlasJSON),
36182
36011
  imgScale: 2.5
36183
- })))), React.createElement(ItemNameContainer, null, React.createElement(NameValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
36012
+ }))), React.createElement(ItemNameContainer, null, React.createElement(NameValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
36184
36013
  maxLines: 1,
36185
36014
  maxWidth: "250px"
36186
36015
  }, capitalize(traderItem.name))), React.createElement("p", null, "$", traderItem.price))), React.createElement(QuantityContainer, null, React.createElement(SelectArrow, {
@@ -36253,9 +36082,7 @@ var TradingMenu = function TradingMenu(_ref) {
36253
36082
  atlasJSON = _ref.atlasJSON,
36254
36083
  atlasIMG = _ref.atlasIMG,
36255
36084
  characterAvailableGold = _ref.characterAvailableGold,
36256
- onConfirm = _ref.onConfirm,
36257
- equipmentSet = _ref.equipmentSet,
36258
- scale = _ref.scale;
36085
+ onConfirm = _ref.onConfirm;
36259
36086
  var _useState = useState(0),
36260
36087
  sum = _useState[0],
36261
36088
  setSum = _useState[1];
@@ -36313,7 +36140,7 @@ var TradingMenu = function TradingMenu(_ref) {
36313
36140
  style: {
36314
36141
  width: '100%'
36315
36142
  }
36316
- }, React.createElement(Title$8, null, Capitalize(type), " Menu"), React.createElement("hr", {
36143
+ }, React.createElement(Title$7, null, Capitalize(type), " Menu"), React.createElement("hr", {
36317
36144
  className: "golden"
36318
36145
  })), React.createElement(TradingComponentScrollWrapper, {
36319
36146
  id: "TraderContainer"
@@ -36326,9 +36153,7 @@ var TradingMenu = function TradingMenu(_ref) {
36326
36153
  atlasJSON: atlasJSON,
36327
36154
  onQuantityChange: onQuantityChange,
36328
36155
  traderItem: tradeItem,
36329
- selectedQty: (_qtyMap$get = qtyMap.get(tradeItem.key)) != null ? _qtyMap$get : 0,
36330
- equipmentSet: equipmentSet,
36331
- scale: scale
36156
+ selectedQty: (_qtyMap$get = qtyMap.get(tradeItem.key)) != null ? _qtyMap$get : 0
36332
36157
  }));
36333
36158
  })), React.createElement(GoldWrapper, null, React.createElement("p", null, "Available Gold:"), React.createElement("p", null, "$", characterAvailableGold)), React.createElement(TotalWrapper, null, React.createElement("p", null, "Total:"), React.createElement("p", null, "$", sum)), !hasGoldForSale() ? React.createElement(AlertWrapper, null, React.createElement("p", null, " Sorry, not enough money.")) : React.createElement(GoldWrapper, null, React.createElement("p", null, "Final Gold:"), React.createElement("p", null, "$", getFinalGold())), React.createElement(ButtonWrapper$2, null, React.createElement(Button, {
36334
36159
  buttonType: ButtonTypes.RPGUIButton,
@@ -36343,7 +36168,7 @@ var TradingMenu = function TradingMenu(_ref) {
36343
36168
  }
36344
36169
  }, "Cancel"))));
36345
36170
  };
36346
- var Title$8 = /*#__PURE__*/styled.h1.withConfig({
36171
+ var Title$7 = /*#__PURE__*/styled.h1.withConfig({
36347
36172
  displayName: "TradingMenu__Title",
36348
36173
  componentId: "sc-1wjsz1l-0"
36349
36174
  })(["z-index:22;font-size:0.6rem;color:yellow !important;"]);
@@ -36388,219 +36213,5 @@ var Container$l = /*#__PURE__*/styled.div.withConfig({
36388
36213
  return props.maxLines;
36389
36214
  });
36390
36215
 
36391
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
36392
-
36393
- var chunkString = function chunkString(str, length) {
36394
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
36395
- };
36396
-
36397
- var img$d = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
36398
-
36399
- var NPCDialogText = function NPCDialogText(_ref) {
36400
- var text = _ref.text,
36401
- onClose = _ref.onClose,
36402
- onEndStep = _ref.onEndStep,
36403
- onStartStep = _ref.onStartStep,
36404
- type = _ref.type;
36405
- var windowSize = useRef([window.innerWidth, window.innerHeight]);
36406
- function maxCharacters(width) {
36407
- // Set the font size to 16 pixels
36408
- var fontSize = 11.2;
36409
- // Calculate the number of characters that can fit in one line
36410
- var charactersPerLine = Math.floor(width / 2 / fontSize);
36411
- // Calculate the number of lines that can fit in the div
36412
- var linesPerDiv = Math.floor(180 / fontSize);
36413
- // Calculate the maximum number of characters that can fit in the div
36414
- var maxCharacters = charactersPerLine * linesPerDiv;
36415
- // Return the maximum number of characters
36416
- return Math.round(maxCharacters / 5);
36417
- }
36418
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
36419
- var _useState = useState(0),
36420
- chunkIndex = _useState[0],
36421
- setChunkIndex = _useState[1];
36422
- var onHandleSpacePress = function onHandleSpacePress(event) {
36423
- if (event.code === 'Space') {
36424
- goToNextStep();
36425
- }
36426
- };
36427
- var goToNextStep = function goToNextStep() {
36428
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
36429
- if (hasNextChunk) {
36430
- setChunkIndex(function (prev) {
36431
- return prev + 1;
36432
- });
36433
- } else {
36434
- // if there's no more text chunks, close the dialog
36435
- onClose();
36436
- }
36437
- };
36438
- useEffect(function () {
36439
- document.addEventListener('keydown', onHandleSpacePress);
36440
- return function () {
36441
- return document.removeEventListener('keydown', onHandleSpacePress);
36442
- };
36443
- }, [chunkIndex]);
36444
- var _useState2 = useState(false),
36445
- showGoNextIndicator = _useState2[0],
36446
- setShowGoNextIndicator = _useState2[1];
36447
- return React.createElement(Container$m, null, React.createElement(DynamicText, {
36448
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
36449
- onFinish: function onFinish() {
36450
- setShowGoNextIndicator(true);
36451
- onEndStep && onEndStep();
36452
- },
36453
- onStart: function onStart() {
36454
- setShowGoNextIndicator(false);
36455
- onStartStep && onStartStep();
36456
- }
36457
- }), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
36458
- right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
36459
- src: IS_MOBILE_OR_TABLET ? img$d : img$7,
36460
- onPointerDown: function onPointerDown() {
36461
- goToNextStep();
36462
- }
36463
- }));
36464
- };
36465
- var Container$m = /*#__PURE__*/styled.div.withConfig({
36466
- displayName: "NPCDialogText__Container",
36467
- componentId: "sc-1cxkdh9-0"
36468
- })([""]);
36469
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
36470
- displayName: "NPCDialogText__PressSpaceIndicator",
36471
- componentId: "sc-1cxkdh9-1"
36472
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
36473
- var right = _ref2.right;
36474
- return right;
36475
- });
36476
-
36477
- var NPCDialogType;
36478
- (function (NPCDialogType) {
36479
- NPCDialogType["TextOnly"] = "TextOnly";
36480
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
36481
- })(NPCDialogType || (NPCDialogType = {}));
36482
- var NPCDialog = function NPCDialog(_ref) {
36483
- var text = _ref.text,
36484
- type = _ref.type,
36485
- _onClose = _ref.onClose,
36486
- imagePath = _ref.imagePath,
36487
- _ref$isQuestionDialog = _ref.isQuestionDialog,
36488
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
36489
- questions = _ref.questions,
36490
- answers = _ref.answers;
36491
- return React.createElement(RPGUIContainer, {
36492
- type: RPGUIContainerTypes.FramedGold,
36493
- width: isQuestionDialog ? '600px' : '80%',
36494
- height: '180px'
36495
- }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
36496
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36497
- }, React.createElement(QuestionDialog, {
36498
- questions: questions,
36499
- answers: answers,
36500
- onClose: function onClose() {
36501
- if (_onClose) {
36502
- _onClose();
36503
- }
36504
- }
36505
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
36506
- src: imagePath || img$6
36507
- }))) : React.createElement(React.Fragment, null, React.createElement(Container$n, null, React.createElement(TextContainer$2, {
36508
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36509
- }, React.createElement(NPCDialogText, {
36510
- type: type,
36511
- text: text || 'No text provided.',
36512
- onClose: function onClose() {
36513
- if (_onClose) {
36514
- _onClose();
36515
- }
36516
- }
36517
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
36518
- src: imagePath || img$6
36519
- })))));
36520
- };
36521
- var Container$n = /*#__PURE__*/styled.div.withConfig({
36522
- displayName: "NPCDialog__Container",
36523
- componentId: "sc-1b4aw74-0"
36524
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
36525
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
36526
- displayName: "NPCDialog__TextContainer",
36527
- componentId: "sc-1b4aw74-1"
36528
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
36529
- var flex = _ref2.flex;
36530
- return flex;
36531
- });
36532
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
36533
- displayName: "NPCDialog__ThumbnailContainer",
36534
- componentId: "sc-1b4aw74-2"
36535
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
36536
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
36537
- displayName: "NPCDialog__NPCThumbnail",
36538
- componentId: "sc-1b4aw74-3"
36539
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
36540
-
36541
- var HistoryDialog = function HistoryDialog(_ref) {
36542
- var backgroundImgPath = _ref.backgroundImgPath,
36543
- fullCoverBackground = _ref.fullCoverBackground,
36544
- questions = _ref.questions,
36545
- answers = _ref.answers,
36546
- text = _ref.text,
36547
- imagePath = _ref.imagePath,
36548
- textAndTypeArray = _ref.textAndTypeArray,
36549
- onClose = _ref.onClose;
36550
- var _useState = useState(0),
36551
- img = _useState[0],
36552
- setImage = _useState[1];
36553
- var onHandleSpacePress = function onHandleSpacePress(event) {
36554
- if (event.code === 'Space') {
36555
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
36556
- setImage(function (prev) {
36557
- return prev + 1;
36558
- });
36559
- } else {
36560
- // if there's no more text chunks, close the dialog
36561
- onClose();
36562
- }
36563
- }
36564
- };
36565
- useEffect(function () {
36566
- document.addEventListener('keydown', onHandleSpacePress);
36567
- return function () {
36568
- return document.removeEventListener('keydown', onHandleSpacePress);
36569
- };
36570
- }, [backgroundImgPath]);
36571
- return React.createElement(BackgroundContainer, {
36572
- imgPath: backgroundImgPath[img],
36573
- fullImg: fullCoverBackground
36574
- }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
36575
- textAndTypeArray: textAndTypeArray,
36576
- onClose: onClose
36577
- }) : questions && answers ? React.createElement(QuestionDialog, {
36578
- questions: questions,
36579
- answers: answers,
36580
- onClose: onClose
36581
- }) : text && imagePath ? React.createElement(NPCDialog, {
36582
- text: text,
36583
- imagePath: imagePath,
36584
- onClose: onClose,
36585
- type: NPCDialogType.TextAndThumbnail
36586
- }) : React.createElement(NPCDialog, {
36587
- text: text,
36588
- onClose: onClose,
36589
- type: NPCDialogType.TextOnly
36590
- })));
36591
- };
36592
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
36593
- displayName: "HistoryDialog__BackgroundContainer",
36594
- componentId: "sc-u6oe75-0"
36595
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
36596
- return props.imgPath;
36597
- }, function (props) {
36598
- return props.imgPath ? 'cover' : 'auto';
36599
- });
36600
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
36601
- displayName: "HistoryDialog__DialogContainer",
36602
- componentId: "sc-u6oe75-1"
36603
- })(["display:flex;justify-content:center;padding-top:200px;"]);
36604
-
36605
- export { Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, CheckButton, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio, ItemContainer$1 as ItemContainer, ItemSelector, ItemSlot, ListMenu, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, Shortcuts, SkillProgressBar, SkillsContainer, Spellbook, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, rarityColor, useEventListener };
36216
+ export { Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, CheckButton, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio, ItemContainer$1 as ItemContainer, ItemSelector, ItemSlot, ListMenu, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, Shortcuts, SkillProgressBar, SkillsContainer, Spellbook, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, useEventListener };
36606
36217
  //# sourceMappingURL=long-bow.esm.js.map