@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
@@ -13,7 +13,6 @@ var reactErrorBoundary = require('react-error-boundary');
13
13
  var rx = require('react-icons/rx');
14
14
  var Draggable = _interopDefault(require('react-draggable'));
15
15
  var uuid = require('uuid');
16
- var lodash = require('lodash');
17
16
  var mobxReactLite = require('mobx-react-lite');
18
17
  require('rpgui/rpgui.min.css');
19
18
  require('rpgui/rpgui.min.js');
@@ -114,8 +113,7 @@ var SpriteFromAtlas = function SpriteFromAtlas(_ref) {
114
113
  _ref$grayScale = _ref.grayScale,
115
114
  grayScale = _ref$grayScale === void 0 ? false : _ref$grayScale,
116
115
  _ref$opacity = _ref.opacity,
117
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
118
- imgClassname = _ref.imgClassname;
116
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
119
117
  //! 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).
120
118
  //!Due to React's limitations, we cannot import it from the public folder directly!
121
119
  var spriteData = atlasJSON.frames[spriteKey] || atlasJSON.frames['others/no-image.png'];
@@ -127,7 +125,7 @@ var SpriteFromAtlas = function SpriteFromAtlas(_ref) {
127
125
  onPointerDown: onPointerDown,
128
126
  style: containerStyle
129
127
  }, React__default.createElement(ImgSprite, {
130
- className: "sprite-from-atlas-img " + (imgClassname || ''),
128
+ className: "sprite-from-atlas-img",
131
129
  atlasIMG: atlasIMG,
132
130
  frame: spriteData.frame,
133
131
  scale: imgScale,
@@ -33363,6 +33361,202 @@ var DropdownOptions = /*#__PURE__*/styled.ul.withConfig({
33363
33361
  return props.opened ? 'block' : 'none';
33364
33362
  });
33365
33363
 
33364
+ var CraftBook = function CraftBook(_ref) {
33365
+ var atlasIMG = _ref.atlasIMG,
33366
+ atlasJSON = _ref.atlasJSON,
33367
+ onClose = _ref.onClose,
33368
+ onSelect = _ref.onSelect,
33369
+ onCraftItem = _ref.onCraftItem,
33370
+ craftablesItems = _ref.craftablesItems;
33371
+ var optionsId = 0;
33372
+ var _useState = React.useState({
33373
+ show: false,
33374
+ index: 200
33375
+ }),
33376
+ isShown = _useState[0],
33377
+ setIsShown = _useState[1];
33378
+ var _useState2 = React.useState(),
33379
+ craftItem = _useState2[0],
33380
+ setCraftItem = _useState2[1];
33381
+ var getDropdownOptions = function getDropdownOptions() {
33382
+ var options = [];
33383
+ Object.keys(shared.ItemSubType).forEach(function (key) {
33384
+ if (key === 'DeadBody') {
33385
+ return; // we can't craft crafting resouces...
33386
+ }
33387
+
33388
+ options.push({
33389
+ id: optionsId,
33390
+ value: key,
33391
+ option: key
33392
+ });
33393
+ optionsId += 1;
33394
+ });
33395
+ return options;
33396
+ };
33397
+ var modifyString = function modifyString(str) {
33398
+ // Split the string by "/" and "."
33399
+ var parts = str.split('/');
33400
+ var fileName = parts[parts.length - 1];
33401
+ parts = fileName.split('.');
33402
+ var name = parts[0];
33403
+ // Replace all occurrences of "-" with " "
33404
+ name = name.replace(/-/g, ' ');
33405
+ // Uppercase the first word
33406
+ var words = name.split(' ');
33407
+ var firstWord = words[0].slice(0, 1).toUpperCase() + words[0].slice(1);
33408
+ var modifiedWords = [firstWord].concat(words.slice(1));
33409
+ name = modifiedWords.join(' ');
33410
+ return name;
33411
+ };
33412
+ var handleClick = function handleClick(value) {
33413
+ setCraftItem(value);
33414
+ };
33415
+ return React__default.createElement(DraggableContainer, {
33416
+ type: exports.RPGUIContainerTypes.Framed,
33417
+ width: "500px",
33418
+ cancelDrag: ".inputRadioCraftBook",
33419
+ onCloseButton: function onCloseButton() {
33420
+ if (onClose) {
33421
+ onClose();
33422
+ }
33423
+ }
33424
+ }, React__default.createElement("div", {
33425
+ style: {
33426
+ width: '100%'
33427
+ }
33428
+ }, React__default.createElement(Title$1, null, 'Craftbook'), React__default.createElement(Subtitle, null, 'Select an item to craft'), React__default.createElement("hr", {
33429
+ className: "golden"
33430
+ })), React__default.createElement(Dropdown, {
33431
+ options: getDropdownOptions(),
33432
+ onChange: function onChange(value) {
33433
+ return onSelect(value);
33434
+ }
33435
+ }), React__default.createElement(RadioInputScroller, {
33436
+ className: "inputRadioCraftBook"
33437
+ }, craftablesItems == null ? void 0 : craftablesItems.map(function (option, index) {
33438
+ return React__default.createElement(RadioOptionsWrapper, {
33439
+ key: index
33440
+ }, React__default.createElement(SpriteAtlasWrapper, null, React__default.createElement(SpriteFromAtlas, {
33441
+ atlasIMG: atlasIMG,
33442
+ atlasJSON: atlasJSON,
33443
+ spriteKey: option.texturePath,
33444
+ imgScale: 3,
33445
+ grayScale: !option.canCraft
33446
+ })), React__default.createElement("div", null, React__default.createElement("div", {
33447
+ onPointerDown: function onPointerDown() {
33448
+ return handleClick(option.key);
33449
+ }
33450
+ }, React__default.createElement("input", {
33451
+ className: "rpgui-radio",
33452
+ type: "radio",
33453
+ value: option.name,
33454
+ name: "test",
33455
+ disabled: !option.canCraft,
33456
+ checked: craftItem === option.key,
33457
+ onChange: function onChange() {
33458
+ return handleClick(option.key);
33459
+ }
33460
+ }), React__default.createElement("label", {
33461
+ onPointerDown: function onPointerDown() {
33462
+ handleClick(option.key);
33463
+ },
33464
+ onTouchEnd: function onTouchEnd() {
33465
+ setIsShown({
33466
+ show: true,
33467
+ index: index
33468
+ });
33469
+ },
33470
+ style: {
33471
+ display: 'flex',
33472
+ alignItems: 'center'
33473
+ },
33474
+ onMouseEnter: function onMouseEnter() {
33475
+ return setIsShown({
33476
+ show: true,
33477
+ index: index
33478
+ });
33479
+ },
33480
+ onMouseLeave: function onMouseLeave() {
33481
+ return setIsShown({
33482
+ show: false,
33483
+ index: index
33484
+ });
33485
+ }
33486
+ }, modifyString(option.name))), isShown && isShown.index === index && option.ingredients.map(function (option, index) {
33487
+ return React__default.createElement(Recipes, {
33488
+ key: index
33489
+ }, React__default.createElement(SpriteFromAtlas, {
33490
+ atlasIMG: atlasIMG,
33491
+ atlasJSON: atlasJSON,
33492
+ spriteKey: option.texturePath,
33493
+ imgScale: 1
33494
+ }), React__default.createElement(StyledItem, null, modifyString(option.key), " (", option.qty, "x)"));
33495
+ })));
33496
+ })), React__default.createElement(ButtonWrapper, null, React__default.createElement(Button, {
33497
+ buttonType: exports.ButtonTypes.RPGUIButton,
33498
+ onPointerDown: onClose
33499
+ }, "Cancel"), React__default.createElement(Button, {
33500
+ buttonType: exports.ButtonTypes.RPGUIButton,
33501
+ onPointerDown: function onPointerDown() {
33502
+ return onCraftItem(craftItem);
33503
+ }
33504
+ }, "Craft")));
33505
+ };
33506
+ var StyledItem = /*#__PURE__*/styled.div.withConfig({
33507
+ displayName: "CraftBook__StyledItem",
33508
+ componentId: "sc-19q95ue-0"
33509
+ })(["margin-left:10px;"]);
33510
+ var Recipes = /*#__PURE__*/styled.div.withConfig({
33511
+ displayName: "CraftBook__Recipes",
33512
+ componentId: "sc-19q95ue-1"
33513
+ })(["font-size:0.6rem;color:yellow !important;margin-bottom:3px;display:flex;align-items:center;.sprite-from-atlas-img{top:0px;left:0px;}"]);
33514
+ var Title$1 = /*#__PURE__*/styled.h1.withConfig({
33515
+ displayName: "CraftBook__Title",
33516
+ componentId: "sc-19q95ue-2"
33517
+ })(["font-size:0.6rem;color:yellow !important;"]);
33518
+ var Subtitle = /*#__PURE__*/styled.h1.withConfig({
33519
+ displayName: "CraftBook__Subtitle",
33520
+ componentId: "sc-19q95ue-3"
33521
+ })(["font-size:0.4rem;color:yellow !important;"]);
33522
+ var RadioInputScroller = /*#__PURE__*/styled.div.withConfig({
33523
+ displayName: "CraftBook__RadioInputScroller",
33524
+ componentId: "sc-19q95ue-4"
33525
+ })(["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;"]);
33526
+ var SpriteAtlasWrapper = /*#__PURE__*/styled.div.withConfig({
33527
+ displayName: "CraftBook__SpriteAtlasWrapper",
33528
+ componentId: "sc-19q95ue-5"
33529
+ })(["margin-right:40px;"]);
33530
+ var RadioOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
33531
+ displayName: "CraftBook__RadioOptionsWrapper",
33532
+ componentId: "sc-19q95ue-6"
33533
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
33534
+ var ButtonWrapper = /*#__PURE__*/styled.div.withConfig({
33535
+ displayName: "CraftBook__ButtonWrapper",
33536
+ componentId: "sc-19q95ue-7"
33537
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
33538
+
33539
+ var DropdownSelectorContainer = function DropdownSelectorContainer(_ref) {
33540
+ var title = _ref.title,
33541
+ onChange = _ref.onChange,
33542
+ options = _ref.options,
33543
+ details = _ref.details;
33544
+ return React__default.createElement("div", null, React__default.createElement("p", null, title), React__default.createElement(Dropdown, {
33545
+ options: options.map(function (option, index) {
33546
+ return {
33547
+ option: option.name,
33548
+ value: option.id,
33549
+ id: index
33550
+ };
33551
+ }),
33552
+ onChange: onChange
33553
+ }), React__default.createElement(Details, null, details));
33554
+ };
33555
+ var Details = /*#__PURE__*/styled.p.withConfig({
33556
+ displayName: "DropdownSelectorContainer__Details",
33557
+ componentId: "sc-kaa0h9-0"
33558
+ })(["font-size:", " !important;"], uiFonts.size.xsmall);
33559
+
33366
33560
  var RelativeListMenu = function RelativeListMenu(_ref) {
33367
33561
  var options = _ref.options,
33368
33562
  onSelected = _ref.onSelected,
@@ -33412,69 +33606,14 @@ var ListElement = /*#__PURE__*/styled.li.withConfig({
33412
33606
  componentId: "sc-7hohf-1"
33413
33607
  })(["margin-right:0.5rem;"]);
33414
33608
 
33415
- var MobileItemTooltip = function MobileItemTooltip(_ref) {
33416
- var item = _ref.item,
33417
- atlasIMG = _ref.atlasIMG,
33418
- atlasJSON = _ref.atlasJSON,
33419
- closeTooltip = _ref.closeTooltip,
33420
- equipmentSet = _ref.equipmentSet,
33421
- _ref$scale = _ref.scale,
33422
- scale = _ref$scale === void 0 ? 1 : _ref$scale,
33423
- options = _ref.options,
33424
- onSelected = _ref.onSelected;
33425
- var ref = React.useRef(null);
33426
- React.useEffect(function () {
33427
- var current = ref.current;
33428
- if (current) {
33429
- // Adjust the position to be on whole window
33430
- var rect = current.getBoundingClientRect();
33431
- var x = -rect.x * 100 / (scale * 100);
33432
- var y = -rect.y * 100 / (scale * 100);
33433
- current.style.transform = "translate(" + x + "px, " + y + "px)";
33434
- current.style.opacity = '1';
33435
- }
33436
- return;
33437
- }, []);
33438
- return React__default.createElement(Container$9, {
33439
- ref: ref,
33440
- onTouchEnd: function onTouchEnd(e) {
33441
- e.stopPropagation();
33442
- closeTooltip();
33443
- },
33444
- scale: scale
33445
- }, React__default.createElement(ItemInfoDisplay, {
33446
- item: item,
33447
- atlasIMG: atlasIMG,
33448
- atlasJSON: atlasJSON,
33449
- equipmentSet: equipmentSet,
33450
- isMobile: true
33451
- }), React__default.createElement(OptionsContainer, null, options == null ? void 0 : options.map(function (option) {
33452
- return React__default.createElement(Option, {
33453
- key: option.id,
33454
- onTouchEnd: function onTouchEnd() {
33455
- return onSelected == null ? void 0 : onSelected(option.id);
33456
- }
33457
- }, option.text);
33458
- })));
33609
+ var ItemTooltip = function ItemTooltip(_ref) {
33610
+ var label = _ref.label;
33611
+ return React__default.createElement(Container$9, null, React__default.createElement("div", null, label));
33459
33612
  };
33460
33613
  var Container$9 = /*#__PURE__*/styled.div.withConfig({
33461
- displayName: "MobileItemTooltip__Container",
33462
- componentId: "sc-ku4p1j-0"
33463
- })(["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) {
33464
- var scale = _ref2.scale;
33465
- return "calc(100vw * 100 / " + scale * 100 + ")";
33466
- }, function (_ref3) {
33467
- var scale = _ref3.scale;
33468
- return "calc(100vh * 100 / " + scale * 100 + ")";
33469
- });
33470
- var OptionsContainer = /*#__PURE__*/styled.div.withConfig({
33471
- displayName: "MobileItemTooltip__OptionsContainer",
33472
- componentId: "sc-ku4p1j-1"
33473
- })(["display:flex;flex-direction:column;margin-left:2rem;gap:1rem;"]);
33474
- var Option = /*#__PURE__*/styled.button.withConfig({
33475
- displayName: "MobileItemTooltip__Option",
33476
- componentId: "sc-ku4p1j-2"
33477
- })(["padding:1rem;background-color:", ";border:none;border-radius:3px;"], uiColors.lightGray);
33614
+ displayName: "ItemTooltip__Container",
33615
+ componentId: "sc-11d9r7x-0"
33616
+ })(["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);
33478
33617
 
33479
33618
  var generateContextMenuListOptions = function generateContextMenuListOptions(actionsByTypeList) {
33480
33619
  var contextMenu = actionsByTypeList.map(function (action) {
@@ -33610,36 +33749,32 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33610
33749
  openQuantitySelector = _ref.openQuantitySelector,
33611
33750
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
33612
33751
  dragScale = _ref.dragScale,
33613
- isSelectingShortcut = _ref.isSelectingShortcut,
33614
- equipmentSet = _ref.equipmentSet;
33752
+ isSelectingShortcut = _ref.isSelectingShortcut;
33615
33753
  var _useState = React.useState(false),
33616
33754
  isTooltipVisible = _useState[0],
33617
33755
  setTooltipVisible = _useState[1];
33618
33756
  var _useState2 = React.useState(false),
33619
- isTooltipMobileVisible = _useState2[0],
33620
- setIsTooltipMobileVisible = _useState2[1];
33757
+ isContextMenuVisible = _useState2[0],
33758
+ setIsContextMenuVisible = _useState2[1];
33621
33759
  var _useState3 = React.useState(false),
33622
- isContextMenuVisible = _useState3[0],
33623
- setIsContextMenuVisible = _useState3[1];
33760
+ isFocused = _useState3[0],
33761
+ setIsFocused = _useState3[1];
33624
33762
  var _useState4 = React.useState(false),
33625
- isFocused = _useState4[0],
33626
- setIsFocused = _useState4[1];
33627
- var _useState5 = React.useState(false),
33628
- wasDragged = _useState5[0],
33629
- setWasDragged = _useState5[1];
33630
- var _useState6 = React.useState({
33763
+ wasDragged = _useState4[0],
33764
+ setWasDragged = _useState4[1];
33765
+ var _useState5 = React.useState({
33631
33766
  x: 0,
33632
33767
  y: 0
33633
33768
  }),
33634
- dragPosition = _useState6[0],
33635
- setDragPosition = _useState6[1];
33636
- var _useState7 = React.useState(null),
33637
- dropPosition = _useState7[0],
33638
- setDropPosition = _useState7[1];
33769
+ dragPosition = _useState5[0],
33770
+ setDragPosition = _useState5[1];
33771
+ var _useState6 = React.useState(null),
33772
+ dropPosition = _useState6[0],
33773
+ setDropPosition = _useState6[1];
33639
33774
  var dragContainer = React.useRef(null);
33640
- var _useState8 = React.useState([]),
33641
- contextActions = _useState8[0],
33642
- setContextActions = _useState8[1];
33775
+ var _useState7 = React.useState([]),
33776
+ contextActions = _useState7[0],
33777
+ setContextActions = _useState7[1];
33643
33778
  React.useEffect(function () {
33644
33779
  setDragPosition({
33645
33780
  x: 0,
@@ -33688,8 +33823,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33688
33823
  texturePath: itemToRender.texturePath,
33689
33824
  stackQty: itemToRender.stackQty || 1
33690
33825
  }, atlasJSON),
33691
- imgScale: 3,
33692
- imgClassname: "sprite-from-atlas-img--item"
33826
+ imgScale: 3
33693
33827
  })));
33694
33828
  }
33695
33829
  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);
@@ -33714,8 +33848,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33714
33848
  texturePath: itemToRender.texturePath,
33715
33849
  stackQty: itemToRender.stackQty || 1
33716
33850
  }, atlasJSON),
33717
- imgScale: 3,
33718
- imgClassname: "sprite-from-atlas-img--item"
33851
+ imgScale: 3
33719
33852
  })));
33720
33853
  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);
33721
33854
  if (stackInfo) {
@@ -33732,8 +33865,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33732
33865
  spriteKey: EquipmentSlotSpriteByType[slotSpriteMask],
33733
33866
  imgScale: 3,
33734
33867
  grayScale: true,
33735
- opacity: 0.4,
33736
- imgClassname: "sprite-from-atlas-img--item"
33868
+ opacity: 0.4
33737
33869
  }));
33738
33870
  }
33739
33871
  };
@@ -33826,12 +33958,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33826
33958
  }
33827
33959
  }, 100);
33828
33960
  } else if (item) {
33829
- var isTouch = false;
33830
- if (e.type === 'touchend' && !isSelectingShortcut) {
33831
- isTouch = true;
33832
- setIsTooltipMobileVisible(true);
33833
- }
33834
- if (!isContextMenuDisabled && !isSelectingShortcut && !isTouch) setIsContextMenuVisible(!isContextMenuVisible);
33961
+ if (!isContextMenuDisabled && !isSelectingShortcut) setIsContextMenuVisible(!isContextMenuVisible);
33835
33962
  onPointerDown(item.type, containerType, item);
33836
33963
  }
33837
33964
  },
@@ -33867,26 +33994,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33867
33994
  setTooltipVisible(false);
33868
33995
  }
33869
33996
  }, onRenderSlot(item))), isTooltipVisible && item && !isFocused && React__default.createElement(ItemTooltip, {
33870
- item: item,
33871
- atlasIMG: atlasIMG,
33872
- atlasJSON: atlasJSON,
33873
- equipmentSet: equipmentSet
33874
- }), isTooltipMobileVisible && item && React__default.createElement(MobileItemTooltip, {
33875
- item: item,
33876
- atlasIMG: atlasIMG,
33877
- atlasJSON: atlasJSON,
33878
- equipmentSet: equipmentSet,
33879
- closeTooltip: function closeTooltip() {
33880
- setIsTooltipMobileVisible(false);
33881
- },
33882
- scale: dragScale,
33883
- options: contextActions,
33884
- onSelected: function onSelected(optionId) {
33885
- setIsContextMenuVisible(false);
33886
- if (item) {
33887
- _onSelected(optionId, item);
33888
- }
33889
- }
33997
+ label: item.name
33890
33998
  }), !isContextMenuDisabled && isContextMenuVisible && contextActions && React__default.createElement(RelativeListMenu, {
33891
33999
  options: contextActions,
33892
34000
  onSelected: function onSelected(optionId) {
@@ -33911,13 +34019,13 @@ var rarityColor = function rarityColor(item) {
33911
34019
  case shared.ItemRarities.Legendary:
33912
34020
  return 'rgba(255, 191, 0,0.6)';
33913
34021
  default:
33914
- return null;
34022
+ return 'unset';
33915
34023
  }
33916
34024
  };
33917
34025
  var Container$a = /*#__PURE__*/styled.div.withConfig({
33918
34026
  displayName: "ItemSlot__Container",
33919
34027
  componentId: "sc-l2j5ef-0"
33920
- })(["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) {
34028
+ })(["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) {
33921
34029
  var item = _ref2.item;
33922
34030
  return rarityColor(item);
33923
34031
  }, function (_ref3) {
@@ -33945,582 +34053,637 @@ var ItemQty = /*#__PURE__*/styled.span.withConfig({
33945
34053
  componentId: "sc-l2j5ef-3"
33946
34054
  })(["&.regular{font-size:", ";}&.small{font-size:", ";}&.xsmall{font-size:", ";}"], uiFonts.size.small, uiFonts.size.xsmall, uiFonts.size.xxsmall);
33947
34055
 
33948
- var statisticsToDisplay = [{
33949
- key: 'attack'
33950
- }, {
33951
- key: 'defense'
33952
- }, {
33953
- key: 'maxRange',
33954
- label: 'Range'
33955
- }, {
33956
- key: 'weight',
33957
- higherIsWorse: true
33958
- }];
33959
- var ItemInfo = function ItemInfo(_ref) {
33960
- var _item$stackQty;
33961
- var item = _ref.item,
33962
- itemToCompare = _ref.itemToCompare,
34056
+ var EquipmentSet = function EquipmentSet(_ref) {
34057
+ var equipmentSet = _ref.equipmentSet,
34058
+ onClose = _ref.onClose,
34059
+ _onMouseOver = _ref.onMouseOver,
34060
+ _onSelected = _ref.onSelected,
34061
+ onItemClick = _ref.onItemClick,
33963
34062
  atlasIMG = _ref.atlasIMG,
33964
- atlasJSON = _ref.atlasJSON;
33965
- var renderStatistics = function renderStatistics() {
33966
- var statistics = [];
33967
- for (var _i = 0, _statisticsToDisplay = statisticsToDisplay; _i < _statisticsToDisplay.length; _i++) {
33968
- var stat = _statisticsToDisplay[_i];
33969
- var itemStatistic = item[stat.key];
33970
- if (itemStatistic) {
33971
- var _itemToCompare$stat$k, _itemToCompare$stat$k2;
33972
- var label = stat.label || stat.key[0].toUpperCase() + stat.key.slice(1);
33973
- var isItemToCompare = !!itemToCompare;
33974
- var isOnlyInOneItem = isItemToCompare && !(itemToCompare != null && itemToCompare[stat.key]);
33975
- 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');
33976
- var isDifference = isItemToCompare && statDiff !== 0;
33977
- var isBetter = statDiff > 0 && !stat.higherIsWorse || statDiff < 0 && stat.higherIsWorse;
33978
- statistics.push(React__default.createElement(Statistic, {
33979
- key: stat.key,
33980
- className: isOnlyInOneItem ? 'better' : ''
33981
- }, React__default.createElement("div", {
33982
- className: "label"
33983
- }, label, ":"), React__default.createElement("div", {
33984
- className: "value " + (isDifference ? isBetter ? 'better' : 'worse' : '')
33985
- }, itemStatistic.toString() + " " + (isDifference ? "(" + (statDiff > 0 ? '+' : '') + statDiff + ")" : ''))));
33986
- }
33987
- }
33988
- return statistics;
33989
- };
33990
- var renderMissingStatistic = function renderMissingStatistic() {
33991
- var statistics = [];
33992
- for (var _i2 = 0, _statisticsToDisplay2 = statisticsToDisplay; _i2 < _statisticsToDisplay2.length; _i2++) {
33993
- var stat = _statisticsToDisplay2[_i2];
33994
- var itemToCompareStatistic = itemToCompare == null ? void 0 : itemToCompare[stat.key];
33995
- if (itemToCompareStatistic && !item[stat.key]) {
33996
- var label = stat.label || stat.key[0].toUpperCase() + stat.key.slice(1);
33997
- statistics.push(React__default.createElement(Statistic, {
33998
- key: stat.key,
33999
- className: "worse"
34000
- }, React__default.createElement("div", {
34001
- className: "label"
34002
- }, label, ":"), React__default.createElement("div", {
34003
- className: "value worse"
34004
- }, itemToCompareStatistic.toString())));
34005
- }
34006
- }
34007
- return statistics;
34008
- };
34009
- var renderAvaibleSlots = function renderAvaibleSlots() {
34010
- if (!item.allowedEquipSlotType) return null;
34011
- return item.allowedEquipSlotType.map(function (slotType, index) {
34012
- return React__default.createElement(ErrorBoundary, {
34013
- key: index
34014
- }, React__default.createElement(SpriteFromAtlas, {
34063
+ atlasJSON = _ref.atlasJSON,
34064
+ onItemDragEnd = _ref.onItemDragEnd,
34065
+ onItemDragStart = _ref.onItemDragStart,
34066
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
34067
+ onItemOutsideDrop = _ref.onItemOutsideDrop,
34068
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
34069
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
34070
+ dragScale = _ref.dragScale;
34071
+ var neck = equipmentSet.neck,
34072
+ leftHand = equipmentSet.leftHand,
34073
+ ring = equipmentSet.ring,
34074
+ head = equipmentSet.head,
34075
+ armor = equipmentSet.armor,
34076
+ legs = equipmentSet.legs,
34077
+ boot = equipmentSet.boot,
34078
+ inventory = equipmentSet.inventory,
34079
+ rightHand = equipmentSet.rightHand,
34080
+ accessory = equipmentSet.accessory;
34081
+ var equipmentData = [neck, leftHand, ring, head, armor, legs, boot, inventory, rightHand, accessory];
34082
+ var equipmentMaskSlots = [shared.ItemSlotType.Neck, shared.ItemSlotType.LeftHand, shared.ItemSlotType.Ring, shared.ItemSlotType.Head, shared.ItemSlotType.Torso, shared.ItemSlotType.Legs, shared.ItemSlotType.Feet, shared.ItemSlotType.Inventory, shared.ItemSlotType.RightHand, shared.ItemSlotType.Accessory];
34083
+ var onRenderEquipmentSlotRange = function onRenderEquipmentSlotRange(start, end) {
34084
+ var equipmentRange = equipmentData.slice(start, end);
34085
+ var slotMaksRange = equipmentMaskSlots.slice(start, end);
34086
+ return equipmentRange.map(function (data, i) {
34087
+ var _ref2;
34088
+ var item = data;
34089
+ var itemContainer = (_ref2 = item && item.itemContainer) != null ? _ref2 : null;
34090
+ return React__default.createElement(ItemSlot, {
34091
+ key: i,
34092
+ slotIndex: i,
34093
+ item: item,
34094
+ itemContainer: itemContainer,
34095
+ itemContainerType: shared.ItemContainerType.Equipment,
34096
+ slotSpriteMask: slotMaksRange[i],
34097
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
34098
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34099
+ },
34100
+ onPointerDown: function onPointerDown(itemType, ContainerType) {
34101
+ if (onItemClick) onItemClick(itemType, item, ContainerType);
34102
+ },
34103
+ onSelected: function onSelected(optionId) {
34104
+ if (_onSelected) _onSelected(optionId);
34105
+ },
34106
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
34107
+ if (!item) {
34108
+ return;
34109
+ }
34110
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
34111
+ },
34112
+ onDragEnd: function onDragEnd(quantity) {
34113
+ if (onItemDragEnd) onItemDragEnd(quantity);
34114
+ },
34115
+ dragScale: dragScale,
34116
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
34117
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
34118
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
34119
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
34120
+ },
34121
+ onOutsideDrop: function onOutsideDrop(item, position) {
34122
+ if (onItemOutsideDrop) onItemOutsideDrop(item, position);
34123
+ },
34015
34124
  atlasIMG: atlasIMG,
34016
- atlasJSON: atlasJSON,
34017
- spriteKey: EquipmentSlotSpriteByType[slotType],
34018
- imgScale: 2,
34019
- grayScale: true,
34020
- opacity: 0.4,
34021
- containerStyle: {
34022
- width: '32px',
34023
- height: '32px'
34024
- }
34025
- }));
34125
+ atlasJSON: atlasJSON
34126
+ });
34026
34127
  });
34027
34128
  };
34028
- return React__default.createElement(Container$b, {
34029
- item: item
34030
- }, React__default.createElement(Header, null, React__default.createElement("div", null, React__default.createElement(Title$1, null, item.name), item.rarity !== 'Common' && React__default.createElement(Rarity, {
34031
- item: item
34032
- }, item.rarity), React__default.createElement(Type, null, item.subType)), React__default.createElement(AllowedSlots, null, renderAvaibleSlots())), renderStatistics(), item.isTwoHanded && React__default.createElement(Statistic, null, "Two handed"), React__default.createElement(Description, null, item.description), item.maxStackSize && item.maxStackSize !== 1 && React__default.createElement(StackInfo, null, "x", (_item$stackQty = item.stackQty) != null ? _item$stackQty : 1, "(", item.maxStackSize, ")"), renderMissingStatistic().length > 0 && React__default.createElement(MissingStatistics, null, React__default.createElement(Statistic, null, "Equipped Diff"), itemToCompare && renderMissingStatistic()));
34129
+ return React__default.createElement(DraggableContainer, {
34130
+ title: 'Equipments',
34131
+ type: exports.RPGUIContainerTypes.Framed,
34132
+ onCloseButton: function onCloseButton() {
34133
+ if (onClose) onClose();
34134
+ },
34135
+ width: "330px",
34136
+ cancelDrag: ".equipment-container-body"
34137
+ }, React__default.createElement(EquipmentSetContainer, {
34138
+ className: "equipment-container-body"
34139
+ }, React__default.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(0, 3)), React__default.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(3, 7)), React__default.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(7, 10))));
34033
34140
  };
34034
- var Container$b = /*#__PURE__*/styled.div.withConfig({
34035
- displayName: "ItemInfo__Container",
34036
- componentId: "sc-1xm4q8k-0"
34037
- })(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;width:max-content;font-size:", ";border:3px solid ", ";"], uiFonts.size.small, function (_ref2) {
34038
- var _rarityColor;
34039
- var item = _ref2.item;
34040
- return (_rarityColor = rarityColor(item)) != null ? _rarityColor : uiColors.lightGray;
34041
- });
34042
- var Title$1 = /*#__PURE__*/styled.div.withConfig({
34043
- displayName: "ItemInfo__Title",
34044
- componentId: "sc-1xm4q8k-1"
34045
- })(["font-size:", ";font-weight:bold;margin-bottom:0.5rem;display:flex;align-items:center;margin:0;"], uiFonts.size.medium);
34046
- var Rarity = /*#__PURE__*/styled.div.withConfig({
34047
- displayName: "ItemInfo__Rarity",
34048
- componentId: "sc-1xm4q8k-2"
34049
- })(["font-size:", ";font-weight:normal;margin-top:0.2rem;color:", ";filter:brightness(1.5);"], uiFonts.size.small, function (_ref3) {
34050
- var item = _ref3.item;
34051
- return rarityColor(item);
34052
- });
34053
- var Type = /*#__PURE__*/styled.div.withConfig({
34054
- displayName: "ItemInfo__Type",
34055
- componentId: "sc-1xm4q8k-3"
34056
- })(["font-size:", ";margin-top:0.2rem;color:", ";"], uiFonts.size.small, uiColors.lightGray);
34057
- var Statistic = /*#__PURE__*/styled.div.withConfig({
34058
- displayName: "ItemInfo__Statistic",
34059
- componentId: "sc-1xm4q8k-4"
34060
- })(["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);
34061
- var Description = /*#__PURE__*/styled.div.withConfig({
34062
- displayName: "ItemInfo__Description",
34063
- componentId: "sc-1xm4q8k-5"
34064
- })(["margin-top:1.5rem;font-size:", ";color:", ";font-style:italic;width:max-content;max-width:20rem;"], uiFonts.size.small, uiColors.lightGray);
34065
- var Header = /*#__PURE__*/styled.div.withConfig({
34066
- displayName: "ItemInfo__Header",
34067
- componentId: "sc-1xm4q8k-6"
34068
- })(["display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem;"]);
34069
- var AllowedSlots = /*#__PURE__*/styled.div.withConfig({
34070
- displayName: "ItemInfo__AllowedSlots",
34071
- componentId: "sc-1xm4q8k-7"
34072
- })(["display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0.5rem;margin-left:2rem;"]);
34073
- var StackInfo = /*#__PURE__*/styled.div.withConfig({
34074
- displayName: "ItemInfo__StackInfo",
34075
- componentId: "sc-1xm4q8k-8"
34076
- })(["width:100%;text-align:right;font-size:", ";color:", ";margin-top:1rem;"], uiFonts.size.small, uiColors.orange);
34077
- var MissingStatistics = /*#__PURE__*/styled.div.withConfig({
34078
- displayName: "ItemInfo__MissingStatistics",
34079
- componentId: "sc-1xm4q8k-9"
34080
- })(["margin-top:1rem;color:", ";"], uiColors.cardinal);
34141
+ var EquipmentSetContainer = /*#__PURE__*/styled.div.withConfig({
34142
+ displayName: "EquipmentSet__EquipmentSetContainer",
34143
+ componentId: "sc-1wuddg2-0"
34144
+ })(["width:inherit;display:flex;justify-content:center;flex-wrap:wrap;flex-direction:row;touch-action:none;"]);
34145
+ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
34146
+ displayName: "EquipmentSet__EquipmentColumn",
34147
+ componentId: "sc-1wuddg2-1"
34148
+ })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
34081
34149
 
34082
- var itemSlotTypes = ['head', 'neck', 'leftHand', 'rightHand', 'ring', 'legs', 'boot', 'accessory', 'armor', 'inventory'];
34083
- var getSlotType = function getSlotType(itemSlotTypes, slotType, subType) {
34084
- if (!itemSlotTypes.includes(slotType)) {
34085
- return subType;
34086
- }
34087
- return slotType;
34088
- };
34089
- var ItemInfoDisplay = function ItemInfoDisplay(_ref) {
34090
- var item = _ref.item,
34091
- atlasIMG = _ref.atlasIMG,
34092
- atlasJSON = _ref.atlasJSON,
34093
- equipmentSet = _ref.equipmentSet,
34094
- isMobile = _ref.isMobile;
34095
- var itemToCompare = React.useMemo(function () {
34096
- var _item$allowedEquipSlo;
34097
- if (equipmentSet && (_item$allowedEquipSlo = item.allowedEquipSlotType) != null && _item$allowedEquipSlo.length) {
34098
- var allowedSlotTypeCamelCase = lodash.camelCase(item.allowedEquipSlotType[0]);
34099
- var itemSubTypeCamelCase = lodash.camelCase(item.subType);
34100
- var slotType = getSlotType(itemSlotTypes, allowedSlotTypeCamelCase, itemSubTypeCamelCase);
34101
- var itemFromEquipment = equipmentSet[slotType];
34102
- if (itemFromEquipment && (!item._id || itemFromEquipment._id !== item._id)) {
34103
- return itemFromEquipment;
34104
- }
34105
- }
34106
- return undefined;
34107
- }, [equipmentSet, item]);
34108
- return React__default.createElement(Flex, {
34109
- "$isMobile": isMobile
34110
- }, React__default.createElement(ItemInfo, {
34111
- item: item,
34112
- itemToCompare: itemToCompare,
34113
- atlasIMG: atlasIMG,
34114
- atlasJSON: atlasJSON
34115
- }), itemToCompare && React__default.createElement(CompareContainer, null, React__default.createElement(Equipped, null, React__default.createElement("span", null, "Equipped")), React__default.createElement(ItemInfo, {
34116
- item: itemToCompare,
34117
- itemToCompare: item,
34118
- atlasIMG: atlasIMG,
34119
- atlasJSON: atlasJSON
34120
- })));
34150
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
34151
+
34152
+ var chunkString = function chunkString(str, length) {
34153
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
34121
34154
  };
34122
- var Flex = /*#__PURE__*/styled.div.withConfig({
34123
- displayName: "ItemInfoDisplay__Flex",
34124
- componentId: "sc-1lftdo8-0"
34125
- })(["display:flex;gap:0.5rem;flex-direction:", ";"], function (_ref2) {
34126
- var $isMobile = _ref2.$isMobile;
34127
- return $isMobile ? 'row-reverse' : 'row';
34128
- });
34129
- var Equipped = /*#__PURE__*/styled.div.withConfig({
34130
- displayName: "ItemInfoDisplay__Equipped",
34131
- componentId: "sc-1lftdo8-1"
34132
- })(["position:absolute;bottom:100%;left:50%;transform:translateX(-50%);"]);
34133
- var CompareContainer = /*#__PURE__*/styled.div.withConfig({
34134
- displayName: "ItemInfoDisplay__CompareContainer",
34135
- componentId: "sc-1lftdo8-2"
34136
- })(["position:relative;"]);
34137
34155
 
34138
- var offset = 20;
34139
- var ItemTooltip = function ItemTooltip(_ref) {
34140
- var item = _ref.item,
34141
- atlasIMG = _ref.atlasIMG,
34142
- atlasJSON = _ref.atlasJSON,
34143
- equipmentSet = _ref.equipmentSet;
34144
- var ref = React.useRef(null);
34156
+ var DynamicText = function DynamicText(_ref) {
34157
+ var text = _ref.text,
34158
+ onFinish = _ref.onFinish,
34159
+ onStart = _ref.onStart;
34160
+ var _useState = React.useState(''),
34161
+ textState = _useState[0],
34162
+ setTextState = _useState[1];
34145
34163
  React.useEffect(function () {
34146
- var current = ref.current;
34147
- var initialOffset;
34148
- if (current) {
34149
- var handleMouseMove = function handleMouseMove(event) {
34150
- var clientX = event.clientX,
34151
- clientY = event.clientY;
34152
- // Adjust the position of the tooltip based on the mouse position
34153
- var rect = current.getBoundingClientRect();
34154
- if (!initialOffset) {
34155
- initialOffset = rect;
34164
+ var i = 0;
34165
+ var interval = setInterval(function () {
34166
+ // on every interval, show one more character
34167
+ if (i === 0) {
34168
+ if (onStart) {
34169
+ onStart();
34156
34170
  }
34157
- var tooltipWidth = rect.width;
34158
- var tooltipHeight = rect.height;
34159
- var isOffScreenRight = clientX + tooltipWidth + offset > window.innerWidth;
34160
- var isOffScreenBottom = clientY + tooltipHeight + offset > window.innerHeight;
34161
- var x = (isOffScreenRight ? clientX - tooltipWidth - offset : clientX + offset) - initialOffset.x;
34162
- var y = (isOffScreenBottom ? clientY - tooltipHeight - offset : clientY + offset) - initialOffset.y;
34163
- current.style.transform = "translate(" + x + "px, " + y + "px)";
34164
- current.style.opacity = '1';
34165
- };
34166
- window.addEventListener('mousemove', handleMouseMove);
34167
- return function () {
34168
- window.removeEventListener('mousemove', handleMouseMove);
34169
- };
34170
- }
34171
- return;
34172
- }, []);
34173
- return React__default.createElement(Container$c, {
34174
- ref: ref
34175
- }, React__default.createElement(ItemInfoDisplay, {
34176
- item: item,
34177
- atlasIMG: atlasIMG,
34178
- atlasJSON: atlasJSON,
34179
- equipmentSet: equipmentSet
34180
- }));
34171
+ }
34172
+ if (i < text.length) {
34173
+ setTextState(text.substring(0, i + 1));
34174
+ i++;
34175
+ } else {
34176
+ clearInterval(interval);
34177
+ if (onFinish) {
34178
+ onFinish();
34179
+ }
34180
+ }
34181
+ }, 50);
34182
+ return function () {
34183
+ clearInterval(interval);
34184
+ };
34185
+ }, [text]);
34186
+ return React__default.createElement(TextContainer, null, textState);
34181
34187
  };
34182
- var Container$c = /*#__PURE__*/styled.div.withConfig({
34183
- displayName: "ItemTooltip__Container",
34184
- componentId: "sc-11d9r7x-0"
34185
- })(["position:fixed;z-index:50;pointer-events:none;left:0;top:0;opacity:0;"]);
34188
+ var TextContainer = /*#__PURE__*/styled.p.withConfig({
34189
+ displayName: "DynamicText__TextContainer",
34190
+ componentId: "sc-1ggl9nd-0"
34191
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
34186
34192
 
34187
- var ItemInfoWrapper = function ItemInfoWrapper(_ref) {
34188
- var children = _ref.children,
34189
- atlasIMG = _ref.atlasIMG,
34190
- atlasJSON = _ref.atlasJSON,
34191
- item = _ref.item,
34192
- equipmentSet = _ref.equipmentSet,
34193
- scale = _ref.scale;
34194
- var _useState = React.useState(false),
34195
- isTooltipVisible = _useState[0],
34196
- setIsTooltipVisible = _useState[1];
34193
+ var img$6 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
34194
+
34195
+ 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';
34196
+
34197
+ var NPCDialogText = function NPCDialogText(_ref) {
34198
+ var text = _ref.text,
34199
+ onClose = _ref.onClose,
34200
+ onEndStep = _ref.onEndStep,
34201
+ onStartStep = _ref.onStartStep,
34202
+ type = _ref.type;
34203
+ var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
34204
+ function maxCharacters(width) {
34205
+ // Set the font size to 16 pixels
34206
+ var fontSize = 11.2;
34207
+ // Calculate the number of characters that can fit in one line
34208
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
34209
+ // Calculate the number of lines that can fit in the div
34210
+ var linesPerDiv = Math.floor(180 / fontSize);
34211
+ // Calculate the maximum number of characters that can fit in the div
34212
+ var maxCharacters = charactersPerLine * linesPerDiv;
34213
+ // Return the maximum number of characters
34214
+ return Math.round(maxCharacters / 5);
34215
+ }
34216
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
34217
+ var _useState = React.useState(0),
34218
+ chunkIndex = _useState[0],
34219
+ setChunkIndex = _useState[1];
34220
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34221
+ if (event.code === 'Space') {
34222
+ goToNextStep();
34223
+ }
34224
+ };
34225
+ var goToNextStep = function goToNextStep() {
34226
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
34227
+ if (hasNextChunk) {
34228
+ setChunkIndex(function (prev) {
34229
+ return prev + 1;
34230
+ });
34231
+ } else {
34232
+ // if there's no more text chunks, close the dialog
34233
+ onClose();
34234
+ }
34235
+ };
34236
+ React.useEffect(function () {
34237
+ document.addEventListener('keydown', onHandleSpacePress);
34238
+ return function () {
34239
+ return document.removeEventListener('keydown', onHandleSpacePress);
34240
+ };
34241
+ }, [chunkIndex]);
34197
34242
  var _useState2 = React.useState(false),
34198
- isTooltipMobileVisible = _useState2[0],
34199
- setIsTooltipMobileVisible = _useState2[1];
34200
- return React__default.createElement("div", {
34201
- onMouseEnter: function onMouseEnter() {
34202
- if (!isTooltipMobileVisible) setIsTooltipVisible(true);
34243
+ showGoNextIndicator = _useState2[0],
34244
+ setShowGoNextIndicator = _useState2[1];
34245
+ return React__default.createElement(Container$b, null, React__default.createElement(DynamicText, {
34246
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
34247
+ onFinish: function onFinish() {
34248
+ setShowGoNextIndicator(true);
34249
+ onEndStep && onEndStep();
34203
34250
  },
34204
- onMouseLeave: setIsTooltipVisible.bind(null, false),
34205
- onTouchEnd: function onTouchEnd() {
34206
- setIsTooltipMobileVisible(true);
34207
- setIsTooltipVisible(false);
34251
+ onStart: function onStart() {
34252
+ setShowGoNextIndicator(false);
34253
+ onStartStep && onStartStep();
34254
+ }
34255
+ }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
34256
+ right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
34257
+ src: IS_MOBILE_OR_TABLET ? img$6 : img$7,
34258
+ onPointerDown: function onPointerDown() {
34259
+ goToNextStep();
34208
34260
  }
34209
- }, children, isTooltipVisible && !isTooltipMobileVisible && React__default.createElement(ItemTooltip, {
34210
- atlasIMG: atlasIMG,
34211
- atlasJSON: atlasJSON,
34212
- equipmentSet: equipmentSet,
34213
- item: item
34214
- }), isTooltipMobileVisible && React__default.createElement(MobileItemTooltip, {
34215
- atlasIMG: atlasIMG,
34216
- atlasJSON: atlasJSON,
34217
- equipmentSet: equipmentSet,
34218
- closeTooltip: function closeTooltip() {
34219
- setIsTooltipMobileVisible(false);
34220
- console.log('close');
34221
- },
34222
- item: item,
34223
- scale: scale
34224
34261
  }));
34225
34262
  };
34263
+ var Container$b = /*#__PURE__*/styled.div.withConfig({
34264
+ displayName: "NPCDialogText__Container",
34265
+ componentId: "sc-1cxkdh9-0"
34266
+ })([""]);
34267
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
34268
+ displayName: "NPCDialogText__PressSpaceIndicator",
34269
+ componentId: "sc-1cxkdh9-1"
34270
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
34271
+ var right = _ref2.right;
34272
+ return right;
34273
+ });
34226
34274
 
34227
- var CraftBook = function CraftBook(_ref) {
34228
- var atlasIMG = _ref.atlasIMG,
34229
- atlasJSON = _ref.atlasJSON,
34230
- onClose = _ref.onClose,
34231
- onSelect = _ref.onSelect,
34232
- onCraftItem = _ref.onCraftItem,
34233
- craftablesItems = _ref.craftablesItems,
34234
- equipmentSet = _ref.equipmentSet,
34235
- scale = _ref.scale;
34236
- var optionsId = 0;
34237
- var _useState = React.useState({
34238
- show: false,
34239
- index: 200
34240
- }),
34241
- isShown = _useState[0],
34242
- setIsShown = _useState[1];
34243
- var _useState2 = React.useState(),
34244
- craftItem = _useState2[0],
34245
- setCraftItem = _useState2[1];
34246
- var getDropdownOptions = function getDropdownOptions() {
34247
- var options = [];
34248
- Object.keys(shared.ItemSubType).forEach(function (key) {
34249
- if (key === 'DeadBody') {
34250
- return; // we can't craft crafting resouces...
34251
- }
34275
+ //@ts-ignore
34276
+ var useEventListener = function useEventListener(type, handler, el) {
34277
+ if (el === void 0) {
34278
+ el = window;
34279
+ }
34280
+ var savedHandler = React__default.useRef();
34281
+ React__default.useEffect(function () {
34282
+ savedHandler.current = handler;
34283
+ }, [handler]);
34284
+ React__default.useEffect(function () {
34285
+ //@ts-ignore
34286
+ var listener = function listener(e) {
34287
+ return savedHandler.current(e);
34288
+ };
34289
+ el.addEventListener(type, listener);
34290
+ return function () {
34291
+ el.removeEventListener(type, listener);
34292
+ };
34293
+ }, [type, el]);
34294
+ };
34252
34295
 
34253
- options.push({
34254
- id: optionsId,
34255
- value: key,
34256
- option: key
34257
- });
34258
- optionsId += 1;
34296
+ var QuestionDialog = function QuestionDialog(_ref) {
34297
+ var questions = _ref.questions,
34298
+ answers = _ref.answers,
34299
+ onClose = _ref.onClose;
34300
+ var _useState = React.useState(questions[0]),
34301
+ currentQuestion = _useState[0],
34302
+ setCurrentQuestion = _useState[1];
34303
+ var _useState2 = React.useState(false),
34304
+ canShowAnswers = _useState2[0],
34305
+ setCanShowAnswers = _useState2[1];
34306
+ var onGetFirstAnswer = function onGetFirstAnswer() {
34307
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
34308
+ return null;
34309
+ }
34310
+ var firstAnswerId = currentQuestion.answerIds[0];
34311
+ return answers.find(function (answer) {
34312
+ return answer.id === firstAnswerId;
34259
34313
  });
34260
- return options;
34261
34314
  };
34262
- var modifyString = function modifyString(str) {
34263
- // Split the string by "/" and "."
34264
- var parts = str.split('/');
34265
- var fileName = parts[parts.length - 1];
34266
- parts = fileName.split('.');
34267
- var name = parts[0];
34268
- // Replace all occurrences of "-" with " "
34269
- name = name.replace(/-/g, ' ');
34270
- // Uppercase the first word
34271
- var words = name.split(' ');
34272
- var firstWord = words[0].slice(0, 1).toUpperCase() + words[0].slice(1);
34273
- var modifiedWords = [firstWord].concat(words.slice(1));
34274
- name = modifiedWords.join(' ');
34275
- return name;
34315
+ var _useState3 = React.useState(onGetFirstAnswer()),
34316
+ currentAnswer = _useState3[0],
34317
+ setCurrentAnswer = _useState3[1];
34318
+ React.useEffect(function () {
34319
+ setCurrentAnswer(onGetFirstAnswer());
34320
+ }, [currentQuestion]);
34321
+ var onGetAnswers = function onGetAnswers(answerIds) {
34322
+ return answerIds.map(function (answerId) {
34323
+ return answers.find(function (answer) {
34324
+ return answer.id === answerId;
34325
+ });
34326
+ });
34276
34327
  };
34277
- var handleClick = function handleClick(value) {
34278
- setCraftItem(value);
34328
+ var onKeyPress = function onKeyPress(e) {
34329
+ switch (e.key) {
34330
+ case 'ArrowDown':
34331
+ // select next answer, if any.
34332
+ // if no next answer, select first answer
34333
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
34334
+ // (answer) => answer?.id === currentAnswer!.id + 1
34335
+ // );
34336
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34337
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
34338
+ });
34339
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
34340
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34341
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
34342
+ });
34343
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
34344
+ break;
34345
+ case 'ArrowUp':
34346
+ // select previous answer, if any.
34347
+ // if no previous answer, select last answer
34348
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34349
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
34350
+ });
34351
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
34352
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34353
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
34354
+ });
34355
+ if (previousAnswer) {
34356
+ setCurrentAnswer(previousAnswer);
34357
+ } else {
34358
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
34359
+ }
34360
+ break;
34361
+ case 'Enter':
34362
+ setCanShowAnswers(false);
34363
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
34364
+ onClose();
34365
+ return;
34366
+ } else {
34367
+ setCurrentQuestion(questions.find(function (question) {
34368
+ return question.id === currentAnswer.nextQuestionId;
34369
+ }));
34370
+ }
34371
+ break;
34372
+ }
34279
34373
  };
34280
- return React__default.createElement(DraggableContainer, {
34281
- type: exports.RPGUIContainerTypes.Framed,
34282
- width: "500px",
34283
- cancelDrag: ".inputRadioCraftBook",
34284
- onCloseButton: function onCloseButton() {
34285
- if (onClose) {
34286
- onClose();
34287
- }
34374
+ useEventListener('keydown', onKeyPress);
34375
+ var onAnswerClick = function onAnswerClick(answer) {
34376
+ setCanShowAnswers(false);
34377
+ if (answer.nextQuestionId) {
34378
+ // if there is a next question, go to it
34379
+ setCurrentQuestion(questions.find(function (question) {
34380
+ return question.id === answer.nextQuestionId;
34381
+ }));
34382
+ } else {
34383
+ // else, finish dialog!
34384
+ onClose();
34288
34385
  }
34289
- }, React__default.createElement("div", {
34290
- style: {
34291
- width: '100%'
34386
+ };
34387
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
34388
+ var answerIds = currentQuestion.answerIds;
34389
+ if (!answerIds) {
34390
+ return null;
34292
34391
  }
34293
- }, React__default.createElement(Title$2, null, "Craftbook"), React__default.createElement(Subtitle, null, "Select an item to craft"), React__default.createElement("hr", {
34294
- className: "golden"
34295
- })), React__default.createElement(Dropdown, {
34296
- options: getDropdownOptions(),
34297
- onChange: function onChange(value) {
34298
- return onSelect(value);
34392
+ var answers = onGetAnswers(answerIds);
34393
+ if (!answers) {
34394
+ return null;
34299
34395
  }
34300
- }), React__default.createElement(RadioInputScroller, {
34301
- className: "inputRadioCraftBook"
34302
- }, craftablesItems == null ? void 0 : craftablesItems.map(function (option, index) {
34303
- return React__default.createElement(RadioOptionsWrapper, {
34304
- key: index
34305
- }, React__default.createElement(SpriteAtlasWrapper, null, React__default.createElement(ItemInfoWrapper, {
34306
- item: option,
34307
- atlasIMG: atlasIMG,
34308
- atlasJSON: atlasJSON,
34309
- equipmentSet: equipmentSet,
34310
- scale: scale
34311
- }, React__default.createElement(SpriteFromAtlas, {
34312
- atlasIMG: atlasIMG,
34313
- atlasJSON: atlasJSON,
34314
- spriteKey: option.texturePath,
34315
- imgScale: 3,
34316
- grayScale: !option.canCraft
34317
- }))), React__default.createElement("div", null, React__default.createElement("div", {
34318
- onPointerDown: function onPointerDown() {
34319
- return handleClick(option.key);
34396
+ return answers.map(function (answer) {
34397
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
34398
+ var selectedColor = isSelected ? 'yellow' : 'white';
34399
+ if (answer) {
34400
+ return React__default.createElement(AnswerRow, {
34401
+ key: "answer_" + answer.id
34402
+ }, React__default.createElement(AnswerSelectedIcon, {
34403
+ color: selectedColor
34404
+ }, isSelected ? 'X' : null), React__default.createElement(Answer, {
34405
+ key: answer.id,
34406
+ onPointerDown: function onPointerDown() {
34407
+ return onAnswerClick(answer);
34408
+ },
34409
+ color: selectedColor
34410
+ }, answer.text));
34320
34411
  }
34321
- }, React__default.createElement("input", {
34322
- className: "rpgui-radio",
34323
- type: "radio",
34324
- value: option.name,
34325
- name: "test",
34326
- disabled: !option.canCraft,
34327
- checked: craftItem === option.key,
34328
- onChange: function onChange() {
34329
- return handleClick(option.key);
34412
+ return null;
34413
+ });
34414
+ };
34415
+ return React__default.createElement(Container$c, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
34416
+ text: currentQuestion.text,
34417
+ onStart: function onStart() {
34418
+ return setCanShowAnswers(false);
34419
+ },
34420
+ onFinish: function onFinish() {
34421
+ return setCanShowAnswers(true);
34422
+ }
34423
+ })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34424
+ };
34425
+ var Container$c = /*#__PURE__*/styled.div.withConfig({
34426
+ displayName: "QuestionDialog__Container",
34427
+ componentId: "sc-bxc5u0-0"
34428
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
34429
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
34430
+ displayName: "QuestionDialog__QuestionContainer",
34431
+ componentId: "sc-bxc5u0-1"
34432
+ })(["flex:100%;width:100%;"]);
34433
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
34434
+ displayName: "QuestionDialog__AnswersContainer",
34435
+ componentId: "sc-bxc5u0-2"
34436
+ })(["flex:100%;"]);
34437
+ var Answer = /*#__PURE__*/styled.p.withConfig({
34438
+ displayName: "QuestionDialog__Answer",
34439
+ componentId: "sc-bxc5u0-3"
34440
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
34441
+ return props.color;
34442
+ });
34443
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
34444
+ displayName: "QuestionDialog__AnswerSelectedIcon",
34445
+ componentId: "sc-bxc5u0-4"
34446
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
34447
+ return props.color;
34448
+ });
34449
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
34450
+ displayName: "QuestionDialog__AnswerRow",
34451
+ componentId: "sc-bxc5u0-5"
34452
+ })(["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;}"]);
34453
+
34454
+ var img$8 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
34455
+
34456
+ (function (NPCDialogType) {
34457
+ NPCDialogType["TextOnly"] = "TextOnly";
34458
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
34459
+ })(exports.NPCDialogType || (exports.NPCDialogType = {}));
34460
+ var NPCDialog = function NPCDialog(_ref) {
34461
+ var text = _ref.text,
34462
+ type = _ref.type,
34463
+ _onClose = _ref.onClose,
34464
+ imagePath = _ref.imagePath,
34465
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
34466
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
34467
+ questions = _ref.questions,
34468
+ answers = _ref.answers;
34469
+ return React__default.createElement(RPGUIContainer, {
34470
+ type: exports.RPGUIContainerTypes.FramedGold,
34471
+ width: isQuestionDialog ? '600px' : '80%',
34472
+ height: '180px'
34473
+ }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$1, {
34474
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34475
+ }, React__default.createElement(QuestionDialog, {
34476
+ questions: questions,
34477
+ answers: answers,
34478
+ onClose: function onClose() {
34479
+ if (_onClose) {
34480
+ _onClose();
34330
34481
  }
34331
- }), React__default.createElement("label", {
34332
- onPointerDown: function onPointerDown() {
34333
- handleClick(option.key);
34334
- },
34335
- onTouchEnd: function onTouchEnd() {
34336
- setIsShown({
34337
- show: true,
34338
- index: index
34339
- });
34340
- },
34341
- style: {
34342
- display: 'flex',
34343
- alignItems: 'center'
34344
- },
34345
- onMouseEnter: function onMouseEnter() {
34346
- return setIsShown({
34347
- show: true,
34348
- index: index
34349
- });
34350
- },
34351
- onMouseLeave: function onMouseLeave() {
34352
- return setIsShown({
34353
- show: false,
34354
- index: index
34355
- });
34482
+ }
34483
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
34484
+ src: imagePath || img$8
34485
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$d, null, React__default.createElement(TextContainer$1, {
34486
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34487
+ }, React__default.createElement(NPCDialogText, {
34488
+ type: type,
34489
+ text: text || 'No text provided.',
34490
+ onClose: function onClose() {
34491
+ if (_onClose) {
34492
+ _onClose();
34356
34493
  }
34357
- }, modifyString(option.name))), isShown && isShown.index === index && option.ingredients.map(function (option, index) {
34358
- return React__default.createElement(Recipes, {
34359
- key: index
34360
- }, React__default.createElement(SpriteFromAtlas, {
34361
- atlasIMG: atlasIMG,
34362
- atlasJSON: atlasJSON,
34363
- spriteKey: option.texturePath,
34364
- imgScale: 1
34365
- }), React__default.createElement(StyledItem, null, modifyString(option.key), " (", option.qty, "x)"));
34366
- })));
34367
- })), React__default.createElement(ButtonWrapper, null, React__default.createElement(Button, {
34368
- buttonType: exports.ButtonTypes.RPGUIButton,
34369
- onPointerDown: onClose
34370
- }, "Cancel"), React__default.createElement(Button, {
34371
- buttonType: exports.ButtonTypes.RPGUIButton,
34372
- onPointerDown: function onPointerDown() {
34373
- return onCraftItem(craftItem);
34374
34494
  }
34375
- }, "Craft")));
34495
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
34496
+ src: imagePath || img$8
34497
+ })))));
34376
34498
  };
34377
- var StyledItem = /*#__PURE__*/styled.div.withConfig({
34378
- displayName: "CraftBook__StyledItem",
34379
- componentId: "sc-19q95ue-0"
34380
- })(["margin-left:10px;"]);
34381
- var Recipes = /*#__PURE__*/styled.div.withConfig({
34382
- displayName: "CraftBook__Recipes",
34383
- componentId: "sc-19q95ue-1"
34384
- })(["font-size:0.6rem;color:yellow !important;margin-bottom:3px;display:flex;align-items:center;.sprite-from-atlas-img{top:0px;left:0px;}"]);
34385
- var Title$2 = /*#__PURE__*/styled.h1.withConfig({
34386
- displayName: "CraftBook__Title",
34387
- componentId: "sc-19q95ue-2"
34388
- })(["font-size:0.6rem;color:yellow !important;"]);
34389
- var Subtitle = /*#__PURE__*/styled.h1.withConfig({
34390
- displayName: "CraftBook__Subtitle",
34391
- componentId: "sc-19q95ue-3"
34392
- })(["font-size:0.4rem;color:yellow !important;"]);
34393
- var RadioInputScroller = /*#__PURE__*/styled.div.withConfig({
34394
- displayName: "CraftBook__RadioInputScroller",
34395
- componentId: "sc-19q95ue-4"
34396
- })(["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;"]);
34397
- var SpriteAtlasWrapper = /*#__PURE__*/styled.div.withConfig({
34398
- displayName: "CraftBook__SpriteAtlasWrapper",
34399
- componentId: "sc-19q95ue-5"
34400
- })(["margin-right:40px;"]);
34401
- var RadioOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
34402
- displayName: "CraftBook__RadioOptionsWrapper",
34403
- componentId: "sc-19q95ue-6"
34404
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
34405
- var ButtonWrapper = /*#__PURE__*/styled.div.withConfig({
34406
- displayName: "CraftBook__ButtonWrapper",
34407
- componentId: "sc-19q95ue-7"
34408
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
34499
+ var Container$d = /*#__PURE__*/styled.div.withConfig({
34500
+ displayName: "NPCDialog__Container",
34501
+ componentId: "sc-1b4aw74-0"
34502
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34503
+ var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
34504
+ displayName: "NPCDialog__TextContainer",
34505
+ componentId: "sc-1b4aw74-1"
34506
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34507
+ var flex = _ref2.flex;
34508
+ return flex;
34509
+ });
34510
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34511
+ displayName: "NPCDialog__ThumbnailContainer",
34512
+ componentId: "sc-1b4aw74-2"
34513
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34514
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34515
+ displayName: "NPCDialog__NPCThumbnail",
34516
+ componentId: "sc-1b4aw74-3"
34517
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
34409
34518
 
34410
- var DropdownSelectorContainer = function DropdownSelectorContainer(_ref) {
34411
- var title = _ref.title,
34412
- onChange = _ref.onChange,
34413
- options = _ref.options,
34414
- details = _ref.details;
34415
- return React__default.createElement("div", null, React__default.createElement("p", null, title), React__default.createElement(Dropdown, {
34416
- options: options.map(function (option, index) {
34417
- return {
34418
- option: option.name,
34419
- value: option.id,
34420
- id: index
34421
- };
34422
- }),
34423
- onChange: onChange
34424
- }), React__default.createElement(Details, null, details));
34519
+ (function (ImgSide) {
34520
+ ImgSide["right"] = "right";
34521
+ ImgSide["left"] = "left";
34522
+ })(exports.ImgSide || (exports.ImgSide = {}));
34523
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
34524
+ var _textAndTypeArray$sli;
34525
+ var _onClose = _ref.onClose,
34526
+ textAndTypeArray = _ref.textAndTypeArray;
34527
+ var _useState = React.useState(false),
34528
+ showGoNextIndicator = _useState[0],
34529
+ setShowGoNextIndicator = _useState[1];
34530
+ var _useState2 = React.useState(0),
34531
+ slide = _useState2[0],
34532
+ setSlide = _useState2[1];
34533
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34534
+ if (event.code === 'Space') {
34535
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34536
+ setSlide(function (prev) {
34537
+ return prev + 1;
34538
+ });
34539
+ } else {
34540
+ // if there's no more text chunks, close the dialog
34541
+ _onClose();
34542
+ }
34543
+ }
34544
+ };
34545
+ React.useEffect(function () {
34546
+ document.addEventListener('keydown', onHandleSpacePress);
34547
+ return function () {
34548
+ return document.removeEventListener('keydown', onHandleSpacePress);
34549
+ };
34550
+ }, [slide]);
34551
+ return React__default.createElement(RPGUIContainer, {
34552
+ type: exports.RPGUIContainerTypes.FramedGold,
34553
+ width: '50%',
34554
+ height: '180px'
34555
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$e, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
34556
+ flex: '70%'
34557
+ }, React__default.createElement(NPCDialogText, {
34558
+ onStartStep: function onStartStep() {
34559
+ return setShowGoNextIndicator(false);
34560
+ },
34561
+ onEndStep: function onEndStep() {
34562
+ return setShowGoNextIndicator(true);
34563
+ },
34564
+ text: textAndTypeArray[slide].text || 'No text provided.',
34565
+ onClose: function onClose() {
34566
+ if (_onClose) {
34567
+ _onClose();
34568
+ }
34569
+ }
34570
+ })), React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
34571
+ src: textAndTypeArray[slide].imagePath || img$8
34572
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
34573
+ right: '10.5rem',
34574
+ src: img$7
34575
+ })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
34576
+ src: textAndTypeArray[slide].imagePath || img$8
34577
+ })), React__default.createElement(TextContainer$2, {
34578
+ flex: '70%'
34579
+ }, React__default.createElement(NPCDialogText, {
34580
+ onStartStep: function onStartStep() {
34581
+ return setShowGoNextIndicator(false);
34582
+ },
34583
+ onEndStep: function onEndStep() {
34584
+ return setShowGoNextIndicator(true);
34585
+ },
34586
+ text: textAndTypeArray[slide].text || 'No text provided.',
34587
+ onClose: function onClose() {
34588
+ if (_onClose) {
34589
+ _onClose();
34590
+ }
34591
+ }
34592
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
34593
+ right: '1rem',
34594
+ src: img$7
34595
+ }))), ")"));
34425
34596
  };
34426
- var Details = /*#__PURE__*/styled.p.withConfig({
34427
- displayName: "DropdownSelectorContainer__Details",
34428
- componentId: "sc-kaa0h9-0"
34429
- })(["font-size:", " !important;"], uiFonts.size.xsmall);
34597
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
34598
+ displayName: "NPCMultiDialog__Container",
34599
+ componentId: "sc-rvu5wg-0"
34600
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34601
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
34602
+ displayName: "NPCMultiDialog__TextContainer",
34603
+ componentId: "sc-rvu5wg-1"
34604
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34605
+ var flex = _ref2.flex;
34606
+ return flex;
34607
+ });
34608
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
34609
+ displayName: "NPCMultiDialog__ThumbnailContainer",
34610
+ componentId: "sc-rvu5wg-2"
34611
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34612
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
34613
+ displayName: "NPCMultiDialog__NPCThumbnail",
34614
+ componentId: "sc-rvu5wg-3"
34615
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
34616
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
34617
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
34618
+ componentId: "sc-rvu5wg-4"
34619
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34620
+ var right = _ref3.right;
34621
+ return right;
34622
+ });
34430
34623
 
34431
- var EquipmentSet = function EquipmentSet(_ref) {
34432
- var equipmentSet = _ref.equipmentSet,
34433
- onClose = _ref.onClose,
34434
- _onMouseOver = _ref.onMouseOver,
34435
- _onSelected = _ref.onSelected,
34436
- onItemClick = _ref.onItemClick,
34437
- atlasIMG = _ref.atlasIMG,
34438
- atlasJSON = _ref.atlasJSON,
34439
- onItemDragEnd = _ref.onItemDragEnd,
34440
- onItemDragStart = _ref.onItemDragStart,
34441
- onItemPlaceDrop = _ref.onItemPlaceDrop,
34442
- onItemOutsideDrop = _ref.onItemOutsideDrop,
34443
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
34444
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
34445
- dragScale = _ref.dragScale;
34446
- var neck = equipmentSet.neck,
34447
- leftHand = equipmentSet.leftHand,
34448
- ring = equipmentSet.ring,
34449
- head = equipmentSet.head,
34450
- armor = equipmentSet.armor,
34451
- legs = equipmentSet.legs,
34452
- boot = equipmentSet.boot,
34453
- inventory = equipmentSet.inventory,
34454
- rightHand = equipmentSet.rightHand,
34455
- accessory = equipmentSet.accessory;
34456
- var equipmentData = [neck, leftHand, ring, head, armor, legs, boot, inventory, rightHand, accessory];
34457
- var equipmentMaskSlots = [shared.ItemSlotType.Neck, shared.ItemSlotType.LeftHand, shared.ItemSlotType.Ring, shared.ItemSlotType.Head, shared.ItemSlotType.Torso, shared.ItemSlotType.Legs, shared.ItemSlotType.Feet, shared.ItemSlotType.Inventory, shared.ItemSlotType.RightHand, shared.ItemSlotType.Accessory];
34458
- var onRenderEquipmentSlotRange = function onRenderEquipmentSlotRange(start, end) {
34459
- var equipmentRange = equipmentData.slice(start, end);
34460
- var slotMaksRange = equipmentMaskSlots.slice(start, end);
34461
- return equipmentRange.map(function (data, i) {
34462
- var _ref2;
34463
- var item = data;
34464
- var itemContainer = (_ref2 = item && item.itemContainer) != null ? _ref2 : null;
34465
- return React__default.createElement(ItemSlot, {
34466
- key: i,
34467
- slotIndex: i,
34468
- item: item,
34469
- itemContainer: itemContainer,
34470
- itemContainerType: shared.ItemContainerType.Equipment,
34471
- slotSpriteMask: slotMaksRange[i],
34472
- onMouseOver: function onMouseOver(event, slotIndex, item) {
34473
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34474
- },
34475
- onPointerDown: function onPointerDown(itemType, ContainerType) {
34476
- if (onItemClick) onItemClick(itemType, item, ContainerType);
34477
- },
34478
- onSelected: function onSelected(optionId) {
34479
- if (_onSelected) _onSelected(optionId);
34480
- },
34481
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
34482
- if (!item) {
34483
- return;
34484
- }
34485
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
34486
- },
34487
- onDragEnd: function onDragEnd(quantity) {
34488
- if (onItemDragEnd) onItemDragEnd(quantity);
34489
- },
34490
- dragScale: dragScale,
34491
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
34492
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
34493
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
34494
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
34495
- },
34496
- onOutsideDrop: function onOutsideDrop(item, position) {
34497
- if (onItemOutsideDrop) onItemOutsideDrop(item, position);
34498
- },
34499
- atlasIMG: atlasIMG,
34500
- atlasJSON: atlasJSON
34501
- });
34502
- });
34624
+ var HistoryDialog = function HistoryDialog(_ref) {
34625
+ var backgroundImgPath = _ref.backgroundImgPath,
34626
+ fullCoverBackground = _ref.fullCoverBackground,
34627
+ questions = _ref.questions,
34628
+ answers = _ref.answers,
34629
+ text = _ref.text,
34630
+ imagePath = _ref.imagePath,
34631
+ textAndTypeArray = _ref.textAndTypeArray,
34632
+ onClose = _ref.onClose;
34633
+ var _useState = React.useState(0),
34634
+ img = _useState[0],
34635
+ setImage = _useState[1];
34636
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34637
+ if (event.code === 'Space') {
34638
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
34639
+ setImage(function (prev) {
34640
+ return prev + 1;
34641
+ });
34642
+ } else {
34643
+ // if there's no more text chunks, close the dialog
34644
+ onClose();
34645
+ }
34646
+ }
34503
34647
  };
34504
- return React__default.createElement(DraggableContainer, {
34505
- title: 'Equipments',
34506
- type: exports.RPGUIContainerTypes.Framed,
34507
- onCloseButton: function onCloseButton() {
34508
- if (onClose) onClose();
34509
- },
34510
- width: "330px",
34511
- cancelDrag: ".equipment-container-body"
34512
- }, React__default.createElement(EquipmentSetContainer, {
34513
- className: "equipment-container-body"
34514
- }, React__default.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(0, 3)), React__default.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(3, 7)), React__default.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(7, 10))));
34648
+ React.useEffect(function () {
34649
+ document.addEventListener('keydown', onHandleSpacePress);
34650
+ return function () {
34651
+ return document.removeEventListener('keydown', onHandleSpacePress);
34652
+ };
34653
+ }, [backgroundImgPath]);
34654
+ return React__default.createElement(BackgroundContainer, {
34655
+ imgPath: backgroundImgPath[img],
34656
+ fullImg: fullCoverBackground
34657
+ }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
34658
+ textAndTypeArray: textAndTypeArray,
34659
+ onClose: onClose
34660
+ }) : questions && answers ? React__default.createElement(QuestionDialog, {
34661
+ questions: questions,
34662
+ answers: answers,
34663
+ onClose: onClose
34664
+ }) : text && imagePath ? React__default.createElement(NPCDialog, {
34665
+ text: text,
34666
+ imagePath: imagePath,
34667
+ onClose: onClose,
34668
+ type: exports.NPCDialogType.TextAndThumbnail
34669
+ }) : React__default.createElement(NPCDialog, {
34670
+ text: text,
34671
+ onClose: onClose,
34672
+ type: exports.NPCDialogType.TextOnly
34673
+ })));
34515
34674
  };
34516
- var EquipmentSetContainer = /*#__PURE__*/styled.div.withConfig({
34517
- displayName: "EquipmentSet__EquipmentSetContainer",
34518
- componentId: "sc-1wuddg2-0"
34519
- })(["width:inherit;display:flex;justify-content:center;flex-wrap:wrap;flex-direction:row;touch-action:none;"]);
34520
- var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
34521
- displayName: "EquipmentSet__EquipmentColumn",
34522
- componentId: "sc-1wuddg2-1"
34523
- })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
34675
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
34676
+ displayName: "HistoryDialog__BackgroundContainer",
34677
+ componentId: "sc-u6oe75-0"
34678
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
34679
+ return props.imgPath;
34680
+ }, function (props) {
34681
+ return props.imgPath ? 'cover' : 'auto';
34682
+ });
34683
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
34684
+ displayName: "HistoryDialog__DialogContainer",
34685
+ componentId: "sc-u6oe75-1"
34686
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
34524
34687
 
34525
34688
  var SlotsContainer = function SlotsContainer(_ref) {
34526
34689
  var children = _ref.children,
@@ -34742,7 +34905,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
34742
34905
  return word[0];
34743
34906
  }));
34744
34907
  };
34745
- return React__default.createElement(Container$d, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
34908
+ return React__default.createElement(Container$f, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
34746
34909
  id: "shortcuts_list"
34747
34910
  }, Array.from({
34748
34911
  length: 6
@@ -34758,7 +34921,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
34758
34921
  }, getContent(i));
34759
34922
  })));
34760
34923
  };
34761
- var Container$d = /*#__PURE__*/styled.div.withConfig({
34924
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
34762
34925
  displayName: "ShortcutsSetter__Container",
34763
34926
  componentId: "sc-xuouuf-0"
34764
34927
  })(["p{margin:0;margin-left:0.5rem;}"]);
@@ -34795,8 +34958,7 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34795
34958
  dragScale = _ref.dragScale,
34796
34959
  shortcuts = _ref.shortcuts,
34797
34960
  setItemShortcut = _ref.setItemShortcut,
34798
- removeShortcut = _ref.removeShortcut,
34799
- equipmentSet = _ref.equipmentSet;
34961
+ removeShortcut = _ref.removeShortcut;
34800
34962
  var _useState = React.useState({
34801
34963
  isOpen: false,
34802
34964
  maxQuantity: 1,
@@ -34836,518 +34998,192 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34836
34998
  },
34837
34999
  onDragEnd: function onDragEnd(quantity) {
34838
35000
  if (onItemDragEnd) onItemDragEnd(quantity);
34839
- },
34840
- dragScale: dragScale,
34841
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
34842
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
34843
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
34844
- setQuantitySelect({
34845
- isOpen: true,
34846
- maxQuantity: maxQuantity,
34847
- callback: callback
34848
- });
34849
- },
34850
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
34851
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
34852
- },
34853
- onOutsideDrop: function onOutsideDrop(item, position) {
34854
- if (_onOutsideDrop) _onOutsideDrop(item, position);
34855
- },
34856
- atlasIMG: atlasIMG,
34857
- atlasJSON: atlasJSON,
34858
- isSelectingShortcut: settingShortcutIndex !== -1,
34859
- equipmentSet: equipmentSet
34860
- }));
34861
- }
34862
- return slots;
34863
- };
34864
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
34865
- title: itemContainer.name || 'Container',
34866
- onClose: onClose,
34867
- initialPosition: initialPosition
34868
- }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
34869
- setSettingShortcutIndex: setSettingShortcutIndex,
34870
- settingShortcutIndex: settingShortcutIndex,
34871
- shortcuts: shortcuts,
34872
- removeShortcut: removeShortcut,
34873
- atlasIMG: atlasIMG,
34874
- atlasJSON: atlasJSON
34875
- }), React__default.createElement(ItemsContainer, {
34876
- className: "item-container-body"
34877
- }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
34878
- quantity: quantitySelect.maxQuantity,
34879
- onConfirm: function onConfirm(quantity) {
34880
- quantitySelect.callback(quantity);
34881
- setQuantitySelect({
34882
- isOpen: false,
34883
- maxQuantity: 1,
34884
- callback: function callback() {}
34885
- });
34886
- },
34887
- onClose: function onClose() {
34888
- quantitySelect.callback(-1);
34889
- setQuantitySelect({
34890
- isOpen: false,
34891
- maxQuantity: 1,
34892
- callback: function callback() {}
34893
- });
34894
- }
34895
- })));
34896
- };
34897
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
34898
- displayName: "ItemContainer__ItemsContainer",
34899
- componentId: "sc-15y5p9l-0"
34900
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
34901
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
34902
- displayName: "ItemContainer__QuantitySelectorContainer",
34903
- componentId: "sc-15y5p9l-1"
34904
- })(["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);"]);
34905
-
34906
- var ItemSelector = function ItemSelector(_ref) {
34907
- var atlasIMG = _ref.atlasIMG,
34908
- atlasJSON = _ref.atlasJSON,
34909
- options = _ref.options,
34910
- onClose = _ref.onClose,
34911
- onSelect = _ref.onSelect;
34912
- var _useState = React.useState(),
34913
- selectedValue = _useState[0],
34914
- setSelectedValue = _useState[1];
34915
- var handleClick = function handleClick() {
34916
- var element = document.querySelector("input[name='test']:checked");
34917
- var elementValue = element.value;
34918
- setSelectedValue(elementValue);
34919
- };
34920
- React.useEffect(function () {
34921
- if (selectedValue) {
34922
- onSelect(selectedValue);
34923
- }
34924
- }, [selectedValue]);
34925
- return React__default.createElement(DraggableContainer, {
34926
- type: exports.RPGUIContainerTypes.Framed,
34927
- width: "500px",
34928
- cancelDrag: ".equipment-container-body .arrow-selector",
34929
- onCloseButton: function onCloseButton() {
34930
- if (onClose) {
34931
- onClose();
34932
- }
34933
- }
34934
- }, React__default.createElement("div", {
34935
- style: {
34936
- width: '100%'
34937
- }
34938
- }, React__default.createElement(Title$3, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
34939
- className: "golden"
34940
- })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
34941
- return React__default.createElement(RadioOptionsWrapper$1, {
34942
- key: index
34943
- }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
34944
- atlasIMG: atlasIMG,
34945
- atlasJSON: atlasJSON,
34946
- spriteKey: option.imageKey,
34947
- imgScale: 3
34948
- })), React__default.createElement("div", null, React__default.createElement("input", {
34949
- className: "rpgui-radio",
34950
- type: "radio",
34951
- value: option.name,
34952
- name: "test"
34953
- }), React__default.createElement("label", {
34954
- onPointerDown: handleClick,
34955
- style: {
34956
- display: 'flex',
34957
- alignItems: 'center'
34958
- }
34959
- }, option.name, " ", React__default.createElement("br", null), option.description)));
34960
- })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
34961
- buttonType: exports.ButtonTypes.RPGUIButton,
34962
- onPointerDown: onClose
34963
- }, "Cancel"), React__default.createElement(Button, {
34964
- buttonType: exports.ButtonTypes.RPGUIButton
34965
- }, "Select")));
34966
- };
34967
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
34968
- displayName: "ItemSelector__Title",
34969
- componentId: "sc-gptoxp-0"
34970
- })(["font-size:0.6rem;color:yellow !important;"]);
34971
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
34972
- displayName: "ItemSelector__Subtitle",
34973
- componentId: "sc-gptoxp-1"
34974
- })(["font-size:0.4rem;color:yellow !important;"]);
34975
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
34976
- displayName: "ItemSelector__RadioInputScroller",
34977
- componentId: "sc-gptoxp-2"
34978
- })(["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;"]);
34979
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
34980
- displayName: "ItemSelector__SpriteAtlasWrapper",
34981
- componentId: "sc-gptoxp-3"
34982
- })(["margin-right:40px;"]);
34983
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
34984
- displayName: "ItemSelector__RadioOptionsWrapper",
34985
- componentId: "sc-gptoxp-4"
34986
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
34987
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
34988
- displayName: "ItemSelector__ButtonWrapper",
34989
- componentId: "sc-gptoxp-5"
34990
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
34991
-
34992
- var ListMenu = function ListMenu(_ref) {
34993
- var options = _ref.options,
34994
- onSelected = _ref.onSelected,
34995
- x = _ref.x,
34996
- y = _ref.y;
34997
- return React__default.createElement(Container$e, {
34998
- x: x,
34999
- y: y
35000
- }, React__default.createElement("ul", {
35001
- className: "rpgui-list-imp",
35002
- style: {
35003
- overflow: 'hidden'
35004
- }
35005
- }, options.map(function (params, index) {
35006
- return React__default.createElement(ListElement$1, {
35007
- key: (params == null ? void 0 : params.id) || index,
35008
- onPointerDown: function onPointerDown() {
35009
- onSelected(params == null ? void 0 : params.id);
35010
- }
35011
- }, (params == null ? void 0 : params.text) || 'No text');
35012
- })));
35013
- };
35014
- var Container$e = /*#__PURE__*/styled.div.withConfig({
35015
- displayName: "ListMenu__Container",
35016
- componentId: "sc-i9097t-0"
35017
- })(["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) {
35018
- return props.y || 0;
35019
- }, function (props) {
35020
- return props.x || 0;
35021
- }, uiFonts.size.xsmall);
35022
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
35023
- displayName: "ListMenu__ListElement",
35024
- componentId: "sc-i9097t-1"
35025
- })(["margin-right:0.5rem;"]);
35026
-
35027
- var img$6 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
35028
-
35029
- 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';
35030
-
35031
- (function (ImgSide) {
35032
- ImgSide["right"] = "right";
35033
- ImgSide["left"] = "left";
35034
- })(exports.ImgSide || (exports.ImgSide = {}));
35035
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
35036
- var _textAndTypeArray$sli;
35037
- var _onClose = _ref.onClose,
35038
- textAndTypeArray = _ref.textAndTypeArray;
35039
- var _useState = React.useState(false),
35040
- showGoNextIndicator = _useState[0],
35041
- setShowGoNextIndicator = _useState[1];
35042
- var _useState2 = React.useState(0),
35043
- slide = _useState2[0],
35044
- setSlide = _useState2[1];
35045
- var onHandleSpacePress = function onHandleSpacePress(event) {
35046
- if (event.code === 'Space') {
35047
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
35048
- setSlide(function (prev) {
35049
- return prev + 1;
35050
- });
35051
- } else {
35052
- // if there's no more text chunks, close the dialog
35053
- _onClose();
35054
- }
35055
- }
35056
- };
35057
- React.useEffect(function () {
35058
- document.addEventListener('keydown', onHandleSpacePress);
35059
- return function () {
35060
- return document.removeEventListener('keydown', onHandleSpacePress);
35061
- };
35062
- }, [slide]);
35063
- return React__default.createElement(RPGUIContainer, {
35064
- type: exports.RPGUIContainerTypes.FramedGold,
35065
- width: '50%',
35066
- height: '180px'
35067
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$f, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer, {
35068
- flex: '70%'
35069
- }, React__default.createElement(NPCDialogText, {
35070
- onStartStep: function onStartStep() {
35071
- return setShowGoNextIndicator(false);
35072
- },
35073
- onEndStep: function onEndStep() {
35074
- return setShowGoNextIndicator(true);
35075
- },
35076
- text: textAndTypeArray[slide].text || 'No text provided.',
35077
- onClose: function onClose() {
35078
- if (_onClose) {
35079
- _onClose();
35080
- }
35081
- }
35082
- })), React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
35083
- src: textAndTypeArray[slide].imagePath || img$6
35084
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
35085
- right: '10.5rem',
35086
- src: img$7
35087
- })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
35088
- src: textAndTypeArray[slide].imagePath || img$6
35089
- })), React__default.createElement(TextContainer, {
35090
- flex: '70%'
35091
- }, React__default.createElement(NPCDialogText, {
35092
- onStartStep: function onStartStep() {
35093
- return setShowGoNextIndicator(false);
35094
- },
35095
- onEndStep: function onEndStep() {
35096
- return setShowGoNextIndicator(true);
35097
- },
35098
- text: textAndTypeArray[slide].text || 'No text provided.',
35099
- onClose: function onClose() {
35100
- if (_onClose) {
35101
- _onClose();
35102
- }
35103
- }
35104
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
35105
- right: '1rem',
35106
- src: img$7
35107
- }))), ")"));
35108
- };
35109
- var Container$f = /*#__PURE__*/styled.div.withConfig({
35110
- displayName: "NPCMultiDialog__Container",
35111
- componentId: "sc-rvu5wg-0"
35112
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
35113
- var TextContainer = /*#__PURE__*/styled.div.withConfig({
35114
- displayName: "NPCMultiDialog__TextContainer",
35115
- componentId: "sc-rvu5wg-1"
35116
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
35117
- var flex = _ref2.flex;
35118
- return flex;
35119
- });
35120
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
35121
- displayName: "NPCMultiDialog__ThumbnailContainer",
35122
- componentId: "sc-rvu5wg-2"
35123
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
35124
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
35125
- displayName: "NPCMultiDialog__NPCThumbnail",
35126
- componentId: "sc-rvu5wg-3"
35127
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
35128
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
35129
- displayName: "NPCMultiDialog__PressSpaceIndicator",
35130
- componentId: "sc-rvu5wg-4"
35131
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
35132
- var right = _ref3.right;
35133
- return right;
35134
- });
35135
-
35136
- //@ts-ignore
35137
- var useEventListener = function useEventListener(type, handler, el) {
35138
- if (el === void 0) {
35139
- el = window;
35140
- }
35141
- var savedHandler = React__default.useRef();
35142
- React__default.useEffect(function () {
35143
- savedHandler.current = handler;
35144
- }, [handler]);
35145
- React__default.useEffect(function () {
35146
- //@ts-ignore
35147
- var listener = function listener(e) {
35148
- return savedHandler.current(e);
35149
- };
35150
- el.addEventListener(type, listener);
35151
- return function () {
35152
- el.removeEventListener(type, listener);
35153
- };
35154
- }, [type, el]);
35155
- };
35156
-
35157
- var DynamicText = function DynamicText(_ref) {
35158
- var text = _ref.text,
35159
- onFinish = _ref.onFinish,
35160
- onStart = _ref.onStart;
35161
- var _useState = React.useState(''),
35162
- textState = _useState[0],
35163
- setTextState = _useState[1];
35164
- React.useEffect(function () {
35165
- var i = 0;
35166
- var interval = setInterval(function () {
35167
- // on every interval, show one more character
35168
- if (i === 0) {
35169
- if (onStart) {
35170
- onStart();
35171
- }
35172
- }
35173
- if (i < text.length) {
35174
- setTextState(text.substring(0, i + 1));
35175
- i++;
35176
- } else {
35177
- clearInterval(interval);
35178
- if (onFinish) {
35179
- onFinish();
35180
- }
35181
- }
35182
- }, 50);
35183
- return function () {
35184
- clearInterval(interval);
35185
- };
35186
- }, [text]);
35187
- return React__default.createElement(TextContainer$1, null, textState);
35188
- };
35189
- var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
35190
- displayName: "DynamicText__TextContainer",
35191
- componentId: "sc-1ggl9nd-0"
35192
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
35193
-
35194
- var QuestionDialog = function QuestionDialog(_ref) {
35195
- var questions = _ref.questions,
35196
- answers = _ref.answers,
35197
- onClose = _ref.onClose;
35198
- var _useState = React.useState(questions[0]),
35199
- currentQuestion = _useState[0],
35200
- setCurrentQuestion = _useState[1];
35201
- var _useState2 = React.useState(false),
35202
- canShowAnswers = _useState2[0],
35203
- setCanShowAnswers = _useState2[1];
35204
- var onGetFirstAnswer = function onGetFirstAnswer() {
35205
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
35206
- return null;
35001
+ },
35002
+ dragScale: dragScale,
35003
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
35004
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
35005
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
35006
+ setQuantitySelect({
35007
+ isOpen: true,
35008
+ maxQuantity: maxQuantity,
35009
+ callback: callback
35010
+ });
35011
+ },
35012
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
35013
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
35014
+ },
35015
+ onOutsideDrop: function onOutsideDrop(item, position) {
35016
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
35017
+ },
35018
+ atlasIMG: atlasIMG,
35019
+ atlasJSON: atlasJSON,
35020
+ isSelectingShortcut: settingShortcutIndex !== -1
35021
+ }));
35207
35022
  }
35208
- var firstAnswerId = currentQuestion.answerIds[0];
35209
- return answers.find(function (answer) {
35210
- return answer.id === firstAnswerId;
35211
- });
35023
+ return slots;
35212
35024
  };
35213
- var _useState3 = React.useState(onGetFirstAnswer()),
35214
- currentAnswer = _useState3[0],
35215
- setCurrentAnswer = _useState3[1];
35216
- React.useEffect(function () {
35217
- setCurrentAnswer(onGetFirstAnswer());
35218
- }, [currentQuestion]);
35219
- var onGetAnswers = function onGetAnswers(answerIds) {
35220
- return answerIds.map(function (answerId) {
35221
- return answers.find(function (answer) {
35222
- return answer.id === answerId;
35025
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
35026
+ title: itemContainer.name || 'Container',
35027
+ onClose: onClose,
35028
+ initialPosition: initialPosition
35029
+ }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
35030
+ setSettingShortcutIndex: setSettingShortcutIndex,
35031
+ settingShortcutIndex: settingShortcutIndex,
35032
+ shortcuts: shortcuts,
35033
+ removeShortcut: removeShortcut,
35034
+ atlasIMG: atlasIMG,
35035
+ atlasJSON: atlasJSON
35036
+ }), React__default.createElement(ItemsContainer, {
35037
+ className: "item-container-body"
35038
+ }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
35039
+ quantity: quantitySelect.maxQuantity,
35040
+ onConfirm: function onConfirm(quantity) {
35041
+ quantitySelect.callback(quantity);
35042
+ setQuantitySelect({
35043
+ isOpen: false,
35044
+ maxQuantity: 1,
35045
+ callback: function callback() {}
35046
+ });
35047
+ },
35048
+ onClose: function onClose() {
35049
+ quantitySelect.callback(-1);
35050
+ setQuantitySelect({
35051
+ isOpen: false,
35052
+ maxQuantity: 1,
35053
+ callback: function callback() {}
35223
35054
  });
35224
- });
35225
- };
35226
- var onKeyPress = function onKeyPress(e) {
35227
- switch (e.key) {
35228
- case 'ArrowDown':
35229
- // select next answer, if any.
35230
- // if no next answer, select first answer
35231
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
35232
- // (answer) => answer?.id === currentAnswer!.id + 1
35233
- // );
35234
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
35235
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
35236
- });
35237
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
35238
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
35239
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
35240
- });
35241
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
35242
- break;
35243
- case 'ArrowUp':
35244
- // select previous answer, if any.
35245
- // if no previous answer, select last answer
35246
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
35247
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
35248
- });
35249
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
35250
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
35251
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
35252
- });
35253
- if (previousAnswer) {
35254
- setCurrentAnswer(previousAnswer);
35255
- } else {
35256
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
35257
- }
35258
- break;
35259
- case 'Enter':
35260
- setCanShowAnswers(false);
35261
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
35262
- onClose();
35263
- return;
35264
- } else {
35265
- setCurrentQuestion(questions.find(function (question) {
35266
- return question.id === currentAnswer.nextQuestionId;
35267
- }));
35268
- }
35269
- break;
35270
35055
  }
35056
+ })));
35057
+ };
35058
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
35059
+ displayName: "ItemContainer__ItemsContainer",
35060
+ componentId: "sc-15y5p9l-0"
35061
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
35062
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
35063
+ displayName: "ItemContainer__QuantitySelectorContainer",
35064
+ componentId: "sc-15y5p9l-1"
35065
+ })(["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);"]);
35066
+
35067
+ var ItemSelector = function ItemSelector(_ref) {
35068
+ var atlasIMG = _ref.atlasIMG,
35069
+ atlasJSON = _ref.atlasJSON,
35070
+ options = _ref.options,
35071
+ onClose = _ref.onClose,
35072
+ onSelect = _ref.onSelect;
35073
+ var _useState = React.useState(),
35074
+ selectedValue = _useState[0],
35075
+ setSelectedValue = _useState[1];
35076
+ var handleClick = function handleClick() {
35077
+ var element = document.querySelector("input[name='test']:checked");
35078
+ var elementValue = element.value;
35079
+ setSelectedValue(elementValue);
35271
35080
  };
35272
- useEventListener('keydown', onKeyPress);
35273
- var onAnswerClick = function onAnswerClick(answer) {
35274
- setCanShowAnswers(false);
35275
- if (answer.nextQuestionId) {
35276
- // if there is a next question, go to it
35277
- setCurrentQuestion(questions.find(function (question) {
35278
- return question.id === answer.nextQuestionId;
35279
- }));
35280
- } else {
35281
- // else, finish dialog!
35282
- onClose();
35081
+ React.useEffect(function () {
35082
+ if (selectedValue) {
35083
+ onSelect(selectedValue);
35283
35084
  }
35284
- };
35285
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
35286
- var answerIds = currentQuestion.answerIds;
35287
- if (!answerIds) {
35288
- return null;
35085
+ }, [selectedValue]);
35086
+ return React__default.createElement(DraggableContainer, {
35087
+ type: exports.RPGUIContainerTypes.Framed,
35088
+ width: "500px",
35089
+ cancelDrag: ".equipment-container-body .arrow-selector",
35090
+ onCloseButton: function onCloseButton() {
35091
+ if (onClose) {
35092
+ onClose();
35093
+ }
35289
35094
  }
35290
- var answers = onGetAnswers(answerIds);
35291
- if (!answers) {
35292
- return null;
35095
+ }, React__default.createElement("div", {
35096
+ style: {
35097
+ width: '100%'
35293
35098
  }
35294
- return answers.map(function (answer) {
35295
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
35296
- var selectedColor = isSelected ? 'yellow' : 'white';
35297
- if (answer) {
35298
- return React__default.createElement(AnswerRow, {
35299
- key: "answer_" + answer.id
35300
- }, React__default.createElement(AnswerSelectedIcon, {
35301
- color: selectedColor
35302
- }, isSelected ? 'X' : null), React__default.createElement(Answer, {
35303
- key: answer.id,
35304
- onPointerDown: function onPointerDown() {
35305
- return onAnswerClick(answer);
35306
- },
35307
- color: selectedColor
35308
- }, answer.text));
35099
+ }, React__default.createElement(Title$2, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
35100
+ className: "golden"
35101
+ })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
35102
+ return React__default.createElement(RadioOptionsWrapper$1, {
35103
+ key: index
35104
+ }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
35105
+ atlasIMG: atlasIMG,
35106
+ atlasJSON: atlasJSON,
35107
+ spriteKey: option.imageKey,
35108
+ imgScale: 3
35109
+ })), React__default.createElement("div", null, React__default.createElement("input", {
35110
+ className: "rpgui-radio",
35111
+ type: "radio",
35112
+ value: option.name,
35113
+ name: "test"
35114
+ }), React__default.createElement("label", {
35115
+ onPointerDown: handleClick,
35116
+ style: {
35117
+ display: 'flex',
35118
+ alignItems: 'center'
35309
35119
  }
35310
- return null;
35311
- });
35312
- };
35313
- return React__default.createElement(Container$g, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
35314
- text: currentQuestion.text,
35315
- onStart: function onStart() {
35316
- return setCanShowAnswers(false);
35317
- },
35318
- onFinish: function onFinish() {
35319
- return setCanShowAnswers(true);
35120
+ }, option.name, " ", React__default.createElement("br", null), option.description)));
35121
+ })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
35122
+ buttonType: exports.ButtonTypes.RPGUIButton,
35123
+ onPointerDown: onClose
35124
+ }, "Cancel"), React__default.createElement(Button, {
35125
+ buttonType: exports.ButtonTypes.RPGUIButton
35126
+ }, "Select")));
35127
+ };
35128
+ var Title$2 = /*#__PURE__*/styled.h1.withConfig({
35129
+ displayName: "ItemSelector__Title",
35130
+ componentId: "sc-gptoxp-0"
35131
+ })(["font-size:0.6rem;color:yellow !important;"]);
35132
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
35133
+ displayName: "ItemSelector__Subtitle",
35134
+ componentId: "sc-gptoxp-1"
35135
+ })(["font-size:0.4rem;color:yellow !important;"]);
35136
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
35137
+ displayName: "ItemSelector__RadioInputScroller",
35138
+ componentId: "sc-gptoxp-2"
35139
+ })(["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;"]);
35140
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
35141
+ displayName: "ItemSelector__SpriteAtlasWrapper",
35142
+ componentId: "sc-gptoxp-3"
35143
+ })(["margin-right:40px;"]);
35144
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
35145
+ displayName: "ItemSelector__RadioOptionsWrapper",
35146
+ componentId: "sc-gptoxp-4"
35147
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
35148
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
35149
+ displayName: "ItemSelector__ButtonWrapper",
35150
+ componentId: "sc-gptoxp-5"
35151
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
35152
+
35153
+ var ListMenu = function ListMenu(_ref) {
35154
+ var options = _ref.options,
35155
+ onSelected = _ref.onSelected,
35156
+ x = _ref.x,
35157
+ y = _ref.y;
35158
+ return React__default.createElement(Container$g, {
35159
+ x: x,
35160
+ y: y
35161
+ }, React__default.createElement("ul", {
35162
+ className: "rpgui-list-imp",
35163
+ style: {
35164
+ overflow: 'hidden'
35320
35165
  }
35321
- })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
35166
+ }, options.map(function (params, index) {
35167
+ return React__default.createElement(ListElement$1, {
35168
+ key: (params == null ? void 0 : params.id) || index,
35169
+ onPointerDown: function onPointerDown() {
35170
+ onSelected(params == null ? void 0 : params.id);
35171
+ }
35172
+ }, (params == null ? void 0 : params.text) || 'No text');
35173
+ })));
35322
35174
  };
35323
35175
  var Container$g = /*#__PURE__*/styled.div.withConfig({
35324
- displayName: "QuestionDialog__Container",
35325
- componentId: "sc-bxc5u0-0"
35326
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
35327
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
35328
- displayName: "QuestionDialog__QuestionContainer",
35329
- componentId: "sc-bxc5u0-1"
35330
- })(["flex:100%;width:100%;"]);
35331
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
35332
- displayName: "QuestionDialog__AnswersContainer",
35333
- componentId: "sc-bxc5u0-2"
35334
- })(["flex:100%;"]);
35335
- var Answer = /*#__PURE__*/styled.p.withConfig({
35336
- displayName: "QuestionDialog__Answer",
35337
- componentId: "sc-bxc5u0-3"
35338
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
35339
- return props.color;
35340
- });
35341
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
35342
- displayName: "QuestionDialog__AnswerSelectedIcon",
35343
- componentId: "sc-bxc5u0-4"
35344
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
35345
- return props.color;
35346
- });
35347
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
35348
- displayName: "QuestionDialog__AnswerRow",
35349
- componentId: "sc-bxc5u0-5"
35350
- })(["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;}"]);
35176
+ displayName: "ListMenu__Container",
35177
+ componentId: "sc-i9097t-0"
35178
+ })(["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) {
35179
+ return props.y || 0;
35180
+ }, function (props) {
35181
+ return props.x || 0;
35182
+ }, uiFonts.size.xsmall);
35183
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
35184
+ displayName: "ListMenu__ListElement",
35185
+ componentId: "sc-i9097t-1"
35186
+ })(["margin-right:0.5rem;"]);
35351
35187
 
35352
35188
  var ProgressBar = function ProgressBar(_ref) {
35353
35189
  var max = _ref.max,
@@ -35406,7 +35242,7 @@ var Container$h = /*#__PURE__*/styled.div.withConfig({
35406
35242
  return props.style;
35407
35243
  });
35408
35244
 
35409
- var img$8 = 'data:image/png;base64,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';
35245
+ var img$9 = 'data:image/png;base64,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';
35410
35246
 
35411
35247
  var QuestInfo = function QuestInfo(_ref) {
35412
35248
  var quests = _ref.quests,
@@ -35447,8 +35283,8 @@ var QuestInfo = function QuestInfo(_ref) {
35447
35283
  onPointerDown: onRightClick
35448
35284
  }), React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
35449
35285
  className: "drag-handler"
35450
- }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
35451
- src: quests[currentIndex].thumbnail || img$8
35286
+ }, React__default.createElement(Title$3, null, React__default.createElement(Thumbnail, {
35287
+ src: quests[currentIndex].thumbnail || img$9
35452
35288
  }), quests[currentIndex].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
35453
35289
  className: "golden"
35454
35290
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[currentIndex].description)), React__default.createElement(QuestColumn, {
@@ -35466,8 +35302,8 @@ var QuestInfo = function QuestInfo(_ref) {
35466
35302
  }, button.title);
35467
35303
  })))) : React__default.createElement(QuestsContainer, null, React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
35468
35304
  className: "drag-handler"
35469
- }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
35470
- src: quests[0].thumbnail || img$8
35305
+ }, React__default.createElement(Title$3, null, React__default.createElement(Thumbnail, {
35306
+ src: quests[0].thumbnail || img$9
35471
35307
  }), quests[0].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
35472
35308
  className: "golden"
35473
35309
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[0].description)), React__default.createElement(QuestColumn, {
@@ -35513,7 +35349,7 @@ var TitleContainer$1 = /*#__PURE__*/styled.div.withConfig({
35513
35349
  displayName: "QuestInfo__TitleContainer",
35514
35350
  componentId: "sc-15s2boc-6"
35515
35351
  })(["width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;margin-top:1rem;"]);
35516
- var Title$4 = /*#__PURE__*/styled.h1.withConfig({
35352
+ var Title$3 = /*#__PURE__*/styled.h1.withConfig({
35517
35353
  displayName: "QuestInfo__Title",
35518
35354
  componentId: "sc-15s2boc-7"
35519
35355
  })(["color:white;z-index:22;font-size:", " !important;color:", " !important;"], uiFonts.size.medium, uiColors.yellow);
@@ -35535,7 +35371,7 @@ var QuestList = function QuestList(_ref) {
35535
35371
  style: {
35536
35372
  width: '100%'
35537
35373
  }
35538
- }, React__default.createElement(Title$5, null, "Quests"), React__default.createElement("hr", {
35374
+ }, React__default.createElement(Title$4, null, "Quests"), React__default.createElement("hr", {
35539
35375
  className: "golden"
35540
35376
  }), React__default.createElement(QuestListContainer, null, quests ? quests.map(function (quest, i) {
35541
35377
  return React__default.createElement("div", {
@@ -35556,7 +35392,7 @@ var QuestDraggableContainer$1 = /*#__PURE__*/styled(DraggableContainer).withConf
35556
35392
  displayName: "QuestList__QuestDraggableContainer",
35557
35393
  componentId: "sc-1a2vx6q-0"
35558
35394
  })([".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;}"]);
35559
- var Title$5 = /*#__PURE__*/styled.h1.withConfig({
35395
+ var Title$4 = /*#__PURE__*/styled.h1.withConfig({
35560
35396
  displayName: "QuestList__Title",
35561
35397
  componentId: "sc-1a2vx6q-1"
35562
35398
  })(["z-index:22;font-size:", " !important;color:yellow !important;"], uiFonts.size.medium);
@@ -35961,9 +35797,9 @@ var Spell = function Spell(_ref) {
35961
35797
  className: "spell"
35962
35798
  }, disabled && React__default.createElement(Overlay, null, charMagicLevel < minMagicLevelRequired ? 'Low magic level' : manaCost > charMana && 'No mana'), React__default.createElement(SpellImage, null, magicWords.split(' ').map(function (word) {
35963
35799
  return word[0];
35964
- })), React__default.createElement(Info, null, React__default.createElement(Title$6, null, React__default.createElement("span", null, name), React__default.createElement("span", {
35800
+ })), React__default.createElement(Info, null, React__default.createElement(Title$5, null, React__default.createElement("span", null, name), React__default.createElement("span", {
35965
35801
  className: "spell"
35966
- }, "(", magicWords, ")")), React__default.createElement(Description$1, null, description)), React__default.createElement(Divider, null), React__default.createElement(Cost, null, React__default.createElement("span", null, "Mana cost:"), React__default.createElement("span", {
35802
+ }, "(", magicWords, ")")), React__default.createElement(Description, null, description)), React__default.createElement(Divider, null), React__default.createElement(Cost, null, React__default.createElement("span", null, "Mana cost:"), React__default.createElement("span", {
35967
35803
  className: "mana"
35968
35804
  }, manaCost)));
35969
35805
  };
@@ -35982,11 +35818,11 @@ var Info = /*#__PURE__*/styled.span.withConfig({
35982
35818
  displayName: "Spell__Info",
35983
35819
  componentId: "sc-j96fa2-2"
35984
35820
  })(["width:0;flex:1;"]);
35985
- var Title$6 = /*#__PURE__*/styled.p.withConfig({
35821
+ var Title$5 = /*#__PURE__*/styled.p.withConfig({
35986
35822
  displayName: "Spell__Title",
35987
35823
  componentId: "sc-j96fa2-3"
35988
35824
  })(["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);
35989
- var Description$1 = /*#__PURE__*/styled.div.withConfig({
35825
+ var Description = /*#__PURE__*/styled.div.withConfig({
35990
35826
  displayName: "Spell__Description",
35991
35827
  componentId: "sc-j96fa2-4"
35992
35828
  })(["font-size:", " !important;line-height:1.1 !important;"], uiFonts.size.small);
@@ -36052,7 +35888,7 @@ var Spellbook = function Spellbook(_ref) {
36052
35888
  width: "inherit",
36053
35889
  height: "inherit",
36054
35890
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell"
36055
- }, React__default.createElement(Container$k, null, React__default.createElement(Title$7, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
35891
+ }, React__default.createElement(Container$k, null, React__default.createElement(Title$6, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
36056
35892
  setSettingShortcutIndex: setSettingShortcutIndex,
36057
35893
  settingShortcutIndex: settingShortcutIndex,
36058
35894
  shortcuts: shortcuts,
@@ -36080,7 +35916,7 @@ var Spellbook = function Spellbook(_ref) {
36080
35916
  }, spell)));
36081
35917
  }))));
36082
35918
  };
36083
- var Title$7 = /*#__PURE__*/styled.h1.withConfig({
35919
+ var Title$6 = /*#__PURE__*/styled.h1.withConfig({
36084
35920
  displayName: "Spellbook__Title",
36085
35921
  componentId: "sc-r02nfq-0"
36086
35922
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
@@ -36098,16 +35934,16 @@ var TextArea = function TextArea(_ref) {
36098
35934
  return React__default.createElement("textarea", Object.assign({}, props));
36099
35935
  };
36100
35936
 
36101
- var img$9 = 'data:image/gif;base64,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';
35937
+ var img$a = 'data:image/gif;base64,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';
36102
35938
 
36103
- var img$a = 'data:image/gif;base64,R0lGODlhTgBNAPMAAAAAALcILyZ31ESZ+lrC/1Ds//vvpv3wo4G8//////38+QAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBHSUYgbWFrZXIALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlAgHm5ybmZV2KHh0naWcepYlo22mradzqUUClK61nJSxIJiMrgm+v664oSKrXqa/yMmmbrkexVXHydK+y2bNULON0dPTppLXGs9UpdzlCaVt4FpsZuTm5ejWwx3iU53v753p89jtnPj49JVRZ2ELgYMFoP0DaE6gF4JjBBycSCChEncMucV7yC+DQYoI/y8uzAjvFUddEkGGRHKPZMlN8lCqXDmgpctuJs90XDdzpc2bynJWgSjh40yLP4ECE1pHZs8CB5MqPcd0ClEARlVCjTpy6kadTrWC7KpU4NaDVndeyNqT64GpSzedBblHbcGUbSmSddlprsokV7HizUtAKsO+hAkMCCw48UTD+RAnZsw2L0aApfy2pTw48eWGczX3ZNzYsdtNAf2KVkm6tOnC2+JqXg2ytWBStiSLzWv7dh5XBnS/Pti7nj9TW2kT7u1bT03dBZSPtuuMnfMkqqXXpl79uhLR2icyj+gdSfjN3FF6Pz89kXU3itnPHO/xfXlm6VXZv3+ShnH+gOUnikAUAFpFny7/XYeGGBOssR8qQjBYQRQPpoOGgHc4WOEeYGAYB4VBBDGEhMTkYCKJKKao4oostujiizDGKOOMF0QAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBB8ikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bIv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6B6ChoHpMdieec6KqoXqcRQKaq7Khmq4gmI2zurSUth6oZbMJw8Szc74dwF2rxM3Oq27IG7iGzM7Xw6uT0hnKVNbY2NBm3Bfe36Lh6gmq0aa/bGaq6+vt5O/J8cGh9PSibeUqbCFAoMAyfv38sSoTcMJAggQNTkmXsN5Chvg0PIRYcMm8iur/7HlpCGAjR4lIKIIMefFMxm4COEJEOUDlSnEtq5A0eTKJzZvPcta5FVNmRJ8IgV77h5Go0YgEayZV2ozpyJdaihotAPEnVXZCp+zUepLjx69gF3KFuGTsU6Negf5bazSJ27dmp1IVRfdpqRA838YFyRcvRJISAj89e1NV37eIS5I1zLiiY8OHscLEnFevP7oHHkPWvJkzwcohH4s2GjnxZMyol4peLbO161SyloKiTZug7du4dRkobLo26Wn6gs9a29vwb+B5ls9s/vS5w+R0Lp+kztH6dVJTVnP3ffzDOTrjR7c43yZ99fIi2FchMMA9a/ivwIP3jlx/Hv5QYOefQUtxSDGgTgCaJx8paIhxnYH+geGgQEYIGA0a+NFQIYRngJGhGlEEIeIQE8aXw4klpqjiiiy26OKLMMYo44w0XhABACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBB8ikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bIv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6n2d2J555B6anpqCcRQKaf6iwp64IqyCYk7G5spq1HqRmusGndL0dv166CcrLunPFG7eLscvU1bGUzxnHVdPV3sqxbtkX21Td39/hbeMV5VOw6PEJsOKivmzAqPLy9GbsYwIIFCijbx+/Yf7sQQlIoOFAc6cMGkS1TqGGLQ0zPlxSUGI8ign/bTHMKJBjR4/pQHr5BwAjyZJKTqJMmaoMS5cvNw6QOdMawpUWtY0kqZNnT2Y/Q4l86bAhEqNH5yWtcnOoxow7I0b1plLpB5xXSUI9qrIAyT1BtVhlSgDeVqTDzLJlkpbcWrZjUVKUy5bAAJYt777M6xEV376AA/cdrHXr3sUNE4Nd7JasYciR66rFnLGyXr4DDiPWvJnzOYkHRItmmljCZMqe+a1e/bK1a3z5CM+jLXCx7dtzklFTcJlzbdIXcbcRVpw35N/A6TDnW8A5W+gT3HXRpdo6SezZlUuHRdt75hriQZkf3UJ7m/XXkYtwX8UvfNbyWYFSlZ8E/f1LgGdMRXoAUtXfKFIUSJWAtvyXBxpihJcggGBE2I4RBK6DxoF9rDHhGWBwSEQPQZQ4hIXz5aAiiiy26OKLMMYo44w01mjjjRdEAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgesrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIF6/X37OUrE8/CFgII/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQIK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbA3Dm5GaSJzGfNREmETrUHKuNKC/QpFiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidTug61e3BFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjAkovosXLknIkScLHqx36IG5AxAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzW3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkCoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgesrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIF6/X37OUrE8/CFgII/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQIK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbA3Dm5GaSJzGfNREmETrUHKuNKC/QpFiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidTug61e3BFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjAkovosXLknIkScLHqx36IG5AxAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzW3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkCoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeeQemp6agnEUCmn+osKeuCKsgmJOxubKatR6kZrrBp3S9Hb9eugnKy7pzxRu3i7HL1NWxlM8Zx1XT1d7KsW7ZF9tU3d/f4W3jFeVTsOjxCbDior5swKjy8vRm7GMCCBQoo28fv2H+7EEJSKDhQHOnDBpEtU6hhi0NMz5cUlBiPIoJ/20xzCiQY0eP6UB6+QcAI8mSSk6iTJmqDEuXLzcOkDnTGsKVFrWNJKmTZ09mP0OJfOmwIRKjR+clrXJzqMaMOyNG9aZS6QecV0lCPaqyAMk9QbVYZUoA3lakw8yyZZKW3Fq2Y1FSlMuWwACWLe++zOsRFd++gAP3Hax1697FDRODXeyWrGHIkeuqxZyxsl6+Aw4j1ryZ8zmJB0SLZppYwmTKnvmtXv2ytWt8+QjPoy1wse3bc5JRU3CZc23SF3G3EVacN+TfwOkw51vAOVvoE9x10aXaOkns2ZVLh0Xbe+Ya4kGZH91Ce5v115GLcF/FL3zW8lmBUpWfBP39S4BnTEV6AFLV3yhSFEiVgLb8lwcaYoSXIIBgRNiOEQSug8aBfawx4RlgcEhED0GUOISF8+WgIoostujiizDGKOOMNNZo440XRAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgEHyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsi/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZSZjZYmeHoHoKGgekx2J55zoqqhepxFApqrsqGariCYjbO6tJS2HqhlswnDxLNzvh3AXavEzc6rbsgbuIbMztfDq5PSGcpU1tjY0GbcF97fouHqCarRpr9sZqrr6+3k78nxwaH09KJt5SpsIUCgwDJ+/fyxKhNwwkCCBA1OSZew3kKG+DQ8hFhwybyK6v/seWkIYCNHiUgoggx58UzGbgI4QkQ5QOVKcS2rkDR5MonNm89y1rkVU2ZEnwiBXvuHkajRiARrJlXajOnIl1qKGi0A8SdVdkKn7NR6kuPHr2AXcoW4ZOxTo16B/ltrNInbt2anUhVF92mpEDzfxgXJFy9EkhICPz17U1Xft4hLkjXMuKJjw4exwsTctbI/ugceQ9a8mTMBcJ9lijYaOfFkyp6Xil4ts7XrVLKWgqJNm6Dt27h1GShsujbpafqCz1rb2/Bv4HmWz2z+9LnD5HQun6TO0fp1UlNWc/d9/MM5OuNHtzjfJn318iLYVyEwwD1r+K/Ag/eOXH8e/lBg559BS3FIMaBOAJonHyloiHGdgf6B4aBARggYDRr40VAhhGeAkaEaUQQh4hATxpfDiSWmqOKKLLbo4oswxijjjDReEAEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgEHyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsi/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZQIB5ucm5mVdih4dJ2lnHqWJaNtpq2nc6lFApSutZyUsSCYjK4Jvr+uuKEiq16mv8jJpm65HsVVx8nSvstmzVCzjdHT06aS1xrPVKXc5QmlbeBabGbk5uXo1sMd4lOd7++d6fPY7Zz4+PSVUWdhC4GDBaD9A2hOoBeCYwQcnEggoRJ3DLnFe8gvg0GKCP8vLswI7xVHXRJBhkRyj2TJTfJQqlw5oKXLbibPdFw3c6XNm8pyVoEo4eNMiz+BAhNaR2bPAgeTKj3HdApRAEZVQo06cupGnU61guyqVODWg1Z3Xsjak+uBqUs3nQW5R23BlG0pknXZaa7KJFex4s1LQCrDvoQJDAgsOPFEw/kQJ2bMNi9GgKX8tqU8OPHlhnM192Tc2LHbTQH9ilZJurTpwtvial4NsrVgUrYki81r+3YeVwZ0vz7Yu54/U1tpE+7tW09N3QWUj7brjJ3zJKql16Ze/boS0donMo/oHUn4zdxRej8/PZF1N4rZzxzv8X15ZulV2b9/koZx/oDlJ4pAFABaRZ8u/12HhhgTrLEfKkIwWEEUD6aDhoB3OFjhHmBgGAeFQQQxhITE5GAiiSimqOKKLLbo4oswxijjjBdEAAA7';
35939
+ var img$b = 'data:image/gif;base64,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';
36104
35940
 
36105
- var img$b = 'data:image/gif;base64,R0lGODlhTgBNAPIAAAAAAAgIMhkZS2tsbbcIL4zZ98jh6////yH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBHSUYgbWFrZXIALAAAAABOAE0AAAP/CLrc/jDKSau9OOvNu/9gKI5kaZ5oqq4j4b6wy4qwYN+4Dc+biwfAoBCIk/EoL9twySQKXkcI4dasMm+EKMNnDRiA327wmY1OBeLA4ZAW6o7TtpotH5dX8XY4XA888QIDgoOEhYaHiIR/KFOJjo+QiyWNkJWWinc0gZecjgaDkiB5fV4Gpqd8XQYHfKEeo2pppmu0tKaybpkdlJeztb9rpp2uGryVvsDJrJ+XxBiwqsrStnLOF9BVq9PbqVbWFcae27SGtcyRutdoYtrbVtRi3xLYTe3Kbaxt8lLr0dN1+eKlQ9LPij1gpLo12feA3pCDv0hVGzivYLZ/EvVR5McO/2PGNAy3WGQCsdZHjc9GLim5JmGfkAscCmFJp47CLjAVyAxCk1SBlxsbjuzWs06BAz8npnwYEIw0PQaOrilwKxuRoA6wEX1qFGnHLzkB7OTJVU5SdleXdrxnE2iGsU7Z6qkTVqfKlWVPLsQqVE9evUPqir2L9y/gtMUIMzWsV7BdOTRbHvbDNwJcsu6GBFO6S/HKyMCqvrPzyjNJ0MtIORYpEdkv0XQrEwRDWxaqUxlXZ+0neTLnEHl6+xY4ScCe4cRNXG5dRfds5KtuOgdnWjjaJdMtjLWuWjZwJcideKexPPZ4EmdMx3ujpUES9VfInFfhgwpOLPN51MjBf0f7HhYxBPjfgAQWaOCBCCao4IIMNuggBwkAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAAA/8Iutz+MMpJq7046827/2AojmRpnmiqriPhvrDLirBg37gNz5uLB8CgEIiT8Sgv23DJJApeRwjhxjQIrU3nM8rwZb/gJ4E7FYCBh8N5qDtO12g1XLhlvef4ZT01Hfj/gIEGgIOBhod7Jn2HjI2OggOJLQKPlZaMkiCLl5yPhZFjNGZ5pFcBBgdWVpkcd3FwBrGysXNYRKEfm35plbFpv7+xnX+sGLqXvsDKacKOn8S4PaOwqMvWzLZrxRauZ9XX4Klz20iUyOHoqZzkEt1f3+hLwNlf7FLTYPDgX8Fw9g7usuhbBkectmjc8AmMN8dgGIQVAlYJR4pek39dFDYZCKz/1DiI7TRO3OfxoDGRQzj+KukPZASJKSmyPINRQUB6KuXgsfjwpDeSO2Hd8pky5jVSBfLUBOBKlTgsOfMUOJDU29ALN41aozY1TQFaS5yucnnv51E8U6vmu5owbFigcNS2zADzCtw1PKsEWGoTpVaCtfDwZerX7tmZF8m+LGx4K2Imgwnjlfk4SGTJk+8ivozZrGaPnDt71swMTBq20nbmtAaWn5zQmLPlPbUam1LFWBlXUdn6o6ggp6nN6i0YN9HglYHMRh2ibvLEJ5o+nw07pNVTVlGpYmM8l27keCF318QYfKnquVFCDWwZvTHnoI1wIaxk5o3xfHzovigGv50yI/XVc59/UdSQw4E7zNdDDAwq6OCDEEYo4YQUVmjhhRhmyEECACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAAA/8Iutz+MMpJq7046827/2AojmRpnmiqriPhvrDLirBg37gNz5uLB8CgEIiT8Sgv23DJJApeRwjh1qwyb4Qow2ftVp/Z6FTgDRzKQ91xim5fwyu2ey58xgWDvH7P7/v/egZ2KFOAhoeIgyWFiI2OAwZ5ijR4j5aGkZJwIHIBBkCfdGWfBgYHpZ6THp1mZ6JzoUSbHYx6BweOpbq6j5l6qhq1eZm+f6W3yMill7+zGaxox8nTt6hWsUHAGNBd0tTfp9he2hbCiKbg6dWW5Ehk0erxp23tEtxV6PJLyeJW9VLvvORTZ0UZmn8P7jEZ+A3NvDIIHSgcwpCam4ddIm4J2I3/IKyDzuxxxOfx1biQESYKqZjMJESUAJeIY4nM5cttIxeWtClTFs6eK9PR6ZcRZsKcM4V+HOXzghxSplCRUuqmQLSm5ZBSpIqmwAGrTaCG06iAW1Jw0Qx4vVXAWlisFVSC4lrGK9hucOOO7EfTVZu7N5/llElX4FWyC+TORduG6BejMQUW5pkNcuSOjCnXsXz52k7NiBso9vR5KKgAoUUP1ln6oqvUGxvrG1Kty628wVYv7PvN7dtUnN258ZbO90lKQfx2o2nc8eYWuq/t0iUKtkjNC/0FF2w4iHOKj1OMvnpM6nMVim83fjNDrvqrabZzUoK9jnVaZlfCR21EC4AxMdEdpIZ/W/gQ4BdgyBcHgAcWoeAaSeQg4Q4EBhPDhRVmqOGGHHbo4YcghijiiCQ+kAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHWrDJvhCjDZ+1Wn9noVOANHA5loe44TZvR7uBz1o7b1eHUdMDv+/+AgYJ+cyh7g4iJiYUlh4qPkH2MNAIDBn6XkZqBkx91d6BCcER5nmRBZ6GqAZ0cjnxnm7KCrRmvsga5urmzkqUanwEGQsNVuWfIyLmhtRfBacfJ0mfLds0Vt4rR09wHvJrXE89dBt3mynHhEeNW5efvxWnqD+xN7u+jqOjyv9inXvfOWdnnZZ6DeksCckvjjZ+tf+TexWlYxuAChEMUSrsTr/+LRQUYg2hMtqpgPwkhgYxEVtLjyXUQ7QlsaeUjgJQrU9H88lJKTCY5OVrrSe9nPmHmhKYjevBnwqR2CjAkhQEnVDcFDkh1Y9NqN2gGsp4pUM3lw4hf42TdWpFpUYBX07BtC8xpxrhlOpqsmxcvuaU97BLzu9PmFsGD067qOMzwYbiEVzl+DFmxKp2TLyJOHJkhnMyaoeFbQs0hiJQqc3IrC1SOWwufdBpTTU2vWUpAZLdbyZouCdQZd+m6Axrl5p1Dios7Duqo6xUpnYNSDpt5SerOlCBXg70q8KWvT4yxXnONlgZJyCcHE57O+ONF2mupkaP+jvM9YujHz7+///8NAAYo4IAEFmjggRwkAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAP/CLrc/jDKSau9OOvNu/9gKI5kaZ5oqq4j4b6wy4qwYN+4Dc+biwfAoBCIk/EoL9twySQKXkcI4dasMm+EKMNnDRiA327wmY1OBeLA4ZAW6o7TtpotH5dX8XY4XA888QIDgoOEhYaHiIR/KFOJjo+QiyWNkJWWinc0gZecjgaDkiB5faRDBgd8oR6jaqWlfH6ZHZSdtZWqGrS2Bry9vLagshmsdbxrx8e8rrgYxGnGyNFryn3MFrqV0NLbqJ+c1khocqfc5dN14BLOVuTm5rBi6VLiz+7HS8jwVvIP60zt5qwka8PPgb8lALe1QUVQ2ISDptzVYZim4AKIQhJGI6Wv/4lFBRjBBHRV0WGEkF5GkuzyEUBIjchWlmxGrwrMezJZmpyHMCI3jtV29quZEtZNOsX0EBFqkKgXnwr7FKj3peXLclIPTBUTxqpThFifGShwrAA1ncO+Zgwrh+zWmWm5sm3zFi5NuT+TymkJUi1UaXob9vAb5GhOj0xPEi489/DSWYtTNs7JtwHKo0hJIq28JbJIlTI5d9ZjDx/FeIkr5NnTRJu9boJDjFrTxTW3s3ZFiaPN9Sbu3LIFsBbr6zdwTY57Ik6Bss+pjqIvhOStdEn0uwIzl7qe1vN27rmaozOixSWV0G/Kb/Hh3TqZ1DzYK2GJBX75Gjny71AfPkYM/hIABijggAQWaOCBCCao4IIPJAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHGNAitTeczyvBlv+AngTsVgIGHw3moO07XaDVcuGW95/hlPTUd+P+AgQaAg4GGh3smfYeMjY6CA4ktAo+VloySIIuXnI+FkWM0ZnmkVwEGB1ZWmRx3caWkWEShH5t+aZcGuru6nYGsGLadumnFxb2Vn3/AFq5zxMbRabqkzBXOZ9DS26mya9YTwp7c5Med4BHYX6jl7d5htMGja+ztckLG71/oDupN9eW+HIPDr4G/Ku3gpCIYr9m8dQnnLDxTcMHBJQClxWIoj/9eQFjfGoZ7mCVjNJAhO4IxaQxlygvq3rEs5pKiSAkXg8y89wwOlooAYg7ZuREPUFeqFmIhmqeAz1kqTV0h1/SA05KnFh4liZCbTwMFihWghjXAVoxDqeIJe5Vj1JJq57RdafbmyGxxn84BqiCnzrzZjNrFybXrtppZ+PYtjBEw4rqtGKd1XFOxRclTKYO0fNlnRFhpoHbwm/kjvolZQkP2cMebvlM7t5F9WQszxtjTXicenMGV6pUzZ+/l3XvU72y8dlWBV4L0Yz3EI+t8fmo3H9vVs6/LqopN9NpnjgeGPsOv+GrfRTFe2jNImyheqNdNr4iKyxv0USTB3kSHES4mUpShRBj45QfffjnksAOAPcTgIIMQRijhhBRWaOGFGGao4YYcJAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHWrDJvhCjDZ+1Wn9noVOANHMpD3XGKbl/DK7Z7LnzGBYO8fs/v+/96BnYoU4CGh4iDJYWIjY4DBnmKNHiPloaRknAgcgEGQJ90ZZ8GBgelnpMenWZno6WwqGihRJsdjHoHB4ilur6+pY2ZeqoauHmZw329v826wZfFGKxezM7Xp7RL2rWrZLPY4cBt0hbHh6bi6sqH5Ujf1eq+S7/cX7bm8F3p6lbjZe4iUKvCDxuaU2gCStFHsF8bhF4UPhjIpKAzOvbeZKC4Tf+cKHL4JHAcYrHZx4QhBTKs6PEkwJQLt5Fs6bKLxC0rOxqck7FitwsDuZWcx3POzQVBZ+50U2DWz3ygPJlCRSrcnAIHmlZ7WiGpkKG6ZhnAqquArK9Ssx1V4DUIWFdtsGrdx/XdKKtMnQZYy5ahvbdFQRrLqfOam54y+fa9u7Smxo2EC190/Bgy48aU98KcMFIpZseKcYKjiTFqaNGjSQN51iWsZm+H3147W8X1adRtrIWjTRDU7Qadm+iuh/gepSBwX8XiHdXmZsuZRf2OGZ2klekqt7rVW9lE8MNpqdZ5ziky8uTa05APEdw19yDYpympDj/+xraeuIPRgpRKTSwv/AHng3nXgbEeDwPOV6AOB/JXQw4Q7hCgMTFUOOGFGGao4YYcdujhhyCGKOIDCQAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHWrDJvhCjDZ+1Wn9noVOANHA5loe44TZvR7uBz1o7b1eHUdMDv+/+AgYJ+cyh7g4iJiYUlh4qPkH2MNAIDBn6XkZqBkx91dwahoqFucER5nmRBZ16hZ6+vpHadHI58Z4iusLtnoZu0GbaKurzFB76RwBefAQZCzs/G0rFuyhbMVgbT28dp1kiVj9rcB4CwmYrfEthN49tW1F7qUqqt72XdZfMO7EzuxnHyddnXoN+Sf7xA6UN1rV4VhLvuVGMIrgxEWBInYjAYTf9aRo3LHLab9tEbxXUi/Xm0Aw1kQ3sAWc46GYFjkIus7BSYuTHlwZVuChzY6bICO1NAcCLNZkDomQKyBtKkB7OYzqH4TvW0CDQN0aIVqyaM09JkMJ8/Y6YpK29qTbRDlJaUqsFmR6tzmxDcAjcuybxL9vJd+xew1h59/RaWeTOA4IKJ73YF0gvsWbJKi0WtkvMxZFCZe7HlDMfzZ9DGNltGnHHUKLJy3G6lvNRw2xaqctpe2Cjybjwn7P4+HNz3ndrEDUVGfsd0XeMlnSOGPkt6LeHNjWgBMIa63jXbt/jwLgeMbDHdIxc5H557khzwd7QPFqP+/Pv48+vfz7+///8FAAbIXwIAOw==';
35941
+ var img$c = 'data:image/gif;base64,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';
36106
35942
 
36107
35943
  var DayNightPeriod = function DayNightPeriod(_ref) {
36108
35944
  var _periodOfDaySrcFiles;
36109
35945
  var periodOfDay = _ref.periodOfDay;
36110
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
35946
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$b, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$c, _periodOfDaySrcFiles);
36111
35947
  return React__default.createElement(GifContainer, null, React__default.createElement("img", {
36112
35948
  src: periodOfDaySrcFiles[periodOfDay]
36113
35949
  }));
@@ -36117,7 +35953,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
36117
35953
  componentId: "sc-10t97fw-0"
36118
35954
  })(["width:100%;img{width:67%;}"]);
36119
35955
 
36120
- 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';
35956
+ 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';
36121
35957
 
36122
35958
  var TimeWidget = function TimeWidget(_ref) {
36123
35959
  var onClose = _ref.onClose,
@@ -36132,7 +35968,7 @@ var TimeWidget = function TimeWidget(_ref) {
36132
35968
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
36133
35969
  displayName: "TimeWidget__WidgetContainer",
36134
35970
  componentId: "sc-1ja236h-0"
36135
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
35971
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$d);
36136
35972
  var Time = /*#__PURE__*/styled.div.withConfig({
36137
35973
  displayName: "TimeWidget__Time",
36138
35974
  componentId: "sc-1ja236h-1"
@@ -36152,9 +35988,7 @@ var TradingItemRow = function TradingItemRow(_ref) {
36152
35988
  atlasJSON = _ref.atlasJSON,
36153
35989
  onQuantityChange = _ref.onQuantityChange,
36154
35990
  traderItem = _ref.traderItem,
36155
- selectedQty = _ref.selectedQty,
36156
- equipmentSet = _ref.equipmentSet,
36157
- scale = _ref.scale;
35991
+ selectedQty = _ref.selectedQty;
36158
35992
  var onLeftClick = function onLeftClick(qty) {
36159
35993
  if (qty === void 0) {
36160
35994
  qty = 1;
@@ -36162,28 +35996,22 @@ var TradingItemRow = function TradingItemRow(_ref) {
36162
35996
  onQuantityChange(traderItem, Math.max(0, selectedQty - qty));
36163
35997
  };
36164
35998
  var onRightClick = function onRightClick(qty) {
36165
- var _traderItem$stackQty;
35999
+ var _traderItem$qty;
36166
36000
  if (qty === void 0) {
36167
36001
  qty = 1;
36168
36002
  }
36169
- onQuantityChange(traderItem, Math.min((_traderItem$stackQty = traderItem.stackQty) != null ? _traderItem$stackQty : 999, selectedQty + qty));
36003
+ onQuantityChange(traderItem, Math.min((_traderItem$qty = traderItem.qty) != null ? _traderItem$qty : 999, selectedQty + qty));
36170
36004
  };
36171
- return React__default.createElement(ItemWrapper, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer$1, null, React__default.createElement(ItemInfoWrapper, {
36172
- atlasIMG: atlasIMG,
36173
- atlasJSON: atlasJSON,
36174
- equipmentSet: equipmentSet,
36175
- item: traderItem,
36176
- scale: scale
36177
- }, React__default.createElement(SpriteFromAtlas, {
36005
+ return React__default.createElement(ItemWrapper, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer$1, null, React__default.createElement(SpriteFromAtlas, {
36178
36006
  atlasIMG: atlasIMG,
36179
36007
  atlasJSON: atlasJSON,
36180
36008
  spriteKey: shared.getItemTextureKeyPath({
36181
36009
  key: traderItem.key,
36182
- stackQty: traderItem.stackQty || 1,
36010
+ stackQty: traderItem.qty || 1,
36183
36011
  texturePath: traderItem.texturePath
36184
36012
  }, atlasJSON),
36185
36013
  imgScale: 2.5
36186
- })))), React__default.createElement(ItemNameContainer, null, React__default.createElement(NameValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
36014
+ }))), React__default.createElement(ItemNameContainer, null, React__default.createElement(NameValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
36187
36015
  maxLines: 1,
36188
36016
  maxWidth: "250px"
36189
36017
  }, capitalize(traderItem.name))), React__default.createElement("p", null, "$", traderItem.price))), React__default.createElement(QuantityContainer, null, React__default.createElement(SelectArrow, {
@@ -36256,9 +36084,7 @@ var TradingMenu = function TradingMenu(_ref) {
36256
36084
  atlasJSON = _ref.atlasJSON,
36257
36085
  atlasIMG = _ref.atlasIMG,
36258
36086
  characterAvailableGold = _ref.characterAvailableGold,
36259
- onConfirm = _ref.onConfirm,
36260
- equipmentSet = _ref.equipmentSet,
36261
- scale = _ref.scale;
36087
+ onConfirm = _ref.onConfirm;
36262
36088
  var _useState = React.useState(0),
36263
36089
  sum = _useState[0],
36264
36090
  setSum = _useState[1];
@@ -36316,7 +36142,7 @@ var TradingMenu = function TradingMenu(_ref) {
36316
36142
  style: {
36317
36143
  width: '100%'
36318
36144
  }
36319
- }, React__default.createElement(Title$8, null, Capitalize(type), " Menu"), React__default.createElement("hr", {
36145
+ }, React__default.createElement(Title$7, null, Capitalize(type), " Menu"), React__default.createElement("hr", {
36320
36146
  className: "golden"
36321
36147
  })), React__default.createElement(TradingComponentScrollWrapper, {
36322
36148
  id: "TraderContainer"
@@ -36329,9 +36155,7 @@ var TradingMenu = function TradingMenu(_ref) {
36329
36155
  atlasJSON: atlasJSON,
36330
36156
  onQuantityChange: onQuantityChange,
36331
36157
  traderItem: tradeItem,
36332
- selectedQty: (_qtyMap$get = qtyMap.get(tradeItem.key)) != null ? _qtyMap$get : 0,
36333
- equipmentSet: equipmentSet,
36334
- scale: scale
36158
+ selectedQty: (_qtyMap$get = qtyMap.get(tradeItem.key)) != null ? _qtyMap$get : 0
36335
36159
  }));
36336
36160
  })), React__default.createElement(GoldWrapper, null, React__default.createElement("p", null, "Available Gold:"), React__default.createElement("p", null, "$", characterAvailableGold)), React__default.createElement(TotalWrapper, null, React__default.createElement("p", null, "Total:"), React__default.createElement("p", null, "$", sum)), !hasGoldForSale() ? React__default.createElement(AlertWrapper, null, React__default.createElement("p", null, " Sorry, not enough money.")) : React__default.createElement(GoldWrapper, null, React__default.createElement("p", null, "Final Gold:"), React__default.createElement("p", null, "$", getFinalGold())), React__default.createElement(ButtonWrapper$2, null, React__default.createElement(Button, {
36337
36161
  buttonType: exports.ButtonTypes.RPGUIButton,
@@ -36346,7 +36170,7 @@ var TradingMenu = function TradingMenu(_ref) {
36346
36170
  }
36347
36171
  }, "Cancel"))));
36348
36172
  };
36349
- var Title$8 = /*#__PURE__*/styled.h1.withConfig({
36173
+ var Title$7 = /*#__PURE__*/styled.h1.withConfig({
36350
36174
  displayName: "TradingMenu__Title",
36351
36175
  componentId: "sc-1wjsz1l-0"
36352
36176
  })(["z-index:22;font-size:0.6rem;color:yellow !important;"]);
@@ -36391,219 +36215,6 @@ var Container$l = /*#__PURE__*/styled.div.withConfig({
36391
36215
  return props.maxLines;
36392
36216
  });
36393
36217
 
36394
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
36395
-
36396
- var chunkString = function chunkString(str, length) {
36397
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
36398
- };
36399
-
36400
- var img$d = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
36401
-
36402
- var NPCDialogText = function NPCDialogText(_ref) {
36403
- var text = _ref.text,
36404
- onClose = _ref.onClose,
36405
- onEndStep = _ref.onEndStep,
36406
- onStartStep = _ref.onStartStep,
36407
- type = _ref.type;
36408
- var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
36409
- function maxCharacters(width) {
36410
- // Set the font size to 16 pixels
36411
- var fontSize = 11.2;
36412
- // Calculate the number of characters that can fit in one line
36413
- var charactersPerLine = Math.floor(width / 2 / fontSize);
36414
- // Calculate the number of lines that can fit in the div
36415
- var linesPerDiv = Math.floor(180 / fontSize);
36416
- // Calculate the maximum number of characters that can fit in the div
36417
- var maxCharacters = charactersPerLine * linesPerDiv;
36418
- // Return the maximum number of characters
36419
- return Math.round(maxCharacters / 5);
36420
- }
36421
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
36422
- var _useState = React.useState(0),
36423
- chunkIndex = _useState[0],
36424
- setChunkIndex = _useState[1];
36425
- var onHandleSpacePress = function onHandleSpacePress(event) {
36426
- if (event.code === 'Space') {
36427
- goToNextStep();
36428
- }
36429
- };
36430
- var goToNextStep = function goToNextStep() {
36431
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
36432
- if (hasNextChunk) {
36433
- setChunkIndex(function (prev) {
36434
- return prev + 1;
36435
- });
36436
- } else {
36437
- // if there's no more text chunks, close the dialog
36438
- onClose();
36439
- }
36440
- };
36441
- React.useEffect(function () {
36442
- document.addEventListener('keydown', onHandleSpacePress);
36443
- return function () {
36444
- return document.removeEventListener('keydown', onHandleSpacePress);
36445
- };
36446
- }, [chunkIndex]);
36447
- var _useState2 = React.useState(false),
36448
- showGoNextIndicator = _useState2[0],
36449
- setShowGoNextIndicator = _useState2[1];
36450
- return React__default.createElement(Container$m, null, React__default.createElement(DynamicText, {
36451
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
36452
- onFinish: function onFinish() {
36453
- setShowGoNextIndicator(true);
36454
- onEndStep && onEndStep();
36455
- },
36456
- onStart: function onStart() {
36457
- setShowGoNextIndicator(false);
36458
- onStartStep && onStartStep();
36459
- }
36460
- }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
36461
- right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
36462
- src: IS_MOBILE_OR_TABLET ? img$d : img$7,
36463
- onPointerDown: function onPointerDown() {
36464
- goToNextStep();
36465
- }
36466
- }));
36467
- };
36468
- var Container$m = /*#__PURE__*/styled.div.withConfig({
36469
- displayName: "NPCDialogText__Container",
36470
- componentId: "sc-1cxkdh9-0"
36471
- })([""]);
36472
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
36473
- displayName: "NPCDialogText__PressSpaceIndicator",
36474
- componentId: "sc-1cxkdh9-1"
36475
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
36476
- var right = _ref2.right;
36477
- return right;
36478
- });
36479
-
36480
- (function (NPCDialogType) {
36481
- NPCDialogType["TextOnly"] = "TextOnly";
36482
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
36483
- })(exports.NPCDialogType || (exports.NPCDialogType = {}));
36484
- var NPCDialog = function NPCDialog(_ref) {
36485
- var text = _ref.text,
36486
- type = _ref.type,
36487
- _onClose = _ref.onClose,
36488
- imagePath = _ref.imagePath,
36489
- _ref$isQuestionDialog = _ref.isQuestionDialog,
36490
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
36491
- questions = _ref.questions,
36492
- answers = _ref.answers;
36493
- return React__default.createElement(RPGUIContainer, {
36494
- type: exports.RPGUIContainerTypes.FramedGold,
36495
- width: isQuestionDialog ? '600px' : '80%',
36496
- height: '180px'
36497
- }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
36498
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36499
- }, React__default.createElement(QuestionDialog, {
36500
- questions: questions,
36501
- answers: answers,
36502
- onClose: function onClose() {
36503
- if (_onClose) {
36504
- _onClose();
36505
- }
36506
- }
36507
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
36508
- src: imagePath || img$6
36509
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$n, null, React__default.createElement(TextContainer$2, {
36510
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36511
- }, React__default.createElement(NPCDialogText, {
36512
- type: type,
36513
- text: text || 'No text provided.',
36514
- onClose: function onClose() {
36515
- if (_onClose) {
36516
- _onClose();
36517
- }
36518
- }
36519
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
36520
- src: imagePath || img$6
36521
- })))));
36522
- };
36523
- var Container$n = /*#__PURE__*/styled.div.withConfig({
36524
- displayName: "NPCDialog__Container",
36525
- componentId: "sc-1b4aw74-0"
36526
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
36527
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
36528
- displayName: "NPCDialog__TextContainer",
36529
- componentId: "sc-1b4aw74-1"
36530
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
36531
- var flex = _ref2.flex;
36532
- return flex;
36533
- });
36534
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
36535
- displayName: "NPCDialog__ThumbnailContainer",
36536
- componentId: "sc-1b4aw74-2"
36537
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
36538
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
36539
- displayName: "NPCDialog__NPCThumbnail",
36540
- componentId: "sc-1b4aw74-3"
36541
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
36542
-
36543
- var HistoryDialog = function HistoryDialog(_ref) {
36544
- var backgroundImgPath = _ref.backgroundImgPath,
36545
- fullCoverBackground = _ref.fullCoverBackground,
36546
- questions = _ref.questions,
36547
- answers = _ref.answers,
36548
- text = _ref.text,
36549
- imagePath = _ref.imagePath,
36550
- textAndTypeArray = _ref.textAndTypeArray,
36551
- onClose = _ref.onClose;
36552
- var _useState = React.useState(0),
36553
- img = _useState[0],
36554
- setImage = _useState[1];
36555
- var onHandleSpacePress = function onHandleSpacePress(event) {
36556
- if (event.code === 'Space') {
36557
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
36558
- setImage(function (prev) {
36559
- return prev + 1;
36560
- });
36561
- } else {
36562
- // if there's no more text chunks, close the dialog
36563
- onClose();
36564
- }
36565
- }
36566
- };
36567
- React.useEffect(function () {
36568
- document.addEventListener('keydown', onHandleSpacePress);
36569
- return function () {
36570
- return document.removeEventListener('keydown', onHandleSpacePress);
36571
- };
36572
- }, [backgroundImgPath]);
36573
- return React__default.createElement(BackgroundContainer, {
36574
- imgPath: backgroundImgPath[img],
36575
- fullImg: fullCoverBackground
36576
- }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
36577
- textAndTypeArray: textAndTypeArray,
36578
- onClose: onClose
36579
- }) : questions && answers ? React__default.createElement(QuestionDialog, {
36580
- questions: questions,
36581
- answers: answers,
36582
- onClose: onClose
36583
- }) : text && imagePath ? React__default.createElement(NPCDialog, {
36584
- text: text,
36585
- imagePath: imagePath,
36586
- onClose: onClose,
36587
- type: exports.NPCDialogType.TextAndThumbnail
36588
- }) : React__default.createElement(NPCDialog, {
36589
- text: text,
36590
- onClose: onClose,
36591
- type: exports.NPCDialogType.TextOnly
36592
- })));
36593
- };
36594
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
36595
- displayName: "HistoryDialog__BackgroundContainer",
36596
- componentId: "sc-u6oe75-0"
36597
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
36598
- return props.imgPath;
36599
- }, function (props) {
36600
- return props.imgPath ? 'cover' : 'auto';
36601
- });
36602
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
36603
- displayName: "HistoryDialog__DialogContainer",
36604
- componentId: "sc-u6oe75-1"
36605
- })(["display:flex;justify-content:center;padding-top:200px;"]);
36606
-
36607
36218
  exports.Button = Button;
36608
36219
  exports.CharacterSelection = CharacterSelection;
36609
36220
  exports.Chat = Chat;
@@ -36616,7 +36227,6 @@ exports.Dropdown = Dropdown;
36616
36227
  exports.DropdownSelectorContainer = DropdownSelectorContainer;
36617
36228
  exports.DynamicText = DynamicText;
36618
36229
  exports.EquipmentSet = EquipmentSet;
36619
- exports.EquipmentSlotSpriteByType = EquipmentSlotSpriteByType;
36620
36230
  exports.ErrorBoundary = ErrorBoundary;
36621
36231
  exports.HistoryDialog = HistoryDialog;
36622
36232
  exports.Input = Input;
@@ -36645,6 +36255,5 @@ exports.TimeWidget = TimeWidget;
36645
36255
  exports.TradingMenu = TradingMenu;
36646
36256
  exports.Truncate = Truncate;
36647
36257
  exports._RPGUI = _RPGUI;
36648
- exports.rarityColor = rarityColor;
36649
36258
  exports.useEventListener = useEventListener;
36650
36259
  //# sourceMappingURL=long-bow.cjs.development.js.map