@rpg-engine/long-bow 0.3.75 → 0.3.76

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 +3 -1
  4. package/dist/components/Item/Cards/ItemInfo.d.ts +10 -0
  5. package/dist/components/Item/Cards/ItemInfoDisplay.d.ts +10 -0
  6. package/dist/components/Item/Cards/ItemInfoWrapper.d.ts +12 -0
  7. package/dist/components/Item/Cards/ItemTooltip.d.ts +7 -4
  8. package/dist/components/Item/Cards/MobileItemTooltip.d.ts +18 -0
  9. package/dist/components/Item/Inventory/ItemContainer.d.ts +2 -1
  10. package/dist/components/Item/Inventory/ItemSlot.d.ts +4 -1
  11. package/dist/components/TradingMenu/TradingItemRow.d.ts +3 -1
  12. package/dist/components/TradingMenu/TradingMenu.d.ts +6 -4
  13. package/dist/components/shared/SpriteFromAtlas.d.ts +1 -0
  14. package/dist/long-bow.cjs.development.js +1400 -1009
  15. package/dist/long-bow.cjs.development.js.map +1 -1
  16. package/dist/long-bow.cjs.production.min.js +1 -1
  17. package/dist/long-bow.cjs.production.min.js.map +1 -1
  18. package/dist/long-bow.esm.js +1402 -1013
  19. package/dist/long-bow.esm.js.map +1 -1
  20. package/dist/stories/ItemInfoDisplay.stories.d.ts +8 -0
  21. package/dist/stories/TradingMenu.stories.d.ts +2 -2
  22. package/package.json +100 -100
  23. package/src/components/Abstractions/SlotsContainer.tsx +45 -45
  24. package/src/components/Arrow/SelectArrow.tsx +69 -69
  25. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  26. package/src/components/Arrow/img/arrow01-left.png +0 -0
  27. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  28. package/src/components/Arrow/img/arrow01-right.png +0 -0
  29. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  30. package/src/components/Arrow/img/arrow02-left.png +0 -0
  31. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  32. package/src/components/Arrow/img/arrow02-right.png +0 -0
  33. package/src/components/Button.tsx +40 -40
  34. package/src/components/Character/CharacterSelection.tsx +96 -96
  35. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  36. package/src/components/Chat/Chat.tsx +195 -195
  37. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  38. package/src/components/CheckButton.tsx +65 -65
  39. package/src/components/CircularController/CircularController.tsx +248 -248
  40. package/src/components/CraftBook/CraftBook.tsx +240 -227
  41. package/src/components/CraftBook/MockItems.ts +246 -251
  42. package/src/components/DraggableContainer.tsx +153 -153
  43. package/src/components/Dropdown.tsx +90 -90
  44. package/src/components/DropdownSelectorContainer.tsx +42 -42
  45. package/src/components/Equipment/EquipmentSet.tsx +190 -190
  46. package/src/components/HistoryDialog.tsx +104 -104
  47. package/src/components/Input.tsx +15 -15
  48. package/src/components/Item/Cards/ItemInfo.tsx +248 -0
  49. package/src/components/Item/Cards/ItemInfoDisplay.tsx +123 -0
  50. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -0
  51. package/src/components/Item/Cards/ItemTooltip.tsx +85 -33
  52. package/src/components/Item/Cards/MobileItemTooltip.tsx +105 -0
  53. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  54. package/src/components/Item/Inventory/ItemContainer.tsx +214 -210
  55. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  56. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  57. package/src/components/Item/Inventory/ItemSlot.tsx +540 -501
  58. package/src/components/Item/Inventory/itemContainerHelper.ts +156 -156
  59. package/src/components/ListMenu.tsx +63 -63
  60. package/src/components/Multitab/Tab.tsx +66 -66
  61. package/src/components/Multitab/TabBody.tsx +13 -13
  62. package/src/components/Multitab/TabsContainer.tsx +97 -97
  63. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  64. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  65. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  66. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  67. package/src/components/ProgressBar.tsx +92 -92
  68. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  69. package/src/components/QuestInfo/QuestInfo.tsx +230 -230
  70. package/src/components/QuestList.tsx +129 -129
  71. package/src/components/RPGUIContainer.tsx +47 -47
  72. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  73. package/src/components/RPGUIRoot.tsx +14 -14
  74. package/src/components/RadioButton.tsx +53 -53
  75. package/src/components/RadioInput/RadioButton.tsx +96 -96
  76. package/src/components/RadioInput/RadioInput.tsx +102 -102
  77. package/src/components/RadioInput/instruments.ts +15 -15
  78. package/src/components/RangeSlider.tsx +78 -78
  79. package/src/components/RelativeListMenu.tsx +83 -83
  80. package/src/components/ScrollList.tsx +79 -79
  81. package/src/components/Shortcuts/Shortcuts.tsx +151 -151
  82. package/src/components/Shortcuts/ShortcutsSetter.tsx +132 -132
  83. package/src/components/Shortcuts/SingleShortcut.ts +62 -62
  84. package/src/components/SimpleProgressBar.tsx +62 -62
  85. package/src/components/SkillProgressBar.tsx +133 -133
  86. package/src/components/SkillsContainer.tsx +200 -200
  87. package/src/components/Spellbook/Spell.tsx +201 -201
  88. package/src/components/Spellbook/Spellbook.tsx +150 -150
  89. package/src/components/Spellbook/constants.ts +8 -8
  90. package/src/components/Spellbook/mockSpells.ts +60 -60
  91. package/src/components/StaticBook/StaticBook.tsx +103 -103
  92. package/src/components/TextArea.tsx +11 -11
  93. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  94. package/src/components/TimeWidget/TimeWidget.tsx +63 -63
  95. package/src/components/TradingMenu/TradingItemRow.tsx +198 -181
  96. package/src/components/TradingMenu/TradingMenu.tsx +215 -203
  97. package/src/components/TradingMenu/items.mock.ts +48 -96
  98. package/src/components/Truncate.tsx +25 -25
  99. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  100. package/src/components/shared/Column.tsx +16 -16
  101. package/src/components/shared/Ellipsis.tsx +65 -65
  102. package/src/components/shared/SpriteFromAtlas.tsx +104 -102
  103. package/src/components/typography/DynamicText.tsx +49 -49
  104. package/src/constants/uiColors.ts +20 -20
  105. package/src/constants/uiDevices.ts +3 -3
  106. package/src/constants/uiFonts.ts +12 -12
  107. package/src/hooks/useEventListener.ts +21 -21
  108. package/src/hooks/useOutsideAlerter.ts +25 -25
  109. package/src/index.tsx +40 -40
  110. package/src/libs/StringHelpers.ts +3 -3
  111. package/src/mocks/atlas/entities/entities.json +20215 -20215
  112. package/src/mocks/atlas/icons/icons.json +735 -735
  113. package/src/mocks/atlas/items/items.json +12086 -12086
  114. package/src/mocks/equipmentSet.mocks.ts +391 -393
  115. package/src/mocks/itemContainer.mocks.ts +563 -562
  116. package/src/mocks/skills.mocks.ts +128 -128
  117. package/src/stories/Arrow.stories.tsx +26 -26
  118. package/src/stories/Button.stories.tsx +36 -36
  119. package/src/stories/CharacterSelection.stories.tsx +45 -45
  120. package/src/stories/CharacterStatus.stories.tsx +29 -29
  121. package/src/stories/Chat.stories.tsx +187 -187
  122. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  123. package/src/stories/CheckButton.stories.tsx +48 -48
  124. package/src/stories/CircullarController.stories.tsx +37 -37
  125. package/src/stories/CraftBook.stories.tsx +42 -40
  126. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  127. package/src/stories/DraggableContainer.stories.tsx +28 -28
  128. package/src/stories/Dropdown.stories.tsx +46 -46
  129. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  130. package/src/stories/EquipmentSet.stories.tsx +65 -65
  131. package/src/stories/HistoryDialog.stories.tsx +61 -61
  132. package/src/stories/ItemContainer.stories.tsx +200 -198
  133. package/src/stories/ItemInfoDisplay.stories.tsx +33 -0
  134. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  135. package/src/stories/ItemSelector.stories.tsx +77 -77
  136. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  137. package/src/stories/ListMenu.stories.tsx +56 -56
  138. package/src/stories/Multitab.stories.tsx +51 -51
  139. package/src/stories/NPCDialog.stories.tsx +130 -130
  140. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  141. package/src/stories/ProgressBar.stories.tsx +23 -23
  142. package/src/stories/PropertySelect.stories.tsx +40 -40
  143. package/src/stories/QuestInfo.stories.tsx +107 -107
  144. package/src/stories/QuestList.stories.tsx +82 -82
  145. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  146. package/src/stories/RadioButton.stories.tsx +49 -49
  147. package/src/stories/RadioInput.stories.tsx +34 -34
  148. package/src/stories/RangeSlider.stories.tsx +64 -64
  149. package/src/stories/ScrollList.stories.tsx +85 -85
  150. package/src/stories/Shortcuts.stories.tsx +39 -39
  151. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  152. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  153. package/src/stories/SkillsContainer.stories.tsx +35 -35
  154. package/src/stories/Spellbook.stories.tsx +104 -104
  155. package/src/stories/StaticBook.stories.tsx +32 -32
  156. package/src/stories/Text.stories.tsx +42 -42
  157. package/src/stories/TimeWidget.stories.tsx +27 -27
  158. package/src/stories/TradingMenu.stories.tsx +47 -45
  159. package/src/types/eventTypes.ts +4 -4
  160. package/src/types/index.d.ts +2 -2
@@ -13,6 +13,7 @@ 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');
16
17
  var mobxReactLite = require('mobx-react-lite');
17
18
  require('rpgui/rpgui.min.css');
18
19
  require('rpgui/rpgui.min.js');
@@ -113,7 +114,8 @@ var SpriteFromAtlas = function SpriteFromAtlas(_ref) {
113
114
  _ref$grayScale = _ref.grayScale,
114
115
  grayScale = _ref$grayScale === void 0 ? false : _ref$grayScale,
115
116
  _ref$opacity = _ref.opacity,
116
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
117
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
118
+ imgClassname = _ref.imgClassname;
117
119
  //! 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).
118
120
  //!Due to React's limitations, we cannot import it from the public folder directly!
119
121
  var spriteData = atlasJSON.frames[spriteKey] || atlasJSON.frames['others/no-image.png'];
@@ -125,7 +127,7 @@ var SpriteFromAtlas = function SpriteFromAtlas(_ref) {
125
127
  onPointerDown: onPointerDown,
126
128
  style: containerStyle
127
129
  }, React__default.createElement(ImgSprite, {
128
- className: "sprite-from-atlas-img",
130
+ className: "sprite-from-atlas-img " + (imgClassname || ''),
129
131
  atlasIMG: atlasIMG,
130
132
  frame: spriteData.frame,
131
133
  scale: imgScale,
@@ -33361,202 +33363,6 @@ var DropdownOptions = /*#__PURE__*/styled.ul.withConfig({
33361
33363
  return props.opened ? 'block' : 'none';
33362
33364
  });
33363
33365
 
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
-
33560
33366
  var RelativeListMenu = function RelativeListMenu(_ref) {
33561
33367
  var options = _ref.options,
33562
33368
  onSelected = _ref.onSelected,
@@ -33606,14 +33412,69 @@ var ListElement = /*#__PURE__*/styled.li.withConfig({
33606
33412
  componentId: "sc-7hohf-1"
33607
33413
  })(["margin-right:0.5rem;"]);
33608
33414
 
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));
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
+ })));
33612
33459
  };
33613
33460
  var Container$9 = /*#__PURE__*/styled.div.withConfig({
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);
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);
33617
33478
 
33618
33479
  var generateContextMenuListOptions = function generateContextMenuListOptions(actionsByTypeList) {
33619
33480
  var contextMenu = actionsByTypeList.map(function (action) {
@@ -33749,32 +33610,36 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33749
33610
  openQuantitySelector = _ref.openQuantitySelector,
33750
33611
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
33751
33612
  dragScale = _ref.dragScale,
33752
- isSelectingShortcut = _ref.isSelectingShortcut;
33613
+ isSelectingShortcut = _ref.isSelectingShortcut,
33614
+ equipmentSet = _ref.equipmentSet;
33753
33615
  var _useState = React.useState(false),
33754
33616
  isTooltipVisible = _useState[0],
33755
33617
  setTooltipVisible = _useState[1];
33756
33618
  var _useState2 = React.useState(false),
33757
- isContextMenuVisible = _useState2[0],
33758
- setIsContextMenuVisible = _useState2[1];
33619
+ isTooltipMobileVisible = _useState2[0],
33620
+ setIsTooltipMobileVisible = _useState2[1];
33759
33621
  var _useState3 = React.useState(false),
33760
- isFocused = _useState3[0],
33761
- setIsFocused = _useState3[1];
33622
+ isContextMenuVisible = _useState3[0],
33623
+ setIsContextMenuVisible = _useState3[1];
33762
33624
  var _useState4 = React.useState(false),
33763
- wasDragged = _useState4[0],
33764
- setWasDragged = _useState4[1];
33765
- var _useState5 = React.useState({
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({
33766
33631
  x: 0,
33767
33632
  y: 0
33768
33633
  }),
33769
- dragPosition = _useState5[0],
33770
- setDragPosition = _useState5[1];
33771
- var _useState6 = React.useState(null),
33772
- dropPosition = _useState6[0],
33773
- setDropPosition = _useState6[1];
33634
+ dragPosition = _useState6[0],
33635
+ setDragPosition = _useState6[1];
33636
+ var _useState7 = React.useState(null),
33637
+ dropPosition = _useState7[0],
33638
+ setDropPosition = _useState7[1];
33774
33639
  var dragContainer = React.useRef(null);
33775
- var _useState7 = React.useState([]),
33776
- contextActions = _useState7[0],
33777
- setContextActions = _useState7[1];
33640
+ var _useState8 = React.useState([]),
33641
+ contextActions = _useState8[0],
33642
+ setContextActions = _useState8[1];
33778
33643
  React.useEffect(function () {
33779
33644
  setDragPosition({
33780
33645
  x: 0,
@@ -33823,7 +33688,8 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33823
33688
  texturePath: itemToRender.texturePath,
33824
33689
  stackQty: itemToRender.stackQty || 1
33825
33690
  }, atlasJSON),
33826
- imgScale: 3
33691
+ imgScale: 3,
33692
+ imgClassname: "sprite-from-atlas-img--item"
33827
33693
  })));
33828
33694
  }
33829
33695
  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);
@@ -33848,7 +33714,8 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33848
33714
  texturePath: itemToRender.texturePath,
33849
33715
  stackQty: itemToRender.stackQty || 1
33850
33716
  }, atlasJSON),
33851
- imgScale: 3
33717
+ imgScale: 3,
33718
+ imgClassname: "sprite-from-atlas-img--item"
33852
33719
  })));
33853
33720
  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);
33854
33721
  if (stackInfo) {
@@ -33865,7 +33732,8 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33865
33732
  spriteKey: EquipmentSlotSpriteByType[slotSpriteMask],
33866
33733
  imgScale: 3,
33867
33734
  grayScale: true,
33868
- opacity: 0.4
33735
+ opacity: 0.4,
33736
+ imgClassname: "sprite-from-atlas-img--item"
33869
33737
  }));
33870
33738
  }
33871
33739
  };
@@ -33958,7 +33826,12 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33958
33826
  }
33959
33827
  }, 100);
33960
33828
  } else if (item) {
33961
- if (!isContextMenuDisabled && !isSelectingShortcut) setIsContextMenuVisible(!isContextMenuVisible);
33829
+ var isTouch = false;
33830
+ if (e.type === 'touchend' && !isSelectingShortcut) {
33831
+ isTouch = true;
33832
+ setIsTooltipMobileVisible(true);
33833
+ }
33834
+ if (!isContextMenuDisabled && !isSelectingShortcut && !isTouch) setIsContextMenuVisible(!isContextMenuVisible);
33962
33835
  onPointerDown(item.type, containerType, item);
33963
33836
  }
33964
33837
  },
@@ -33994,7 +33867,26 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33994
33867
  setTooltipVisible(false);
33995
33868
  }
33996
33869
  }, onRenderSlot(item))), isTooltipVisible && item && !isFocused && React__default.createElement(ItemTooltip, {
33997
- label: item.name
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
+ }
33998
33890
  }), !isContextMenuDisabled && isContextMenuVisible && contextActions && React__default.createElement(RelativeListMenu, {
33999
33891
  options: contextActions,
34000
33892
  onSelected: function onSelected(optionId) {
@@ -34019,13 +33911,13 @@ var rarityColor = function rarityColor(item) {
34019
33911
  case shared.ItemRarities.Legendary:
34020
33912
  return 'rgba(255, 191, 0,0.6)';
34021
33913
  default:
34022
- return 'unset';
33914
+ return null;
34023
33915
  }
34024
33916
  };
34025
33917
  var Container$a = /*#__PURE__*/styled.div.withConfig({
34026
33918
  displayName: "ItemSlot__Container",
34027
33919
  componentId: "sc-l2j5ef-0"
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) {
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) {
34029
33921
  var item = _ref2.item;
34030
33922
  return rarityColor(item);
34031
33923
  }, function (_ref3) {
@@ -34053,637 +33945,582 @@ var ItemQty = /*#__PURE__*/styled.span.withConfig({
34053
33945
  componentId: "sc-l2j5ef-3"
34054
33946
  })(["&.regular{font-size:", ";}&.small{font-size:", ";}&.xsmall{font-size:", ";}"], uiFonts.size.small, uiFonts.size.xsmall, uiFonts.size.xxsmall);
34055
33947
 
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,
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,
34062
33963
  atlasIMG = _ref.atlasIMG,
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
- },
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, {
34124
34015
  atlasIMG: atlasIMG,
34125
- atlasJSON: atlasJSON
34126
- });
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
+ }));
34127
34026
  });
34128
34027
  };
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))));
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()));
34140
34033
  };
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;"]);
34149
-
34150
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
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);
34151
34081
 
34152
- var chunkString = function chunkString(str, length) {
34153
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
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
+ })));
34154
34121
  };
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;"]);
34155
34137
 
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];
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);
34163
34145
  React.useEffect(function () {
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();
34170
- }
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();
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;
34179
34156
  }
34180
- }
34181
- }, 50);
34182
- return function () {
34183
- clearInterval(interval);
34184
- };
34185
- }, [text]);
34186
- return React__default.createElement(TextContainer, null, textState);
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
+ }));
34187
34181
  };
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;"]);
34192
-
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';
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;"]);
34196
34186
 
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]);
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];
34242
34197
  var _useState2 = React.useState(false),
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();
34198
+ isTooltipMobileVisible = _useState2[0],
34199
+ setIsTooltipMobileVisible = _useState2[1];
34200
+ return React__default.createElement("div", {
34201
+ onMouseEnter: function onMouseEnter() {
34202
+ if (!isTooltipMobileVisible) setIsTooltipVisible(true);
34250
34203
  },
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();
34204
+ onMouseLeave: setIsTooltipVisible.bind(null, false),
34205
+ onTouchEnd: function onTouchEnd() {
34206
+ setIsTooltipMobileVisible(true);
34207
+ setIsTooltipVisible(false);
34260
34208
  }
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
34261
34224
  }));
34262
34225
  };
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
- });
34274
34226
 
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
- };
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
+ }
34295
34252
 
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;
34313
- });
34314
- };
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;
34253
+ options.push({
34254
+ id: optionsId,
34255
+ value: key,
34256
+ option: key
34325
34257
  });
34258
+ optionsId += 1;
34326
34259
  });
34260
+ return options;
34327
34261
  };
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
- }
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;
34373
34276
  };
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();
34385
- }
34277
+ var handleClick = function handleClick(value) {
34278
+ setCraftItem(value);
34386
34279
  };
34387
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
34388
- var answerIds = currentQuestion.answerIds;
34389
- if (!answerIds) {
34390
- return null;
34391
- }
34392
- var answers = onGetAnswers(answerIds);
34393
- if (!answers) {
34394
- return null;
34395
- }
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));
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();
34411
34287
  }
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
34288
  }
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();
34481
- }
34289
+ }, React__default.createElement("div", {
34290
+ style: {
34291
+ width: '100%'
34482
34292
  }
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();
34493
- }
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);
34494
34299
  }
34495
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
34496
- src: imagePath || img$8
34497
- })))));
34498
- };
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;"]);
34518
-
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();
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);
34542
34320
  }
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();
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);
34568
34330
  }
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();
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
+ });
34590
34356
  }
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);
34591
34374
  }
34592
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
34593
- right: '1rem',
34594
- src: img$7
34595
- }))), ")"));
34375
+ }, "Craft")));
34596
34376
  };
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
- });
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%;"]);
34623
34409
 
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
- }
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));
34425
+ };
34426
+ var Details = /*#__PURE__*/styled.p.withConfig({
34427
+ displayName: "DropdownSelectorContainer__Details",
34428
+ componentId: "sc-kaa0h9-0"
34429
+ })(["font-size:", " !important;"], uiFonts.size.xsmall);
34430
+
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
+ });
34647
34503
  };
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
- })));
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))));
34674
34515
  };
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;"]);
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;"]);
34687
34524
 
34688
34525
  var SlotsContainer = function SlotsContainer(_ref) {
34689
34526
  var children = _ref.children,
@@ -34905,7 +34742,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
34905
34742
  return word[0];
34906
34743
  }));
34907
34744
  };
34908
- return React__default.createElement(Container$f, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
34745
+ return React__default.createElement(Container$d, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
34909
34746
  id: "shortcuts_list"
34910
34747
  }, Array.from({
34911
34748
  length: 6
@@ -34921,7 +34758,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
34921
34758
  }, getContent(i));
34922
34759
  })));
34923
34760
  };
34924
- var Container$f = /*#__PURE__*/styled.div.withConfig({
34761
+ var Container$d = /*#__PURE__*/styled.div.withConfig({
34925
34762
  displayName: "ShortcutsSetter__Container",
34926
34763
  componentId: "sc-xuouuf-0"
34927
34764
  })(["p{margin:0;margin-left:0.5rem;}"]);
@@ -34958,7 +34795,8 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34958
34795
  dragScale = _ref.dragScale,
34959
34796
  shortcuts = _ref.shortcuts,
34960
34797
  setItemShortcut = _ref.setItemShortcut,
34961
- removeShortcut = _ref.removeShortcut;
34798
+ removeShortcut = _ref.removeShortcut,
34799
+ equipmentSet = _ref.equipmentSet;
34962
34800
  var _useState = React.useState({
34963
34801
  isOpen: false,
34964
34802
  maxQuantity: 1,
@@ -35017,173 +34855,499 @@ var ItemContainer$1 = function ItemContainer(_ref) {
35017
34855
  },
35018
34856
  atlasIMG: atlasIMG,
35019
34857
  atlasJSON: atlasJSON,
35020
- isSelectingShortcut: settingShortcutIndex !== -1
34858
+ isSelectingShortcut: settingShortcutIndex !== -1,
34859
+ equipmentSet: equipmentSet
35021
34860
  }));
35022
34861
  }
35023
- return slots;
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;
35207
+ }
35208
+ var firstAnswerId = currentQuestion.answerIds[0];
35209
+ return answers.find(function (answer) {
35210
+ return answer.id === firstAnswerId;
35211
+ });
35024
35212
  };
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() {}
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;
35054
35223
  });
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;
35055
35270
  }
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);
35080
35271
  };
35081
- React.useEffect(function () {
35082
- if (selectedValue) {
35083
- onSelect(selectedValue);
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();
35084
35283
  }
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
- }
35284
+ };
35285
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
35286
+ var answerIds = currentQuestion.answerIds;
35287
+ if (!answerIds) {
35288
+ return null;
35094
35289
  }
35095
- }, React__default.createElement("div", {
35096
- style: {
35097
- width: '100%'
35290
+ var answers = onGetAnswers(answerIds);
35291
+ if (!answers) {
35292
+ return null;
35098
35293
  }
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'
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));
35119
35309
  }
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'
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);
35165
35320
  }
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
- })));
35321
+ })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
35174
35322
  };
35175
35323
  var Container$g = /*#__PURE__*/styled.div.withConfig({
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;"]);
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;}"]);
35187
35351
 
35188
35352
  var ProgressBar = function ProgressBar(_ref) {
35189
35353
  var max = _ref.max,
@@ -35242,7 +35406,7 @@ var Container$h = /*#__PURE__*/styled.div.withConfig({
35242
35406
  return props.style;
35243
35407
  });
35244
35408
 
35245
- var img$9 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAEZ0FNQQAAsY58+1GTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAHcSURBVHja7Ji/agJBEId/K/cCdoKFFjZCbGxCekmVOunzCil8hhS+gr3WVmIvKbQxIILFKQjXhCPkASZN5tjd27ud9SRYOKV3u/ftN7P/VESEa4gariRuIHZEkpeUUkYhEZEKbeNrG0mJJ/MlOq0m9odTKRg/W+2OaDfqRh9xkmbPbaBIMrLJfInB/R0AoN2o4+v7B3GSAkAOzAXAwW0XH59QSpEOIzLCEHanuq31Zot+r1sIYcdwNDZgahIblww2GTxrXDb02B9OAIB+r4tOqymCYXtspRQkxMZ6s82lK8SG14jPBnccYmM6W6Df62ZWSkGkNjgt59p4eXyAt1h9NvSoasMJcs5MqWqj0IjEBncuNVdmIwcSYmN/OIlSUjZTnCD2Ui7pXLqK+tKSgTCEtOikBcrAvrQAQE2HkIwwTlJj2l7CBgBERKSUUrTaHQ3lcZI6t3G2IZ0pEhvZ7ssww9E4Wym5YUi6qoQioqDZwmB6emxDtg3ej97fXv0nNN64OHQrutbpbGG8o//2/DRwpsyXFsOI9DDjCv0j+oCkNowakR6iXSks+rjURtDhWS9q+1DtMiL5eC41lar9D8w2pQMVrR1nGym7p9hA/25EcrESXchu/wbcQDzxOwDLF0pIXBCe1wAAAABJRU5ErkJggg==';
35409
+ var img$8 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAEZ0FNQQAAsY58+1GTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAHcSURBVHja7Ji/agJBEId/K/cCdoKFFjZCbGxCekmVOunzCil8hhS+gr3WVmIvKbQxIILFKQjXhCPkASZN5tjd27ud9SRYOKV3u/ftN7P/VESEa4gariRuIHZEkpeUUkYhEZEKbeNrG0mJJ/MlOq0m9odTKRg/W+2OaDfqRh9xkmbPbaBIMrLJfInB/R0AoN2o4+v7B3GSAkAOzAXAwW0XH59QSpEOIzLCEHanuq31Zot+r1sIYcdwNDZgahIblww2GTxrXDb02B9OAIB+r4tOqymCYXtspRQkxMZ6s82lK8SG14jPBnccYmM6W6Df62ZWSkGkNjgt59p4eXyAt1h9NvSoasMJcs5MqWqj0IjEBncuNVdmIwcSYmN/OIlSUjZTnCD2Ui7pXLqK+tKSgTCEtOikBcrAvrQAQE2HkIwwTlJj2l7CBgBERKSUUrTaHQ3lcZI6t3G2IZ0pEhvZ7ssww9E4Wym5YUi6qoQioqDZwmB6emxDtg3ej97fXv0nNN64OHQrutbpbGG8o//2/DRwpsyXFsOI9DDjCv0j+oCkNowakR6iXSks+rjURtDhWS9q+1DtMiL5eC41lar9D8w2pQMVrR1nGym7p9hA/25EcrESXchu/wbcQDzxOwDLF0pIXBCe1wAAAABJRU5ErkJggg==';
35246
35410
 
35247
35411
  var QuestInfo = function QuestInfo(_ref) {
35248
35412
  var quests = _ref.quests,
@@ -35283,8 +35447,8 @@ var QuestInfo = function QuestInfo(_ref) {
35283
35447
  onPointerDown: onRightClick
35284
35448
  }), React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
35285
35449
  className: "drag-handler"
35286
- }, React__default.createElement(Title$3, null, React__default.createElement(Thumbnail, {
35287
- src: quests[currentIndex].thumbnail || img$9
35450
+ }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
35451
+ src: quests[currentIndex].thumbnail || img$8
35288
35452
  }), quests[currentIndex].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
35289
35453
  className: "golden"
35290
35454
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[currentIndex].description)), React__default.createElement(QuestColumn, {
@@ -35302,8 +35466,8 @@ var QuestInfo = function QuestInfo(_ref) {
35302
35466
  }, button.title);
35303
35467
  })))) : React__default.createElement(QuestsContainer, null, React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
35304
35468
  className: "drag-handler"
35305
- }, React__default.createElement(Title$3, null, React__default.createElement(Thumbnail, {
35306
- src: quests[0].thumbnail || img$9
35469
+ }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
35470
+ src: quests[0].thumbnail || img$8
35307
35471
  }), quests[0].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
35308
35472
  className: "golden"
35309
35473
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[0].description)), React__default.createElement(QuestColumn, {
@@ -35349,7 +35513,7 @@ var TitleContainer$1 = /*#__PURE__*/styled.div.withConfig({
35349
35513
  displayName: "QuestInfo__TitleContainer",
35350
35514
  componentId: "sc-15s2boc-6"
35351
35515
  })(["width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;margin-top:1rem;"]);
35352
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
35516
+ var Title$4 = /*#__PURE__*/styled.h1.withConfig({
35353
35517
  displayName: "QuestInfo__Title",
35354
35518
  componentId: "sc-15s2boc-7"
35355
35519
  })(["color:white;z-index:22;font-size:", " !important;color:", " !important;"], uiFonts.size.medium, uiColors.yellow);
@@ -35371,7 +35535,7 @@ var QuestList = function QuestList(_ref) {
35371
35535
  style: {
35372
35536
  width: '100%'
35373
35537
  }
35374
- }, React__default.createElement(Title$4, null, "Quests"), React__default.createElement("hr", {
35538
+ }, React__default.createElement(Title$5, null, "Quests"), React__default.createElement("hr", {
35375
35539
  className: "golden"
35376
35540
  }), React__default.createElement(QuestListContainer, null, quests ? quests.map(function (quest, i) {
35377
35541
  return React__default.createElement("div", {
@@ -35392,7 +35556,7 @@ var QuestDraggableContainer$1 = /*#__PURE__*/styled(DraggableContainer).withConf
35392
35556
  displayName: "QuestList__QuestDraggableContainer",
35393
35557
  componentId: "sc-1a2vx6q-0"
35394
35558
  })([".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;}"]);
35395
- var Title$4 = /*#__PURE__*/styled.h1.withConfig({
35559
+ var Title$5 = /*#__PURE__*/styled.h1.withConfig({
35396
35560
  displayName: "QuestList__Title",
35397
35561
  componentId: "sc-1a2vx6q-1"
35398
35562
  })(["z-index:22;font-size:", " !important;color:yellow !important;"], uiFonts.size.medium);
@@ -35797,9 +35961,9 @@ var Spell = function Spell(_ref) {
35797
35961
  className: "spell"
35798
35962
  }, 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) {
35799
35963
  return word[0];
35800
- })), React__default.createElement(Info, null, React__default.createElement(Title$5, null, React__default.createElement("span", null, name), React__default.createElement("span", {
35964
+ })), React__default.createElement(Info, null, React__default.createElement(Title$6, null, React__default.createElement("span", null, name), React__default.createElement("span", {
35801
35965
  className: "spell"
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", {
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", {
35803
35967
  className: "mana"
35804
35968
  }, manaCost)));
35805
35969
  };
@@ -35818,11 +35982,11 @@ var Info = /*#__PURE__*/styled.span.withConfig({
35818
35982
  displayName: "Spell__Info",
35819
35983
  componentId: "sc-j96fa2-2"
35820
35984
  })(["width:0;flex:1;"]);
35821
- var Title$5 = /*#__PURE__*/styled.p.withConfig({
35985
+ var Title$6 = /*#__PURE__*/styled.p.withConfig({
35822
35986
  displayName: "Spell__Title",
35823
35987
  componentId: "sc-j96fa2-3"
35824
35988
  })(["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);
35825
- var Description = /*#__PURE__*/styled.div.withConfig({
35989
+ var Description$1 = /*#__PURE__*/styled.div.withConfig({
35826
35990
  displayName: "Spell__Description",
35827
35991
  componentId: "sc-j96fa2-4"
35828
35992
  })(["font-size:", " !important;line-height:1.1 !important;"], uiFonts.size.small);
@@ -35888,7 +36052,7 @@ var Spellbook = function Spellbook(_ref) {
35888
36052
  width: "inherit",
35889
36053
  height: "inherit",
35890
36054
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell"
35891
- }, React__default.createElement(Container$k, null, React__default.createElement(Title$6, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
36055
+ }, React__default.createElement(Container$k, null, React__default.createElement(Title$7, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
35892
36056
  setSettingShortcutIndex: setSettingShortcutIndex,
35893
36057
  settingShortcutIndex: settingShortcutIndex,
35894
36058
  shortcuts: shortcuts,
@@ -35916,7 +36080,7 @@ var Spellbook = function Spellbook(_ref) {
35916
36080
  }, spell)));
35917
36081
  }))));
35918
36082
  };
35919
- var Title$6 = /*#__PURE__*/styled.h1.withConfig({
36083
+ var Title$7 = /*#__PURE__*/styled.h1.withConfig({
35920
36084
  displayName: "Spellbook__Title",
35921
36085
  componentId: "sc-r02nfq-0"
35922
36086
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
@@ -35934,16 +36098,16 @@ var TextArea = function TextArea(_ref) {
35934
36098
  return React__default.createElement("textarea", Object.assign({}, props));
35935
36099
  };
35936
36100
 
35937
- var img$a = 'data:image/gif;base64,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';
36101
+ var img$9 = 'data:image/gif;base64,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';
35938
36102
 
35939
- var img$b = 'data:image/gif;base64,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';
36103
+ var img$a = 'data:image/gif;base64,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';
35940
36104
 
35941
- var img$c = 'data:image/gif;base64,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';
36105
+ var img$b = 'data:image/gif;base64,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';
35942
36106
 
35943
36107
  var DayNightPeriod = function DayNightPeriod(_ref) {
35944
36108
  var _periodOfDaySrcFiles;
35945
36109
  var periodOfDay = _ref.periodOfDay;
35946
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$b, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$c, _periodOfDaySrcFiles);
36110
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
35947
36111
  return React__default.createElement(GifContainer, null, React__default.createElement("img", {
35948
36112
  src: periodOfDaySrcFiles[periodOfDay]
35949
36113
  }));
@@ -35953,7 +36117,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
35953
36117
  componentId: "sc-10t97fw-0"
35954
36118
  })(["width:100%;img{width:67%;}"]);
35955
36119
 
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';
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';
35957
36121
 
35958
36122
  var TimeWidget = function TimeWidget(_ref) {
35959
36123
  var onClose = _ref.onClose,
@@ -35968,7 +36132,7 @@ var TimeWidget = function TimeWidget(_ref) {
35968
36132
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
35969
36133
  displayName: "TimeWidget__WidgetContainer",
35970
36134
  componentId: "sc-1ja236h-0"
35971
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$d);
36135
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
35972
36136
  var Time = /*#__PURE__*/styled.div.withConfig({
35973
36137
  displayName: "TimeWidget__Time",
35974
36138
  componentId: "sc-1ja236h-1"
@@ -35988,7 +36152,9 @@ var TradingItemRow = function TradingItemRow(_ref) {
35988
36152
  atlasJSON = _ref.atlasJSON,
35989
36153
  onQuantityChange = _ref.onQuantityChange,
35990
36154
  traderItem = _ref.traderItem,
35991
- selectedQty = _ref.selectedQty;
36155
+ selectedQty = _ref.selectedQty,
36156
+ equipmentSet = _ref.equipmentSet,
36157
+ scale = _ref.scale;
35992
36158
  var onLeftClick = function onLeftClick(qty) {
35993
36159
  if (qty === void 0) {
35994
36160
  qty = 1;
@@ -35996,22 +36162,28 @@ var TradingItemRow = function TradingItemRow(_ref) {
35996
36162
  onQuantityChange(traderItem, Math.max(0, selectedQty - qty));
35997
36163
  };
35998
36164
  var onRightClick = function onRightClick(qty) {
35999
- var _traderItem$qty;
36165
+ var _traderItem$stackQty;
36000
36166
  if (qty === void 0) {
36001
36167
  qty = 1;
36002
36168
  }
36003
- onQuantityChange(traderItem, Math.min((_traderItem$qty = traderItem.qty) != null ? _traderItem$qty : 999, selectedQty + qty));
36169
+ onQuantityChange(traderItem, Math.min((_traderItem$stackQty = traderItem.stackQty) != null ? _traderItem$stackQty : 999, selectedQty + qty));
36004
36170
  };
36005
- return React__default.createElement(ItemWrapper, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer$1, null, React__default.createElement(SpriteFromAtlas, {
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, {
36006
36178
  atlasIMG: atlasIMG,
36007
36179
  atlasJSON: atlasJSON,
36008
36180
  spriteKey: shared.getItemTextureKeyPath({
36009
36181
  key: traderItem.key,
36010
- stackQty: traderItem.qty || 1,
36182
+ stackQty: traderItem.stackQty || 1,
36011
36183
  texturePath: traderItem.texturePath
36012
36184
  }, atlasJSON),
36013
36185
  imgScale: 2.5
36014
- }))), React__default.createElement(ItemNameContainer, null, React__default.createElement(NameValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
36186
+ })))), React__default.createElement(ItemNameContainer, null, React__default.createElement(NameValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
36015
36187
  maxLines: 1,
36016
36188
  maxWidth: "250px"
36017
36189
  }, capitalize(traderItem.name))), React__default.createElement("p", null, "$", traderItem.price))), React__default.createElement(QuantityContainer, null, React__default.createElement(SelectArrow, {
@@ -36084,7 +36256,9 @@ var TradingMenu = function TradingMenu(_ref) {
36084
36256
  atlasJSON = _ref.atlasJSON,
36085
36257
  atlasIMG = _ref.atlasIMG,
36086
36258
  characterAvailableGold = _ref.characterAvailableGold,
36087
- onConfirm = _ref.onConfirm;
36259
+ onConfirm = _ref.onConfirm,
36260
+ equipmentSet = _ref.equipmentSet,
36261
+ scale = _ref.scale;
36088
36262
  var _useState = React.useState(0),
36089
36263
  sum = _useState[0],
36090
36264
  setSum = _useState[1];
@@ -36142,7 +36316,7 @@ var TradingMenu = function TradingMenu(_ref) {
36142
36316
  style: {
36143
36317
  width: '100%'
36144
36318
  }
36145
- }, React__default.createElement(Title$7, null, Capitalize(type), " Menu"), React__default.createElement("hr", {
36319
+ }, React__default.createElement(Title$8, null, Capitalize(type), " Menu"), React__default.createElement("hr", {
36146
36320
  className: "golden"
36147
36321
  })), React__default.createElement(TradingComponentScrollWrapper, {
36148
36322
  id: "TraderContainer"
@@ -36155,7 +36329,9 @@ var TradingMenu = function TradingMenu(_ref) {
36155
36329
  atlasJSON: atlasJSON,
36156
36330
  onQuantityChange: onQuantityChange,
36157
36331
  traderItem: tradeItem,
36158
- selectedQty: (_qtyMap$get = qtyMap.get(tradeItem.key)) != null ? _qtyMap$get : 0
36332
+ selectedQty: (_qtyMap$get = qtyMap.get(tradeItem.key)) != null ? _qtyMap$get : 0,
36333
+ equipmentSet: equipmentSet,
36334
+ scale: scale
36159
36335
  }));
36160
36336
  })), 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, {
36161
36337
  buttonType: exports.ButtonTypes.RPGUIButton,
@@ -36170,7 +36346,7 @@ var TradingMenu = function TradingMenu(_ref) {
36170
36346
  }
36171
36347
  }, "Cancel"))));
36172
36348
  };
36173
- var Title$7 = /*#__PURE__*/styled.h1.withConfig({
36349
+ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
36174
36350
  displayName: "TradingMenu__Title",
36175
36351
  componentId: "sc-1wjsz1l-0"
36176
36352
  })(["z-index:22;font-size:0.6rem;color:yellow !important;"]);
@@ -36215,6 +36391,219 @@ var Container$l = /*#__PURE__*/styled.div.withConfig({
36215
36391
  return props.maxLines;
36216
36392
  });
36217
36393
 
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
+
36218
36607
  exports.Button = Button;
36219
36608
  exports.CharacterSelection = CharacterSelection;
36220
36609
  exports.Chat = Chat;
@@ -36227,6 +36616,7 @@ exports.Dropdown = Dropdown;
36227
36616
  exports.DropdownSelectorContainer = DropdownSelectorContainer;
36228
36617
  exports.DynamicText = DynamicText;
36229
36618
  exports.EquipmentSet = EquipmentSet;
36619
+ exports.EquipmentSlotSpriteByType = EquipmentSlotSpriteByType;
36230
36620
  exports.ErrorBoundary = ErrorBoundary;
36231
36621
  exports.HistoryDialog = HistoryDialog;
36232
36622
  exports.Input = Input;
@@ -36255,5 +36645,6 @@ exports.TimeWidget = TimeWidget;
36255
36645
  exports.TradingMenu = TradingMenu;
36256
36646
  exports.Truncate = Truncate;
36257
36647
  exports._RPGUI = _RPGUI;
36648
+ exports.rarityColor = rarityColor;
36258
36649
  exports.useEventListener = useEventListener;
36259
36650
  //# sourceMappingURL=long-bow.cjs.development.js.map