@datamoc/mw_games 0.3.1 → 0.4.0

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 (478) hide show
  1. package/README.md +401 -395
  2. package/dist/actors/Affix.d.ts +26 -0
  3. package/dist/actors/Affix.d.ts.map +1 -1
  4. package/dist/actors/Affix.js +32 -1
  5. package/dist/actors/Affix.js.map +1 -1
  6. package/dist/actors/Barrier.d.ts +47 -0
  7. package/dist/actors/Barrier.d.ts.map +1 -0
  8. package/dist/actors/Barrier.js +70 -0
  9. package/dist/actors/Barrier.js.map +1 -0
  10. package/dist/actors/Charges.d.ts +22 -0
  11. package/dist/actors/Charges.d.ts.map +1 -1
  12. package/dist/actors/Charges.js +26 -0
  13. package/dist/actors/Charges.js.map +1 -1
  14. package/dist/actors/Equipment.d.ts +30 -0
  15. package/dist/actors/Equipment.d.ts.map +1 -1
  16. package/dist/actors/Equipment.js +33 -1
  17. package/dist/actors/Equipment.js.map +1 -1
  18. package/dist/actors/Inventory.d.ts +58 -3
  19. package/dist/actors/Inventory.d.ts.map +1 -1
  20. package/dist/actors/Inventory.js +97 -5
  21. package/dist/actors/Inventory.js.map +1 -1
  22. package/dist/actors/ItemState.d.ts +11 -2
  23. package/dist/actors/ItemState.d.ts.map +1 -1
  24. package/dist/actors/ItemState.js +18 -2
  25. package/dist/actors/ItemState.js.map +1 -1
  26. package/dist/actors/Loot.js +1 -1
  27. package/dist/actors/Loot.js.map +1 -1
  28. package/dist/actors/Progression.d.ts +9 -0
  29. package/dist/actors/Progression.d.ts.map +1 -1
  30. package/dist/actors/Progression.js +7 -0
  31. package/dist/actors/Progression.js.map +1 -1
  32. package/dist/actors/Resource.d.ts +16 -0
  33. package/dist/actors/Resource.d.ts.map +1 -1
  34. package/dist/actors/Resource.js +22 -0
  35. package/dist/actors/Resource.js.map +1 -1
  36. package/dist/actors/SkillPoints.d.ts +14 -0
  37. package/dist/actors/SkillPoints.d.ts.map +1 -1
  38. package/dist/actors/SkillPoints.js +16 -0
  39. package/dist/actors/SkillPoints.js.map +1 -1
  40. package/dist/actors/StatBlock.d.ts +16 -0
  41. package/dist/actors/StatBlock.d.ts.map +1 -1
  42. package/dist/actors/StatBlock.js +21 -0
  43. package/dist/actors/StatBlock.js.map +1 -1
  44. package/dist/actors/Support.d.ts +2 -2
  45. package/dist/actors/Support.d.ts.map +1 -1
  46. package/dist/actors/Support.js +2 -2
  47. package/dist/actors/Support.js.map +1 -1
  48. package/dist/actors/index.d.ts +8 -5
  49. package/dist/actors/index.d.ts.map +1 -1
  50. package/dist/actors/index.js +3 -2
  51. package/dist/actors/index.js.map +1 -1
  52. package/dist/assets/ByteProgress.d.ts +27 -0
  53. package/dist/assets/ByteProgress.d.ts.map +1 -0
  54. package/dist/assets/ByteProgress.js +44 -0
  55. package/dist/assets/ByteProgress.js.map +1 -0
  56. package/dist/assets/Streaming.d.ts +1 -1
  57. package/dist/assets/Streaming.js +1 -1
  58. package/dist/assets/Streaming.js.map +1 -1
  59. package/dist/assets/index.d.ts +11 -52
  60. package/dist/assets/index.d.ts.map +1 -1
  61. package/dist/assets/index.js +9 -80
  62. package/dist/assets/index.js.map +1 -1
  63. package/dist/assets/loader.d.ts +34 -0
  64. package/dist/assets/loader.d.ts.map +1 -0
  65. package/dist/assets/loader.js +61 -0
  66. package/dist/assets/loader.js.map +1 -0
  67. package/dist/assets/paths.d.ts +40 -0
  68. package/dist/assets/paths.d.ts.map +1 -0
  69. package/dist/assets/paths.js +49 -0
  70. package/dist/assets/paths.js.map +1 -0
  71. package/dist/audio/Playable.js +1 -1
  72. package/dist/battle/Field.d.ts +2 -2
  73. package/dist/battle/Field.d.ts.map +1 -1
  74. package/dist/battle/Field.js +3 -3
  75. package/dist/battle/Field.js.map +1 -1
  76. package/dist/battle/Hooks.d.ts +7 -13
  77. package/dist/battle/Hooks.d.ts.map +1 -1
  78. package/dist/battle/Hooks.js +20 -18
  79. package/dist/battle/Hooks.js.map +1 -1
  80. package/dist/core/Hooks.d.ts +34 -0
  81. package/dist/core/Hooks.d.ts.map +1 -0
  82. package/dist/core/Hooks.js +33 -0
  83. package/dist/core/Hooks.js.map +1 -0
  84. package/dist/core/Input.d.ts +41 -0
  85. package/dist/core/Input.d.ts.map +1 -1
  86. package/dist/core/Input.js +126 -21
  87. package/dist/core/Input.js.map +1 -1
  88. package/dist/core/PlayerInput.d.ts +5 -0
  89. package/dist/core/PlayerInput.d.ts.map +1 -1
  90. package/dist/core/PlayerInput.js +11 -0
  91. package/dist/core/PlayerInput.js.map +1 -1
  92. package/dist/core/Random.d.ts +14 -5
  93. package/dist/core/Random.d.ts.map +1 -1
  94. package/dist/core/Random.js +14 -5
  95. package/dist/core/Random.js.map +1 -1
  96. package/dist/core/Scene.d.ts +16 -6
  97. package/dist/core/Scene.d.ts.map +1 -1
  98. package/dist/core/Scene.js +18 -6
  99. package/dist/core/Scene.js.map +1 -1
  100. package/dist/core/SceneStack.d.ts +8 -4
  101. package/dist/core/SceneStack.d.ts.map +1 -1
  102. package/dist/core/SceneStack.js +4 -0
  103. package/dist/core/SceneStack.js.map +1 -1
  104. package/dist/core/index.d.ts +3 -2
  105. package/dist/core/index.d.ts.map +1 -1
  106. package/dist/core/index.js +1 -1
  107. package/dist/core/index.js.map +1 -1
  108. package/dist/index.d.ts +4 -5
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +4 -5
  111. package/dist/index.js.map +1 -1
  112. package/dist/mw_games.global.js +88 -88
  113. package/dist/roguelike/Boss.d.ts +4 -4
  114. package/dist/roguelike/Boss.d.ts.map +1 -1
  115. package/dist/roguelike/Boss.js +6 -6
  116. package/dist/roguelike/Boss.js.map +1 -1
  117. package/dist/roguelike/Combat.d.ts +10 -11
  118. package/dist/roguelike/Combat.d.ts.map +1 -1
  119. package/dist/roguelike/Combat.js +9 -16
  120. package/dist/roguelike/Combat.js.map +1 -1
  121. package/dist/roguelike/ContentRoll.d.ts +43 -0
  122. package/dist/roguelike/ContentRoll.d.ts.map +1 -0
  123. package/dist/roguelike/ContentRoll.js +38 -0
  124. package/dist/roguelike/ContentRoll.js.map +1 -0
  125. package/dist/roguelike/DungeonParity.d.ts +42 -0
  126. package/dist/roguelike/DungeonParity.d.ts.map +1 -0
  127. package/dist/roguelike/DungeonParity.js +63 -0
  128. package/dist/roguelike/DungeonParity.js.map +1 -0
  129. package/dist/roguelike/Features.d.ts +42 -0
  130. package/dist/roguelike/Features.d.ts.map +1 -0
  131. package/dist/roguelike/Features.js +59 -0
  132. package/dist/roguelike/Features.js.map +1 -0
  133. package/dist/roguelike/MonsterAI.js +1 -1
  134. package/dist/roguelike/MonsterAI.js.map +1 -1
  135. package/dist/roguelike/MultiStageAbility.d.ts +43 -0
  136. package/dist/roguelike/MultiStageAbility.d.ts.map +1 -0
  137. package/dist/roguelike/MultiStageAbility.js +60 -0
  138. package/dist/roguelike/MultiStageAbility.js.map +1 -0
  139. package/dist/roguelike/RoomBuilders.d.ts +43 -0
  140. package/dist/roguelike/RoomBuilders.d.ts.map +1 -0
  141. package/dist/roguelike/RoomBuilders.js +40 -0
  142. package/dist/roguelike/RoomBuilders.js.map +1 -0
  143. package/dist/roguelike/Targeting.d.ts +22 -0
  144. package/dist/roguelike/Targeting.d.ts.map +1 -1
  145. package/dist/roguelike/Targeting.js +20 -0
  146. package/dist/roguelike/Targeting.js.map +1 -1
  147. package/dist/roguelike/TriggerTracker.d.ts +36 -0
  148. package/dist/roguelike/TriggerTracker.d.ts.map +1 -0
  149. package/dist/roguelike/TriggerTracker.js +49 -0
  150. package/dist/roguelike/TriggerTracker.js.map +1 -0
  151. package/dist/roguelike/generate.d.ts +49 -0
  152. package/dist/roguelike/generate.d.ts.map +1 -1
  153. package/dist/roguelike/generate.js +38 -10
  154. package/dist/roguelike/generate.js.map +1 -1
  155. package/dist/roguelike/index.d.ts +16 -4
  156. package/dist/roguelike/index.d.ts.map +1 -1
  157. package/dist/roguelike/index.js +8 -2
  158. package/dist/roguelike/index.js.map +1 -1
  159. package/dist/rpg/EventRunner.d.ts +30 -8
  160. package/dist/rpg/EventRunner.d.ts.map +1 -1
  161. package/dist/rpg/EventRunner.js +1 -13
  162. package/dist/rpg/EventRunner.js.map +1 -1
  163. package/dist/rpg/FreeMover.d.ts +2 -2
  164. package/dist/rpg/FreeMover.d.ts.map +1 -1
  165. package/dist/rpg/FreeMover.js +5 -5
  166. package/dist/rpg/FreeMover.js.map +1 -1
  167. package/dist/rpg/GridMover.d.ts +2 -2
  168. package/dist/rpg/GridMover.d.ts.map +1 -1
  169. package/dist/rpg/GridMover.js +5 -5
  170. package/dist/rpg/GridMover.js.map +1 -1
  171. package/dist/rpg/MovableSprite.d.ts +25 -0
  172. package/dist/rpg/MovableSprite.d.ts.map +1 -0
  173. package/dist/rpg/MovableSprite.js +2 -0
  174. package/dist/rpg/MovableSprite.js.map +1 -0
  175. package/dist/rpg/Quest.d.ts +6 -1
  176. package/dist/rpg/Quest.d.ts.map +1 -1
  177. package/dist/rpg/Quest.js +6 -1
  178. package/dist/rpg/Quest.js.map +1 -1
  179. package/dist/rpg/automap.d.ts +24 -2
  180. package/dist/rpg/automap.d.ts.map +1 -1
  181. package/dist/rpg/automap.js +9 -1
  182. package/dist/rpg/automap.js.map +1 -1
  183. package/dist/rpg/index.d.ts +4 -4
  184. package/dist/rpg/index.d.ts.map +1 -1
  185. package/dist/rpg/index.js +1 -1
  186. package/dist/rpg/index.js.map +1 -1
  187. package/dist/three-d/Character3D.d.ts +26 -1
  188. package/dist/three-d/Character3D.d.ts.map +1 -1
  189. package/dist/three-d/Character3D.js +31 -14
  190. package/dist/three-d/Character3D.js.map +1 -1
  191. package/dist/three-d/Collision3D.d.ts +63 -0
  192. package/dist/three-d/Collision3D.d.ts.map +1 -0
  193. package/dist/three-d/Collision3D.js +75 -0
  194. package/dist/three-d/Collision3D.js.map +1 -0
  195. package/dist/three-d/Models.js +1 -1
  196. package/dist/three-d/index.d.ts +3 -1
  197. package/dist/three-d/index.d.ts.map +1 -1
  198. package/dist/three-d/index.js +1 -0
  199. package/dist/three-d/index.js.map +1 -1
  200. package/dist/{core → two-d}/Game.d.ts +7 -6
  201. package/dist/two-d/Game.d.ts.map +1 -0
  202. package/dist/{core → two-d}/Game.js +3 -3
  203. package/dist/two-d/Game.js.map +1 -0
  204. package/dist/two-d/Scene2D.d.ts +19 -0
  205. package/dist/two-d/Scene2D.d.ts.map +1 -0
  206. package/dist/two-d/Scene2D.js +23 -0
  207. package/dist/two-d/Scene2D.js.map +1 -0
  208. package/dist/two-d/index.d.ts +20 -0
  209. package/dist/two-d/index.d.ts.map +1 -0
  210. package/dist/two-d/index.js +18 -0
  211. package/dist/two-d/index.js.map +1 -0
  212. package/dist/two-d/render/ActorAnimator.d.ts.map +1 -0
  213. package/dist/two-d/render/ActorAnimator.js.map +1 -0
  214. package/dist/two-d/render/AnimatedSprite.d.ts.map +1 -0
  215. package/dist/two-d/render/AnimatedSprite.js.map +1 -0
  216. package/dist/two-d/render/Autotile.d.ts.map +1 -0
  217. package/dist/two-d/render/Autotile.js.map +1 -0
  218. package/dist/two-d/render/Camera.d.ts.map +1 -0
  219. package/dist/{render → two-d/render}/Camera.js +2 -2
  220. package/dist/two-d/render/Camera.js.map +1 -0
  221. package/dist/two-d/render/Capabilities.d.ts.map +1 -0
  222. package/dist/two-d/render/Capabilities.js.map +1 -0
  223. package/dist/two-d/render/ColorBlindness.d.ts.map +1 -0
  224. package/dist/two-d/render/ColorBlindness.js.map +1 -0
  225. package/dist/two-d/render/ColorTransformBatcher.d.ts.map +1 -0
  226. package/dist/{render → two-d/render}/ColorTransformBatcher.js +3 -2
  227. package/dist/two-d/render/ColorTransformBatcher.js.map +1 -0
  228. package/dist/two-d/render/LayeredSprite.d.ts.map +1 -0
  229. package/dist/two-d/render/LayeredSprite.js.map +1 -0
  230. package/dist/two-d/render/Minimap.d.ts.map +1 -0
  231. package/dist/{render → two-d/render}/Minimap.js +1 -1
  232. package/dist/two-d/render/Minimap.js.map +1 -0
  233. package/dist/two-d/render/Particles.d.ts +109 -0
  234. package/dist/two-d/render/Particles.d.ts.map +1 -0
  235. package/dist/two-d/render/Particles.js +178 -0
  236. package/dist/two-d/render/Particles.js.map +1 -0
  237. package/dist/two-d/render/Projectile.d.ts.map +1 -0
  238. package/dist/two-d/render/Projectile.js.map +1 -0
  239. package/dist/two-d/render/ScreenEffects.d.ts +71 -0
  240. package/dist/two-d/render/ScreenEffects.d.ts.map +1 -0
  241. package/dist/two-d/render/ScreenEffects.js +133 -0
  242. package/dist/two-d/render/ScreenEffects.js.map +1 -0
  243. package/dist/two-d/render/SpriteSheet.d.ts.map +1 -0
  244. package/dist/{render → two-d/render}/SpriteSheet.js +1 -1
  245. package/dist/two-d/render/SpriteSheet.js.map +1 -0
  246. package/dist/two-d/render/StatusVisuals.d.ts.map +1 -0
  247. package/dist/two-d/render/StatusVisuals.js.map +1 -0
  248. package/dist/two-d/render/TileMap.d.ts.map +1 -0
  249. package/dist/{render → two-d/render}/TileMap.js +1 -1
  250. package/dist/two-d/render/TileMap.js.map +1 -0
  251. package/dist/{rpg → two-d/render}/TiledMap.d.ts +2 -2
  252. package/dist/two-d/render/TiledMap.d.ts.map +1 -0
  253. package/dist/{rpg → two-d/render}/TiledMap.js +2 -2
  254. package/dist/two-d/render/TiledMap.js.map +1 -0
  255. package/dist/two-d/render/TintedSprite.d.ts.map +1 -0
  256. package/dist/two-d/render/TintedSprite.js.map +1 -0
  257. package/dist/two-d/render/Viewport.d.ts.map +1 -0
  258. package/dist/two-d/render/Viewport.js.map +1 -0
  259. package/dist/{render → two-d/render}/index.d.ts +6 -0
  260. package/dist/two-d/render/index.d.ts.map +1 -0
  261. package/dist/{render → two-d/render}/index.js +3 -0
  262. package/dist/two-d/render/index.js.map +1 -0
  263. package/dist/two-d/stage/DialogueStage.d.ts.map +1 -0
  264. package/dist/{stage → two-d/stage}/DialogueStage.js +1 -1
  265. package/dist/two-d/stage/DialogueStage.js.map +1 -0
  266. package/dist/two-d/stage/index.d.ts.map +1 -0
  267. package/dist/two-d/stage/index.js.map +1 -0
  268. package/dist/two-d/stage/script.d.ts.map +1 -0
  269. package/dist/{stage → two-d/stage}/script.js +0 -0
  270. package/dist/two-d/stage/script.js.map +1 -0
  271. package/dist/two-d/stage/twee.d.ts.map +1 -0
  272. package/dist/two-d/stage/twee.js.map +1 -0
  273. package/dist/two-d/ui/Bar.d.ts.map +1 -0
  274. package/dist/two-d/ui/Bar.js.map +1 -0
  275. package/dist/two-d/ui/BitmapLabel.d.ts.map +1 -0
  276. package/dist/two-d/ui/BitmapLabel.js.map +1 -0
  277. package/dist/{ui → two-d/ui}/Button.d.ts +7 -1
  278. package/dist/two-d/ui/Button.d.ts.map +1 -0
  279. package/dist/{ui → two-d/ui}/Button.js +20 -4
  280. package/dist/two-d/ui/Button.js.map +1 -0
  281. package/dist/two-d/ui/EventDialogue.d.ts +23 -0
  282. package/dist/two-d/ui/EventDialogue.d.ts.map +1 -0
  283. package/dist/two-d/ui/EventDialogue.js +27 -0
  284. package/dist/two-d/ui/EventDialogue.js.map +1 -0
  285. package/dist/two-d/ui/FloatingText.d.ts.map +1 -0
  286. package/dist/two-d/ui/FloatingText.js.map +1 -0
  287. package/dist/{ui → two-d/ui}/HelpScreen.d.ts +1 -1
  288. package/dist/two-d/ui/HelpScreen.d.ts.map +1 -0
  289. package/dist/two-d/ui/HelpScreen.js.map +1 -0
  290. package/dist/{ui → two-d/ui}/IconGrid.d.ts +1 -1
  291. package/dist/two-d/ui/IconGrid.d.ts.map +1 -0
  292. package/dist/two-d/ui/IconGrid.js.map +1 -0
  293. package/dist/two-d/ui/Label.d.ts.map +1 -0
  294. package/dist/two-d/ui/Label.js.map +1 -0
  295. package/dist/{ui → two-d/ui}/ListView.d.ts +1 -1
  296. package/dist/two-d/ui/ListView.d.ts.map +1 -0
  297. package/dist/two-d/ui/ListView.js.map +1 -0
  298. package/dist/{ui → two-d/ui}/LoadingScreen.d.ts +1 -1
  299. package/dist/two-d/ui/LoadingScreen.d.ts.map +1 -0
  300. package/dist/two-d/ui/LoadingScreen.js.map +1 -0
  301. package/dist/{ui → two-d/ui}/MessageBox.d.ts +1 -1
  302. package/dist/two-d/ui/MessageBox.d.ts.map +1 -0
  303. package/dist/two-d/ui/MessageBox.js.map +1 -0
  304. package/dist/two-d/ui/NinePatch.d.ts.map +1 -0
  305. package/dist/two-d/ui/NinePatch.js.map +1 -0
  306. package/dist/{ui → two-d/ui}/RebindScreen.d.ts +1 -1
  307. package/dist/two-d/ui/RebindScreen.d.ts.map +1 -0
  308. package/dist/{ui → two-d/ui}/RebindScreen.js +1 -1
  309. package/dist/two-d/ui/RebindScreen.js.map +1 -0
  310. package/dist/two-d/ui/StatsScreen.d.ts.map +1 -0
  311. package/dist/two-d/ui/StatsScreen.js.map +1 -0
  312. package/dist/two-d/ui/Toast.d.ts.map +1 -0
  313. package/dist/{ui → two-d/ui}/Toast.js +1 -1
  314. package/dist/two-d/ui/Toast.js.map +1 -0
  315. package/dist/two-d/ui/Tooltip.d.ts +94 -0
  316. package/dist/two-d/ui/Tooltip.d.ts.map +1 -0
  317. package/dist/two-d/ui/Tooltip.js +149 -0
  318. package/dist/two-d/ui/Tooltip.js.map +1 -0
  319. package/dist/two-d/ui/VerticalLabel.d.ts.map +1 -0
  320. package/dist/two-d/ui/VerticalLabel.js.map +1 -0
  321. package/dist/{ui → two-d/ui}/Window.d.ts +2 -2
  322. package/dist/two-d/ui/Window.d.ts.map +1 -0
  323. package/dist/{ui → two-d/ui}/Window.js +1 -1
  324. package/dist/two-d/ui/Window.js.map +1 -0
  325. package/dist/two-d/ui/WindowStack.d.ts.map +1 -0
  326. package/dist/{ui → two-d/ui}/WindowStack.js +1 -1
  327. package/dist/two-d/ui/WindowStack.js.map +1 -0
  328. package/dist/{ui → two-d/ui}/index.d.ts +4 -0
  329. package/dist/two-d/ui/index.d.ts.map +1 -0
  330. package/dist/{ui → two-d/ui}/index.js +2 -0
  331. package/dist/two-d/ui/index.js.map +1 -0
  332. package/dist/{ui → two-d/ui}/theme.d.ts +2 -2
  333. package/dist/two-d/ui/theme.d.ts.map +1 -0
  334. package/dist/{ui → two-d/ui}/theme.js +1 -1
  335. package/dist/two-d/ui/theme.js.map +1 -0
  336. package/dist/version.d.ts +1 -1
  337. package/dist/version.js +1 -1
  338. package/dist/world/Encounters.js +1 -1
  339. package/dist/world/Encounters.js.map +1 -1
  340. package/dist/world/Environment.d.ts +12 -3
  341. package/dist/world/Environment.d.ts.map +1 -1
  342. package/dist/world/Environment.js +18 -9
  343. package/dist/world/Environment.js.map +1 -1
  344. package/package.json +227 -147
  345. package/dist/core/Game.d.ts.map +0 -1
  346. package/dist/core/Game.js.map +0 -1
  347. package/dist/render/ActorAnimator.d.ts.map +0 -1
  348. package/dist/render/ActorAnimator.js.map +0 -1
  349. package/dist/render/AnimatedSprite.d.ts.map +0 -1
  350. package/dist/render/AnimatedSprite.js.map +0 -1
  351. package/dist/render/Autotile.d.ts.map +0 -1
  352. package/dist/render/Autotile.js.map +0 -1
  353. package/dist/render/Camera.d.ts.map +0 -1
  354. package/dist/render/Camera.js.map +0 -1
  355. package/dist/render/Capabilities.d.ts.map +0 -1
  356. package/dist/render/Capabilities.js.map +0 -1
  357. package/dist/render/ColorBlindness.d.ts.map +0 -1
  358. package/dist/render/ColorBlindness.js.map +0 -1
  359. package/dist/render/ColorTransformBatcher.d.ts.map +0 -1
  360. package/dist/render/ColorTransformBatcher.js.map +0 -1
  361. package/dist/render/LayeredSprite.d.ts.map +0 -1
  362. package/dist/render/LayeredSprite.js.map +0 -1
  363. package/dist/render/Minimap.d.ts.map +0 -1
  364. package/dist/render/Minimap.js.map +0 -1
  365. package/dist/render/Projectile.d.ts.map +0 -1
  366. package/dist/render/Projectile.js.map +0 -1
  367. package/dist/render/SpriteSheet.d.ts.map +0 -1
  368. package/dist/render/SpriteSheet.js.map +0 -1
  369. package/dist/render/StatusVisuals.d.ts.map +0 -1
  370. package/dist/render/StatusVisuals.js.map +0 -1
  371. package/dist/render/TileMap.d.ts.map +0 -1
  372. package/dist/render/TileMap.js.map +0 -1
  373. package/dist/render/TintedSprite.d.ts.map +0 -1
  374. package/dist/render/TintedSprite.js.map +0 -1
  375. package/dist/render/Viewport.d.ts.map +0 -1
  376. package/dist/render/Viewport.js.map +0 -1
  377. package/dist/render/index.d.ts.map +0 -1
  378. package/dist/render/index.js.map +0 -1
  379. package/dist/rpg/TiledMap.d.ts.map +0 -1
  380. package/dist/rpg/TiledMap.js.map +0 -1
  381. package/dist/stage/DialogueStage.d.ts.map +0 -1
  382. package/dist/stage/DialogueStage.js.map +0 -1
  383. package/dist/stage/index.d.ts.map +0 -1
  384. package/dist/stage/index.js.map +0 -1
  385. package/dist/stage/script.d.ts.map +0 -1
  386. package/dist/stage/script.js.map +0 -1
  387. package/dist/stage/twee.d.ts.map +0 -1
  388. package/dist/stage/twee.js.map +0 -1
  389. package/dist/ui/Bar.d.ts.map +0 -1
  390. package/dist/ui/Bar.js.map +0 -1
  391. package/dist/ui/BitmapLabel.d.ts.map +0 -1
  392. package/dist/ui/BitmapLabel.js.map +0 -1
  393. package/dist/ui/Button.d.ts.map +0 -1
  394. package/dist/ui/Button.js.map +0 -1
  395. package/dist/ui/FloatingText.d.ts.map +0 -1
  396. package/dist/ui/FloatingText.js.map +0 -1
  397. package/dist/ui/HelpScreen.d.ts.map +0 -1
  398. package/dist/ui/HelpScreen.js.map +0 -1
  399. package/dist/ui/IconGrid.d.ts.map +0 -1
  400. package/dist/ui/IconGrid.js.map +0 -1
  401. package/dist/ui/Label.d.ts.map +0 -1
  402. package/dist/ui/Label.js.map +0 -1
  403. package/dist/ui/ListView.d.ts.map +0 -1
  404. package/dist/ui/ListView.js.map +0 -1
  405. package/dist/ui/LoadingScreen.d.ts.map +0 -1
  406. package/dist/ui/LoadingScreen.js.map +0 -1
  407. package/dist/ui/MessageBox.d.ts.map +0 -1
  408. package/dist/ui/MessageBox.js.map +0 -1
  409. package/dist/ui/NinePatch.d.ts.map +0 -1
  410. package/dist/ui/NinePatch.js.map +0 -1
  411. package/dist/ui/RebindScreen.d.ts.map +0 -1
  412. package/dist/ui/RebindScreen.js.map +0 -1
  413. package/dist/ui/StatsScreen.d.ts.map +0 -1
  414. package/dist/ui/StatsScreen.js.map +0 -1
  415. package/dist/ui/Toast.d.ts.map +0 -1
  416. package/dist/ui/Toast.js.map +0 -1
  417. package/dist/ui/VerticalLabel.d.ts.map +0 -1
  418. package/dist/ui/VerticalLabel.js.map +0 -1
  419. package/dist/ui/Window.d.ts.map +0 -1
  420. package/dist/ui/Window.js.map +0 -1
  421. package/dist/ui/WindowStack.d.ts.map +0 -1
  422. package/dist/ui/WindowStack.js.map +0 -1
  423. package/dist/ui/index.d.ts.map +0 -1
  424. package/dist/ui/index.js.map +0 -1
  425. package/dist/ui/theme.d.ts.map +0 -1
  426. package/dist/ui/theme.js.map +0 -1
  427. /package/dist/{render → two-d/render}/ActorAnimator.d.ts +0 -0
  428. /package/dist/{render → two-d/render}/ActorAnimator.js +0 -0
  429. /package/dist/{render → two-d/render}/AnimatedSprite.d.ts +0 -0
  430. /package/dist/{render → two-d/render}/AnimatedSprite.js +0 -0
  431. /package/dist/{render → two-d/render}/Autotile.d.ts +0 -0
  432. /package/dist/{render → two-d/render}/Autotile.js +0 -0
  433. /package/dist/{render → two-d/render}/Camera.d.ts +0 -0
  434. /package/dist/{render → two-d/render}/Capabilities.d.ts +0 -0
  435. /package/dist/{render → two-d/render}/Capabilities.js +0 -0
  436. /package/dist/{render → two-d/render}/ColorBlindness.d.ts +0 -0
  437. /package/dist/{render → two-d/render}/ColorBlindness.js +0 -0
  438. /package/dist/{render → two-d/render}/ColorTransformBatcher.d.ts +0 -0
  439. /package/dist/{render → two-d/render}/LayeredSprite.d.ts +0 -0
  440. /package/dist/{render → two-d/render}/LayeredSprite.js +0 -0
  441. /package/dist/{render → two-d/render}/Minimap.d.ts +0 -0
  442. /package/dist/{render → two-d/render}/Projectile.d.ts +0 -0
  443. /package/dist/{render → two-d/render}/Projectile.js +0 -0
  444. /package/dist/{render → two-d/render}/SpriteSheet.d.ts +0 -0
  445. /package/dist/{render → two-d/render}/StatusVisuals.d.ts +0 -0
  446. /package/dist/{render → two-d/render}/StatusVisuals.js +0 -0
  447. /package/dist/{render → two-d/render}/TileMap.d.ts +0 -0
  448. /package/dist/{render → two-d/render}/TintedSprite.d.ts +0 -0
  449. /package/dist/{render → two-d/render}/TintedSprite.js +0 -0
  450. /package/dist/{render → two-d/render}/Viewport.d.ts +0 -0
  451. /package/dist/{render → two-d/render}/Viewport.js +0 -0
  452. /package/dist/{stage → two-d/stage}/DialogueStage.d.ts +0 -0
  453. /package/dist/{stage → two-d/stage}/index.d.ts +0 -0
  454. /package/dist/{stage → two-d/stage}/index.js +0 -0
  455. /package/dist/{stage → two-d/stage}/script.d.ts +0 -0
  456. /package/dist/{stage → two-d/stage}/twee.d.ts +0 -0
  457. /package/dist/{stage → two-d/stage}/twee.js +0 -0
  458. /package/dist/{ui → two-d/ui}/Bar.d.ts +0 -0
  459. /package/dist/{ui → two-d/ui}/Bar.js +0 -0
  460. /package/dist/{ui → two-d/ui}/BitmapLabel.d.ts +0 -0
  461. /package/dist/{ui → two-d/ui}/BitmapLabel.js +0 -0
  462. /package/dist/{ui → two-d/ui}/FloatingText.d.ts +0 -0
  463. /package/dist/{ui → two-d/ui}/FloatingText.js +0 -0
  464. /package/dist/{ui → two-d/ui}/HelpScreen.js +0 -0
  465. /package/dist/{ui → two-d/ui}/IconGrid.js +0 -0
  466. /package/dist/{ui → two-d/ui}/Label.d.ts +0 -0
  467. /package/dist/{ui → two-d/ui}/Label.js +0 -0
  468. /package/dist/{ui → two-d/ui}/ListView.js +0 -0
  469. /package/dist/{ui → two-d/ui}/LoadingScreen.js +0 -0
  470. /package/dist/{ui → two-d/ui}/MessageBox.js +0 -0
  471. /package/dist/{ui → two-d/ui}/NinePatch.d.ts +0 -0
  472. /package/dist/{ui → two-d/ui}/NinePatch.js +0 -0
  473. /package/dist/{ui → two-d/ui}/StatsScreen.d.ts +0 -0
  474. /package/dist/{ui → two-d/ui}/StatsScreen.js +0 -0
  475. /package/dist/{ui → two-d/ui}/Toast.d.ts +0 -0
  476. /package/dist/{ui → two-d/ui}/VerticalLabel.d.ts +0 -0
  477. /package/dist/{ui → two-d/ui}/VerticalLabel.js +0 -0
  478. /package/dist/{ui → two-d/ui}/WindowStack.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Hooks.d.ts","sourceRoot":"","sources":["../../src/battle/Hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,iGAAiG;IACjG,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,KAAK,CAAuB;IAEpC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAE3F;IAED,8FAA8F;IAC9F,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAE/B;IAED,uEAAuE;IACvE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAIxD;CACD"}
1
+ {"version":3,"file":"Hooks.d.ts","sourceRoot":"","sources":["../../src/battle/Hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,WAAW,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;CAAG;AAErF,YAAY,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,20 +1,22 @@
1
- export class BattleHooks {
2
- constructor() {
3
- this.hooks = [];
4
- }
5
- on(event, handler, source) {
6
- this.hooks.push({ event, handler, source });
7
- }
8
- /** removes every hook registered with this `source` - a fainted creature's ability leaving */
9
- offSource(source) {
10
- this.hooks = this.hooks.filter((hook) => hook.source !== source);
11
- }
12
- /** runs every handler registered for `event`, in registration order */
13
- emit(event, creature, context) {
14
- for (const hook of this.hooks) {
15
- if (hook.event === event)
16
- hook.handler(creature, context);
17
- }
18
- }
1
+ import { HookRegistry } from '../core/Hooks.js';
2
+ /**
3
+ * A battle-scoped place for passive effects to run code, not just push a number - the seam
4
+ * `mwg/actors`' `StatBlock` modifiers and `applyStatusEffect` do not cover, since both are
5
+ * numeric-only. An ability reacting to "this creature switched in," a held item reacting to
6
+ * "this creature was hit," or a sleep/paralysis status answering "can this creature act this
7
+ * turn" are all the same shape: register a handler for a named event, and a game's battle
8
+ * loop calls it at the right moment.
9
+ *
10
+ * `mwg` names no events of its own beyond the strings a game passes - `'switchIn'`, `'hit'`,
11
+ * `'turnStart'`, whatever a game's battle loop actually fires. A "can this creature act"
12
+ * check is a plain convention on top of this, not special-cased: a handler mutates a shared
13
+ * `context` object (`{ skip: false }`, say) the same way any other side effect would, and
14
+ * the battle loop reads it back after `emit` returns.
15
+ *
16
+ * The registry itself is `core.HookRegistry`, shared with `roguelike.CombatHooks`. What is
17
+ * battle-specific is only the shape of what a handler receives: the creature the event is
18
+ * about, plus that optional shared context.
19
+ */
20
+ export class BattleHooks extends HookRegistry {
19
21
  }
20
22
  //# sourceMappingURL=Hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Hooks.js","sourceRoot":"","sources":["../../src/battle/Hooks.ts"],"names":[],"mappings":"AAqBA,MAAM,OAAO,WAAW;IAAxB;QACS,UAAK,GAAoB,EAAE,CAAC;IAiBrC,CAAC;IAfA,EAAE,CAAC,KAAa,EAAE,OAAiD,EAAE,MAAgB;QACpF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,8FAA8F;IAC9F,SAAS,CAAC,MAAe;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAClE,CAAC;IAED,uEAAuE;IACvE,IAAI,CAAC,KAAa,EAAE,QAAW,EAAE,OAAiB;QACjD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;gBAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"Hooks.js","sourceRoot":"","sources":["../../src/battle/Hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,WAAe,SAAQ,YAA8C;CAAG"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * A named-event registry whose handlers can be removed in bulk by whatever registered them.
3
+ *
4
+ * Distinct from `Signal`, which is one event with one payload and a consuming, LIFO listener
5
+ * order: this is many events keyed by name, dispatched in registration order, with a `source`
6
+ * tag so everything an ability or a worn item put here comes off in one call when that thing
7
+ * leaves. `mwg` names no events of its own - the strings are whatever a game's own loop
8
+ * actually fires.
9
+ *
10
+ * `battle.BattleHooks` and `roguelike.CombatHooks` are both this, with their argument types
11
+ * fixed and their own documentation attached. They used to be two line-for-line copies of the
12
+ * same class; the difference between them was never the registry, only what a handler is
13
+ * handed when it runs.
14
+ */
15
+ export interface Hook<TArgs extends unknown[]> {
16
+ event: string;
17
+ handler: (...args: TArgs) => void;
18
+ /** whatever registered this hook - an ability, a held item - for bulk removal via `offSource` */
19
+ source?: unknown;
20
+ }
21
+ export declare class HookRegistry<TArgs extends unknown[]> {
22
+ private hooks;
23
+ on(event: string, handler: (...args: TArgs) => void, source?: unknown): void;
24
+ /** removes one specific handler; `offSource` is the usual way, this is for a one-off */
25
+ off(handler: (...args: TArgs) => void): void;
26
+ /** removes every hook registered with this `source` - a fainted creature's ability leaving */
27
+ offSource(source: unknown): void;
28
+ /** runs every handler registered for `event`, in registration order */
29
+ emit(event: string, ...args: TArgs): void;
30
+ /** how many handlers are registered, across every event */
31
+ get size(): number;
32
+ clear(): void;
33
+ }
34
+ //# sourceMappingURL=Hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hooks.d.ts","sourceRoot":"","sources":["../../src/core/Hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,IAAI,CAAC,KAAK,SAAS,OAAO,EAAE;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IAElC,iGAAiG;IACjG,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE;IAChD,OAAO,CAAC,KAAK,CAAqB;IAElC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAE3E;IAED,wFAAwF;IACxF,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAE3C;IAED,8FAA8F;IAC9F,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAE/B;IAED,uEAAuE;IACvE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,CAMxC;IAED,2DAA2D;IAC3D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,KAAK,IAAI,IAAI,CAEZ;CACD"}
@@ -0,0 +1,33 @@
1
+ export class HookRegistry {
2
+ constructor() {
3
+ this.hooks = [];
4
+ }
5
+ on(event, handler, source) {
6
+ this.hooks.push({ event, handler, source });
7
+ }
8
+ /** removes one specific handler; `offSource` is the usual way, this is for a one-off */
9
+ off(handler) {
10
+ this.hooks = this.hooks.filter((hook) => hook.handler !== handler);
11
+ }
12
+ /** removes every hook registered with this `source` - a fainted creature's ability leaving */
13
+ offSource(source) {
14
+ this.hooks = this.hooks.filter((hook) => hook.source !== source);
15
+ }
16
+ /** runs every handler registered for `event`, in registration order */
17
+ emit(event, ...args) {
18
+ //iterate a copy: a handler may remove itself or another, which must not shift the
19
+ //iteration out from under this loop mid-dispatch
20
+ for (const hook of [...this.hooks]) {
21
+ if (hook.event === event)
22
+ hook.handler(...args);
23
+ }
24
+ }
25
+ /** how many handlers are registered, across every event */
26
+ get size() {
27
+ return this.hooks.length;
28
+ }
29
+ clear() {
30
+ this.hooks = [];
31
+ }
32
+ }
33
+ //# sourceMappingURL=Hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hooks.js","sourceRoot":"","sources":["../../src/core/Hooks.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,YAAY;IAAzB;QACS,UAAK,GAAkB,EAAE,CAAC;IAiCnC,CAAC;IA/BA,EAAE,CAAC,KAAa,EAAE,OAAiC,EAAE,MAAgB;QACpE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,wFAAwF;IACxF,GAAG,CAAC,OAAiC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,8FAA8F;IAC9F,SAAS,CAAC,MAAe;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAClE,CAAC;IAED,uEAAuE;IACvE,IAAI,CAAC,KAAa,EAAE,GAAG,IAAW;QACjC,kFAAkF;QAClF,iDAAiD;QACjD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QACjD,CAAC;IACF,CAAC;IAED,2DAA2D;IAC3D,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACjB,CAAC;CACD"}
@@ -94,6 +94,47 @@ export interface RumbleOptions {
94
94
  * game reaching for "juice" should not have to feature-test this itself.
95
95
  */
96
96
  export declare function rumble(padIndex: number, options: RumbleOptions, pads?: readonly (Gamepad | null)[]): void;
97
+ /** the pseudo key code for an on-screen touch control identified by `id` - bind it the same way a `KeyboardEvent.code` is bound */
98
+ export declare function touchCode(id: string): string;
99
+ /** binds this player's own action to an on-screen touch control, the same way `bindButton` wires up a gamepad button - call once during setup, then toggle it with `pressTouch`/`releaseTouch` */
100
+ export declare function bindTouch(action: Action, id?: string): void;
101
+ /**
102
+ * Presses an on-screen touch control bound with `bindTouch`, e.g. from a `Button`'s
103
+ * `onPress` - shares the same held/`justPressed` state a real key does, so holding a virtual
104
+ * d-pad button repeats a move the same way holding an arrow key does, rather than firing
105
+ * once per tap the way `Button.onClick` alone would.
106
+ */
107
+ export declare function pressTouch(id: string): void;
108
+ export declare function releaseTouch(id: string): void;
109
+ /** where a swipe's own 8 directions and its short in-place tap map to, defaulting to this project's own default movement/wait bindings */
110
+ export interface SwipeActions {
111
+ up?: Action;
112
+ down?: Action;
113
+ left?: Action;
114
+ right?: Action;
115
+ upLeft?: Action;
116
+ upRight?: Action;
117
+ downLeft?: Action;
118
+ downRight?: Action;
119
+ /** dispatched for a touch that moved less than `minDistance`; omit to ignore taps */
120
+ tap?: Action;
121
+ }
122
+ export interface SwipeOptions {
123
+ actions?: SwipeActions;
124
+ /** minimum drag distance, in CSS pixels, before a touch counts as a swipe rather than a tap; default 24 */
125
+ minDistance?: number;
126
+ }
127
+ /**
128
+ * Turns a one-finger drag on `target` into a single directional action pulse - press
129
+ * immediately followed by release, the same shape a quick key tap produces - resolved to one
130
+ * of 8 directions by angle, or to `actions.tap` for a touch that barely moved. Movement by
131
+ * swipe rather than a held virtual d-pad is the more common mobile roguelike control scheme
132
+ * (a swipe per tile, not a held direction), so this dispatches one pulse per gesture rather
133
+ * than holding an action down for the drag's duration.
134
+ *
135
+ * Returns a function that removes the listeners this attached.
136
+ */
137
+ export declare function attachSwipe(target: EventTarget, options?: SwipeOptions): () => void;
97
138
  export declare function attach(target?: EventTarget): void;
98
139
  export declare function detach(target?: EventTarget): void;
99
140
  //# sourceMappingURL=Input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/core/Input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/core/Input.ts"],"names":[],"mappings":"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"}
@@ -103,6 +103,30 @@ function actionsFor(code) {
103
103
  }
104
104
  return out;
105
105
  }
106
+ /**
107
+ * Presses a held code - a key, a gamepad button/axis, or a touch control - fanning out to
108
+ * every action currently bound to it. Shared by `handleKeyDown`, `pollGamepads`, and
109
+ * `pressTouch` rather than each repeating the same "add to `held`, mark every bound action
110
+ * pressed this frame, dispatch `onAction`" sequence, since none of them differ in anything
111
+ * but where `code` came from.
112
+ */
113
+ function pressCode(code) {
114
+ if (held.has(code))
115
+ return;
116
+ held.add(code);
117
+ for (const action of actionsFor(code)) {
118
+ pressedThisFrame.add(action);
119
+ onAction.dispatch(action);
120
+ }
121
+ }
122
+ /** the release counterpart to `pressCode` */
123
+ function releaseCode(code) {
124
+ if (!held.has(code))
125
+ return;
126
+ held.delete(code);
127
+ for (const action of actionsFor(code))
128
+ releasedThisFrame.add(action);
129
+ }
106
130
  /** true for as long as the key is held */
107
131
  export function isDown(action) {
108
132
  const keys = bindings.get(action);
@@ -137,18 +161,11 @@ function handleKeyDown(event) {
137
161
  onKey.dispatch(event);
138
162
  return;
139
163
  }
140
- held.add(event.code);
141
- for (const action of actionsFor(event.code)) {
142
- pressedThisFrame.add(action);
143
- onAction.dispatch(action);
144
- }
164
+ pressCode(event.code);
145
165
  onKey.dispatch(event);
146
166
  }
147
167
  function handleKeyUp(event) {
148
- held.delete(event.code);
149
- for (const action of actionsFor(event.code)) {
150
- releasedThisFrame.add(action);
151
- }
168
+ releaseCode(event.code);
152
169
  }
153
170
  function handleBlur() {
154
171
  //a key held while the window loses focus never sends its keyup, and would stay stuck
@@ -208,15 +225,8 @@ pads = typeof navigator?.getGamepads === 'function' ? navigator.getGamepads() :
208
225
  gamepadDown.add(gamepadAxisCode(pad.index, i, -1));
209
226
  }
210
227
  }
211
- for (const code of gamepadDown) {
212
- if (held.has(code))
213
- continue;
214
- held.add(code);
215
- for (const action of actionsFor(code)) {
216
- pressedThisFrame.add(action);
217
- onAction.dispatch(action);
218
- }
219
- }
228
+ for (const code of gamepadDown)
229
+ pressCode(code);
220
230
  //a real KeyboardEvent.code never starts with "Gamepad", so this only ever releases codes
221
231
  //pollGamepads itself could have added, never a key still held from handleKeyDown; safe to
222
232
  //delete the current entry mid-iteration, since Set iteration order is insertion order and
@@ -224,9 +234,7 @@ pads = typeof navigator?.getGamepads === 'function' ? navigator.getGamepads() :
224
234
  for (const code of held) {
225
235
  if (gamepadDown.has(code) || !code.startsWith('Gamepad'))
226
236
  continue;
227
- held.delete(code);
228
- for (const action of actionsFor(code))
229
- releasedThisFrame.add(action);
237
+ releaseCode(code);
230
238
  }
231
239
  }
232
240
  /**
@@ -243,6 +251,103 @@ export function rumble(padIndex, options, pads = typeof navigator?.getGamepads =
243
251
  strongMagnitude: options.strongMagnitude ?? 1,
244
252
  });
245
253
  }
254
+ //---- touch input ----
255
+ //
256
+ //a touchscreen phone has no keyboard and, unless a gamepad is paired, no Gamepad API input
257
+ //either - the gap item 110's own Capacitor integration named as "untested, not unconsidered"
258
+ //once `Button`'s existing pointer support is set aside. This follows the exact same pattern
259
+ //`bindButton`/`pollGamepads` already established: bind a synthetic code to an action once,
260
+ //then flip that one code's held state - `isDown`/`justPressed`/`justReleased` already work
261
+ //unmodified, since none of them know or care whether a held code came from a key, a pad, or
262
+ //an on-screen control.
263
+ /** the pseudo key code for an on-screen touch control identified by `id` - bind it the same way a `KeyboardEvent.code` is bound */
264
+ export function touchCode(id) {
265
+ return `Touch:${id}`;
266
+ }
267
+ /** binds this player's own action to an on-screen touch control, the same way `bindButton` wires up a gamepad button - call once during setup, then toggle it with `pressTouch`/`releaseTouch` */
268
+ export function bindTouch(action, id = action) {
269
+ addBindings(action, [touchCode(id)]);
270
+ }
271
+ /**
272
+ * Presses an on-screen touch control bound with `bindTouch`, e.g. from a `Button`'s
273
+ * `onPress` - shares the same held/`justPressed` state a real key does, so holding a virtual
274
+ * d-pad button repeats a move the same way holding an arrow key does, rather than firing
275
+ * once per tap the way `Button.onClick` alone would.
276
+ */
277
+ export function pressTouch(id) {
278
+ pressCode(touchCode(id));
279
+ }
280
+ export function releaseTouch(id) {
281
+ releaseCode(touchCode(id));
282
+ }
283
+ const DEFAULT_SWIPE_ACTIONS = {
284
+ up: 'up', down: 'down', left: 'left', right: 'right',
285
+ upLeft: 'upLeft', upRight: 'upRight', downLeft: 'downLeft', downRight: 'downRight',
286
+ };
287
+ //screen-space octant order starting at 0 radians (right) and going clockwise (since screen
288
+ //y grows downward) - index matches `Math.round(angle / (PI/4))` folded into 0..7 by attachSwipe
289
+ const SWIPE_OCTANTS = [
290
+ 'right', 'downRight', 'down', 'downLeft', 'left', 'upLeft', 'up', 'upRight',
291
+ ];
292
+ /**
293
+ * Turns a one-finger drag on `target` into a single directional action pulse - press
294
+ * immediately followed by release, the same shape a quick key tap produces - resolved to one
295
+ * of 8 directions by angle, or to `actions.tap` for a touch that barely moved. Movement by
296
+ * swipe rather than a held virtual d-pad is the more common mobile roguelike control scheme
297
+ * (a swipe per tile, not a held direction), so this dispatches one pulse per gesture rather
298
+ * than holding an action down for the drag's duration.
299
+ *
300
+ * Returns a function that removes the listeners this attached.
301
+ */
302
+ export function attachSwipe(target, options = {}) {
303
+ const actions = { ...DEFAULT_SWIPE_ACTIONS, ...options.actions };
304
+ const minDistance = options.minDistance ?? 24;
305
+ //bound once up front, the same way a game calling bindButton itself would - attachSwipe
306
+ //is this project's own convenience wrapper over that same primitive, not a special case
307
+ for (const id of [...SWIPE_OCTANTS, 'tap']) {
308
+ const action = actions[id];
309
+ if (action)
310
+ bindTouch(action, `swipe:${id}`);
311
+ }
312
+ let tracking = false;
313
+ let pointerId = -1;
314
+ let startX = 0;
315
+ let startY = 0;
316
+ function pulse(id) {
317
+ pressTouch(`swipe:${id}`);
318
+ releaseTouch(`swipe:${id}`);
319
+ }
320
+ function onPointerDown(event) {
321
+ tracking = true;
322
+ pointerId = event.pointerId;
323
+ startX = event.clientX;
324
+ startY = event.clientY;
325
+ }
326
+ function onPointerUp(event) {
327
+ if (!tracking || event.pointerId !== pointerId)
328
+ return;
329
+ tracking = false;
330
+ const dx = event.clientX - startX;
331
+ const dy = event.clientY - startY;
332
+ if (Math.hypot(dx, dy) < minDistance) {
333
+ if (actions.tap)
334
+ pulse('tap');
335
+ return;
336
+ }
337
+ const octant = (Math.round(Math.atan2(dy, dx) / (Math.PI / 4)) % 8 + 8) % 8;
338
+ const id = SWIPE_OCTANTS[octant];
339
+ if (actions[id])
340
+ pulse(id);
341
+ }
342
+ target.addEventListener('pointerdown', onPointerDown);
343
+ target.addEventListener('pointerup', onPointerUp);
344
+ target.addEventListener('pointercancel', onPointerUp);
345
+ return () => {
346
+ target.removeEventListener('pointerdown', onPointerDown);
347
+ target.removeEventListener('pointerup', onPointerUp);
348
+ target.removeEventListener('pointercancel', onPointerUp);
349
+ };
350
+ }
246
351
  export function attach(target = window) {
247
352
  if (attached)
248
353
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/core/Input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/core/Input.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,11 @@ export declare class PlayerInput {
29
29
  bindButton(action: Action, buttons: readonly number[]): void;
30
30
  /** binds this player's own action to an axis direction on their own `padIndex` */
31
31
  bindAxis(action: Action, axis: number, direction: 1 | -1): void;
32
+ /** binds this player's own action to an on-screen touch control, independent of any other player's binding for the same action name */
33
+ bindTouch(action: Action, id?: string): void;
34
+ /** presses this player's own touch control, bound previously with `bindTouch` */
35
+ pressTouch(id: string): void;
36
+ releaseTouch(id: string): void;
32
37
  isDown(action: Action): boolean;
33
38
  justPressed(action: Action): boolean;
34
39
  justReleased(action: Action): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerInput.d.ts","sourceRoot":"","sources":["../../src/core/PlayerInput.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,WAAW,kBAAkB;IAClC,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,WAAW;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,YAAY,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,EAIvD;IAED,OAAO,CAAC,MAAM;IAId,0HAA0H;IAC1H,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAElD;IAED,yEAAyE;IACzE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAG3D;IAED,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAG9D;IAED,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9B;IAED,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnC;IAED,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEpC;IAED,wGAAwG;IACxG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAEhC;CACD"}
1
+ {"version":3,"file":"PlayerInput.d.ts","sourceRoot":"","sources":["../../src/core/PlayerInput.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,WAAW,kBAAkB;IAClC,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,WAAW;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,YAAY,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,EAIvD;IAED,OAAO,CAAC,MAAM;IAId,0HAA0H;IAC1H,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAElD;IAED,yEAAyE;IACzE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAG3D;IAED,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAG9D;IAED,uIAAuI;IACvI,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAE,MAAe,GAAG,IAAI,CAEnD;IAED,iFAAiF;IACjF,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE3B;IAED,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE7B;IAED,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9B;IAED,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnC;IAED,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEpC;IAED,wGAAwG;IACxG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAEhC;CACD"}
@@ -40,6 +40,17 @@ export class PlayerInput {
40
40
  throw new Error(`player "${this.id}" has no padIndex to bind a gamepad axis to`);
41
41
  Input.bindAxis(this.scoped(action), this.padIndex, axis, direction);
42
42
  }
43
+ /** binds this player's own action to an on-screen touch control, independent of any other player's binding for the same action name */
44
+ bindTouch(action, id = action) {
45
+ Input.bindTouch(this.scoped(action), `${this.id}:${id}`);
46
+ }
47
+ /** presses this player's own touch control, bound previously with `bindTouch` */
48
+ pressTouch(id) {
49
+ Input.pressTouch(`${this.id}:${id}`);
50
+ }
51
+ releaseTouch(id) {
52
+ Input.releaseTouch(`${this.id}:${id}`);
53
+ }
43
54
  isDown(action) {
44
55
  return Input.isDown(this.scoped(action));
45
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerInput.js","sourceRoot":"","sources":["../../src/core/PlayerInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAQpC;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,WAAW;IAIvB,YAAY,EAAU,EAAE,OAAO,GAAuB,EAAE;QACvD,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC1D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,CAAC;IAEO,MAAM,CAAC,MAAc;QAC5B,OAAO,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,0HAA0H;IAC1H,IAAI,CAAC,MAAc,EAAE,IAAuB;QAC3C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,yEAAyE;IACzE,UAAU,CAAC,MAAc,EAAE,OAA0B;QACpD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,+CAA+C,CAAC,CAAC;QACpH,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,kFAAkF;IAClF,QAAQ,CAAC,MAAc,EAAE,IAAY,EAAE,SAAiB;QACvD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,6CAA6C,CAAC,CAAC;QAClH,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,MAAc;QACpB,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW,CAAC,MAAc;QACzB,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY,CAAC,MAAc;QAC1B,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,wGAAwG;IACxG,OAAO,CAAC,MAAc;QACrB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;CACD"}
1
+ {"version":3,"file":"PlayerInput.js","sourceRoot":"","sources":["../../src/core/PlayerInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAQpC;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,WAAW;IAIvB,YAAY,EAAU,EAAE,OAAO,GAAuB,EAAE;QACvD,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC1D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,CAAC;IAEO,MAAM,CAAC,MAAc;QAC5B,OAAO,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,0HAA0H;IAC1H,IAAI,CAAC,MAAc,EAAE,IAAuB;QAC3C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,yEAAyE;IACzE,UAAU,CAAC,MAAc,EAAE,OAA0B;QACpD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,+CAA+C,CAAC,CAAC;QACpH,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,kFAAkF;IAClF,QAAQ,CAAC,MAAc,EAAE,IAAY,EAAE,SAAiB;QACvD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,6CAA6C,CAAC,CAAC;QAClH,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,uIAAuI;IACvI,SAAS,CAAC,MAAc,EAAE,EAAE,GAAW,MAAM;QAC5C,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,iFAAiF;IACjF,UAAU,CAAC,EAAU;QACpB,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,EAAU;QACtB,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,MAAc;QACpB,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW,CAAC,MAAc;QACzB,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY,CAAC,MAAc;QAC1B,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,wGAAwG;IACxG,OAAO,CAAC,MAAc;QACrB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;CACD"}
@@ -54,11 +54,20 @@ export declare function range(min: number, max: number): number;
54
54
  */
55
55
  export declare function normalRange(min: number, max: number): number;
56
56
  export declare function chance(probability: number): boolean;
57
- export declare function element<T>(items: readonly T[]): T | undefined;
58
- /** an index into `weights`, each index drawn in proportion to its weight */
59
- export declare function weighted(weights: readonly number[]): number;
60
- /** a key from `weights`, drawn in proportion to the value it maps to */
61
- export declare function weightedKey<K>(weights: ReadonlyMap<K, number>): K | undefined;
57
+ /**
58
+ * Every "pick one" function here reports "there was nothing to pick" as `null`, never as
59
+ * `-1` or `undefined`.
60
+ *
61
+ * `weighted` used to return `-1` and the two functions built on it returned `undefined`,
62
+ * which meant one call chain carried three different spellings of the same outcome and two
63
+ * separate hand-written translations between them. One sentinel, checked one way.
64
+ */
65
+ /** a random element, or `null` for an empty list */
66
+ export declare function element<T>(items: readonly T[]): T | null;
67
+ /** an index into `weights` drawn in proportion to its weight, or `null` if nothing has any */
68
+ export declare function weighted(weights: readonly number[]): number | null;
69
+ /** a key from `weights`, drawn in proportion to the value it maps to, or `null` if none has any */
70
+ export declare function weightedKey<K>(weights: ReadonlyMap<K, number>): K | null;
62
71
  /** Fisher-Yates, in place */
63
72
  export declare function shuffle<T>(items: T[]): T[];
64
73
  //# sourceMappingURL=Random.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../../src/core/Random.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAcH,qBAAa,SAAS;IACrB,OAAO,CAAC,EAAE,CAAK;IACf,OAAO,CAAC,EAAE,CAAK;IACf,OAAO,CAAC,EAAE,CAAK;IACf,OAAO,CAAC,EAAE,CAAK;IAEf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,IAAI,CAAC,EAAE,MAAM,EAcxB;IAED,yEAAyE;IACzE,UAAU,IAAI,MAAM,CAanB;IAED,oDAAoD;IACpD,KAAK,IAAI,MAAM,CAEd;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASzB;IAED,8EAA8E;IAC9E,QAAQ,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAE3C;IAED,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAE/D;CACD;AAUD,iEAAiE;AACjE,wBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAI7C;AAED,wBAAgB,GAAG,IAAI,IAAI,CAK1B;AAED,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAO1D;AAED,wBAAgB,KAAK,IAAI,IAAI,CAG5B;AAED,oDAAoD;AACpD,wBAAgB,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,4CAA4C;AAC5C,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,8EAA8E;AAC9E,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAE7D;AAED,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAW3D;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAI7E;AAED,6BAA6B;AAC7B,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAM1C"}
1
+ {"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../../src/core/Random.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAcH,qBAAa,SAAS;IACrB,OAAO,CAAC,EAAE,CAAK;IACf,OAAO,CAAC,EAAE,CAAK;IACf,OAAO,CAAC,EAAE,CAAK;IACf,OAAO,CAAC,EAAE,CAAK;IAEf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,IAAI,CAAC,EAAE,MAAM,EAcxB;IAED,yEAAyE;IACzE,UAAU,IAAI,MAAM,CAanB;IAED,oDAAoD;IACpD,KAAK,IAAI,MAAM,CAEd;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASzB;IAED,8EAA8E;IAC9E,QAAQ,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAE3C;IAED,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAE/D;CACD;AAUD,iEAAiE;AACjE,wBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAI7C;AAED,wBAAgB,GAAG,IAAI,IAAI,CAK1B;AAED,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAO1D;AAED,wBAAgB,KAAK,IAAI,IAAI,CAG5B;AAED,oDAAoD;AACpD,wBAAgB,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,4CAA4C;AAC5C,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,8EAA8E;AAC9E,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;;;GAOG;AAEH,oDAAoD;AACpD,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAExD;AAED,8FAA8F;AAC9F,wBAAgB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAWlE;AAED,mGAAmG;AACnG,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAIxE;AAED,6BAA6B;AAC7B,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAM1C"}
@@ -143,16 +143,25 @@ export function normalRange(min, max) {
143
143
  export function chance(probability) {
144
144
  return current().float() < probability;
145
145
  }
146
+ /**
147
+ * Every "pick one" function here reports "there was nothing to pick" as `null`, never as
148
+ * `-1` or `undefined`.
149
+ *
150
+ * `weighted` used to return `-1` and the two functions built on it returned `undefined`,
151
+ * which meant one call chain carried three different spellings of the same outcome and two
152
+ * separate hand-written translations between them. One sentinel, checked one way.
153
+ */
154
+ /** a random element, or `null` for an empty list */
146
155
  export function element(items) {
147
- return items.length > 0 ? items[current().int(items.length)] : undefined;
156
+ return items.length > 0 ? items[current().int(items.length)] : null;
148
157
  }
149
- /** an index into `weights`, each index drawn in proportion to its weight */
158
+ /** an index into `weights` drawn in proportion to its weight, or `null` if nothing has any */
150
159
  export function weighted(weights) {
151
160
  let total = 0;
152
161
  for (const w of weights)
153
162
  total += w;
154
163
  if (total <= 0)
155
- return -1;
164
+ return null;
156
165
  let value = current().float() * total;
157
166
  for (let i = 0; i < weights.length; i++) {
158
167
  value -= weights[i];
@@ -161,11 +170,11 @@ export function weighted(weights) {
161
170
  }
162
171
  return weights.length - 1;
163
172
  }
164
- /** a key from `weights`, drawn in proportion to the value it maps to */
173
+ /** a key from `weights`, drawn in proportion to the value it maps to, or `null` if none has any */
165
174
  export function weightedKey(weights) {
166
175
  const keys = [...weights.keys()];
167
176
  const index = weighted(keys.map((k) => weights.get(k) ?? 0));
168
- return index === -1 ? undefined : keys[index];
177
+ return index === null ? null : keys[index];
169
178
  }
170
179
  /** Fisher-Yates, in place */
171
180
  export function shuffle(items) {
@@ -1 +1 @@
1
- {"version":3,"file":"Random.js","sourceRoot":"","sources":["../../src/core/Random.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Random.js","sourceRoot":"","sources":["../../src/core/Random.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,sFAAsF;AACtF,SAAS,UAAU,CAAC,IAAY;IAC/B,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;IACnB,OAAO,GAAG,EAAE;QACX,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;AACH,CAAC;AAED,MAAM,OAAO,SAAS;IAQrB,YAAY,IAAa;QAPjB,OAAE,GAAG,CAAC,CAAC;QACP,OAAE,GAAG,CAAC,CAAC;QACP,OAAE,GAAG,CAAC,CAAC;QACP,OAAE,GAAG,CAAC,CAAC;QAKd,oFAAoF;QACpF,kFAAkF;QAClF,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;QAElF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;QAEjB,mFAAmF;QACnF,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED,yEAAyE;IACzE,UAAU;QACT,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAE1E,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5B,OAAO,MAAM,CAAC;IACf,CAAC;IAED,oDAAoD;IACpD,KAAK;QACJ,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,WAAW,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAa;QAChB,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAEzB,MAAM,KAAK,GAAG,WAAW,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;QAClD,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,OAAO,KAAK,IAAI,KAAK,EAAE,CAAC;YACvB,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,8EAA8E;IAC9E,QAAQ;QACP,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,QAAQ,CAAC,KAAgD;QACxD,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;IAC9C,CAAC;CACD;AAED,SAAS,IAAI,CAAC,CAAS,EAAE,CAAS;IACjC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,KAAK,GAAgB,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;AAE7C,MAAM,OAAO,GAAG,GAAc,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEzD,iEAAiE;AACjE,MAAM,UAAU,IAAI,CAAC,IAAa;IACjC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,GAAG;IAClB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,CAAC,GAAG,EAAE,CAAC;AACb,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,QAAQ,CAAI,IAAY,EAAE,IAAa;IACtD,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,IAAI,CAAC;QACJ,OAAO,IAAI,EAAE,CAAC;IACf,CAAC;YAAS,CAAC;QACV,GAAG,EAAE,CAAC;IACP,CAAC;AACF,CAAC;AAED,MAAM,UAAU,KAAK;IACpB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,GAAY;IAC/C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;IAChD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC;IACtD,OAAO,GAAG,GAAG,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,GAAY;IAC5C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjD,OAAO,GAAG,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,GAAW;IAC7C,OAAO,GAAG,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,GAAW;IACnD,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,WAAmB;IACzC,OAAO,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC;AACxC,CAAC;AAED;;;;;;;GAOG;AAEH,oDAAoD;AACpD,MAAM,UAAU,OAAO,CAAI,KAAmB;IAC7C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,QAAQ,CAAC,OAA0B;IAClD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,KAAK,IAAI,CAAC,CAAC;IACpC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5B,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,WAAW,CAAI,OAA+B;IAC7D,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,OAAO,CAAI,KAAU;IACpC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}