@hytopia.com/examples 1.0.27 → 1.0.28

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 (347) hide show
  1. package/frontiers-rpg-game/assets/avatars/bookshelf.png +0 -0
  2. package/frontiers-rpg-game/assets/avatars/gravekeeper.png +0 -0
  3. package/frontiers-rpg-game/assets/avatars/herder.png +0 -0
  4. package/frontiers-rpg-game/assets/blocks/bricks.png +0 -0
  5. package/frontiers-rpg-game/assets/blocks/clay.png +0 -0
  6. package/frontiers-rpg-game/assets/blocks/coal-ore.png +0 -0
  7. package/frontiers-rpg-game/assets/blocks/cobblestone-mossy.png +0 -0
  8. package/frontiers-rpg-game/assets/blocks/cobblestone.png +0 -0
  9. package/frontiers-rpg-game/assets/blocks/creep.png +0 -0
  10. package/frontiers-rpg-game/assets/blocks/diamond-ore.png +0 -0
  11. package/frontiers-rpg-game/assets/blocks/emerald-block.png +0 -0
  12. package/frontiers-rpg-game/assets/blocks/emerald-ore.png +0 -0
  13. package/frontiers-rpg-game/assets/blocks/glass.png +0 -0
  14. package/frontiers-rpg-game/assets/blocks/gold-ore.png +0 -0
  15. package/frontiers-rpg-game/assets/blocks/green_fungus/+x.png +0 -0
  16. package/frontiers-rpg-game/assets/blocks/green_fungus/+y.png +0 -0
  17. package/frontiers-rpg-game/assets/blocks/green_fungus/+z.png +0 -0
  18. package/frontiers-rpg-game/assets/blocks/green_fungus/-x.png +0 -0
  19. package/frontiers-rpg-game/assets/blocks/green_fungus/-y.png +0 -0
  20. package/frontiers-rpg-game/assets/blocks/green_fungus/-z.png +0 -0
  21. package/frontiers-rpg-game/assets/blocks/log/+x.png +0 -0
  22. package/frontiers-rpg-game/assets/blocks/log/+y.png +0 -0
  23. package/frontiers-rpg-game/assets/blocks/log/+z.png +0 -0
  24. package/frontiers-rpg-game/assets/blocks/log/-x.png +0 -0
  25. package/frontiers-rpg-game/assets/blocks/log/-y.png +0 -0
  26. package/frontiers-rpg-game/assets/blocks/log/-z.png +0 -0
  27. package/frontiers-rpg-game/assets/blocks/mossy_dirt/+x.png +0 -0
  28. package/frontiers-rpg-game/assets/blocks/mossy_dirt/+y.png +0 -0
  29. package/frontiers-rpg-game/assets/blocks/mossy_dirt/+z.png +0 -0
  30. package/frontiers-rpg-game/assets/blocks/mossy_dirt/-x.png +0 -0
  31. package/frontiers-rpg-game/assets/blocks/mossy_dirt/-y.png +0 -0
  32. package/frontiers-rpg-game/assets/blocks/mossy_dirt/-z.png +0 -0
  33. package/frontiers-rpg-game/assets/blocks/murky-water.png +0 -0
  34. package/frontiers-rpg-game/assets/blocks/mushroom_top/+x.png +0 -0
  35. package/frontiers-rpg-game/assets/blocks/mushroom_top/+y.png +0 -0
  36. package/frontiers-rpg-game/assets/blocks/mushroom_top/+z.png +0 -0
  37. package/frontiers-rpg-game/assets/blocks/mushroom_top/-x.png +0 -0
  38. package/frontiers-rpg-game/assets/blocks/mushroom_top/-y.png +0 -0
  39. package/frontiers-rpg-game/assets/blocks/mushroom_top/-z.png +0 -0
  40. package/frontiers-rpg-game/assets/blocks/oak-planks-leafy.png +0 -0
  41. package/frontiers-rpg-game/assets/blocks/oak-planks-leafyer.png +0 -0
  42. package/frontiers-rpg-game/assets/blocks/oak-planks-leafyerer.png +0 -0
  43. package/frontiers-rpg-game/assets/blocks/sand.png +0 -0
  44. package/frontiers-rpg-game/assets/blocks/sandstone.png +0 -0
  45. package/frontiers-rpg-game/assets/blocks/shadowrock.png +0 -0
  46. package/frontiers-rpg-game/assets/blocks/snow-rough.png +0 -0
  47. package/frontiers-rpg-game/assets/blocks/snow.png +0 -0
  48. package/frontiers-rpg-game/assets/icons/items/brittle-nails.png +0 -0
  49. package/frontiers-rpg-game/assets/icons/items/chieftan-blade.png +0 -0
  50. package/frontiers-rpg-game/assets/icons/items/gold-ingot.png +0 -0
  51. package/frontiers-rpg-game/assets/icons/items/gorkin-ear.png +0 -0
  52. package/frontiers-rpg-game/assets/icons/items/gorkin-eye.png +0 -0
  53. package/frontiers-rpg-game/assets/icons/items/gorkin-foot.png +0 -0
  54. package/frontiers-rpg-game/assets/icons/items/gorkin-hand.png +0 -0
  55. package/frontiers-rpg-game/assets/icons/items/gorkin-skull.png +0 -0
  56. package/frontiers-rpg-game/assets/icons/items/healing-potion.png +0 -0
  57. package/frontiers-rpg-game/assets/icons/items/iron-chestplate.png +0 -0
  58. package/frontiers-rpg-game/assets/icons/items/iron-gauntlets.png +0 -0
  59. package/frontiers-rpg-game/assets/icons/items/iron-grieves.png +0 -0
  60. package/frontiers-rpg-game/assets/icons/items/iron-helmet.png +0 -0
  61. package/frontiers-rpg-game/assets/icons/items/iron-ingot.png +0 -0
  62. package/frontiers-rpg-game/assets/icons/items/iron-leggings.png +0 -0
  63. package/frontiers-rpg-game/assets/icons/items/shackle.png +0 -0
  64. package/frontiers-rpg-game/assets/icons/items/shattered-sword.png +0 -0
  65. package/frontiers-rpg-game/assets/icons/items/silver-slab.png +0 -0
  66. package/frontiers-rpg-game/assets/icons/items/tough-monster-hide.png +0 -0
  67. package/frontiers-rpg-game/assets/icons/items/weaver-carapace.png +0 -0
  68. package/frontiers-rpg-game/assets/icons/items/weaver-egg.png +0 -0
  69. package/frontiers-rpg-game/assets/icons/items/weaver-heart.png +0 -0
  70. package/frontiers-rpg-game/assets/icons/items/weaver-silk.png +0 -0
  71. package/frontiers-rpg-game/assets/icons/items/woolran-scroll.png +0 -0
  72. package/frontiers-rpg-game/assets/maps/chitter-forest.json +5193 -5203
  73. package/frontiers-rpg-game/assets/maps/hearthwilds.json +21381 -2612
  74. package/frontiers-rpg-game/assets/models/enemies/.optimized/angler/angler-named-nodes.bin +0 -0
  75. package/frontiers-rpg-game/assets/models/enemies/.optimized/angler/angler-named-nodes.gltf +5472 -0
  76. package/frontiers-rpg-game/assets/models/enemies/.optimized/angler/angler.bin +0 -0
  77. package/frontiers-rpg-game/assets/models/enemies/.optimized/angler/angler.gltf +4122 -0
  78. package/frontiers-rpg-game/assets/models/enemies/.optimized/angler/angler.gltf.md5 +1 -0
  79. package/frontiers-rpg-game/assets/models/enemies/.optimized/angler/baseColor.png +0 -0
  80. package/frontiers-rpg-game/assets/models/enemies/.optimized/blight-knight-ceres/baseColor.png +0 -0
  81. package/frontiers-rpg-game/assets/models/enemies/.optimized/blight-knight-ceres/blight-knight-ceres-named-nodes.bin +0 -0
  82. package/frontiers-rpg-game/assets/models/enemies/.optimized/blight-knight-ceres/blight-knight-ceres-named-nodes.gltf +17967 -0
  83. package/frontiers-rpg-game/assets/models/enemies/.optimized/blight-knight-ceres/blight-knight-ceres.bin +0 -0
  84. package/frontiers-rpg-game/assets/models/enemies/.optimized/blight-knight-ceres/blight-knight-ceres.gltf +17403 -0
  85. package/frontiers-rpg-game/assets/models/enemies/.optimized/blight-knight-ceres/blight-knight-ceres.gltf.md5 +1 -0
  86. package/frontiers-rpg-game/assets/models/enemies/.optimized/blighted-capfolk/baseColor.png +0 -0
  87. package/frontiers-rpg-game/assets/models/enemies/.optimized/blighted-capfolk/blighted-capfolk-named-nodes.bin +0 -0
  88. package/frontiers-rpg-game/assets/models/enemies/.optimized/blighted-capfolk/blighted-capfolk-named-nodes.gltf +1658 -0
  89. package/frontiers-rpg-game/assets/models/enemies/.optimized/blighted-capfolk/blighted-capfolk.bin +0 -0
  90. package/frontiers-rpg-game/assets/models/enemies/.optimized/blighted-capfolk/blighted-capfolk.gltf +1658 -0
  91. package/frontiers-rpg-game/assets/models/enemies/.optimized/blighted-capfolk/blighted-capfolk.gltf.md5 +1 -0
  92. package/frontiers-rpg-game/assets/models/enemies/.optimized/capfolk-guardian/baseColor.png +0 -0
  93. package/frontiers-rpg-game/assets/models/enemies/.optimized/capfolk-guardian/capfolk-guardian-named-nodes.bin +0 -0
  94. package/frontiers-rpg-game/assets/models/enemies/.optimized/capfolk-guardian/capfolk-guardian-named-nodes.gltf +9410 -0
  95. package/frontiers-rpg-game/assets/models/enemies/.optimized/capfolk-guardian/capfolk-guardian.bin +0 -0
  96. package/frontiers-rpg-game/assets/models/enemies/.optimized/capfolk-guardian/capfolk-guardian.gltf +4261 -0
  97. package/frontiers-rpg-game/assets/models/enemies/.optimized/capfolk-guardian/capfolk-guardian.gltf.md5 +1 -0
  98. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-archer/baseColor_1.png +0 -0
  99. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-archer/baseColor_2.png +0 -0
  100. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-archer/gorkin-archer-named-nodes.bin +0 -0
  101. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-archer/gorkin-archer-named-nodes.gltf +6093 -0
  102. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-archer/gorkin-archer.bin +0 -0
  103. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-archer/gorkin-archer.gltf +4430 -0
  104. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-archer/gorkin-archer.gltf.md5 +1 -0
  105. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-assassin/baseColor_1.png +0 -0
  106. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-assassin/baseColor_2.png +0 -0
  107. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-assassin/gorkin-assassin-named-nodes.bin +0 -0
  108. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-assassin/gorkin-assassin-named-nodes.gltf +5441 -0
  109. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-assassin/gorkin-assassin.bin +0 -0
  110. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-assassin/gorkin-assassin.gltf +4084 -0
  111. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-assassin/gorkin-assassin.gltf.md5 +1 -0
  112. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-blademaster/baseColor.png +0 -0
  113. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-blademaster/gorkin-blademaster-named-nodes.bin +0 -0
  114. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-blademaster/gorkin-blademaster-named-nodes.gltf +5302 -0
  115. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-blademaster/gorkin-blademaster.bin +0 -0
  116. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-blademaster/gorkin-blademaster.gltf +4134 -0
  117. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-blademaster/gorkin-blademaster.gltf.md5 +1 -0
  118. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-chieftan/baseColor.png +0 -0
  119. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-chieftan/gorkin-chieftan-named-nodes.bin +0 -0
  120. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-chieftan/gorkin-chieftan-named-nodes.gltf +7052 -0
  121. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-chieftan/gorkin-chieftan.bin +0 -0
  122. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-chieftan/gorkin-chieftan.gltf +5581 -0
  123. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-chieftan/gorkin-chieftan.gltf.md5 +1 -0
  124. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-enforcer/baseColor.png +0 -0
  125. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-enforcer/gorkin-enforcer-named-nodes.bin +0 -0
  126. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-enforcer/gorkin-enforcer-named-nodes.gltf +4086 -0
  127. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-enforcer/gorkin-enforcer.bin +0 -0
  128. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-enforcer/gorkin-enforcer.gltf +3472 -0
  129. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-enforcer/gorkin-enforcer.gltf.md5 +1 -0
  130. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-grunt/baseColor.png +0 -0
  131. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-grunt/gorkin-grunt-named-nodes.bin +0 -0
  132. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-grunt/gorkin-grunt-named-nodes.gltf +3698 -0
  133. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-grunt/gorkin-grunt.bin +0 -0
  134. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-grunt/gorkin-grunt.gltf +3193 -0
  135. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-grunt/gorkin-grunt.gltf.md5 +1 -0
  136. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-hunter/baseColor.png +0 -0
  137. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-hunter/gorkin-hunter-named-nodes.bin +0 -0
  138. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-hunter/gorkin-hunter-named-nodes.gltf +3985 -0
  139. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-hunter/gorkin-hunter.bin +0 -0
  140. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-hunter/gorkin-hunter.gltf +3092 -0
  141. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-hunter/gorkin-hunter.gltf.md5 +1 -0
  142. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-shaman/baseColor.png +0 -0
  143. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-shaman/gorkin-shaman-named-nodes.bin +0 -0
  144. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-shaman/gorkin-shaman-named-nodes.gltf +3850 -0
  145. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-shaman/gorkin-shaman.bin +0 -0
  146. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-shaman/gorkin-shaman.gltf +3100 -0
  147. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-shaman/gorkin-shaman.gltf.md5 +1 -0
  148. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-swordsman/baseColor.png +0 -0
  149. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-swordsman/gorkin-swordsman-named-nodes.bin +0 -0
  150. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-swordsman/gorkin-swordsman-named-nodes.gltf +4087 -0
  151. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-swordsman/gorkin-swordsman.bin +0 -0
  152. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-swordsman/gorkin-swordsman.gltf +3582 -0
  153. package/frontiers-rpg-game/assets/models/enemies/.optimized/gorkin-swordsman/gorkin-swordsman.gltf.md5 +1 -0
  154. package/frontiers-rpg-game/assets/models/enemies/.optimized/mother-viper/baseColor.png +0 -0
  155. package/frontiers-rpg-game/assets/models/enemies/.optimized/mother-viper/mother-viper-named-nodes.bin +0 -0
  156. package/frontiers-rpg-game/assets/models/enemies/.optimized/mother-viper/mother-viper-named-nodes.gltf +4212 -0
  157. package/frontiers-rpg-game/assets/models/enemies/.optimized/mother-viper/mother-viper.bin +0 -0
  158. package/frontiers-rpg-game/assets/models/enemies/.optimized/mother-viper/mother-viper.gltf +3993 -0
  159. package/frontiers-rpg-game/assets/models/enemies/.optimized/mother-viper/mother-viper.gltf.md5 +1 -0
  160. package/frontiers-rpg-game/assets/models/enemies/.optimized/reclusive-weaver/baseColor.png +0 -0
  161. package/frontiers-rpg-game/assets/models/enemies/.optimized/reclusive-weaver/reclusive-weaver-named-nodes.bin +0 -0
  162. package/frontiers-rpg-game/assets/models/enemies/.optimized/reclusive-weaver/reclusive-weaver-named-nodes.gltf +7978 -0
  163. package/frontiers-rpg-game/assets/models/enemies/.optimized/reclusive-weaver/reclusive-weaver.bin +0 -0
  164. package/frontiers-rpg-game/assets/models/enemies/.optimized/reclusive-weaver/reclusive-weaver.gltf +7978 -0
  165. package/frontiers-rpg-game/assets/models/enemies/.optimized/reclusive-weaver/reclusive-weaver.gltf.md5 +1 -0
  166. package/frontiers-rpg-game/assets/models/enemies/.optimized/sickly-capfolk/baseColor.png +0 -0
  167. package/frontiers-rpg-game/assets/models/enemies/.optimized/sickly-capfolk/sickly-capfolk-named-nodes.bin +0 -0
  168. package/frontiers-rpg-game/assets/models/enemies/.optimized/sickly-capfolk/sickly-capfolk-named-nodes.gltf +1708 -0
  169. package/frontiers-rpg-game/assets/models/enemies/.optimized/sickly-capfolk/sickly-capfolk.bin +0 -0
  170. package/frontiers-rpg-game/assets/models/enemies/.optimized/sickly-capfolk/sickly-capfolk.gltf +1667 -0
  171. package/frontiers-rpg-game/assets/models/enemies/.optimized/sickly-capfolk/sickly-capfolk.gltf.md5 +1 -0
  172. package/frontiers-rpg-game/assets/models/enemies/.optimized/snapjaw/baseColor.png +0 -0
  173. package/frontiers-rpg-game/assets/models/enemies/.optimized/snapjaw/snapjaw-named-nodes.bin +0 -0
  174. package/frontiers-rpg-game/assets/models/enemies/.optimized/snapjaw/snapjaw-named-nodes.gltf +12107 -0
  175. package/frontiers-rpg-game/assets/models/enemies/.optimized/snapjaw/snapjaw.bin +0 -0
  176. package/frontiers-rpg-game/assets/models/enemies/.optimized/snapjaw/snapjaw.gltf +9663 -0
  177. package/frontiers-rpg-game/assets/models/enemies/.optimized/snapjaw/snapjaw.gltf.md5 +1 -0
  178. package/frontiers-rpg-game/assets/models/enemies/.optimized/toxic-frog/baseColor.png +0 -0
  179. package/frontiers-rpg-game/assets/models/enemies/.optimized/toxic-frog/toxic-frog-named-nodes.bin +0 -0
  180. package/frontiers-rpg-game/assets/models/enemies/.optimized/toxic-frog/toxic-frog-named-nodes.gltf +5550 -0
  181. package/frontiers-rpg-game/assets/models/enemies/.optimized/toxic-frog/toxic-frog.bin +0 -0
  182. package/frontiers-rpg-game/assets/models/enemies/.optimized/toxic-frog/toxic-frog.gltf +5550 -0
  183. package/frontiers-rpg-game/assets/models/enemies/.optimized/toxic-frog/toxic-frog.gltf.md5 +1 -0
  184. package/frontiers-rpg-game/assets/models/enemies/angler.gltf +1 -0
  185. package/frontiers-rpg-game/assets/models/enemies/blight-knight-ceres.gltf +1 -0
  186. package/frontiers-rpg-game/assets/models/enemies/blighted-capfolk.gltf +1 -0
  187. package/frontiers-rpg-game/assets/models/enemies/capfolk-guardian.gltf +1 -0
  188. package/frontiers-rpg-game/assets/models/enemies/gorkin-chieftan.gltf +1 -0
  189. package/frontiers-rpg-game/assets/models/enemies/gorkin-enforcer.gltf +1 -0
  190. package/frontiers-rpg-game/assets/models/enemies/gorkin-grunt.gltf +1 -0
  191. package/frontiers-rpg-game/assets/models/enemies/gorkin-hunter.gltf +1 -0
  192. package/frontiers-rpg-game/assets/models/enemies/gorkin-shaman.gltf +1 -0
  193. package/frontiers-rpg-game/assets/models/enemies/gorkin-swordsman.gltf +1 -0
  194. package/frontiers-rpg-game/assets/models/enemies/reclusive-weaver.gltf +1 -0
  195. package/frontiers-rpg-game/assets/models/enemies/sickly-capfolk.gltf +1 -0
  196. package/frontiers-rpg-game/assets/models/enemies/snapjaw.gltf +1 -0
  197. package/frontiers-rpg-game/assets/models/enemies/toxic-frog.gltf +1 -0
  198. package/frontiers-rpg-game/assets/models/environment/.optimized/banner-hytopia-1/banner-hytopia-1-named-nodes.bin +0 -0
  199. package/frontiers-rpg-game/assets/models/environment/.optimized/banner-hytopia-1/banner-hytopia-1-named-nodes.gltf +260 -0
  200. package/frontiers-rpg-game/assets/models/environment/.optimized/banner-hytopia-1/banner-hytopia-1.bin +0 -0
  201. package/frontiers-rpg-game/assets/models/environment/.optimized/banner-hytopia-1/banner-hytopia-1.gltf +136 -0
  202. package/frontiers-rpg-game/assets/models/environment/.optimized/banner-hytopia-1/banner-hytopia-1.gltf.md5 +1 -0
  203. package/frontiers-rpg-game/assets/models/environment/.optimized/banner-hytopia-1/baseColor.png +0 -0
  204. package/frontiers-rpg-game/assets/models/environment/.optimized/bookshelf/baseColor.png +0 -0
  205. package/frontiers-rpg-game/assets/models/environment/.optimized/bookshelf/bookshelf-named-nodes.bin +0 -0
  206. package/frontiers-rpg-game/assets/models/environment/.optimized/bookshelf/bookshelf-named-nodes.gltf +882 -0
  207. package/frontiers-rpg-game/assets/models/environment/.optimized/bookshelf/bookshelf.bin +0 -0
  208. package/frontiers-rpg-game/assets/models/environment/.optimized/bookshelf/bookshelf.gltf +136 -0
  209. package/frontiers-rpg-game/assets/models/environment/.optimized/bookshelf/bookshelf.gltf.md5 +1 -0
  210. package/frontiers-rpg-game/assets/models/environment/.optimized/training-dummy/baseColor.png +0 -0
  211. package/frontiers-rpg-game/assets/models/environment/.optimized/training-dummy/training-dummy-named-nodes.bin +0 -0
  212. package/frontiers-rpg-game/assets/models/environment/.optimized/training-dummy/training-dummy-named-nodes.gltf +1312 -0
  213. package/frontiers-rpg-game/assets/models/environment/.optimized/training-dummy/training-dummy.bin +0 -0
  214. package/frontiers-rpg-game/assets/models/environment/.optimized/training-dummy/training-dummy.gltf +1006 -0
  215. package/frontiers-rpg-game/assets/models/environment/.optimized/training-dummy/training-dummy.gltf.md5 +1 -0
  216. package/frontiers-rpg-game/assets/models/environment/.optimized/weapon-rack/baseColor_1.png +0 -0
  217. package/frontiers-rpg-game/assets/models/environment/.optimized/weapon-rack/baseColor_2.png +0 -0
  218. package/frontiers-rpg-game/assets/models/environment/.optimized/weapon-rack/baseColor_3.png +0 -0
  219. package/frontiers-rpg-game/assets/models/environment/.optimized/weapon-rack/baseColor_4.png +0 -0
  220. package/frontiers-rpg-game/assets/models/environment/.optimized/weapon-rack/weapon-rack-named-nodes.bin +0 -0
  221. package/frontiers-rpg-game/assets/models/environment/.optimized/weapon-rack/weapon-rack-named-nodes.gltf +909 -0
  222. package/frontiers-rpg-game/assets/models/environment/.optimized/weapon-rack/weapon-rack.bin +0 -0
  223. package/frontiers-rpg-game/assets/models/environment/.optimized/weapon-rack/weapon-rack.gltf +418 -0
  224. package/frontiers-rpg-game/assets/models/environment/.optimized/weapon-rack/weapon-rack.gltf.md5 +1 -0
  225. package/frontiers-rpg-game/assets/models/environment/banner-hytopia-1.gltf +1 -0
  226. package/frontiers-rpg-game/assets/models/environment/bookshelf.gltf +1 -0
  227. package/frontiers-rpg-game/assets/models/environment/training-dummy.gltf +1 -0
  228. package/frontiers-rpg-game/assets/models/environment/weapon-rack.gltf +1 -0
  229. package/frontiers-rpg-game/assets/models/forageables/.optimized/abandoned-crate/abandoned-crate-named-nodes.bin +0 -0
  230. package/frontiers-rpg-game/assets/models/forageables/.optimized/abandoned-crate/abandoned-crate-named-nodes.gltf +724 -0
  231. package/frontiers-rpg-game/assets/models/forageables/.optimized/abandoned-crate/abandoned-crate.bin +0 -0
  232. package/frontiers-rpg-game/assets/models/forageables/.optimized/abandoned-crate/abandoned-crate.gltf +131 -0
  233. package/frontiers-rpg-game/assets/models/forageables/.optimized/abandoned-crate/abandoned-crate.gltf.md5 +1 -0
  234. package/frontiers-rpg-game/assets/models/forageables/.optimized/abandoned-crate/baseColor.png +0 -0
  235. package/frontiers-rpg-game/assets/models/forageables/.optimized/weathered-stump/baseColor.png +0 -0
  236. package/frontiers-rpg-game/assets/models/forageables/.optimized/weathered-stump/weathered-stump-named-nodes.bin +0 -0
  237. package/frontiers-rpg-game/assets/models/forageables/.optimized/weathered-stump/weathered-stump-named-nodes.gltf +521 -0
  238. package/frontiers-rpg-game/assets/models/forageables/.optimized/weathered-stump/weathered-stump.bin +0 -0
  239. package/frontiers-rpg-game/assets/models/forageables/.optimized/weathered-stump/weathered-stump.gltf +136 -0
  240. package/frontiers-rpg-game/assets/models/forageables/.optimized/weathered-stump/weathered-stump.gltf.md5 +1 -0
  241. package/frontiers-rpg-game/assets/models/forageables/abandoned-crate.gltf +1 -0
  242. package/frontiers-rpg-game/assets/models/forageables/weathered-stump.gltf +1 -0
  243. package/frontiers-rpg-game/assets/models/mounts/.optimized/woolran/baseColor.png +0 -0
  244. package/frontiers-rpg-game/assets/models/mounts/.optimized/woolran/woolran-named-nodes.bin +0 -0
  245. package/frontiers-rpg-game/assets/models/mounts/.optimized/woolran/woolran-named-nodes.gltf +6889 -0
  246. package/frontiers-rpg-game/assets/models/mounts/.optimized/woolran/woolran.bin +0 -0
  247. package/frontiers-rpg-game/assets/models/mounts/.optimized/woolran/woolran.gltf +4486 -0
  248. package/frontiers-rpg-game/assets/models/mounts/.optimized/woolran/woolran.gltf.md5 +1 -0
  249. package/frontiers-rpg-game/assets/models/mounts/woolran.gltf +1 -0
  250. package/frontiers-rpg-game/assets/models/npcs/.optimized/gravekeeper/baseColor.png +0 -0
  251. package/frontiers-rpg-game/assets/models/npcs/.optimized/gravekeeper/gravekeeper-named-nodes.bin +0 -0
  252. package/frontiers-rpg-game/assets/models/npcs/.optimized/gravekeeper/gravekeeper-named-nodes.gltf +3049 -0
  253. package/frontiers-rpg-game/assets/models/npcs/.optimized/gravekeeper/gravekeeper.bin +0 -0
  254. package/frontiers-rpg-game/assets/models/npcs/.optimized/gravekeeper/gravekeeper.gltf +1647 -0
  255. package/frontiers-rpg-game/assets/models/npcs/.optimized/gravekeeper/gravekeeper.gltf.md5 +1 -0
  256. package/frontiers-rpg-game/assets/models/npcs/.optimized/herder/baseColor.png +0 -0
  257. package/frontiers-rpg-game/assets/models/npcs/.optimized/herder/herder-named-nodes.bin +0 -0
  258. package/frontiers-rpg-game/assets/models/npcs/.optimized/herder/herder-named-nodes.gltf +3259 -0
  259. package/frontiers-rpg-game/assets/models/npcs/.optimized/herder/herder.bin +0 -0
  260. package/frontiers-rpg-game/assets/models/npcs/.optimized/herder/herder.gltf +1615 -0
  261. package/frontiers-rpg-game/assets/models/npcs/.optimized/herder/herder.gltf.md5 +1 -0
  262. package/frontiers-rpg-game/assets/models/players/.optimized/player/player-named-nodes.bin +0 -0
  263. package/frontiers-rpg-game/assets/models/players/.optimized/player/player-named-nodes.gltf +7802 -6249
  264. package/frontiers-rpg-game/assets/models/players/.optimized/player/player.bin +0 -0
  265. package/frontiers-rpg-game/assets/models/players/.optimized/player/player.gltf +7046 -5480
  266. package/frontiers-rpg-game/assets/models/players/.optimized/player/player.gltf.md5 +1 -1
  267. package/frontiers-rpg-game/assets/models/players/player.gltf +1 -1
  268. package/frontiers-rpg-game/assets/models/weapons/.optimized/chieftan-blade/baseColor.png +0 -0
  269. package/frontiers-rpg-game/assets/models/weapons/.optimized/chieftan-blade/chieftan-blade-named-nodes.bin +0 -0
  270. package/frontiers-rpg-game/assets/models/weapons/.optimized/chieftan-blade/chieftan-blade-named-nodes.gltf +726 -0
  271. package/frontiers-rpg-game/assets/models/weapons/.optimized/chieftan-blade/chieftan-blade.bin +0 -0
  272. package/frontiers-rpg-game/assets/models/weapons/.optimized/chieftan-blade/chieftan-blade.gltf +335 -0
  273. package/frontiers-rpg-game/assets/models/weapons/.optimized/chieftan-blade/chieftan-blade.gltf.md5 +1 -0
  274. package/frontiers-rpg-game/assets/models/weapons/chieftan-blade.gltf +1 -0
  275. package/frontiers-rpg-game/assets/particles/dirt.png +0 -0
  276. package/frontiers-rpg-game/assets/ui/index.html +50 -7
  277. package/frontiers-rpg-game/assets/ui/menus/dialogue.html +30 -4
  278. package/frontiers-rpg-game/assets/ui/shared/item-stats.html +1 -1
  279. package/frontiers-rpg-game/assets/ui/shared/item-tooltips.html +19 -2
  280. package/frontiers-rpg-game/src/GameClock.ts +14 -0
  281. package/frontiers-rpg-game/src/GameManager.ts +1 -4
  282. package/frontiers-rpg-game/src/GameRegion.ts +6 -2
  283. package/frontiers-rpg-game/src/entities/BaseCombatEntity.ts +58 -26
  284. package/frontiers-rpg-game/src/entities/BaseEntity.ts +10 -3
  285. package/frontiers-rpg-game/src/entities/enemies/GorkinChieftanEntity.ts +190 -0
  286. package/frontiers-rpg-game/src/entities/enemies/GorkinEnforcerEntity.ts +87 -0
  287. package/frontiers-rpg-game/src/entities/enemies/GorkinGruntEntity.ts +113 -0
  288. package/frontiers-rpg-game/src/entities/enemies/GorkinHunterEntity.ts +90 -0
  289. package/frontiers-rpg-game/src/entities/enemies/GorkinShamanEntity.ts +154 -0
  290. package/frontiers-rpg-game/src/entities/enemies/GorkinSwordsmanEntity.ts +121 -0
  291. package/frontiers-rpg-game/src/entities/enemies/QueenWeaverEntity.ts +8 -0
  292. package/frontiers-rpg-game/src/entities/enemies/RatkinBruteEntity.ts +14 -0
  293. package/frontiers-rpg-game/src/entities/enemies/RatkinRangerEntity.ts +8 -0
  294. package/frontiers-rpg-game/src/entities/enemies/RatkinSpellcasterEntity.ts +8 -0
  295. package/frontiers-rpg-game/src/entities/enemies/RatkinWarriorEntity.ts +12 -0
  296. package/frontiers-rpg-game/src/entities/enemies/ReclusiveWeaverEntity.ts +119 -0
  297. package/frontiers-rpg-game/src/entities/{environmental → enemies}/SpiderWebEntity.ts +14 -8
  298. package/frontiers-rpg-game/src/entities/enemies/TaintedRatkinBruteEntity.ts +6 -0
  299. package/frontiers-rpg-game/src/entities/enemies/TaintedRatkinWarriorEntity.ts +4 -0
  300. package/frontiers-rpg-game/src/entities/enemies/WeaverBroodlingEntity.ts +5 -1
  301. package/frontiers-rpg-game/src/entities/forageables/AbandonedCrateEntity.ts +57 -0
  302. package/frontiers-rpg-game/src/entities/forageables/WeatheredStumpEntity.ts +37 -0
  303. package/frontiers-rpg-game/src/entities/npcs/WoolranEntity.ts +26 -0
  304. package/frontiers-rpg-game/src/items/ItemClasses.ts +45 -1
  305. package/frontiers-rpg-game/src/items/ItemUIDataHelper.ts +3 -1
  306. package/frontiers-rpg-game/src/items/consumables/HealingPotionItem.ts +20 -0
  307. package/frontiers-rpg-game/src/items/materials/GoldIngotItem.ts +11 -0
  308. package/frontiers-rpg-game/src/items/materials/GorkinEarItem.ts +10 -0
  309. package/frontiers-rpg-game/src/items/materials/GorkinEyeItem.ts +10 -0
  310. package/frontiers-rpg-game/src/items/materials/GorkinFootItem.ts +10 -0
  311. package/frontiers-rpg-game/src/items/materials/GorkinHandItem.ts +10 -0
  312. package/frontiers-rpg-game/src/items/materials/GorkinSkullItem.ts +10 -0
  313. package/frontiers-rpg-game/src/items/materials/IronIngotItem.ts +11 -0
  314. package/frontiers-rpg-game/src/items/materials/ShackleItem.ts +10 -0
  315. package/frontiers-rpg-game/src/items/materials/ShatteredSwordItem.ts +10 -0
  316. package/frontiers-rpg-game/src/items/materials/SilverSlabItem.ts +11 -0
  317. package/frontiers-rpg-game/src/items/materials/ToughMonsterHide.ts +10 -0
  318. package/frontiers-rpg-game/src/items/materials/WeaverCarapaceItem.ts +11 -0
  319. package/frontiers-rpg-game/src/items/materials/WeaverEggItem.ts +11 -0
  320. package/frontiers-rpg-game/src/items/materials/WeaverHeartItem.ts +10 -0
  321. package/frontiers-rpg-game/src/items/materials/WeaverSilkItem.ts +10 -0
  322. package/frontiers-rpg-game/src/items/weapons/ChieftanBladeItem.ts +70 -0
  323. package/frontiers-rpg-game/src/items/wearables/IronChestplateItem.ts +15 -0
  324. package/frontiers-rpg-game/src/items/wearables/IronGauntletsItem.ts +14 -0
  325. package/frontiers-rpg-game/src/items/wearables/IronGrievesItem.ts +14 -0
  326. package/frontiers-rpg-game/src/items/wearables/IronHelmetItem.ts +15 -0
  327. package/frontiers-rpg-game/src/items/wearables/IronLeggingsItem.ts +15 -0
  328. package/frontiers-rpg-game/src/quests/QuestClasses.ts +6 -0
  329. package/frontiers-rpg-game/src/quests/main/AncientWisdomQuest.ts +125 -0
  330. package/frontiers-rpg-game/src/quests/main/BlightedHarvestQuest.ts +27 -5
  331. package/frontiers-rpg-game/src/quests/side/SkullTrinketsQuest.ts +202 -0
  332. package/frontiers-rpg-game/src/quests/side/WeaverSquashingQuest.ts +128 -0
  333. package/frontiers-rpg-game/src/regions/chitter-forest/ChitterForestRegion.ts +25 -0
  334. package/frontiers-rpg-game/src/regions/hearthwilds/HearthwildsRegion.ts +175 -4
  335. package/frontiers-rpg-game/src/regions/hearthwilds/npcs/ArchivesBookshelf1Entity.ts +136 -0
  336. package/frontiers-rpg-game/src/regions/hearthwilds/npcs/ArchivesBookshelf2Entity.ts +136 -0
  337. package/frontiers-rpg-game/src/regions/hearthwilds/npcs/GravekeeperArdenEntity.ts +48 -0
  338. package/frontiers-rpg-game/src/regions/hearthwilds/npcs/HerderBorisEntity.ts +61 -0
  339. package/frontiers-rpg-game/src/regions/hearthwilds/npcs/MerchantFonnEntity.ts +62 -0
  340. package/frontiers-rpg-game/src/regions/hearthwilds/npcs/SurvivorMycelEntity.ts +62 -0
  341. package/frontiers-rpg-game/src/regions/ratkin-nest/RatkinNestRegion.ts +3 -0
  342. package/frontiers-rpg-game/src/regions/stalkhaven/npcs/BlacksmithArdenEntity.ts +116 -5
  343. package/frontiers-rpg-game/src/regions/weavers-hollow/WeaversHollowRegion.ts +1 -1
  344. package/frontiers-rpg-game/src/systems/Spawner.ts +9 -1
  345. package/package.json +1 -1
  346. /package/frontiers-rpg-game/assets/models/npcs/{auctioneer.gltf → gravekeeper.gltf} +0 -0
  347. /package/frontiers-rpg-game/assets/models/npcs/{lumberjack.gltf → herder.gltf} +0 -0
@@ -0,0 +1,335 @@
1
+ {
2
+ "asset": {
3
+ "generator": "glTF-Transform v4.1.3",
4
+ "version": "2.0"
5
+ },
6
+ "accessors": [
7
+ {
8
+ "type": "SCALAR",
9
+ "componentType": 5126,
10
+ "count": 4,
11
+ "max": [
12
+ 0.8500000238418579
13
+ ],
14
+ "min": [
15
+ 0
16
+ ],
17
+ "bufferView": 0,
18
+ "byteOffset": 0
19
+ },
20
+ {
21
+ "type": "SCALAR",
22
+ "componentType": 5126,
23
+ "count": 17,
24
+ "max": [
25
+ 1.75
26
+ ],
27
+ "min": [
28
+ 0
29
+ ],
30
+ "bufferView": 0,
31
+ "byteOffset": 16
32
+ },
33
+ {
34
+ "type": "VEC3",
35
+ "componentType": 5126,
36
+ "count": 17,
37
+ "bufferView": 0,
38
+ "byteOffset": 84
39
+ },
40
+ {
41
+ "type": "SCALAR",
42
+ "componentType": 5126,
43
+ "count": 25,
44
+ "max": [
45
+ 1.5
46
+ ],
47
+ "min": [
48
+ 0
49
+ ],
50
+ "bufferView": 0,
51
+ "byteOffset": 288
52
+ },
53
+ {
54
+ "type": "VEC4",
55
+ "componentType": 5126,
56
+ "count": 25,
57
+ "bufferView": 0,
58
+ "byteOffset": 388
59
+ },
60
+ {
61
+ "type": "SCALAR",
62
+ "componentType": 5126,
63
+ "count": 33,
64
+ "max": [
65
+ 2
66
+ ],
67
+ "min": [
68
+ 0
69
+ ],
70
+ "bufferView": 0,
71
+ "byteOffset": 788
72
+ },
73
+ {
74
+ "type": "VEC3",
75
+ "componentType": 5126,
76
+ "count": 33,
77
+ "bufferView": 0,
78
+ "byteOffset": 920
79
+ },
80
+ {
81
+ "type": "VEC3",
82
+ "componentType": 5126,
83
+ "count": 4,
84
+ "sparse": {
85
+ "count": 1,
86
+ "indices": {
87
+ "bufferView": 1,
88
+ "byteOffset": 0,
89
+ "componentType": 5121
90
+ },
91
+ "values": {
92
+ "bufferView": 2,
93
+ "byteOffset": 0
94
+ }
95
+ }
96
+ },
97
+ {
98
+ "type": "SCALAR",
99
+ "componentType": 5123,
100
+ "count": 288,
101
+ "bufferView": 3,
102
+ "byteOffset": 0
103
+ },
104
+ {
105
+ "type": "VEC3",
106
+ "componentType": 5126,
107
+ "count": 192,
108
+ "max": [
109
+ -0.44999998807907104,
110
+ -0.5625,
111
+ 0.8125
112
+ ],
113
+ "min": [
114
+ -0.612500011920929,
115
+ -1.1875,
116
+ -2.625
117
+ ],
118
+ "bufferView": 4,
119
+ "byteOffset": 0
120
+ },
121
+ {
122
+ "type": "VEC3",
123
+ "componentType": 5126,
124
+ "count": 192,
125
+ "bufferView": 4,
126
+ "byteOffset": 12
127
+ },
128
+ {
129
+ "type": "VEC2",
130
+ "componentType": 5126,
131
+ "count": 192,
132
+ "bufferView": 4,
133
+ "byteOffset": 24
134
+ }
135
+ ],
136
+ "bufferViews": [
137
+ {
138
+ "buffer": 0,
139
+ "byteOffset": 0,
140
+ "byteLength": 1316
141
+ },
142
+ {
143
+ "buffer": 0,
144
+ "byteOffset": 1316,
145
+ "byteLength": 4
146
+ },
147
+ {
148
+ "buffer": 0,
149
+ "byteOffset": 1320,
150
+ "byteLength": 12
151
+ },
152
+ {
153
+ "buffer": 0,
154
+ "byteOffset": 1332,
155
+ "byteLength": 576,
156
+ "target": 34963
157
+ },
158
+ {
159
+ "buffer": 0,
160
+ "byteOffset": 1908,
161
+ "byteLength": 6144,
162
+ "byteStride": 32,
163
+ "target": 34962
164
+ }
165
+ ],
166
+ "samplers": [
167
+ {
168
+ "magFilter": 9728,
169
+ "minFilter": 9728,
170
+ "wrapS": 33071,
171
+ "wrapT": 33071
172
+ }
173
+ ],
174
+ "textures": [
175
+ {
176
+ "source": 0,
177
+ "sampler": 0
178
+ }
179
+ ],
180
+ "images": [
181
+ {
182
+ "mimeType": "image/png",
183
+ "uri": "baseColor.png"
184
+ }
185
+ ],
186
+ "buffers": [
187
+ {
188
+ "uri": "chieftan-blade.bin",
189
+ "byteLength": 8052
190
+ }
191
+ ],
192
+ "materials": [
193
+ {
194
+ "alphaMode": "MASK",
195
+ "alphaCutoff": 0.05,
196
+ "doubleSided": true,
197
+ "pbrMetallicRoughness": {
198
+ "metallicFactor": 0,
199
+ "baseColorTexture": {
200
+ "index": 0
201
+ }
202
+ }
203
+ }
204
+ ],
205
+ "meshes": [
206
+ {
207
+ "primitives": [
208
+ {
209
+ "attributes": {
210
+ "POSITION": 9,
211
+ "NORMAL": 10,
212
+ "TEXCOORD_0": 11
213
+ },
214
+ "mode": 4,
215
+ "material": 0,
216
+ "indices": 8
217
+ }
218
+ ]
219
+ }
220
+ ],
221
+ "nodes": [
222
+ {
223
+ "name": "cube",
224
+ "translation": [
225
+ 0.53125,
226
+ 0.90625,
227
+ 0.03125
228
+ ],
229
+ "mesh": 0
230
+ },
231
+ {
232
+ "name": "weapon",
233
+ "children": [
234
+ 0
235
+ ]
236
+ },
237
+ {
238
+ "name": "root",
239
+ "rotation": [
240
+ 0.7071067811865475,
241
+ 0,
242
+ 0,
243
+ 0.7071067811865476
244
+ ],
245
+ "children": [
246
+ 1
247
+ ]
248
+ },
249
+ {
250
+ "children": [
251
+ 2
252
+ ]
253
+ }
254
+ ],
255
+ "animations": [
256
+ {
257
+ "name": "atk2",
258
+ "samplers": [
259
+ {
260
+ "input": 0,
261
+ "output": 7,
262
+ "interpolation": "LINEAR"
263
+ }
264
+ ],
265
+ "channels": [
266
+ {
267
+ "sampler": 0,
268
+ "target": {
269
+ "node": 2,
270
+ "path": "translation"
271
+ }
272
+ }
273
+ ]
274
+ },
275
+ {
276
+ "name": "atk4",
277
+ "samplers": [
278
+ {
279
+ "input": 1,
280
+ "output": 2,
281
+ "interpolation": "LINEAR"
282
+ }
283
+ ],
284
+ "channels": [
285
+ {
286
+ "sampler": 0,
287
+ "target": {
288
+ "node": 2,
289
+ "path": "translation"
290
+ }
291
+ }
292
+ ]
293
+ },
294
+ {
295
+ "name": "death",
296
+ "samplers": [
297
+ {
298
+ "input": 3,
299
+ "output": 4,
300
+ "interpolation": "LINEAR"
301
+ },
302
+ {
303
+ "input": 5,
304
+ "output": 6,
305
+ "interpolation": "LINEAR"
306
+ }
307
+ ],
308
+ "channels": [
309
+ {
310
+ "sampler": 0,
311
+ "target": {
312
+ "node": 2,
313
+ "path": "rotation"
314
+ }
315
+ },
316
+ {
317
+ "sampler": 1,
318
+ "target": {
319
+ "node": 2,
320
+ "path": "translation"
321
+ }
322
+ }
323
+ ]
324
+ }
325
+ ],
326
+ "scenes": [
327
+ {
328
+ "name": "blockbench_export",
329
+ "nodes": [
330
+ 3
331
+ ]
332
+ }
333
+ ],
334
+ "scene": 0
335
+ }
@@ -0,0 +1 @@
1
+ 3464154b6170ca7dcf7cee0303742f285e0ec32645486e75baffb7631569779f
@@ -0,0 +1 @@
1
+ {"asset":{"version":"2.0","generator":"Blockbench 4.12.5 glTF exporter"},"scenes":[{"nodes":[10],"name":"blockbench_export"}],"scene":0,"nodes":[{"translation":[0.53125,0.90625,0.03125],"name":"cube","mesh":0},{"translation":[0.53125,0.90625,0.03125],"name":"cube","mesh":1},{"translation":[0.53125,0.96875,0.59375],"name":"cube","mesh":2},{"translation":[0.53125,0.90625,0.03125],"name":"cube","mesh":3},{"translation":[0.53125,0.90625,0.03125],"name":"cube","mesh":4},{"translation":[0.53125,0.90625,0.03125],"name":"cube","mesh":5},{"translation":[0.53125,0.96875,-1.59375],"name":"cube","mesh":6},{"rotation":[0.19509032201612825,0,0,0.9807852804032304],"translation":[0.53125,0.828125,-0.732143125],"name":"cube","mesh":7},{"name":"weapon","children":[0,1,2,3,4,5,6,7]},{"rotation":[0.7071067811865475,0,0,0.7071067811865476],"name":"root","children":[8]},{"children":[9]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":288,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":576,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":768,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":840,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1128,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1416,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":1608,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":1680,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1968,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2256,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":2448,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":2520,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2808,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3096,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":3288,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":3360,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3648,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3936,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":4128,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":4200,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":4488,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":4776,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":4968,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":5040,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":5328,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":5616,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":5808,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":5880,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":6168,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":6456,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":6648,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":6720,"byteLength":16},{"buffer":0,"byteOffset":6736,"byteLength":48},{"buffer":0,"byteOffset":6784,"byteLength":68},{"buffer":0,"byteOffset":6852,"byteLength":204},{"buffer":0,"byteOffset":7056,"byteLength":108},{"buffer":0,"byteOffset":7164,"byteLength":432},{"buffer":0,"byteOffset":7596,"byteLength":148},{"buffer":0,"byteOffset":7744,"byteLength":444}],"buffers":[{"byteLength":8188,"uri":"data:application/octet-stream;base64,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AAAIvwAAUL8AAIA+5/sHvwAAUL8AAIA+AAAIvwAAkL8AAIA+5/sHvwAAkL8AAIA+AAAIvwAAkL8AAEC+5/sHvwAAkL8AAEC+AAAIvwAAUL8AAIA+5/sHvwAAUL8AAIA+AAAIvwAAkL8AAIA+5/sHvwAAkL8AAIA+5/sHvwAAUL8AAEC+AAAIvwAAUL8AAEC+5/sHvwAAkL8AAEC+AAAIvwAAkL8AAEC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAA2PwAAFj8AAEQ/AAAWPwAANj8AACA/AABEPwAAID8AADY/AAAgPwAARD8AACA/AAA2PwAAKj8AAEQ/AAAqPwAAAAAAAGA9AAAAAAAAYD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGA9AAAAAAAAYD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAID0AAAAAAAAgPQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgPQAAAAAAACA9AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAADwvgAAML8AAAC/AADwvgAAML8AACC/AADwvgAAiL8AAAC/AADwvgAAiL8AACC/AAAYvwAAML8AACC/AAAYvwAAML8AAAC/AAAYvwAAiL8AACC/AAAYvwAAiL8AAAC/AAAYvwAAML8AACC/AADwvgAAML8AACC/AAAYvwAAML8AAAC/AADwvgAAML8AAAC/AAAYvwAAiL8AAAC/AADwvgAAiL8AAAC/AAAYvwAAiL8AACC/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AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AACAPgAAAAAAAJA+AAAAAAAAgD4AAKA9AACQPgAAoD0AAKg+AAAgPgAAuD4AACA+AACoPgAAcD4AALg+AABwPgAAAAAAAAA9AAAAAAAAAD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9AAAAAAAAAD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAoD0AAAAAAACgPQAAAAAAAAAAAAAAAAAAAAAAAAAAAACgPQAAAAAAAKA9AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUA5/sHvwAAOL8AAIA/5/sHvwAAOL8AAIC/5/sHvwAAlL8AAIA/5/sHvwAAlL8AAIC/AAAIvwAAOL8AAIC/AAAIvwAAOL8AAIA/AAAIvwAAlL8AAIC/AAAIvwAAlL8AAIA/AAAIvwAAOL8AAIC/5/sHvwAAOL8AAIC/AAAIvwAAOL8AAIA/5/sHvwAAOL8AAIA/AAAIvwAAlL8AAIA/5/sHvwAAlL8AAIA/AAAIvwAAlL8AAIC/5/sHvwAAlL8AAIC/AAAIvwAAOL8AAIA/5/sHvwAAOL8AAIA/AAAIvwAAlL8AAIA/5/sHvwAAlL8AAIA/5/sHvwAAOL8AAIC/AAAIvwAAOL8AAIC/5/sHvwAAlL8AAIC/AAAIvwAAlL8AAIC/AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIA+AAAAAAAAAAAAAGA9AACAPgAAYD0AAAAAAABgPQAAgD4AAGA9AAAAAAAA4D0AAIA+AADgPQAAAAAAAGA9AAB4PgAAYD0AAAAAAAAAPgAAeD4AAAA+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA+AAAAAAAAgD4AAAAAAABgPQAAgD4AAGA9AAAAAAAA4D0AAIA+AADgPQAAAAAAAGA9AACAPgAAYD0AAAAAAADgPQAAgD4AAOA9AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAADwvgAAFL9vEoM4AADwvgAAFL8AAAAAAADwvgAAZL9vEoM4AADwvgAAZL8AAAAAAAAYvwAAFL8AAAAAAAAYvwAAFL9vEoM4AAAYvwAAZL8AAAAAAAAYvwAAZL9vEoM4AAAYvwAAFL8AAAAAAADwvgAAFL8AAAAAAAAYvwAAFL9vEoM4AADwvgAAFL9vEoM4AAAYvwAAZL9vEoM4AADwvgAAZL9vEoM4AAAYvwAAZL8AAAAAAADwvgAAZL8AAAAAAAAYvwAAFL9vEoM4AADwvgAAFL9vEoM4AAAYvwAAZL9vEoM4AADwvgAAZL9vEoM4AADwvgAAFL8AAAAAAAAYvwAAFL8AAAAAAADwvgAAZL8AAAAAAAAYvwAAZL8AAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAA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"}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[-0.46875,-0.84375,0.4375],"min":[-0.59375,-0.96875,-0.5],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"max":[0.8046875,0.8359375],"min":[0,0.265625],"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":24,"max":[-0.44999998807907104,-0.824999988079071,0.45625001192092896],"min":[-0.612500011920929,-0.987500011920929,-0.518750011920929],"type":"VEC3"},{"bufferView":5,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":6,"componentType":5126,"count":24,"max":[0.84375,0.8359375],"min":[0.3125,0],"type":"VEC2"},{"bufferView":7,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":8,"componentType":5126,"count":24,"max":[-0.5311874747276306,-0.8125,0.25],"min":[-0.53125,-1.125,-0.1875],"type":"VEC3"},{"bufferView":9,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":10,"componentType":5126,"count":24,"max":[0.765625,0.6640625],"min":[0,0],"type":"VEC2"},{"bufferView":11,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":12,"componentType":5126,"count":24,"max":[-0.46875,-0.6875,-0.5],"min":[-0.59375,-1.0625,-0.625],"type":"VEC3"},{"bufferView":13,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":14,"componentType":5126,"count":24,"max":[0.640625,0.7890625],"min":[0.328125,0.234375],"type":"VEC2"},{"bufferView":15,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":16,"componentType":5126,"count":24,"max":[-0.44999998807907104,-0.668749988079071,-0.48124998807907104],"min":[-0.612500011920929,-1.0812499523162842,-0.643750011920929],"type":"VEC3"},{"bufferView":17,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":18,"componentType":5126,"count":24,"max":[0.625,0.8359375],"min":[0.1015625,0.78125],"type":"VEC2"},{"bufferView":19,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":20,"componentType":5126,"count":24,"max":[-0.5311874747276306,-0.5625,-0.375],"min":[-0.53125,-1.1875,-0.625],"type":"VEC3"},{"bufferView":21,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":22,"componentType":5126,"count":24,"max":[0.359375,0.234375],"min":[0,0],"type":"VEC2"},{"bufferView":23,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":24,"componentType":5126,"count":24,"max":[-0.5311874747276306,-0.71875,1],"min":[-0.53125,-1.15625,-1],"type":"VEC3"},{"bufferView":25,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":26,"componentType":5126,"count":24,"max":[0.25,0.25],"min":[0,0],"type":"VEC2"},{"bufferView":27,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":28,"componentType":5126,"count":24,"max":[-0.46875,-0.578125,0.0000625000029685907],"min":[-0.59375,-0.890625,0],"type":"VEC3"},{"bufferView":29,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":30,"componentType":5126,"count":24,"max":[0.7109375,0.828125],"min":[0,0],"type":"VEC2"},{"bufferView":31,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":32,"componentType":5126,"count":4,"max":[0.8500000238418579],"min":[0],"type":"SCALAR"},{"bufferView":33,"componentType":5126,"count":4,"max":[0,0,0],"min":[0,-0.0625,0],"type":"VEC3"},{"bufferView":34,"componentType":5126,"count":17,"max":[1.75],"min":[0],"type":"SCALAR"},{"bufferView":35,"componentType":5126,"count":17,"max":[0,0.6550604701042175,0],"min":[0,0,0],"type":"VEC3"},{"bufferView":36,"componentType":5126,"count":27,"max":[1.5],"min":[0],"type":"SCALAR"},{"bufferView":37,"componentType":5126,"count":27,"max":[0.7071067690849304,0,0,1],"min":[0,0,0,0.7071067690849304],"type":"VEC4"},{"bufferView":38,"componentType":5126,"count":37,"max":[2],"min":[0],"type":"SCALAR"},{"bufferView":39,"componentType":5126,"count":37,"max":[0,0.13078702986240387,0.0091552734375],"min":[0,0,-0.5],"type":"VEC3"}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":0}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true}],"textures":[{"sampler":0,"source":0,"name":"am_goblin_boss.png"}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071}],"images":[{"mimeType":"image/png","uri":"data:image/png;base64,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"}],"meshes":[{"primitives":[{"mode":4,"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":8,"NORMAL":9,"TEXCOORD_0":10},"indices":11,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":12,"NORMAL":13,"TEXCOORD_0":14},"indices":15,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":16,"NORMAL":17,"TEXCOORD_0":18},"indices":19,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":20,"NORMAL":21,"TEXCOORD_0":22},"indices":23,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":24,"NORMAL":25,"TEXCOORD_0":26},"indices":27,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":28,"NORMAL":29,"TEXCOORD_0":30},"indices":31,"material":0}]}],"animations":[{"name":"atk2","samplers":[{"input":32,"output":33,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":9,"path":"translation"}}]},{"name":"atk4","samplers":[{"input":34,"output":35,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":9,"path":"translation"}}]},{"name":"death","samplers":[{"input":36,"output":37,"interpolation":"LINEAR"},{"input":38,"output":39,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":9,"path":"rotation"}},{"sampler":1,"target":{"node":9,"path":"translation"}}]}]}
@@ -90,7 +90,7 @@ window.ItemStats = (function() {
90
90
  wearableStats.push(`-${itemData.damageReduction} damage taken`);
91
91
  }
92
92
  if (itemData.damageReductionPercent && itemData.damageReductionPercent !== 0) {
93
- wearableStats.push(`-${itemData.damageReductionPercent}% damage taken`);
93
+ wearableStats.push(`-${itemData.damageReductionPercent * 100}% damage taken`);
94
94
  }
95
95
 
96
96
  // Collect all stat lines first
@@ -272,6 +272,21 @@ window.ItemTooltips = (function() {
272
272
  });
273
273
  }
274
274
 
275
+ // Get rarity color based on item rarity (matches backpack.html rarity colors)
276
+ function getRarityColor(rarity) {
277
+ if (!rarity) return null;
278
+
279
+ const rarityColors = {
280
+ 'common': '#9CA3AF',
281
+ 'uncommon': '#22C55E',
282
+ 'rare': '#3B82F6',
283
+ 'epic': '#A855F7',
284
+ 'legendary': '#F59E0B'
285
+ };
286
+
287
+ return rarityColors[rarity.toLowerCase()] || null;
288
+ }
289
+
275
290
  function hasTooltipData(itemData) {
276
291
  // Use shared ItemStats system if available, otherwise use basic check
277
292
  if (window.ItemStats) {
@@ -317,9 +332,11 @@ window.ItemTooltips = (function() {
317
332
 
318
333
  const sections = [];
319
334
 
320
- // Item name
335
+ // Item name with rarity coloring
321
336
  if (itemData.name) {
322
- sections.push(`<div class="tooltip-name">${itemData.name}</div>`);
337
+ const rarityColor = getRarityColor(itemData.rarity);
338
+ const nameStyle = rarityColor ? ` style="color: ${rarityColor}"` : '';
339
+ sections.push(`<div class="tooltip-name"${nameStyle}>${itemData.name}</div>`);
323
340
  }
324
341
 
325
342
  // Use shared ItemStats system for consistent stat generation
@@ -2444,8 +2461,9 @@ window.ItemTooltips = (function() {
2444
2461
  document.querySelector('.dialogue-npc-name').textContent = data.name || 'Unknown';
2445
2462
  document.querySelector('.dialogue-npc-title').textContent = data.title || '';
2446
2463
 
2447
- // Update message
2448
- document.querySelector('.dialogue-message').textContent = data.text || '';
2464
+ // Update message with italic formatting support
2465
+ const messageEl = document.querySelector('.dialogue-message');
2466
+ messageEl.innerHTML = formatDialogueText(data.text || '');
2449
2467
 
2450
2468
  // Update options
2451
2469
  const optionsContainer = document.querySelector('.dialogue-options');
@@ -2464,10 +2482,10 @@ window.ItemTooltips = (function() {
2464
2482
  if (option.isQuestRoot) {
2465
2483
  optionEl.innerHTML = `
2466
2484
  <img src="{{CDN_ASSETS_URL}}/icons/buttons/quests-transparent.png" alt="Quest" class="dialogue-quest-icon">
2467
- <span class="dialogue-option-text">${option.text}</span>
2485
+ <span class="dialogue-option-text">${formatDialogueText(option.text)}</span>
2468
2486
  `;
2469
2487
  } else {
2470
- optionEl.textContent = option.text;
2488
+ optionEl.innerHTML = formatDialogueText(option.text);
2471
2489
  }
2472
2490
 
2473
2491
  optionEl.addEventListener('click', () => {
@@ -2486,6 +2504,26 @@ window.ItemTooltips = (function() {
2486
2504
  }
2487
2505
  }
2488
2506
 
2507
+ function formatDialogueText(text) {
2508
+ // Escape HTML to prevent XSS, but allow our specific formatting
2509
+ const escapeHtml = (unsafe) => {
2510
+ return unsafe
2511
+ .replace(/&/g, "&amp;")
2512
+ .replace(/</g, "&lt;")
2513
+ .replace(/>/g, "&gt;")
2514
+ .replace(/"/g, "&quot;")
2515
+ .replace(/'/g, "&#039;");
2516
+ };
2517
+
2518
+ // Escape the text first
2519
+ let formatted = escapeHtml(text);
2520
+
2521
+ // Convert *text* to <em>text</em> for italics
2522
+ formatted = formatted.replace(/\*(.*?)\*/g, '<em>$1</em>');
2523
+
2524
+ return formatted;
2525
+ }
2526
+
2489
2527
  function closeDialogue(relockPointer = true) {
2490
2528
  const panel = document.querySelector('.dialogue-panel');
2491
2529
  const overlay = document.querySelector('.dialogue-overlay');
@@ -2714,6 +2752,11 @@ window.ItemTooltips = (function() {
2714
2752
  overflow-wrap: break-word;
2715
2753
  }
2716
2754
 
2755
+ .dialogue-message em,
2756
+ .dialogue-option em {
2757
+ font-style: italic;
2758
+ }
2759
+
2717
2760
  .dialogue-options {
2718
2761
  display: flex;
2719
2762
  flex-direction: column;
@@ -42,8 +42,9 @@
42
42
  document.querySelector('.dialogue-npc-name').textContent = data.name || 'Unknown';
43
43
  document.querySelector('.dialogue-npc-title').textContent = data.title || '';
44
44
 
45
- // Update message
46
- document.querySelector('.dialogue-message').textContent = data.text || '';
45
+ // Update message with italic formatting support
46
+ const messageEl = document.querySelector('.dialogue-message');
47
+ messageEl.innerHTML = formatDialogueText(data.text || '');
47
48
 
48
49
  // Update options
49
50
  const optionsContainer = document.querySelector('.dialogue-options');
@@ -62,10 +63,10 @@
62
63
  if (option.isQuestRoot) {
63
64
  optionEl.innerHTML = `
64
65
  <img src="{{CDN_ASSETS_URL}}/icons/buttons/quests-transparent.png" alt="Quest" class="dialogue-quest-icon">
65
- <span class="dialogue-option-text">${option.text}</span>
66
+ <span class="dialogue-option-text">${formatDialogueText(option.text)}</span>
66
67
  `;
67
68
  } else {
68
- optionEl.textContent = option.text;
69
+ optionEl.innerHTML = formatDialogueText(option.text);
69
70
  }
70
71
 
71
72
  optionEl.addEventListener('click', () => {
@@ -84,6 +85,26 @@
84
85
  }
85
86
  }
86
87
 
88
+ function formatDialogueText(text) {
89
+ // Escape HTML to prevent XSS, but allow our specific formatting
90
+ const escapeHtml = (unsafe) => {
91
+ return unsafe
92
+ .replace(/&/g, "&amp;")
93
+ .replace(/</g, "&lt;")
94
+ .replace(/>/g, "&gt;")
95
+ .replace(/"/g, "&quot;")
96
+ .replace(/'/g, "&#039;");
97
+ };
98
+
99
+ // Escape the text first
100
+ let formatted = escapeHtml(text);
101
+
102
+ // Convert *text* to <em>text</em> for italics
103
+ formatted = formatted.replace(/\*(.*?)\*/g, '<em>$1</em>');
104
+
105
+ return formatted;
106
+ }
107
+
87
108
  function closeDialogue(relockPointer = true) {
88
109
  const panel = document.querySelector('.dialogue-panel');
89
110
  const overlay = document.querySelector('.dialogue-overlay');
@@ -312,6 +333,11 @@
312
333
  overflow-wrap: break-word;
313
334
  }
314
335
 
336
+ .dialogue-message em,
337
+ .dialogue-option em {
338
+ font-style: italic;
339
+ }
340
+
315
341
  .dialogue-options {
316
342
  display: flex;
317
343
  flex-direction: column;
@@ -67,7 +67,7 @@ window.ItemStats = (function() {
67
67
  wearableStats.push(`-${itemData.damageReduction} damage taken`);
68
68
  }
69
69
  if (itemData.damageReductionPercent && itemData.damageReductionPercent !== 0) {
70
- wearableStats.push(`-${itemData.damageReductionPercent}% damage taken`);
70
+ wearableStats.push(`-${itemData.damageReductionPercent * 100}% damage taken`);
71
71
  }
72
72
 
73
73
  // Collect all stat lines first
@@ -23,6 +23,21 @@ window.ItemTooltips = (function() {
23
23
  });
24
24
  }
25
25
 
26
+ // Get rarity color based on item rarity (matches backpack.html rarity colors)
27
+ function getRarityColor(rarity) {
28
+ if (!rarity) return null;
29
+
30
+ const rarityColors = {
31
+ 'common': '#9CA3AF',
32
+ 'uncommon': '#22C55E',
33
+ 'rare': '#3B82F6',
34
+ 'epic': '#A855F7',
35
+ 'legendary': '#F59E0B'
36
+ };
37
+
38
+ return rarityColors[rarity.toLowerCase()] || null;
39
+ }
40
+
26
41
  function hasTooltipData(itemData) {
27
42
  // Use shared ItemStats system if available, otherwise use basic check
28
43
  if (window.ItemStats) {
@@ -68,9 +83,11 @@ window.ItemTooltips = (function() {
68
83
 
69
84
  const sections = [];
70
85
 
71
- // Item name
86
+ // Item name with rarity coloring
72
87
  if (itemData.name) {
73
- sections.push(`<div class="tooltip-name">${itemData.name}</div>`);
88
+ const rarityColor = getRarityColor(itemData.rarity);
89
+ const nameStyle = rarityColor ? ` style="color: ${rarityColor}"` : '';
90
+ sections.push(`<div class="tooltip-name"${nameStyle}>${itemData.name}</div>`);
74
91
  }
75
92
 
76
93
  // Use shared ItemStats system for consistent stat generation
@@ -106,5 +106,19 @@ export default class GameClock {
106
106
  world.setAmbientLightColor({ r, g, b });
107
107
  world.setAmbientLightIntensity(ambientIntensity);
108
108
  world.setSkyboxIntensity(skyboxIntensity);
109
+
110
+ // Adjust fog color based on day/night cycle if region has base fog color
111
+ if (region.baseFogColor) {
112
+ // Match the colorIntensity pattern - fog brightness follows same logic as lighting
113
+ const fogIntensityMultiplier = Math.max(0.3, sunHeightNormalized);
114
+
115
+ const adjustedFogColor = {
116
+ r: Math.floor(region.baseFogColor.r * fogIntensityMultiplier),
117
+ g: Math.floor(region.baseFogColor.g * fogIntensityMultiplier),
118
+ b: Math.floor(region.baseFogColor.b * fogIntensityMultiplier)
119
+ };
120
+
121
+ world.setFogColor(adjustedFogColor);
122
+ }
109
123
  }
110
124
  }