@rpgm-tools/neo-angband-core 0.10.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 (1183) hide show
  1. package/LICENSE.md +43 -0
  2. package/README.md +80 -0
  3. package/dist/agent/act.d.ts +22 -0
  4. package/dist/agent/act.d.ts.map +1 -0
  5. package/dist/agent/act.js +88 -0
  6. package/dist/agent/act.js.map +1 -0
  7. package/dist/agent/controller.d.ts +34 -0
  8. package/dist/agent/controller.d.ts.map +1 -0
  9. package/dist/agent/controller.js +90 -0
  10. package/dist/agent/controller.js.map +1 -0
  11. package/dist/agent/events.d.ts +27 -0
  12. package/dist/agent/events.d.ts.map +1 -0
  13. package/dist/agent/events.js +31 -0
  14. package/dist/agent/events.js.map +1 -0
  15. package/dist/agent/index.d.ts +17 -0
  16. package/dist/agent/index.d.ts.map +1 -0
  17. package/dist/agent/index.js +15 -0
  18. package/dist/agent/index.js.map +1 -0
  19. package/dist/agent/perceive.d.ts +21 -0
  20. package/dist/agent/perceive.d.ts.map +1 -0
  21. package/dist/agent/perceive.js +386 -0
  22. package/dist/agent/perceive.js.map +1 -0
  23. package/dist/agent/types.d.ts +436 -0
  24. package/dist/agent/types.d.ts.map +1 -0
  25. package/dist/agent/types.js +63 -0
  26. package/dist/agent/types.js.map +1 -0
  27. package/dist/bitflag.d.ts +199 -0
  28. package/dist/bitflag.d.ts.map +1 -0
  29. package/dist/bitflag.js +478 -0
  30. package/dist/bitflag.js.map +1 -0
  31. package/dist/cmd.d.ts +164 -0
  32. package/dist/cmd.d.ts.map +1 -0
  33. package/dist/cmd.js +350 -0
  34. package/dist/cmd.js.map +1 -0
  35. package/dist/color.d.ts +104 -0
  36. package/dist/color.d.ts.map +1 -0
  37. package/dist/color.js +240 -0
  38. package/dist/color.js.map +1 -0
  39. package/dist/combat/brand-slay.d.ts +119 -0
  40. package/dist/combat/brand-slay.d.ts.map +1 -0
  41. package/dist/combat/brand-slay.js +264 -0
  42. package/dist/combat/brand-slay.js.map +1 -0
  43. package/dist/combat/hit.d.ts +198 -0
  44. package/dist/combat/hit.d.ts.map +1 -0
  45. package/dist/combat/hit.js +310 -0
  46. package/dist/combat/hit.js.map +1 -0
  47. package/dist/combat/index.d.ts +15 -0
  48. package/dist/combat/index.d.ts.map +1 -0
  49. package/dist/combat/index.js +15 -0
  50. package/dist/combat/index.js.map +1 -0
  51. package/dist/combat/melee.d.ts +261 -0
  52. package/dist/combat/melee.d.ts.map +1 -0
  53. package/dist/combat/melee.js +402 -0
  54. package/dist/combat/melee.js.map +1 -0
  55. package/dist/combat/mon-melee.d.ts +233 -0
  56. package/dist/combat/mon-melee.d.ts.map +1 -0
  57. package/dist/combat/mon-melee.js +883 -0
  58. package/dist/combat/mon-melee.js.map +1 -0
  59. package/dist/combat/ranged.d.ts +89 -0
  60. package/dist/combat/ranged.d.ts.map +1 -0
  61. package/dist/combat/ranged.js +253 -0
  62. package/dist/combat/ranged.js.map +1 -0
  63. package/dist/constants.d.ts +134 -0
  64. package/dist/constants.d.ts.map +1 -0
  65. package/dist/constants.js +171 -0
  66. package/dist/constants.js.map +1 -0
  67. package/dist/dice.d.ts +91 -0
  68. package/dist/dice.d.ts.map +1 -0
  69. package/dist/dice.js +424 -0
  70. package/dist/dice.js.map +1 -0
  71. package/dist/effects/effect-choice.d.ts +15 -0
  72. package/dist/effects/effect-choice.d.ts.map +1 -0
  73. package/dist/effects/effect-choice.js +18 -0
  74. package/dist/effects/effect-choice.js.map +1 -0
  75. package/dist/effects/effect-info.d.ts +124 -0
  76. package/dist/effects/effect-info.d.ts.map +1 -0
  77. package/dist/effects/effect-info.js +706 -0
  78. package/dist/effects/effect-info.js.map +1 -0
  79. package/dist/effects/effect.d.ts +165 -0
  80. package/dist/effects/effect.d.ts.map +1 -0
  81. package/dist/effects/effect.js +452 -0
  82. package/dist/effects/effect.js.map +1 -0
  83. package/dist/effects/handlers.d.ts +70 -0
  84. package/dist/effects/handlers.d.ts.map +1 -0
  85. package/dist/effects/handlers.js +394 -0
  86. package/dist/effects/handlers.js.map +1 -0
  87. package/dist/effects/interpreter.d.ts +291 -0
  88. package/dist/effects/interpreter.d.ts.map +1 -0
  89. package/dist/effects/interpreter.js +325 -0
  90. package/dist/effects/interpreter.js.map +1 -0
  91. package/dist/events.d.ts +188 -0
  92. package/dist/events.d.ts.map +1 -0
  93. package/dist/events.js +138 -0
  94. package/dist/events.js.map +1 -0
  95. package/dist/expression.d.ts +83 -0
  96. package/dist/expression.d.ts.map +1 -0
  97. package/dist/expression.js +333 -0
  98. package/dist/expression.js.map +1 -0
  99. package/dist/game/cave-cmd.d.ts +195 -0
  100. package/dist/game/cave-cmd.d.ts.map +1 -0
  101. package/dist/game/cave-cmd.js +968 -0
  102. package/dist/game/cave-cmd.js.map +1 -0
  103. package/dist/game/char-sheet.d.ts +189 -0
  104. package/dist/game/char-sheet.d.ts.map +1 -0
  105. package/dist/game/char-sheet.js +381 -0
  106. package/dist/game/char-sheet.js.map +1 -0
  107. package/dist/game/chest.d.ts +94 -0
  108. package/dist/game/chest.d.ts.map +1 -0
  109. package/dist/game/chest.js +267 -0
  110. package/dist/game/chest.js.map +1 -0
  111. package/dist/game/context.d.ts +970 -0
  112. package/dist/game/context.d.ts.map +1 -0
  113. package/dist/game/context.js +353 -0
  114. package/dist/game/context.js.map +1 -0
  115. package/dist/game/curse-tick.d.ts +35 -0
  116. package/dist/game/curse-tick.d.ts.map +1 -0
  117. package/dist/game/curse-tick.js +100 -0
  118. package/dist/game/curse-tick.js.map +1 -0
  119. package/dist/game/describe.d.ts +20 -0
  120. package/dist/game/describe.d.ts.map +1 -0
  121. package/dist/game/describe.js +45 -0
  122. package/dist/game/describe.js.map +1 -0
  123. package/dist/game/display.d.ts +196 -0
  124. package/dist/game/display.d.ts.map +1 -0
  125. package/dist/game/display.js +684 -0
  126. package/dist/game/display.js.map +1 -0
  127. package/dist/game/dump-level.d.ts +37 -0
  128. package/dist/game/dump-level.d.ts.map +1 -0
  129. package/dist/game/dump-level.js +110 -0
  130. package/dist/game/dump-level.js.map +1 -0
  131. package/dist/game/effect-attack.d.ts +36 -0
  132. package/dist/game/effect-attack.d.ts.map +1 -0
  133. package/dist/game/effect-attack.js +694 -0
  134. package/dist/game/effect-attack.js.map +1 -0
  135. package/dist/game/effect-detect.d.ts +34 -0
  136. package/dist/game/effect-detect.d.ts.map +1 -0
  137. package/dist/game/effect-detect.js +456 -0
  138. package/dist/game/effect-detect.js.map +1 -0
  139. package/dist/game/effect-env.d.ts +77 -0
  140. package/dist/game/effect-env.d.ts.map +1 -0
  141. package/dist/game/effect-env.js +166 -0
  142. package/dist/game/effect-env.js.map +1 -0
  143. package/dist/game/effect-game-env.d.ts +76 -0
  144. package/dist/game/effect-game-env.d.ts.map +1 -0
  145. package/dist/game/effect-game-env.js +23 -0
  146. package/dist/game/effect-game-env.js.map +1 -0
  147. package/dist/game/effect-general.d.ts +98 -0
  148. package/dist/game/effect-general.d.ts.map +1 -0
  149. package/dist/game/effect-general.js +914 -0
  150. package/dist/game/effect-general.js.map +1 -0
  151. package/dist/game/effect-item.d.ts +124 -0
  152. package/dist/game/effect-item.d.ts.map +1 -0
  153. package/dist/game/effect-item.js +789 -0
  154. package/dist/game/effect-item.js.map +1 -0
  155. package/dist/game/effect-melee.d.ts +43 -0
  156. package/dist/game/effect-melee.d.ts.map +1 -0
  157. package/dist/game/effect-melee.js +477 -0
  158. package/dist/game/effect-melee.js.map +1 -0
  159. package/dist/game/effect-mon-origin.d.ts +67 -0
  160. package/dist/game/effect-mon-origin.d.ts.map +1 -0
  161. package/dist/game/effect-mon-origin.js +164 -0
  162. package/dist/game/effect-mon-origin.js.map +1 -0
  163. package/dist/game/effect-monster.d.ts +29 -0
  164. package/dist/game/effect-monster.d.ts.map +1 -0
  165. package/dist/game/effect-monster.js +281 -0
  166. package/dist/game/effect-monster.js.map +1 -0
  167. package/dist/game/effect-summon.d.ts +37 -0
  168. package/dist/game/effect-summon.d.ts.map +1 -0
  169. package/dist/game/effect-summon.js +113 -0
  170. package/dist/game/effect-summon.js.map +1 -0
  171. package/dist/game/effect-teleport.d.ts +130 -0
  172. package/dist/game/effect-teleport.d.ts.map +1 -0
  173. package/dist/game/effect-teleport.js +529 -0
  174. package/dist/game/effect-teleport.js.map +1 -0
  175. package/dist/game/effect-terrain.d.ts +91 -0
  176. package/dist/game/effect-terrain.d.ts.map +1 -0
  177. package/dist/game/effect-terrain.js +812 -0
  178. package/dist/game/effect-terrain.js.map +1 -0
  179. package/dist/game/energy.d.ts +45 -0
  180. package/dist/game/energy.d.ts.map +1 -0
  181. package/dist/game/energy.js +51 -0
  182. package/dist/game/energy.js.map +1 -0
  183. package/dist/game/equip-cmp.d.ts +138 -0
  184. package/dist/game/equip-cmp.d.ts.map +1 -0
  185. package/dist/game/equip-cmp.js +363 -0
  186. package/dist/game/equip-cmp.js.map +1 -0
  187. package/dist/game/floor.d.ts +182 -0
  188. package/dist/game/floor.d.ts.map +1 -0
  189. package/dist/game/floor.js +435 -0
  190. package/dist/game/floor.js.map +1 -0
  191. package/dist/game/gear.d.ts +408 -0
  192. package/dist/game/gear.d.ts.map +1 -0
  193. package/dist/game/gear.js +1037 -0
  194. package/dist/game/gear.js.map +1 -0
  195. package/dist/game/harness.d.ts +61 -0
  196. package/dist/game/harness.d.ts.map +1 -0
  197. package/dist/game/harness.js +198 -0
  198. package/dist/game/harness.js.map +1 -0
  199. package/dist/game/history.d.ts +49 -0
  200. package/dist/game/history.d.ts.map +1 -0
  201. package/dist/game/history.js +55 -0
  202. package/dist/game/history.js.map +1 -0
  203. package/dist/game/ignore-cmd.d.ts +42 -0
  204. package/dist/game/ignore-cmd.d.ts.map +1 -0
  205. package/dist/game/ignore-cmd.js +59 -0
  206. package/dist/game/ignore-cmd.js.map +1 -0
  207. package/dist/game/inscription-confirm.d.ts +80 -0
  208. package/dist/game/inscription-confirm.d.ts.map +1 -0
  209. package/dist/game/inscription-confirm.js +95 -0
  210. package/dist/game/inscription-confirm.js.map +1 -0
  211. package/dist/game/known.d.ts +297 -0
  212. package/dist/game/known.d.ts.map +1 -0
  213. package/dist/game/known.js +849 -0
  214. package/dist/game/known.js.map +1 -0
  215. package/dist/game/loop.d.ts +139 -0
  216. package/dist/game/loop.d.ts.map +1 -0
  217. package/dist/game/loop.js +631 -0
  218. package/dist/game/loop.js.map +1 -0
  219. package/dist/game/lore-color.d.ts +25 -0
  220. package/dist/game/lore-color.d.ts.map +1 -0
  221. package/dist/game/lore-color.js +95 -0
  222. package/dist/game/lore-color.js.map +1 -0
  223. package/dist/game/mon-cast.d.ts +150 -0
  224. package/dist/game/mon-cast.d.ts.map +1 -0
  225. package/dist/game/mon-cast.js +301 -0
  226. package/dist/game/mon-cast.js.map +1 -0
  227. package/dist/game/mon-cmd.d.ts +51 -0
  228. package/dist/game/mon-cmd.d.ts.map +1 -0
  229. package/dist/game/mon-cmd.js +670 -0
  230. package/dist/game/mon-cmd.js.map +1 -0
  231. package/dist/game/mon-death.d.ts +143 -0
  232. package/dist/game/mon-death.d.ts.map +1 -0
  233. package/dist/game/mon-death.js +328 -0
  234. package/dist/game/mon-death.js.map +1 -0
  235. package/dist/game/mon-group.d.ts +81 -0
  236. package/dist/game/mon-group.d.ts.map +1 -0
  237. package/dist/game/mon-group.js +323 -0
  238. package/dist/game/mon-group.js.map +1 -0
  239. package/dist/game/mon-list.d.ts +85 -0
  240. package/dist/game/mon-list.d.ts.map +1 -0
  241. package/dist/game/mon-list.js +154 -0
  242. package/dist/game/mon-list.js.map +1 -0
  243. package/dist/game/mon-message.d.ts +100 -0
  244. package/dist/game/mon-message.d.ts.map +1 -0
  245. package/dist/game/mon-message.js +336 -0
  246. package/dist/game/mon-message.js.map +1 -0
  247. package/dist/game/mon-place.d.ts +226 -0
  248. package/dist/game/mon-place.d.ts.map +1 -0
  249. package/dist/game/mon-place.js +642 -0
  250. package/dist/game/mon-place.js.map +1 -0
  251. package/dist/game/mon-ranged.d.ts +87 -0
  252. package/dist/game/mon-ranged.d.ts.map +1 -0
  253. package/dist/game/mon-ranged.js +353 -0
  254. package/dist/game/mon-ranged.js.map +1 -0
  255. package/dist/game/mon-shape.d.ts +43 -0
  256. package/dist/game/mon-shape.d.ts.map +1 -0
  257. package/dist/game/mon-shape.js +115 -0
  258. package/dist/game/mon-shape.js.map +1 -0
  259. package/dist/game/mon-side.d.ts +63 -0
  260. package/dist/game/mon-side.d.ts.map +1 -0
  261. package/dist/game/mon-side.js +403 -0
  262. package/dist/game/mon-side.js.map +1 -0
  263. package/dist/game/monster-turn.d.ts +195 -0
  264. package/dist/game/monster-turn.d.ts.map +1 -0
  265. package/dist/game/monster-turn.js +1560 -0
  266. package/dist/game/monster-turn.js.map +1 -0
  267. package/dist/game/obj-cmd.d.ts +453 -0
  268. package/dist/game/obj-cmd.d.ts.map +1 -0
  269. package/dist/game/obj-cmd.js +1530 -0
  270. package/dist/game/obj-cmd.js.map +1 -0
  271. package/dist/game/obj-list.d.ts +92 -0
  272. package/dist/game/obj-list.d.ts.map +1 -0
  273. package/dist/game/obj-list.js +251 -0
  274. package/dist/game/obj-list.js.map +1 -0
  275. package/dist/game/object-inspect.d.ts +37 -0
  276. package/dist/game/object-inspect.d.ts.map +1 -0
  277. package/dist/game/object-inspect.js +106 -0
  278. package/dist/game/object-inspect.js.map +1 -0
  279. package/dist/game/pickup.d.ts +126 -0
  280. package/dist/game/pickup.d.ts.map +1 -0
  281. package/dist/game/pickup.js +367 -0
  282. package/dist/game/pickup.js.map +1 -0
  283. package/dist/game/player-path.d.ts +133 -0
  284. package/dist/game/player-path.d.ts.map +1 -0
  285. package/dist/game/player-path.js +1268 -0
  286. package/dist/game/player-path.js.map +1 -0
  287. package/dist/game/player-side.d.ts +59 -0
  288. package/dist/game/player-side.d.ts.map +1 -0
  289. package/dist/game/player-side.js +506 -0
  290. package/dist/game/player-side.js.map +1 -0
  291. package/dist/game/player-turn.d.ts +161 -0
  292. package/dist/game/player-turn.d.ts.map +1 -0
  293. package/dist/game/player-turn.js +739 -0
  294. package/dist/game/player-turn.js.map +1 -0
  295. package/dist/game/project-cast.d.ts +268 -0
  296. package/dist/game/project-cast.d.ts.map +1 -0
  297. package/dist/game/project-cast.js +496 -0
  298. package/dist/game/project-cast.js.map +1 -0
  299. package/dist/game/project-feat.d.ts +47 -0
  300. package/dist/game/project-feat.d.ts.map +1 -0
  301. package/dist/game/project-feat.js +350 -0
  302. package/dist/game/project-feat.js.map +1 -0
  303. package/dist/game/project-monster.d.ts +106 -0
  304. package/dist/game/project-monster.d.ts.map +1 -0
  305. package/dist/game/project-monster.js +272 -0
  306. package/dist/game/project-monster.js.map +1 -0
  307. package/dist/game/project-obj.d.ts +60 -0
  308. package/dist/game/project-obj.d.ts.map +1 -0
  309. package/dist/game/project-obj.js +245 -0
  310. package/dist/game/project-obj.js.map +1 -0
  311. package/dist/game/project-player.d.ts +120 -0
  312. package/dist/game/project-player.d.ts.map +1 -0
  313. package/dist/game/project-player.js +108 -0
  314. package/dist/game/project-player.js.map +1 -0
  315. package/dist/game/quest.d.ts +101 -0
  316. package/dist/game/quest.d.ts.map +1 -0
  317. package/dist/game/quest.js +192 -0
  318. package/dist/game/quest.js.map +1 -0
  319. package/dist/game/ranged-cmd.d.ts +32 -0
  320. package/dist/game/ranged-cmd.d.ts.map +1 -0
  321. package/dist/game/ranged-cmd.js +372 -0
  322. package/dist/game/ranged-cmd.js.map +1 -0
  323. package/dist/game/scheduler.d.ts +47 -0
  324. package/dist/game/scheduler.d.ts.map +1 -0
  325. package/dist/game/scheduler.js +141 -0
  326. package/dist/game/scheduler.js.map +1 -0
  327. package/dist/game/spell-cmd.d.ts +104 -0
  328. package/dist/game/spell-cmd.d.ts.map +1 -0
  329. package/dist/game/spell-cmd.js +320 -0
  330. package/dist/game/spell-cmd.js.map +1 -0
  331. package/dist/game/spoil.d.ts +28 -0
  332. package/dist/game/spoil.d.ts.map +1 -0
  333. package/dist/game/spoil.js +435 -0
  334. package/dist/game/spoil.js.map +1 -0
  335. package/dist/game/steal.d.ts +35 -0
  336. package/dist/game/steal.d.ts.map +1 -0
  337. package/dist/game/steal.js +145 -0
  338. package/dist/game/steal.js.map +1 -0
  339. package/dist/game/take-hit-hooks.d.ts +52 -0
  340. package/dist/game/take-hit-hooks.d.ts.map +1 -0
  341. package/dist/game/take-hit-hooks.js +127 -0
  342. package/dist/game/take-hit-hooks.js.map +1 -0
  343. package/dist/game/target-loop.d.ts +119 -0
  344. package/dist/game/target-loop.d.ts.map +1 -0
  345. package/dist/game/target-loop.js +408 -0
  346. package/dist/game/target-loop.js.map +1 -0
  347. package/dist/game/target.d.ts +133 -0
  348. package/dist/game/target.d.ts.map +1 -0
  349. package/dist/game/target.js +353 -0
  350. package/dist/game/target.js.map +1 -0
  351. package/dist/game/thrust.d.ts +37 -0
  352. package/dist/game/thrust.d.ts.map +1 -0
  353. package/dist/game/thrust.js +155 -0
  354. package/dist/game/thrust.js.map +1 -0
  355. package/dist/game/trap.d.ts +218 -0
  356. package/dist/game/trap.d.ts.map +1 -0
  357. package/dist/game/trap.js +618 -0
  358. package/dist/game/trap.js.map +1 -0
  359. package/dist/game/ui-entry.d.ts +282 -0
  360. package/dist/game/ui-entry.d.ts.map +1 -0
  361. package/dist/game/ui-entry.js +1838 -0
  362. package/dist/game/ui-entry.js.map +1 -0
  363. package/dist/game/wizard.d.ts +654 -0
  364. package/dist/game/wizard.d.ts.map +1 -0
  365. package/dist/game/wizard.js +1323 -0
  366. package/dist/game/wizard.js.map +1 -0
  367. package/dist/game/world.d.ts +183 -0
  368. package/dist/game/world.d.ts.map +1 -0
  369. package/dist/game/world.js +685 -0
  370. package/dist/game/world.js.map +1 -0
  371. package/dist/gen/cave.d.ts +247 -0
  372. package/dist/gen/cave.d.ts.map +1 -0
  373. package/dist/gen/cave.js +2406 -0
  374. package/dist/gen/cave.js.map +1 -0
  375. package/dist/gen/gen-monster.d.ts +151 -0
  376. package/dist/gen/gen-monster.d.ts.map +1 -0
  377. package/dist/gen/gen-monster.js +473 -0
  378. package/dist/gen/gen-monster.js.map +1 -0
  379. package/dist/gen/generate.d.ts +240 -0
  380. package/dist/gen/generate.d.ts.map +1 -0
  381. package/dist/gen/generate.js +358 -0
  382. package/dist/gen/generate.js.map +1 -0
  383. package/dist/gen/room.d.ts +160 -0
  384. package/dist/gen/room.d.ts.map +1 -0
  385. package/dist/gen/room.js +1910 -0
  386. package/dist/gen/room.js.map +1 -0
  387. package/dist/gen/util.d.ts +466 -0
  388. package/dist/gen/util.d.ts.map +1 -0
  389. package/dist/gen/util.js +1553 -0
  390. package/dist/gen/util.js.map +1 -0
  391. package/dist/generated/dun-profiles.d.ts +44 -0
  392. package/dist/generated/dun-profiles.d.ts.map +1 -0
  393. package/dist/generated/dun-profiles.js +28 -0
  394. package/dist/generated/dun-profiles.js.map +1 -0
  395. package/dist/generated/effects.d.ts +1021 -0
  396. package/dist/generated/effects.d.ts.map +1 -0
  397. package/dist/generated/effects.js +239 -0
  398. package/dist/generated/effects.js.map +1 -0
  399. package/dist/generated/elements.d.ts +83 -0
  400. package/dist/generated/elements.d.ts.map +1 -0
  401. package/dist/generated/elements.js +60 -0
  402. package/dist/generated/elements.js.map +1 -0
  403. package/dist/generated/equip-slots.d.ts +104 -0
  404. package/dist/generated/equip-slots.d.ts.map +1 -0
  405. package/dist/generated/equip-slots.js +34 -0
  406. package/dist/generated/equip-slots.js.map +1 -0
  407. package/dist/generated/history-types.d.ts +52 -0
  408. package/dist/generated/history-types.d.ts.map +1 -0
  409. package/dist/generated/history-types.js +32 -0
  410. package/dist/generated/history-types.js.map +1 -0
  411. package/dist/generated/ignore-types.d.ts +116 -0
  412. package/dist/generated/ignore-types.d.ts.map +1 -0
  413. package/dist/generated/ignore-types.js +64 -0
  414. package/dist/generated/ignore-types.js.map +1 -0
  415. package/dist/generated/index.d.ts +32 -0
  416. package/dist/generated/index.d.ts.map +1 -0
  417. package/dist/generated/index.js +33 -0
  418. package/dist/generated/index.js.map +1 -0
  419. package/dist/generated/kind-flags.d.ts +72 -0
  420. package/dist/generated/kind-flags.d.ts.map +1 -0
  421. package/dist/generated/kind-flags.js +42 -0
  422. package/dist/generated/kind-flags.js.map +1 -0
  423. package/dist/generated/message.d.ts +624 -0
  424. package/dist/generated/message.d.ts.map +1 -0
  425. package/dist/generated/message.js +318 -0
  426. package/dist/generated/message.js.map +1 -0
  427. package/dist/generated/mon-message.d.ts +386 -0
  428. package/dist/generated/mon-message.d.ts.map +1 -0
  429. package/dist/generated/mon-message.js +136 -0
  430. package/dist/generated/mon-message.js.map +1 -0
  431. package/dist/generated/mon-race-flags.d.ts +433 -0
  432. package/dist/generated/mon-race-flags.d.ts.map +1 -0
  433. package/dist/generated/mon-race-flags.js +180 -0
  434. package/dist/generated/mon-race-flags.js.map +1 -0
  435. package/dist/generated/mon-spells.d.ts +380 -0
  436. package/dist/generated/mon-spells.d.ts.map +1 -0
  437. package/dist/generated/mon-spells.js +196 -0
  438. package/dist/generated/mon-spells.js.map +1 -0
  439. package/dist/generated/mon-temp-flags.d.ts +52 -0
  440. package/dist/generated/mon-temp-flags.d.ts.map +1 -0
  441. package/dist/generated/mon-temp-flags.js +32 -0
  442. package/dist/generated/mon-temp-flags.js.map +1 -0
  443. package/dist/generated/mon-timed.d.ts +118 -0
  444. package/dist/generated/mon-timed.d.ts.map +1 -0
  445. package/dist/generated/mon-timed.js +32 -0
  446. package/dist/generated/mon-timed.js.map +1 -0
  447. package/dist/generated/object-flags.d.ts +169 -0
  448. package/dist/generated/object-flags.d.ts.map +1 -0
  449. package/dist/generated/object-flags.js +93 -0
  450. package/dist/generated/object-flags.js.map +1 -0
  451. package/dist/generated/object-modifiers.d.ts +50 -0
  452. package/dist/generated/object-modifiers.d.ts.map +1 -0
  453. package/dist/generated/object-modifiers.js +41 -0
  454. package/dist/generated/object-modifiers.js.map +1 -0
  455. package/dist/generated/options.d.ts +284 -0
  456. package/dist/generated/options.d.ts.map +1 -0
  457. package/dist/generated/options.js +102 -0
  458. package/dist/generated/options.js.map +1 -0
  459. package/dist/generated/origins.d.ts +138 -0
  460. package/dist/generated/origins.d.ts.map +1 -0
  461. package/dist/generated/origins.js +62 -0
  462. package/dist/generated/origins.js.map +1 -0
  463. package/dist/generated/parser-errors.d.ts +264 -0
  464. package/dist/generated/parser-errors.d.ts.map +1 -0
  465. package/dist/generated/parser-errors.js +138 -0
  466. package/dist/generated/parser-errors.js.map +1 -0
  467. package/dist/generated/player-flags.d.ts +62 -0
  468. package/dist/generated/player-flags.d.ts.map +1 -0
  469. package/dist/generated/player-flags.js +46 -0
  470. package/dist/generated/player-flags.js.map +1 -0
  471. package/dist/generated/player-timed.d.ts +273 -0
  472. package/dist/generated/player-timed.d.ts.map +1 -0
  473. package/dist/generated/player-timed.js +116 -0
  474. package/dist/generated/player-timed.js.map +1 -0
  475. package/dist/generated/projections.d.ts +130 -0
  476. package/dist/generated/projections.d.ts.map +1 -0
  477. package/dist/generated/projections.js +101 -0
  478. package/dist/generated/projections.js.map +1 -0
  479. package/dist/generated/randart-properties.d.ts +388 -0
  480. package/dist/generated/randart-properties.d.ts.map +1 -0
  481. package/dist/generated/randart-properties.js +200 -0
  482. package/dist/generated/randart-properties.js.map +1 -0
  483. package/dist/generated/room-flags.d.ts +21 -0
  484. package/dist/generated/room-flags.d.ts.map +1 -0
  485. package/dist/generated/room-flags.js +19 -0
  486. package/dist/generated/room-flags.js.map +1 -0
  487. package/dist/generated/rooms.d.ts +122 -0
  488. package/dist/generated/rooms.d.ts.map +1 -0
  489. package/dist/generated/rooms.js +48 -0
  490. package/dist/generated/rooms.js.map +1 -0
  491. package/dist/generated/square-flags.d.ts +96 -0
  492. package/dist/generated/square-flags.d.ts.map +1 -0
  493. package/dist/generated/square-flags.js +54 -0
  494. package/dist/generated/square-flags.js.map +1 -0
  495. package/dist/generated/stats.d.ts +23 -0
  496. package/dist/generated/stats.d.ts.map +1 -0
  497. package/dist/generated/stats.js +20 -0
  498. package/dist/generated/stats.js.map +1 -0
  499. package/dist/generated/terrain-flags.d.ts +136 -0
  500. package/dist/generated/terrain-flags.d.ts.map +1 -0
  501. package/dist/generated/terrain-flags.js +74 -0
  502. package/dist/generated/terrain-flags.js.map +1 -0
  503. package/dist/generated/terrain.d.ts +83 -0
  504. package/dist/generated/terrain.d.ts.map +1 -0
  505. package/dist/generated/terrain.js +60 -0
  506. package/dist/generated/terrain.js.map +1 -0
  507. package/dist/generated/trap-flags.d.ts +68 -0
  508. package/dist/generated/trap-flags.d.ts.map +1 -0
  509. package/dist/generated/trap-flags.js +40 -0
  510. package/dist/generated/trap-flags.js.map +1 -0
  511. package/dist/generated/tvals.d.ts +152 -0
  512. package/dist/generated/tvals.d.ts.map +1 -0
  513. package/dist/generated/tvals.js +82 -0
  514. package/dist/generated/tvals.js.map +1 -0
  515. package/dist/generated/ui-entry-renderers.d.ts +62 -0
  516. package/dist/generated/ui-entry-renderers.d.ts.map +1 -0
  517. package/dist/generated/ui-entry-renderers.js +22 -0
  518. package/dist/generated/ui-entry-renderers.js.map +1 -0
  519. package/dist/guard.d.ts +43 -0
  520. package/dist/guard.d.ts.map +1 -0
  521. package/dist/guard.js +65 -0
  522. package/dist/guard.js.map +1 -0
  523. package/dist/host/args.d.ts +129 -0
  524. package/dist/host/args.d.ts.map +1 -0
  525. package/dist/host/args.js +251 -0
  526. package/dist/host/args.js.map +1 -0
  527. package/dist/host/bridge.d.ts +61 -0
  528. package/dist/host/bridge.d.ts.map +1 -0
  529. package/dist/host/bridge.js +176 -0
  530. package/dist/host/bridge.js.map +1 -0
  531. package/dist/host/index.d.ts +18 -0
  532. package/dist/host/index.d.ts.map +1 -0
  533. package/dist/host/index.js +18 -0
  534. package/dist/host/index.js.map +1 -0
  535. package/dist/host/io.d.ts +169 -0
  536. package/dist/host/io.d.ts.map +1 -0
  537. package/dist/host/io.js +137 -0
  538. package/dist/host/io.js.map +1 -0
  539. package/dist/host/memory.d.ts +56 -0
  540. package/dist/host/memory.d.ts.map +1 -0
  541. package/dist/host/memory.js +105 -0
  542. package/dist/host/memory.js.map +1 -0
  543. package/dist/host/raw.d.ts +114 -0
  544. package/dist/host/raw.d.ts.map +1 -0
  545. package/dist/host/raw.js +107 -0
  546. package/dist/host/raw.js.map +1 -0
  547. package/dist/index.d.ts +180 -0
  548. package/dist/index.d.ts.map +1 -0
  549. package/dist/index.js +222 -0
  550. package/dist/index.js.map +1 -0
  551. package/dist/loc.d.ts +63 -0
  552. package/dist/loc.d.ts.map +1 -0
  553. package/dist/loc.js +128 -0
  554. package/dist/loc.js.map +1 -0
  555. package/dist/mod/hooks.d.ts +204 -0
  556. package/dist/mod/hooks.d.ts.map +1 -0
  557. package/dist/mod/hooks.js +161 -0
  558. package/dist/mod/hooks.js.map +1 -0
  559. package/dist/mod/ids.d.ts +160 -0
  560. package/dist/mod/ids.d.ts.map +1 -0
  561. package/dist/mod/ids.js +343 -0
  562. package/dist/mod/ids.js.map +1 -0
  563. package/dist/mod/registry-host.d.ts +156 -0
  564. package/dist/mod/registry-host.d.ts.map +1 -0
  565. package/dist/mod/registry-host.js +142 -0
  566. package/dist/mod/registry-host.js.map +1 -0
  567. package/dist/mod/save-blocks.d.ts +201 -0
  568. package/dist/mod/save-blocks.d.ts.map +1 -0
  569. package/dist/mod/save-blocks.js +640 -0
  570. package/dist/mod/save-blocks.js.map +1 -0
  571. package/dist/mod/vocabulary.d.ts +104 -0
  572. package/dist/mod/vocabulary.d.ts.map +1 -0
  573. package/dist/mod/vocabulary.js +0 -0
  574. package/dist/mod/vocabulary.js.map +1 -0
  575. package/dist/mon/bind.d.ts +266 -0
  576. package/dist/mon/bind.d.ts.map +1 -0
  577. package/dist/mon/bind.js +610 -0
  578. package/dist/mon/bind.js.map +1 -0
  579. package/dist/mon/desc.d.ts +72 -0
  580. package/dist/mon/desc.d.ts.map +1 -0
  581. package/dist/mon/desc.js +237 -0
  582. package/dist/mon/desc.js.map +1 -0
  583. package/dist/mon/knowledge-groups.d.ts +61 -0
  584. package/dist/mon/knowledge-groups.d.ts.map +1 -0
  585. package/dist/mon/knowledge-groups.js +121 -0
  586. package/dist/mon/knowledge-groups.js.map +1 -0
  587. package/dist/mon/lore-describe.d.ts +216 -0
  588. package/dist/mon/lore-describe.d.ts.map +1 -0
  589. package/dist/mon/lore-describe.js +1105 -0
  590. package/dist/mon/lore-describe.js.map +1 -0
  591. package/dist/mon/lore.d.ts +117 -0
  592. package/dist/mon/lore.d.ts.map +1 -0
  593. package/dist/mon/lore.js +221 -0
  594. package/dist/mon/lore.js.map +1 -0
  595. package/dist/mon/make.d.ts +147 -0
  596. package/dist/mon/make.d.ts.map +1 -0
  597. package/dist/mon/make.js +353 -0
  598. package/dist/mon/make.js.map +1 -0
  599. package/dist/mon/monster.d.ts +94 -0
  600. package/dist/mon/monster.d.ts.map +1 -0
  601. package/dist/mon/monster.js +90 -0
  602. package/dist/mon/monster.js.map +1 -0
  603. package/dist/mon/predicate.d.ts +87 -0
  604. package/dist/mon/predicate.d.ts.map +1 -0
  605. package/dist/mon/predicate.js +190 -0
  606. package/dist/mon/predicate.js.map +1 -0
  607. package/dist/mon/project-mon.d.ts +129 -0
  608. package/dist/mon/project-mon.d.ts.map +1 -0
  609. package/dist/mon/project-mon.js +652 -0
  610. package/dist/mon/project-mon.js.map +1 -0
  611. package/dist/mon/spell.d.ts +155 -0
  612. package/dist/mon/spell.d.ts.map +1 -0
  613. package/dist/mon/spell.js +355 -0
  614. package/dist/mon/spell.js.map +1 -0
  615. package/dist/mon/steal.d.ts +112 -0
  616. package/dist/mon/steal.d.ts.map +1 -0
  617. package/dist/mon/steal.js +163 -0
  618. package/dist/mon/steal.js.map +1 -0
  619. package/dist/mon/summon.d.ts +62 -0
  620. package/dist/mon/summon.d.ts.map +1 -0
  621. package/dist/mon/summon.js +111 -0
  622. package/dist/mon/summon.js.map +1 -0
  623. package/dist/mon/take-hit.d.ts +75 -0
  624. package/dist/mon/take-hit.d.ts.map +1 -0
  625. package/dist/mon/take-hit.js +122 -0
  626. package/dist/mon/take-hit.js.map +1 -0
  627. package/dist/mon/timed.d.ts +74 -0
  628. package/dist/mon/timed.d.ts.map +1 -0
  629. package/dist/mon/timed.js +219 -0
  630. package/dist/mon/timed.js.map +1 -0
  631. package/dist/mon/types.d.ts +252 -0
  632. package/dist/mon/types.d.ts.map +1 -0
  633. package/dist/mon/types.js +46 -0
  634. package/dist/mon/types.js.map +1 -0
  635. package/dist/msg.d.ts +71 -0
  636. package/dist/msg.d.ts.map +1 -0
  637. package/dist/msg.js +126 -0
  638. package/dist/msg.js.map +1 -0
  639. package/dist/obj/artifact-fake.d.ts +39 -0
  640. package/dist/obj/artifact-fake.d.ts.map +1 -0
  641. package/dist/obj/artifact-fake.js +52 -0
  642. package/dist/obj/artifact-fake.js.map +1 -0
  643. package/dist/obj/artifact-known.d.ts +50 -0
  644. package/dist/obj/artifact-known.d.ts.map +1 -0
  645. package/dist/obj/artifact-known.js +55 -0
  646. package/dist/obj/artifact-known.js.map +1 -0
  647. package/dist/obj/bind.d.ts +219 -0
  648. package/dist/obj/bind.d.ts.map +1 -0
  649. package/dist/obj/bind.js +1239 -0
  650. package/dist/obj/bind.js.map +1 -0
  651. package/dist/obj/chest.d.ts +91 -0
  652. package/dist/obj/chest.d.ts.map +1 -0
  653. package/dist/obj/chest.js +220 -0
  654. package/dist/obj/chest.js.map +1 -0
  655. package/dist/obj/desc.d.ts +79 -0
  656. package/dist/obj/desc.d.ts.map +1 -0
  657. package/dist/obj/desc.js +602 -0
  658. package/dist/obj/desc.js.map +1 -0
  659. package/dist/obj/effects-info.d.ts +78 -0
  660. package/dist/obj/effects-info.d.ts.map +1 -0
  661. package/dist/obj/effects-info.js +240 -0
  662. package/dist/obj/effects-info.js.map +1 -0
  663. package/dist/obj/flavor.d.ts +68 -0
  664. package/dist/obj/flavor.d.ts.map +1 -0
  665. package/dist/obj/flavor.js +201 -0
  666. package/dist/obj/flavor.js.map +1 -0
  667. package/dist/obj/ignore.d.ts +143 -0
  668. package/dist/obj/ignore.d.ts.map +1 -0
  669. package/dist/obj/ignore.js +345 -0
  670. package/dist/obj/ignore.js.map +1 -0
  671. package/dist/obj/knowledge.d.ts +520 -0
  672. package/dist/obj/knowledge.d.ts.map +1 -0
  673. package/dist/obj/knowledge.js +1364 -0
  674. package/dist/obj/knowledge.js.map +1 -0
  675. package/dist/obj/known-object.d.ts +293 -0
  676. package/dist/obj/known-object.d.ts.map +1 -0
  677. package/dist/obj/known-object.js +532 -0
  678. package/dist/obj/known-object.js.map +1 -0
  679. package/dist/obj/make.d.ts +292 -0
  680. package/dist/obj/make.d.ts.map +1 -0
  681. package/dist/obj/make.js +1055 -0
  682. package/dist/obj/make.js.map +1 -0
  683. package/dist/obj/object-info.d.ts +188 -0
  684. package/dist/obj/object-info.d.ts.map +1 -0
  685. package/dist/obj/object-info.js +1407 -0
  686. package/dist/obj/object-info.js.map +1 -0
  687. package/dist/obj/object.d.ts +335 -0
  688. package/dist/obj/object.d.ts.map +1 -0
  689. package/dist/obj/object.js +1051 -0
  690. package/dist/obj/object.js.map +1 -0
  691. package/dist/obj/power.d.ts +65 -0
  692. package/dist/obj/power.d.ts.map +1 -0
  693. package/dist/obj/power.js +580 -0
  694. package/dist/obj/power.js.map +1 -0
  695. package/dist/obj/randart-build.d.ts +223 -0
  696. package/dist/obj/randart-build.d.ts.map +1 -0
  697. package/dist/obj/randart-build.js +1444 -0
  698. package/dist/obj/randart-build.js.map +1 -0
  699. package/dist/obj/randart-data.d.ts +179 -0
  700. package/dist/obj/randart-data.d.ts.map +1 -0
  701. package/dist/obj/randart-data.js +1153 -0
  702. package/dist/obj/randart-data.js.map +1 -0
  703. package/dist/obj/randart.d.ts +128 -0
  704. package/dist/obj/randart.d.ts.map +1 -0
  705. package/dist/obj/randart.js +458 -0
  706. package/dist/obj/randart.js.map +1 -0
  707. package/dist/obj/randname.d.ts +33 -0
  708. package/dist/obj/randname.d.ts.map +1 -0
  709. package/dist/obj/randname.js +116 -0
  710. package/dist/obj/randname.js.map +1 -0
  711. package/dist/obj/recharge.d.ts +28 -0
  712. package/dist/obj/recharge.d.ts.map +1 -0
  713. package/dist/obj/recharge.js +52 -0
  714. package/dist/obj/recharge.js.map +1 -0
  715. package/dist/obj/types.d.ts +584 -0
  716. package/dist/obj/types.d.ts.map +1 -0
  717. package/dist/obj/types.js +104 -0
  718. package/dist/obj/types.js.map +1 -0
  719. package/dist/obj/value.d.ts +64 -0
  720. package/dist/obj/value.d.ts.map +1 -0
  721. package/dist/obj/value.js +176 -0
  722. package/dist/obj/value.js.map +1 -0
  723. package/dist/player/abilities.d.ts +57 -0
  724. package/dist/player/abilities.d.ts.map +1 -0
  725. package/dist/player/abilities.js +118 -0
  726. package/dist/player/abilities.js.map +1 -0
  727. package/dist/player/best-digger.d.ts +42 -0
  728. package/dist/player/best-digger.d.ts.map +1 -0
  729. package/dist/player/best-digger.js +89 -0
  730. package/dist/player/best-digger.js.map +1 -0
  731. package/dist/player/bind.d.ts +270 -0
  732. package/dist/player/bind.d.ts.map +1 -0
  733. package/dist/player/bind.js +698 -0
  734. package/dist/player/bind.js.map +1 -0
  735. package/dist/player/birth.d.ts +258 -0
  736. package/dist/player/birth.d.ts.map +1 -0
  737. package/dist/player/birth.js +639 -0
  738. package/dist/player/birth.js.map +1 -0
  739. package/dist/player/calcs.d.ts +403 -0
  740. package/dist/player/calcs.d.ts.map +1 -0
  741. package/dist/player/calcs.js +1189 -0
  742. package/dist/player/calcs.js.map +1 -0
  743. package/dist/player/combat-regen.d.ts +14 -0
  744. package/dist/player/combat-regen.d.ts.map +1 -0
  745. package/dist/player/combat-regen.js +29 -0
  746. package/dist/player/combat-regen.js.map +1 -0
  747. package/dist/player/exp.d.ts +96 -0
  748. package/dist/player/exp.d.ts.map +1 -0
  749. package/dist/player/exp.js +229 -0
  750. package/dist/player/exp.js.map +1 -0
  751. package/dist/player/history.d.ts +91 -0
  752. package/dist/player/history.d.ts.map +1 -0
  753. package/dist/player/history.js +145 -0
  754. package/dist/player/history.js.map +1 -0
  755. package/dist/player/options.d.ts +123 -0
  756. package/dist/player/options.d.ts.map +1 -0
  757. package/dist/player/options.js +199 -0
  758. package/dist/player/options.js.map +1 -0
  759. package/dist/player/player.d.ts +242 -0
  760. package/dist/player/player.d.ts.map +1 -0
  761. package/dist/player/player.js +119 -0
  762. package/dist/player/player.js.map +1 -0
  763. package/dist/player/shape-lore.d.ts +56 -0
  764. package/dist/player/shape-lore.d.ts.map +1 -0
  765. package/dist/player/shape-lore.js +221 -0
  766. package/dist/player/shape-lore.js.map +1 -0
  767. package/dist/player/spell.d.ts +146 -0
  768. package/dist/player/spell.d.ts.map +1 -0
  769. package/dist/player/spell.js +519 -0
  770. package/dist/player/spell.js.map +1 -0
  771. package/dist/player/take-hit.d.ts +87 -0
  772. package/dist/player/take-hit.d.ts.map +1 -0
  773. package/dist/player/take-hit.js +99 -0
  774. package/dist/player/take-hit.js.map +1 -0
  775. package/dist/player/timed.d.ts +205 -0
  776. package/dist/player/timed.d.ts.map +1 -0
  777. package/dist/player/timed.js +310 -0
  778. package/dist/player/timed.js.map +1 -0
  779. package/dist/player/types.d.ts +390 -0
  780. package/dist/player/types.d.ts.map +1 -0
  781. package/dist/player/types.js +51 -0
  782. package/dist/player/types.js.map +1 -0
  783. package/dist/rational.d.ts +99 -0
  784. package/dist/rational.d.ts.map +1 -0
  785. package/dist/rational.js +345 -0
  786. package/dist/rational.js.map +1 -0
  787. package/dist/rng.d.ts +168 -0
  788. package/dist/rng.d.ts.map +1 -0
  789. package/dist/rng.js +404 -0
  790. package/dist/rng.js.map +1 -0
  791. package/dist/save/buffer.d.ts +120 -0
  792. package/dist/save/buffer.d.ts.map +1 -0
  793. package/dist/save/buffer.js +238 -0
  794. package/dist/save/buffer.js.map +1 -0
  795. package/dist/save/compress.d.ts +79 -0
  796. package/dist/save/compress.d.ts.map +1 -0
  797. package/dist/save/compress.js +97 -0
  798. package/dist/save/compress.js.map +1 -0
  799. package/dist/save/description.d.ts +61 -0
  800. package/dist/save/description.d.ts.map +1 -0
  801. package/dist/save/description.js +51 -0
  802. package/dist/save/description.js.map +1 -0
  803. package/dist/save/integrity.d.ts +59 -0
  804. package/dist/save/integrity.d.ts.map +1 -0
  805. package/dist/save/integrity.js +103 -0
  806. package/dist/save/integrity.js.map +1 -0
  807. package/dist/score/display.d.ts +40 -0
  808. package/dist/score/display.d.ts.map +1 -0
  809. package/dist/score/display.js +86 -0
  810. package/dist/score/display.js.map +1 -0
  811. package/dist/score/score.d.ts +166 -0
  812. package/dist/score/score.d.ts.map +1 -0
  813. package/dist/score/score.js +244 -0
  814. package/dist/score/score.js.map +1 -0
  815. package/dist/score/types.d.ts +98 -0
  816. package/dist/score/types.d.ts.map +1 -0
  817. package/dist/score/types.js +27 -0
  818. package/dist/score/types.js.map +1 -0
  819. package/dist/session/boot.d.ts +207 -0
  820. package/dist/session/boot.d.ts.map +1 -0
  821. package/dist/session/boot.js +151 -0
  822. package/dist/session/boot.js.map +1 -0
  823. package/dist/session/game.d.ts +257 -0
  824. package/dist/session/game.d.ts.map +1 -0
  825. package/dist/session/game.js +2880 -0
  826. package/dist/session/game.js.map +1 -0
  827. package/dist/session/save.d.ts +847 -0
  828. package/dist/session/save.d.ts.map +1 -0
  829. package/dist/session/save.js +1306 -0
  830. package/dist/session/save.js.map +1 -0
  831. package/dist/sound/engine.d.ts +146 -0
  832. package/dist/sound/engine.d.ts.map +1 -0
  833. package/dist/sound/engine.js +332 -0
  834. package/dist/sound/engine.js.map +1 -0
  835. package/dist/sound/index.d.ts +13 -0
  836. package/dist/sound/index.d.ts.map +1 -0
  837. package/dist/sound/index.js +13 -0
  838. package/dist/sound/index.js.map +1 -0
  839. package/dist/sound/sound-prefs-data.d.ts +10 -0
  840. package/dist/sound/sound-prefs-data.d.ts.map +1 -0
  841. package/dist/sound/sound-prefs-data.js +165 -0
  842. package/dist/sound/sound-prefs-data.js.map +1 -0
  843. package/dist/sound/types.d.ts +64 -0
  844. package/dist/sound/types.d.ts.map +1 -0
  845. package/dist/sound/types.js +23 -0
  846. package/dist/sound/types.js.map +1 -0
  847. package/dist/store/bind.d.ts +43 -0
  848. package/dist/store/bind.d.ts.map +1 -0
  849. package/dist/store/bind.js +130 -0
  850. package/dist/store/bind.js.map +1 -0
  851. package/dist/store/price.d.ts +27 -0
  852. package/dist/store/price.d.ts.map +1 -0
  853. package/dist/store/price.js +81 -0
  854. package/dist/store/price.js.map +1 -0
  855. package/dist/store/store-cmd.d.ts +51 -0
  856. package/dist/store/store-cmd.d.ts.map +1 -0
  857. package/dist/store/store-cmd.js +73 -0
  858. package/dist/store/store-cmd.js.map +1 -0
  859. package/dist/store/store.d.ts +156 -0
  860. package/dist/store/store.d.ts.map +1 -0
  861. package/dist/store/store.js +616 -0
  862. package/dist/store/store.js.map +1 -0
  863. package/dist/store/transact.d.ts +198 -0
  864. package/dist/store/transact.d.ts.map +1 -0
  865. package/dist/store/transact.js +383 -0
  866. package/dist/store/transact.js.map +1 -0
  867. package/dist/store/types.d.ts +101 -0
  868. package/dist/store/types.d.ts.map +1 -0
  869. package/dist/store/types.js +14 -0
  870. package/dist/store/types.js.map +1 -0
  871. package/dist/version.d.ts +25 -0
  872. package/dist/version.d.ts.map +1 -0
  873. package/dist/version.js +25 -0
  874. package/dist/version.js.map +1 -0
  875. package/dist/visuals/engine.d.ts +223 -0
  876. package/dist/visuals/engine.d.ts.map +1 -0
  877. package/dist/visuals/engine.js +357 -0
  878. package/dist/visuals/engine.js.map +1 -0
  879. package/dist/visuals/glyph-table.d.ts +112 -0
  880. package/dist/visuals/glyph-table.d.ts.map +1 -0
  881. package/dist/visuals/glyph-table.js +156 -0
  882. package/dist/visuals/glyph-table.js.map +1 -0
  883. package/dist/visuals/grafmode-data.d.ts +4 -0
  884. package/dist/visuals/grafmode-data.d.ts.map +1 -0
  885. package/dist/visuals/grafmode-data.js +88 -0
  886. package/dist/visuals/grafmode-data.js.map +1 -0
  887. package/dist/visuals/grafmode.d.ts +83 -0
  888. package/dist/visuals/grafmode.d.ts.map +1 -0
  889. package/dist/visuals/grafmode.js +82 -0
  890. package/dist/visuals/grafmode.js.map +1 -0
  891. package/dist/visuals/index.d.ts +19 -0
  892. package/dist/visuals/index.d.ts.map +1 -0
  893. package/dist/visuals/index.js +19 -0
  894. package/dist/visuals/index.js.map +1 -0
  895. package/dist/visuals/map-text.d.ts +79 -0
  896. package/dist/visuals/map-text.d.ts.map +1 -0
  897. package/dist/visuals/map-text.js +122 -0
  898. package/dist/visuals/map-text.js.map +1 -0
  899. package/dist/visuals/pref-expr.d.ts +56 -0
  900. package/dist/visuals/pref-expr.d.ts.map +1 -0
  901. package/dist/visuals/pref-expr.js +173 -0
  902. package/dist/visuals/pref-expr.js.map +1 -0
  903. package/dist/visuals/prefs.d.ts +280 -0
  904. package/dist/visuals/prefs.d.ts.map +1 -0
  905. package/dist/visuals/prefs.js +835 -0
  906. package/dist/visuals/prefs.js.map +1 -0
  907. package/dist/visuals/tile-prefs.d.ts +132 -0
  908. package/dist/visuals/tile-prefs.d.ts.map +1 -0
  909. package/dist/visuals/tile-prefs.js +105 -0
  910. package/dist/visuals/tile-prefs.js.map +1 -0
  911. package/dist/world/chunk.d.ts +195 -0
  912. package/dist/world/chunk.d.ts.map +1 -0
  913. package/dist/world/chunk.js +422 -0
  914. package/dist/world/chunk.js.map +1 -0
  915. package/dist/world/feature.d.ts +86 -0
  916. package/dist/world/feature.d.ts.map +1 -0
  917. package/dist/world/feature.js +153 -0
  918. package/dist/world/feature.js.map +1 -0
  919. package/dist/world/flow.d.ts +33 -0
  920. package/dist/world/flow.d.ts.map +1 -0
  921. package/dist/world/flow.js +115 -0
  922. package/dist/world/flow.js.map +1 -0
  923. package/dist/world/project.d.ts +176 -0
  924. package/dist/world/project.d.ts.map +1 -0
  925. package/dist/world/project.js +543 -0
  926. package/dist/world/project.js.map +1 -0
  927. package/dist/world/projection.d.ts +100 -0
  928. package/dist/world/projection.d.ts.map +1 -0
  929. package/dist/world/projection.js +152 -0
  930. package/dist/world/projection.js.map +1 -0
  931. package/dist/world/scatter.d.ts +25 -0
  932. package/dist/world/scatter.d.ts.map +1 -0
  933. package/dist/world/scatter.js +54 -0
  934. package/dist/world/scatter.js.map +1 -0
  935. package/dist/world/trap.d.ts +84 -0
  936. package/dist/world/trap.d.ts.map +1 -0
  937. package/dist/world/trap.js +106 -0
  938. package/dist/world/trap.js.map +1 -0
  939. package/dist/world/view.d.ts +60 -0
  940. package/dist/world/view.d.ts.map +1 -0
  941. package/dist/world/view.js +436 -0
  942. package/dist/world/view.js.map +1 -0
  943. package/dist/z-queue.d.ts +133 -0
  944. package/dist/z-queue.d.ts.map +1 -0
  945. package/dist/z-queue.js +283 -0
  946. package/dist/z-queue.js.map +1 -0
  947. package/package.json +75 -0
  948. package/src/agent/act.ts +114 -0
  949. package/src/agent/controller.ts +109 -0
  950. package/src/agent/events.ts +47 -0
  951. package/src/agent/index.ts +36 -0
  952. package/src/agent/perceive.ts +440 -0
  953. package/src/agent/types.ts +464 -0
  954. package/src/bitflag.ts +536 -0
  955. package/src/cmd.ts +547 -0
  956. package/src/color.ts +267 -0
  957. package/src/combat/brand-slay.ts +360 -0
  958. package/src/combat/hit.ts +471 -0
  959. package/src/combat/index.ts +15 -0
  960. package/src/combat/melee.ts +728 -0
  961. package/src/combat/mon-melee.ts +1153 -0
  962. package/src/combat/ranged.ts +397 -0
  963. package/src/constants.ts +324 -0
  964. package/src/dice.ts +467 -0
  965. package/src/effects/effect-choice.ts +32 -0
  966. package/src/effects/effect-info.ts +859 -0
  967. package/src/effects/effect.ts +560 -0
  968. package/src/effects/handlers.ts +452 -0
  969. package/src/effects/interpreter.ts +603 -0
  970. package/src/events.ts +317 -0
  971. package/src/expression.ts +360 -0
  972. package/src/game/cave-cmd.ts +1147 -0
  973. package/src/game/char-sheet.ts +557 -0
  974. package/src/game/chest.ts +348 -0
  975. package/src/game/context.ts +1218 -0
  976. package/src/game/curse-tick.ts +130 -0
  977. package/src/game/describe.ts +62 -0
  978. package/src/game/display.ts +838 -0
  979. package/src/game/dump-level.ts +114 -0
  980. package/src/game/effect-attack.ts +746 -0
  981. package/src/game/effect-detect.ts +542 -0
  982. package/src/game/effect-env.ts +252 -0
  983. package/src/game/effect-game-env.ts +86 -0
  984. package/src/game/effect-general.ts +1122 -0
  985. package/src/game/effect-item.ts +999 -0
  986. package/src/game/effect-melee.ts +557 -0
  987. package/src/game/effect-mon-origin.ts +196 -0
  988. package/src/game/effect-monster.ts +310 -0
  989. package/src/game/effect-summon.ts +161 -0
  990. package/src/game/effect-teleport.ts +645 -0
  991. package/src/game/effect-terrain.ts +881 -0
  992. package/src/game/energy.ts +61 -0
  993. package/src/game/equip-cmp.ts +476 -0
  994. package/src/game/floor.ts +524 -0
  995. package/src/game/gear.ts +1352 -0
  996. package/src/game/harness.ts +270 -0
  997. package/src/game/history.ts +78 -0
  998. package/src/game/ignore-cmd.ts +68 -0
  999. package/src/game/inscription-confirm.ts +115 -0
  1000. package/src/game/known.ts +960 -0
  1001. package/src/game/loop.ts +671 -0
  1002. package/src/game/lore-color.ts +108 -0
  1003. package/src/game/mon-cast.ts +409 -0
  1004. package/src/game/mon-cmd.ts +767 -0
  1005. package/src/game/mon-death.ts +459 -0
  1006. package/src/game/mon-group.ts +368 -0
  1007. package/src/game/mon-list.ts +213 -0
  1008. package/src/game/mon-message.ts +359 -0
  1009. package/src/game/mon-place.ts +1012 -0
  1010. package/src/game/mon-ranged.ts +405 -0
  1011. package/src/game/mon-shape.ts +161 -0
  1012. package/src/game/mon-side.ts +511 -0
  1013. package/src/game/monster-turn.ts +1750 -0
  1014. package/src/game/obj-cmd.ts +1970 -0
  1015. package/src/game/obj-list.ts +302 -0
  1016. package/src/game/object-inspect.ts +162 -0
  1017. package/src/game/pickup.ts +483 -0
  1018. package/src/game/player-path.ts +1434 -0
  1019. package/src/game/player-side.ts +555 -0
  1020. package/src/game/player-turn.ts +852 -0
  1021. package/src/game/project-cast.ts +766 -0
  1022. package/src/game/project-feat.ts +386 -0
  1023. package/src/game/project-monster.ts +407 -0
  1024. package/src/game/project-obj.ts +298 -0
  1025. package/src/game/project-player.ts +236 -0
  1026. package/src/game/quest.ts +248 -0
  1027. package/src/game/ranged-cmd.ts +417 -0
  1028. package/src/game/scheduler.ts +150 -0
  1029. package/src/game/spell-cmd.ts +404 -0
  1030. package/src/game/spoil.ts +562 -0
  1031. package/src/game/steal.ts +169 -0
  1032. package/src/game/take-hit-hooks.ts +152 -0
  1033. package/src/game/target-loop.ts +501 -0
  1034. package/src/game/target.ts +424 -0
  1035. package/src/game/thrust.ts +174 -0
  1036. package/src/game/trap.ts +791 -0
  1037. package/src/game/ui-entry.ts +2075 -0
  1038. package/src/game/wizard.ts +1760 -0
  1039. package/src/game/world.ts +786 -0
  1040. package/src/gen/cave.ts +2858 -0
  1041. package/src/gen/gen-monster.ts +592 -0
  1042. package/src/gen/generate.ts +523 -0
  1043. package/src/gen/room.ts +2213 -0
  1044. package/src/gen/util.ts +1958 -0
  1045. package/src/generated/dun-profiles.ts +30 -0
  1046. package/src/generated/effects.ts +241 -0
  1047. package/src/generated/elements.ts +62 -0
  1048. package/src/generated/equip-slots.ts +36 -0
  1049. package/src/generated/history-types.ts +34 -0
  1050. package/src/generated/ignore-types.ts +66 -0
  1051. package/src/generated/index.ts +33 -0
  1052. package/src/generated/kind-flags.ts +44 -0
  1053. package/src/generated/message.ts +320 -0
  1054. package/src/generated/mon-message.ts +138 -0
  1055. package/src/generated/mon-race-flags.ts +182 -0
  1056. package/src/generated/mon-spells.ts +198 -0
  1057. package/src/generated/mon-temp-flags.ts +34 -0
  1058. package/src/generated/mon-timed.ts +34 -0
  1059. package/src/generated/object-flags.ts +95 -0
  1060. package/src/generated/object-modifiers.ts +43 -0
  1061. package/src/generated/options.ts +104 -0
  1062. package/src/generated/origins.ts +64 -0
  1063. package/src/generated/parser-errors.ts +140 -0
  1064. package/src/generated/player-flags.ts +48 -0
  1065. package/src/generated/player-timed.ts +118 -0
  1066. package/src/generated/projections.ts +103 -0
  1067. package/src/generated/randart-properties.ts +202 -0
  1068. package/src/generated/room-flags.ts +21 -0
  1069. package/src/generated/rooms.ts +50 -0
  1070. package/src/generated/square-flags.ts +56 -0
  1071. package/src/generated/stats.ts +22 -0
  1072. package/src/generated/terrain-flags.ts +76 -0
  1073. package/src/generated/terrain.ts +62 -0
  1074. package/src/generated/trap-flags.ts +42 -0
  1075. package/src/generated/tvals.ts +84 -0
  1076. package/src/generated/ui-entry-renderers.ts +24 -0
  1077. package/src/guard.ts +70 -0
  1078. package/src/host/args.ts +334 -0
  1079. package/src/host/bridge.ts +193 -0
  1080. package/src/host/index.ts +18 -0
  1081. package/src/host/io.ts +239 -0
  1082. package/src/host/memory.ts +134 -0
  1083. package/src/host/raw.ts +190 -0
  1084. package/src/index.ts +250 -0
  1085. package/src/loc.ts +157 -0
  1086. package/src/mod/hooks.ts +278 -0
  1087. package/src/mod/ids.ts +390 -0
  1088. package/src/mod/registry-host.ts +258 -0
  1089. package/src/mod/save-blocks.ts +787 -0
  1090. package/src/mod/vocabulary.ts +0 -0
  1091. package/src/mon/bind.ts +899 -0
  1092. package/src/mon/desc.ts +212 -0
  1093. package/src/mon/knowledge-groups.ts +164 -0
  1094. package/src/mon/lore-describe.ts +1414 -0
  1095. package/src/mon/lore.ts +306 -0
  1096. package/src/mon/make.ts +422 -0
  1097. package/src/mon/monster.ts +161 -0
  1098. package/src/mon/predicate.ts +220 -0
  1099. package/src/mon/project-mon.ts +855 -0
  1100. package/src/mon/spell.ts +418 -0
  1101. package/src/mon/steal.ts +246 -0
  1102. package/src/mon/summon.ts +145 -0
  1103. package/src/mon/take-hit.ts +195 -0
  1104. package/src/mon/timed.ts +300 -0
  1105. package/src/mon/types.ts +286 -0
  1106. package/src/msg.ts +146 -0
  1107. package/src/obj/artifact-fake.ts +63 -0
  1108. package/src/obj/artifact-known.ts +69 -0
  1109. package/src/obj/bind.ts +1345 -0
  1110. package/src/obj/chest.ts +249 -0
  1111. package/src/obj/desc.ts +699 -0
  1112. package/src/obj/effects-info.ts +349 -0
  1113. package/src/obj/flavor.ts +256 -0
  1114. package/src/obj/ignore.ts +387 -0
  1115. package/src/obj/knowledge.ts +1577 -0
  1116. package/src/obj/known-object.ts +718 -0
  1117. package/src/obj/make.ts +1367 -0
  1118. package/src/obj/object-info.ts +1737 -0
  1119. package/src/obj/object.ts +1296 -0
  1120. package/src/obj/power.ts +674 -0
  1121. package/src/obj/randart-build.ts +1705 -0
  1122. package/src/obj/randart-data.ts +1344 -0
  1123. package/src/obj/randart.ts +552 -0
  1124. package/src/obj/randname.ts +128 -0
  1125. package/src/obj/recharge.ts +62 -0
  1126. package/src/obj/types.ts +559 -0
  1127. package/src/obj/value.ts +215 -0
  1128. package/src/player/abilities.ts +142 -0
  1129. package/src/player/best-digger.ts +118 -0
  1130. package/src/player/bind.ts +1021 -0
  1131. package/src/player/birth.ts +794 -0
  1132. package/src/player/calcs.ts +1522 -0
  1133. package/src/player/combat-regen.ts +33 -0
  1134. package/src/player/exp.ts +275 -0
  1135. package/src/player/history.ts +211 -0
  1136. package/src/player/options.ts +244 -0
  1137. package/src/player/player.ts +356 -0
  1138. package/src/player/shape-lore.ts +250 -0
  1139. package/src/player/spell.ts +627 -0
  1140. package/src/player/take-hit.ts +173 -0
  1141. package/src/player/timed.ts +482 -0
  1142. package/src/player/types.ts +415 -0
  1143. package/src/rational.ts +388 -0
  1144. package/src/rng.ts +476 -0
  1145. package/src/save/buffer.ts +287 -0
  1146. package/src/save/compress.ts +132 -0
  1147. package/src/save/description.ts +70 -0
  1148. package/src/save/integrity.ts +133 -0
  1149. package/src/score/display.ts +125 -0
  1150. package/src/score/score.ts +341 -0
  1151. package/src/score/types.ts +104 -0
  1152. package/src/session/boot.ts +338 -0
  1153. package/src/session/game.ts +3712 -0
  1154. package/src/session/save.ts +2074 -0
  1155. package/src/sound/engine.ts +375 -0
  1156. package/src/sound/index.ts +13 -0
  1157. package/src/sound/sound-prefs-data.ts +173 -0
  1158. package/src/sound/types.ts +68 -0
  1159. package/src/store/bind.ts +145 -0
  1160. package/src/store/price.ts +97 -0
  1161. package/src/store/store-cmd.ts +73 -0
  1162. package/src/store/store.ts +723 -0
  1163. package/src/store/transact.ts +644 -0
  1164. package/src/store/types.ts +110 -0
  1165. package/src/version.ts +26 -0
  1166. package/src/visuals/engine.ts +444 -0
  1167. package/src/visuals/glyph-table.ts +191 -0
  1168. package/src/visuals/grafmode-data.ts +90 -0
  1169. package/src/visuals/grafmode.ts +123 -0
  1170. package/src/visuals/index.ts +19 -0
  1171. package/src/visuals/map-text.ts +152 -0
  1172. package/src/visuals/pref-expr.ts +182 -0
  1173. package/src/visuals/prefs.ts +981 -0
  1174. package/src/visuals/tile-prefs.ts +183 -0
  1175. package/src/world/chunk.ts +531 -0
  1176. package/src/world/feature.ts +215 -0
  1177. package/src/world/flow.ts +128 -0
  1178. package/src/world/project.ts +687 -0
  1179. package/src/world/projection.ts +228 -0
  1180. package/src/world/scatter.ts +72 -0
  1181. package/src/world/trap.ts +155 -0
  1182. package/src/world/view.ts +513 -0
  1183. package/src/z-queue.ts +300 -0
package/dist/msg.js ADDED
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Message handling, ported from reference/src/message.c and message.h
3
+ * (Angband 4.2.6).
4
+ *
5
+ * MessageLog stores the rolling log (most recent first, duplicate
6
+ * squashing with counts, capacity 2048). Messages is the engine-facing
7
+ * facade: msg()/msgt() add to the log and signal the event bus; sound()
8
+ * and bell() are event-only. Message types are numeric MSG_* indices
9
+ * (the generated list-message module supplies names); colors are numeric
10
+ * COLOUR_* indices as upstream.
11
+ *
12
+ * Not ported here: message_lookup_by_name / by_sound_name (they need the
13
+ * generated list-message table; they land with the pref-file loader).
14
+ * C's printf-style formatting is dropped; callers use template strings.
15
+ */
16
+ import { colorCharToAttr, COLOUR_DARK, COLOUR_WHITE } from "./color.js";
17
+ import { MSG } from "./generated/message.js";
18
+ /** MSG_GENERIC: the default message type (index 0 of list-message.h). */
19
+ export const MSG_GENERIC = 0;
20
+ /**
21
+ * message.prf:103,115,196: these are the three non-white default message
22
+ * colours. All other listed defaults are `w`, so message.c:269-285's white
23
+ * fallback gives the same result without duplicating a 100-line table.
24
+ */
25
+ const DEFAULT_MESSAGE_COLORS = new Map([
26
+ [MSG.BELL, colorCharToAttr("o")],
27
+ [MSG.HITPOINT_WARN, colorCharToAttr("o")],
28
+ [MSG.AFRAID, colorCharToAttr("o")],
29
+ ]);
30
+ /** The rolling message memory (msgqueue_t). */
31
+ export class MessageLog {
32
+ max;
33
+ /** Newest first, index 0 = age 0 (upstream walks head -> older). */
34
+ entries = [];
35
+ // message.c:269-285: message types start with their loaded defaults and
36
+ // an explicit COLOUR_DARK remains the unset/white sentinel.
37
+ colors = new Map(DEFAULT_MESSAGE_COLORS);
38
+ constructor(max = 2048) {
39
+ this.max = max;
40
+ }
41
+ /** messages_num. */
42
+ num() {
43
+ return this.entries.length;
44
+ }
45
+ /**
46
+ * message_add: append, or bump the count when identical to the newest
47
+ * entry (count saturates at 0xFFFF exactly like the uint16_t check).
48
+ */
49
+ add(str, type) {
50
+ const head = this.entries[0];
51
+ if (head && head.type === type && head.str === str && head.count !== 0xffff) {
52
+ head.count++;
53
+ return;
54
+ }
55
+ this.entries.unshift({ str, type, count: 1 });
56
+ if (this.entries.length > this.max)
57
+ this.entries.pop();
58
+ }
59
+ /** message_str: text of the message of the given age ("" if absent). */
60
+ str(age) {
61
+ return this.entries[age]?.str ?? "";
62
+ }
63
+ /** message_count: repeat count of the message of the given age. */
64
+ count(age) {
65
+ return this.entries[age]?.count ?? 0;
66
+ }
67
+ /** message_type. */
68
+ type(age) {
69
+ return this.entries[age]?.type ?? 0;
70
+ }
71
+ /** message_color. */
72
+ color(age) {
73
+ const e = this.entries[age];
74
+ return e ? this.typeColor(e.type) : COLOUR_WHITE;
75
+ }
76
+ /** message_color_define. */
77
+ colorDefine(type, color) {
78
+ this.colors.set(type, color);
79
+ }
80
+ /** message_type_color: COLOUR_DARK means "unset" and yields white. */
81
+ typeColor(type) {
82
+ const c = this.colors.get(type);
83
+ return c !== undefined && c !== COLOUR_DARK ? c : COLOUR_WHITE;
84
+ }
85
+ }
86
+ /** MSG_BELL index in list-message.h; bell() signals with this type. */
87
+ export const MSG_BELL = MSG.BELL;
88
+ /**
89
+ * The msg()/msgt()/sound()/bell() facade: adds to the log and signals the
90
+ * event bus, honoring the use_sound option via an injected getter.
91
+ */
92
+ export class Messages {
93
+ log;
94
+ events;
95
+ soundEnabled;
96
+ constructor(log, events, soundEnabled = () => false) {
97
+ this.log = log;
98
+ this.events = events;
99
+ this.soundEnabled = soundEnabled;
100
+ }
101
+ /** msg: log with MSG_GENERIC and signal EVENT_MESSAGE. */
102
+ msg(text) {
103
+ this.log.add(text, MSG_GENERIC);
104
+ this.events.emit("message", { msg: text, type: MSG_GENERIC });
105
+ }
106
+ /** msgt: log with a type, make the type's sound, signal EVENT_MESSAGE. */
107
+ msgt(type, text) {
108
+ this.log.add(text, type);
109
+ this.sound(type);
110
+ this.events.emit("message", { msg: text, type });
111
+ }
112
+ /**
113
+ * sound: EVENT_SOUND only, gated by the use_sound option. The payload's
114
+ * message is null, not "" -- message.c:374 passes NULL.
115
+ */
116
+ sound(type) {
117
+ if (!this.soundEnabled())
118
+ return;
119
+ this.events.emit("sound", { msg: null, type });
120
+ }
121
+ /** bell: EVENT_BELL, likewise with a NULL message (message.c:381). */
122
+ bell() {
123
+ this.events.emit("bell", { msg: null, type: MSG_BELL });
124
+ }
125
+ }
126
+ //# sourceMappingURL=msg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msg.js","sourceRoot":"","sources":["../src/msg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAM7C,yEAAyE;AACzE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAE7B;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAiB;IACrD,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;CACnC,CAAC,CAAC;AAQH,+CAA+C;AAC/C,MAAM,OAAO,UAAU;IAOD;IANpB,oEAAoE;IAC5D,OAAO,GAAe,EAAE,CAAC;IACjC,wEAAwE;IACxE,4DAA4D;IACpD,MAAM,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEjD,YAAoB,MAAM,IAAI;QAAV,QAAG,GAAH,GAAG,CAAO;IAAG,CAAC;IAElC,oBAAoB;IACpB,GAAG;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,GAAW,EAAE,IAAY;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACzD,CAAC;IAED,wEAAwE;IACxE,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,GAAW;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,GAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,GAAW;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACnD,CAAC;IAED,4BAA4B;IAC5B,WAAW,CAAC,IAAY,EAAE,KAAa;QACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,sEAAsE;IACtE,SAAS,CAAC,IAAY;QACpB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACjE,CAAC;CACF;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;AAEjC;;;GAGG;AACH,MAAM,OAAO,QAAQ;IAER;IACD;IACA;IAHV,YACW,GAAe,EAChB,MAAkB,EAClB,eAA8B,GAAG,EAAE,CAAC,KAAK;QAFxC,QAAG,GAAH,GAAG,CAAY;QAChB,WAAM,GAAN,MAAM,CAAY;QAClB,iBAAY,GAAZ,YAAY,CAA6B;IAChD,CAAC;IAEJ,0DAA0D;IAC1D,GAAG,CAAC,IAAY;QACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,0EAA0E;IAC1E,IAAI,CAAC,IAAY,EAAE,IAAY;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAAE,OAAO;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,sEAAsE;IACtE,IAAI;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * make_fake_artifact (obj-make.c L728-745): build a throwaway artifact object
3
+ * directly from a blank object, used purely to DESCRIBE an artifact - the
4
+ * artifact-knowledge recall (desc_art_fake, ui-knowledge.c L1610-1654) and the
5
+ * spoiler dumps. As upstream warns, the result is in no way marked "fake", so
6
+ * it must NEVER become a live game object.
7
+ *
8
+ * DETERMINISM (the reason this lives in one place): object_prep with the
9
+ * "maximise" aspect draws no entropy, but copy_artifact_data's copy_curses step
10
+ * ALWAYS rolls the curse timeout on the "randomise" aspect regardless of the
11
+ * caller's aspect (obj-curse.c L67, ported faithfully in copyCurses). A
12
+ * browsing preview must not perturb the shared game RNG stream, so this builder
13
+ * draws from a DEDICATED throwaway Rng (a fresh Rng at a fixed seed), never the
14
+ * game stream. The fixed seed also makes the same artifact preview identically
15
+ * every time it is browsed.
16
+ *
17
+ * Attribution: neostryder / RPGM Tools.
18
+ */
19
+ import type { Constants } from "../constants.js";
20
+ import type { ObjRegistry } from "./bind.js";
21
+ import type { GameObject } from "./object.js";
22
+ import type { Artifact } from "./types.js";
23
+ /**
24
+ * The fixed seed for the throwaway prep Rng. object_prep(maximise) consumes no
25
+ * entropy and copy_artifact_data draws only the curse timeout, so a constant
26
+ * seed yields a stable, game-RNG-independent preview.
27
+ */
28
+ export declare const FAKE_ARTIFACT_SEED = 1;
29
+ /**
30
+ * make_fake_artifact(obj, artifact) (obj-make.c L728): look up the base kind,
31
+ * object_prep it with the MAXIMISE aspect, stamp on the artifact, then
32
+ * copy_artifact_data. Returns null when the artifact has no tval or its base
33
+ * kind is missing (upstream returns false - L733, L737).
34
+ *
35
+ * The build uses its own throwaway Rng (see the module note); the caller's game
36
+ * RNG stream is never touched.
37
+ */
38
+ export declare function makeFakeArtifact(reg: ObjRegistry, constants: Constants, art: Artifact, seed?: number): GameObject | null;
39
+ //# sourceMappingURL=artifact-fake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-fake.d.ts","sourceRoot":"","sources":["../../src/obj/artifact-fake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,QAAQ,EACb,IAAI,GAAE,MAA2B,GAChC,UAAU,GAAG,IAAI,CAenB"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * make_fake_artifact (obj-make.c L728-745): build a throwaway artifact object
3
+ * directly from a blank object, used purely to DESCRIBE an artifact - the
4
+ * artifact-knowledge recall (desc_art_fake, ui-knowledge.c L1610-1654) and the
5
+ * spoiler dumps. As upstream warns, the result is in no way marked "fake", so
6
+ * it must NEVER become a live game object.
7
+ *
8
+ * DETERMINISM (the reason this lives in one place): object_prep with the
9
+ * "maximise" aspect draws no entropy, but copy_artifact_data's copy_curses step
10
+ * ALWAYS rolls the curse timeout on the "randomise" aspect regardless of the
11
+ * caller's aspect (obj-curse.c L67, ported faithfully in copyCurses). A
12
+ * browsing preview must not perturb the shared game RNG stream, so this builder
13
+ * draws from a DEDICATED throwaway Rng (a fresh Rng at a fixed seed), never the
14
+ * game stream. The fixed seed also makes the same artifact preview identically
15
+ * every time it is browsed.
16
+ *
17
+ * Attribution: neostryder / RPGM Tools.
18
+ */
19
+ import { Rng } from "../rng.js";
20
+ import { copyArtifactData, objectPrep } from "./make.js";
21
+ /**
22
+ * The fixed seed for the throwaway prep Rng. object_prep(maximise) consumes no
23
+ * entropy and copy_artifact_data draws only the curse timeout, so a constant
24
+ * seed yields a stable, game-RNG-independent preview.
25
+ */
26
+ export const FAKE_ARTIFACT_SEED = 1;
27
+ /**
28
+ * make_fake_artifact(obj, artifact) (obj-make.c L728): look up the base kind,
29
+ * object_prep it with the MAXIMISE aspect, stamp on the artifact, then
30
+ * copy_artifact_data. Returns null when the artifact has no tval or its base
31
+ * kind is missing (upstream returns false - L733, L737).
32
+ *
33
+ * The build uses its own throwaway Rng (see the module note); the caller's game
34
+ * RNG stream is never touched.
35
+ */
36
+ export function makeFakeArtifact(reg, constants, art, seed = FAKE_ARTIFACT_SEED) {
37
+ /* Don't bother with empty artifacts (L733). */
38
+ if (!art.tval)
39
+ return null;
40
+ /* Get the "kind" index (L736). */
41
+ const kind = reg.lookupKind(art.tval, art.sval);
42
+ if (!kind)
43
+ return null;
44
+ /* Create the artifact on a dedicated throwaway stream (L740-742). */
45
+ const rng = new Rng(seed);
46
+ const obj = objectPrep(rng, reg, constants, kind, 0, "maximise");
47
+ obj.artifact = art;
48
+ copyArtifactData(rng, reg, obj, art);
49
+ obj.number = 1;
50
+ return obj;
51
+ }
52
+ //# sourceMappingURL=artifact-fake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-fake.js","sourceRoot":"","sources":["../../src/obj/artifact-fake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAEpC;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAgB,EAChB,SAAoB,EACpB,GAAa,EACb,OAAe,kBAAkB;IAEjC,+CAA+C;IAC/C,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAE3B,kCAAkC;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,qEAAqE;IACrE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IACjE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;IACnB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Artifact-knowledge gating for the "known artifacts" browser, ported from
3
+ * find_artifact (reference/src/ui-knowledge.c L1537-1610), object_is_known_
4
+ * artifact (obj-knowledge.c L552-556) and artifact_is_known (ui-knowledge.c
5
+ * L1687-1707) of Angband 4.2.6.
6
+ *
7
+ * The point of the gate is to never leak an artifact the player has not yet
8
+ * identified: an artifact is only "known" once it has been created AND there is
9
+ * no live, still-unidentified copy of it anywhere in the world. Wizard mode
10
+ * reveals everything.
11
+ *
12
+ * Attribution: neostryder / RPGM Tools.
13
+ */
14
+ import type { GameObject } from "./object.js";
15
+ import type { Artifact } from "./types.js";
16
+ /**
17
+ * object_is_known_artifact for a LIVE object (obj-knowledge.c L552): upstream
18
+ * reads obj->known->artifact, which objectKnownShadow (known-object.ts L512)
19
+ * sets to obj->artifact only when the object is ASSESSED (touched / picked up).
20
+ * So for a live object this is exactly "it is an artifact and it has been
21
+ * assessed" - computed here without building a full known shadow.
22
+ */
23
+ export declare function liveObjectIsKnownArtifact(obj: GameObject): boolean;
24
+ /** The world-scan + created-flags view artifact_is_known needs. */
25
+ export interface ArtifactKnownEnv {
26
+ /**
27
+ * Every live object find_artifact scans (ui-knowledge.c L1537): floor piles,
28
+ * player gear, monster-held objects, store stock and stored (cached) level
29
+ * chunks. Order does not matter - a fixed artifact has at most one live copy.
30
+ */
31
+ worldObjects(): Iterable<GameObject>;
32
+ /** is_artifact_created(art) (obj-util.c): the per-game created flag. */
33
+ isCreated(aidx: number): boolean;
34
+ /** player->wizard: wizard mode reveals every artifact. */
35
+ wizard: boolean;
36
+ }
37
+ /**
38
+ * find_artifact (ui-knowledge.c L1537-1610): the live object that is this
39
+ * artifact, or null if no copy exists in the world right now.
40
+ */
41
+ export declare function findArtifact(env: ArtifactKnownEnv, aidx: number): GameObject | null;
42
+ /**
43
+ * artifact_is_known (ui-knowledge.c L1687-1707): should the browser list this
44
+ * artifact? Requires a name; wizard mode always yes; otherwise it must be
45
+ * created, and if a live copy exists it must already be identified as an
46
+ * artifact (else the copy is a not-yet-found artifact and listing it would
47
+ * leak it).
48
+ */
49
+ export declare function artifactIsKnown(art: Artifact, env: ArtifactKnownEnv): boolean;
50
+ //# sourceMappingURL=artifact-known.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-known.d.ts","sourceRoot":"","sources":["../../src/obj/artifact-known.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAElE;AAED,mEAAmE;AACnE,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,YAAY,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrC,wEAAwE;IACxE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,0DAA0D;IAC1D,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAKnF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAO7E"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Artifact-knowledge gating for the "known artifacts" browser, ported from
3
+ * find_artifact (reference/src/ui-knowledge.c L1537-1610), object_is_known_
4
+ * artifact (obj-knowledge.c L552-556) and artifact_is_known (ui-knowledge.c
5
+ * L1687-1707) of Angband 4.2.6.
6
+ *
7
+ * The point of the gate is to never leak an artifact the player has not yet
8
+ * identified: an artifact is only "known" once it has been created AND there is
9
+ * no live, still-unidentified copy of it anywhere in the world. Wizard mode
10
+ * reveals everything.
11
+ *
12
+ * Attribution: neostryder / RPGM Tools.
13
+ */
14
+ import { OBJ_NOTICE } from "./knowledge.js";
15
+ /**
16
+ * object_is_known_artifact for a LIVE object (obj-knowledge.c L552): upstream
17
+ * reads obj->known->artifact, which objectKnownShadow (known-object.ts L512)
18
+ * sets to obj->artifact only when the object is ASSESSED (touched / picked up).
19
+ * So for a live object this is exactly "it is an artifact and it has been
20
+ * assessed" - computed here without building a full known shadow.
21
+ */
22
+ export function liveObjectIsKnownArtifact(obj) {
23
+ return obj.artifact !== null && (obj.notice & OBJ_NOTICE.ASSESSED) !== 0;
24
+ }
25
+ /**
26
+ * find_artifact (ui-knowledge.c L1537-1610): the live object that is this
27
+ * artifact, or null if no copy exists in the world right now.
28
+ */
29
+ export function findArtifact(env, aidx) {
30
+ for (const obj of env.worldObjects()) {
31
+ if (obj.artifact && obj.artifact.aidx === aidx)
32
+ return obj;
33
+ }
34
+ return null;
35
+ }
36
+ /**
37
+ * artifact_is_known (ui-knowledge.c L1687-1707): should the browser list this
38
+ * artifact? Requires a name; wizard mode always yes; otherwise it must be
39
+ * created, and if a live copy exists it must already be identified as an
40
+ * artifact (else the copy is a not-yet-found artifact and listing it would
41
+ * leak it).
42
+ */
43
+ export function artifactIsKnown(art, env) {
44
+ if (!art.name)
45
+ return false;
46
+ if (env.wizard)
47
+ return true;
48
+ if (!env.isCreated(art.aidx))
49
+ return false;
50
+ const obj = findArtifact(env, art.aidx);
51
+ if (obj && !liveObjectIsKnownArtifact(obj))
52
+ return false;
53
+ return true;
54
+ }
55
+ //# sourceMappingURL=artifact-known.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-known.js","sourceRoot":"","sources":["../../src/obj/artifact-known.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI5C;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAe;IACvD,OAAO,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAgBD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAqB,EAAE,IAAY;IAC9D,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,GAAa,EAAE,GAAqB;IAClE,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,219 @@
1
+ /**
2
+ * Object registries: binding the compiled pack JSON into typed data,
3
+ * ported from reference/src/obj-init.c (all the object-domain parsers and
4
+ * their finish steps), datafile.c (grab_flag, grab_rand_value,
5
+ * grab_int_value, grab_index_and_int, grab_int_range, grab_element_flag),
6
+ * obj-tval.c (tval_find_idx), obj-util.c (lookup_kind, lookup_sval), and
7
+ * obj-desc.c (obj_desc_name_format, used for sval name matching).
8
+ *
9
+ * Ordering follows upstream init_arrays: bases, slays, brands, curses,
10
+ * objects, activations, egos, artifacts, properties, flavors. Faithful
11
+ * index quirks are kept: kinds/egos are 0-based in file order
12
+ * (kidx/eidx), artifacts and object properties are 1-based in file
13
+ * order, while slays, brands, curses, and activations are 1-based in
14
+ * REVERSE file order (upstream walks the prepended parse list from its
15
+ * head while counting up).
16
+ *
17
+ * Sval assignment mirrors parse_object_type: each kind bumps its base's
18
+ * num_svals as its type: line is bound, in file order, and takes that
19
+ * count as its sval. Special artifacts whose base-object sval does not
20
+ * exist get a dummy kind appended (write_dummy_object_record) with
21
+ * KF_INSTA_ART, inheriting the base's flags; its level is 0 at creation
22
+ * time because upstream reads art->level before the level: line has been
23
+ * parsed.
24
+ *
25
+ * MODDABILITY (ratified pillar): every bind step is driven purely by the
26
+ * record arrays passed in; appending extra records in the same compiled
27
+ * shape (new kinds, egos, artifacts, curses, ...) binds them exactly like
28
+ * pack data.
29
+ */
30
+ import type { RandomValue } from "../rng.js";
31
+ import type { Activation, Artifact, Brand, Curse, EgoItem, ElementInfo, Flavor, ObjectBase, ObjectKind, ObjectProperty, ObjPackJson, Slay } from "./types.js";
32
+ /** obj_mods[]: the five stats then the object modifiers, index = value. */
33
+ export declare const OBJ_MOD_NAMES: readonly string[];
34
+ /** element_names[]: index = ELEM value. */
35
+ export declare const ELEMENT_NAMES: readonly string[];
36
+ /**
37
+ * dice string or plain number -> RandomValue (parser_getrand / parse_random,
38
+ * parser.c:126-213).
39
+ *
40
+ * The negation is NOT dice negation, and getting it wrong is a live gameplay
41
+ * divergence. `parse_random` strips a leading '-', parses the remainder as a
42
+ * POSITIVE value, and only then adjusts (parser.c:207-211):
43
+ *
44
+ * base *= -1; base -= m_bonus; base -= dice * (sides + 1);
45
+ *
46
+ * with the reason stated there: "the random components are always positive, so
47
+ * the base must be adjusted as necessary". The base is shifted down far enough
48
+ * that `base + XdY` spans the NEGATION of the positive interval.
49
+ * Dice.parseString instead binds the '-' to the base token alone, which leaves
50
+ * the random part pointing the wrong way.
51
+ *
52
+ * Reachable in shipped 4.2.6 data: ego_item.txt:692, "of Backbiting", carries
53
+ * `combat:-26+d25:-26+d25:0`. Upstream yields base -52, dice 1, sides 25, i.e.
54
+ * to_h/to_d in -51..-27; binding the sign to the base alone yields -26 + 1d25,
55
+ * i.e. -25..-1, an ego roughly half as punishing as upstream's.
56
+ */
57
+ export declare function parseRand(value: string | number | undefined): RandomValue;
58
+ export declare function grabIntRange(range: string): [number, number];
59
+ /**
60
+ * grab_rand_value: "STR[1d2]" -> parse the bracket as dice and store its
61
+ * random value at the name's index. Returns true when the name matched.
62
+ */
63
+ export declare function grabRandValue(values: RandomValue[], names: readonly string[], token: string): boolean;
64
+ /**
65
+ * grab_int_value: "SPEED[10]" -> store the int at the name's index.
66
+ * Returns true when the name matched.
67
+ */
68
+ export declare function grabIntValue(values: number[], names: readonly string[], token: string): boolean;
69
+ /**
70
+ * grab_index_and_int with a prefix: "RES_ACID[1]" against element names
71
+ * and prefix "RES_" -> { index, value }, or null when no name matches.
72
+ */
73
+ export declare function grabIndexAndInt(names: readonly string[], prefix: string, token: string): {
74
+ index: number;
75
+ value: number;
76
+ } | null;
77
+ /**
78
+ * grab_element_flag: "IGNORE_ACID" / "HATES_FIRE" -> set the EL_INFO
79
+ * bit on the named element. Returns true when handled.
80
+ */
81
+ export declare function grabElementFlag(elInfo: ElementInfo[], flagName: string): boolean;
82
+ /**
83
+ * tval_find_idx: the numeric tval of a textual tval name (or a numeric
84
+ * string), -1 when unknown.
85
+ */
86
+ export declare function tvalFindIdx(name: string): number;
87
+ /** tval_find_name: textual name for a numeric tval. */
88
+ export declare function tvalFindName(tval: number): string;
89
+ /**
90
+ * obj_desc_name_format with a null modstr: strips '&' (and spaces after
91
+ * it), drops '~' (singular), picks the singular side of "|sing|plur|".
92
+ */
93
+ export declare function objDescNameFormat(fmt: string): string;
94
+ /**
95
+ * All object-domain registries, bound from the compiled pack JSON.
96
+ *
97
+ * Arrays with 1-based upstream indexing (slays, brands, curses,
98
+ * activations, artifacts, properties) keep a null at index 0.
99
+ */
100
+ export declare class ObjRegistry {
101
+ /** kb_info: bases indexed by tval (missing tvals get a default base). */
102
+ readonly bases: ObjectBase[];
103
+ /** k_info in kidx order; ordinary kinds then INSTA_ART dummies. */
104
+ readonly kinds: ObjectKind[];
105
+ /** Count of ordinary kinds (before artifact dummy kinds). */
106
+ ordinaryKindCount: number;
107
+ /** e_info in eidx order. */
108
+ readonly egos: EgoItem[];
109
+ /** a_info, 1-based (index 0 is null). */
110
+ readonly artifacts: (Artifact | null)[];
111
+ /** curses, 1-based, reverse file order (upstream quirk). */
112
+ readonly curses: (Curse | null)[];
113
+ /** brands, 1-based, reverse file order (upstream quirk). */
114
+ readonly brands: (Brand | null)[];
115
+ /** slays, 1-based, reverse file order (upstream quirk). */
116
+ readonly slays: (Slay | null)[];
117
+ /** activations, 1-based, reverse file order (upstream quirk). */
118
+ readonly activations: (Activation | null)[];
119
+ /** obj_properties, 1-based, file order. */
120
+ readonly properties: (ObjectProperty | null)[];
121
+ /** Flat flavor list in file order. */
122
+ readonly flavors: Flavor[];
123
+ unknownItemKind: ObjectKind | null;
124
+ unknownGoldKind: ObjectKind | null;
125
+ pileKind: ObjectKind | null;
126
+ curseObjectKind: ObjectKind | null;
127
+ /** z_info->brand_max (array length including the null slot). */
128
+ get brandMax(): number;
129
+ /** z_info->slay_max. */
130
+ get slayMax(): number;
131
+ /** z_info->curse_max. */
132
+ get curseMax(): number;
133
+ constructor(pack: ObjPackJson);
134
+ /** lookup_kind: kind by tval and sval, or null. */
135
+ lookupKind(tval: number, sval: number): ObjectKind | null;
136
+ /** objkind_byid. */
137
+ kindByIdx(kidx: number): ObjectKind | null;
138
+ /**
139
+ * lookup_sval: sval of the kind whose formatted name matches (case
140
+ * insensitively), or a numeric string passed through; -1 when unknown.
141
+ */
142
+ lookupSval(tval: number, name: string): number;
143
+ /** lookup_curse: 1-based curse index by name, or 0. */
144
+ lookupCurse(name: string): number;
145
+ /** Brand index by code, or 0. */
146
+ lookupBrand(code: string): number;
147
+ /** Slay index by code, or 0. */
148
+ lookupSlay(code: string): number;
149
+ /** findact: activation by name, or null. */
150
+ findActivation(name: string): Activation | null;
151
+ /** Ego by exact name, or null (test/mod convenience). */
152
+ findEgo(name: string): EgoItem | null;
153
+ /** Artifact by exact name, or null (test/mod convenience). */
154
+ findArtifact(name: string): Artifact | null;
155
+ /**
156
+ * lookup_artifact_name (obj-util.c L520): the artifact whose name EQUALS
157
+ * `name`, else the first artifact whose name CONTAINS `name`
158
+ * case-insensitively (only when `name` is at least 3 characters). Backs the
159
+ * wizard-mode "Enter new artifact:" prompt's name branch (cmd-wizard.c L2798),
160
+ * so `narthanc` and `hanc` both resolve.
161
+ *
162
+ * Two upstream warts are reproduced deliberately:
163
+ * - the exact-match test runs inside the same loop, so an exact match on a
164
+ * LATER artifact still wins over an earlier substring match;
165
+ * - the close-match result is returned only when `a_idx > 0` (L540), so a
166
+ * substring hit at index 0 yields NULL. Here index 0 is the reserved null
167
+ * artifact, which makes the wart inert - but the `> 0` bound is kept.
168
+ */
169
+ lookupArtifactName(name: string): Artifact | null;
170
+ /**
171
+ * lookup_ego_item (obj-util.c L549): the ego of exactly this `name` that can
172
+ * be applied to the kind with `tval`/`sval`. Backs the wizard-mode "Enter ego
173
+ * item:" prompt's name branch (cmd-wizard.c L2752). Unlike the artifact
174
+ * lookup this is EXACT-name only, and an ego whose poss_items list does not
175
+ * hold the kind is skipped even when the name matches.
176
+ */
177
+ lookupEgoItem(name: string, tval: number, sval: number): EgoItem | null;
178
+ private bindBases;
179
+ private bindSlays;
180
+ private bindBrands;
181
+ /**
182
+ * parse_curse_weight (obj-init.c) refuses an adjustment that will not fit in
183
+ * the int16_t it is stored in: `< -32768 || > 32767` is
184
+ * PARSE_ERROR_INVALID_VALUE (curse.c test_weight_bad0 plants 32769 and
185
+ * -32780). Negative-with-MULTIPLY_WEIGHT is a separate finalize-time check
186
+ * upstream and is not this one.
187
+ */
188
+ private static curseWeight;
189
+ private bindCurses;
190
+ private bindKinds;
191
+ private bindBrandList;
192
+ private bindSlayList;
193
+ private bindCurseList;
194
+ private bindActivations;
195
+ private bindEgos;
196
+ /**
197
+ * write_dummy_object_record: append an INSTA_ART kind for a special
198
+ * artifact base object that has no ordinary kind.
199
+ */
200
+ private writeDummyObjectRecord;
201
+ private bindArtifacts;
202
+ private bindProperties;
203
+ private bindFlavors;
204
+ private finish;
205
+ }
206
+ /** Assemble the ObjPackJson bundle from individually parsed pack files. */
207
+ export declare function objPackFromJson(parts: {
208
+ objectBase: unknown;
209
+ object: unknown;
210
+ egoItem: unknown;
211
+ artifact: unknown;
212
+ curse: unknown;
213
+ brand: unknown;
214
+ slay: unknown;
215
+ activation: unknown;
216
+ objectProperty: unknown;
217
+ flavor: unknown;
218
+ }): ObjPackJson;
219
+ //# sourceMappingURL=bind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../../src/obj/bind.ts"],"names":[],"mappings":"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"}