@ticktockbent/rogue-ts 0.1.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 (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +175 -0
  3. package/dist/armor.d.ts +18 -0
  4. package/dist/armor.d.ts.map +1 -0
  5. package/dist/armor.js +84 -0
  6. package/dist/armor.js.map +1 -0
  7. package/dist/chase.d.ts +15 -0
  8. package/dist/chase.d.ts.map +1 -0
  9. package/dist/chase.js +152 -0
  10. package/dist/chase.js.map +1 -0
  11. package/dist/command.d.ts +12 -0
  12. package/dist/command.d.ts.map +1 -0
  13. package/dist/command.js +761 -0
  14. package/dist/command.js.map +1 -0
  15. package/dist/curses.d.ts +102 -0
  16. package/dist/curses.d.ts.map +1 -0
  17. package/dist/curses.js +47 -0
  18. package/dist/curses.js.map +1 -0
  19. package/dist/daemon.d.ts +43 -0
  20. package/dist/daemon.d.ts.map +1 -0
  21. package/dist/daemon.js +116 -0
  22. package/dist/daemon.js.map +1 -0
  23. package/dist/daemons.d.ts +47 -0
  24. package/dist/daemons.d.ts.map +1 -0
  25. package/dist/daemons.js +194 -0
  26. package/dist/daemons.js.map +1 -0
  27. package/dist/fight.d.ts +52 -0
  28. package/dist/fight.d.ts.map +1 -0
  29. package/dist/fight.js +508 -0
  30. package/dist/fight.js.map +1 -0
  31. package/dist/globals.d.ts +387 -0
  32. package/dist/globals.d.ts.map +1 -0
  33. package/dist/globals.js +935 -0
  34. package/dist/globals.js.map +1 -0
  35. package/dist/index.d.ts +11 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +9 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/init.d.ts +30 -0
  40. package/dist/init.d.ts.map +1 -0
  41. package/dist/init.js +159 -0
  42. package/dist/init.js.map +1 -0
  43. package/dist/io.d.ts +48 -0
  44. package/dist/io.d.ts.map +1 -0
  45. package/dist/io.js +248 -0
  46. package/dist/io.js.map +1 -0
  47. package/dist/list.d.ts +37 -0
  48. package/dist/list.d.ts.map +1 -0
  49. package/dist/list.js +109 -0
  50. package/dist/list.js.map +1 -0
  51. package/dist/main.d.ts +23 -0
  52. package/dist/main.d.ts.map +1 -0
  53. package/dist/main.js +207 -0
  54. package/dist/main.js.map +1 -0
  55. package/dist/misc.d.ts +53 -0
  56. package/dist/misc.d.ts.map +1 -0
  57. package/dist/misc.js +296 -0
  58. package/dist/misc.js.map +1 -0
  59. package/dist/monsters.d.ts +55 -0
  60. package/dist/monsters.d.ts.map +1 -0
  61. package/dist/monsters.js +211 -0
  62. package/dist/monsters.js.map +1 -0
  63. package/dist/move.d.ts +23 -0
  64. package/dist/move.d.ts.map +1 -0
  65. package/dist/move.js +270 -0
  66. package/dist/move.js.map +1 -0
  67. package/dist/new_level.d.ts +17 -0
  68. package/dist/new_level.d.ts.map +1 -0
  69. package/dist/new_level.js +173 -0
  70. package/dist/new_level.js.map +1 -0
  71. package/dist/pack.d.ts +47 -0
  72. package/dist/pack.d.ts.map +1 -0
  73. package/dist/pack.js +359 -0
  74. package/dist/pack.js.map +1 -0
  75. package/dist/passages.d.ts +23 -0
  76. package/dist/passages.d.ts.map +1 -0
  77. package/dist/passages.js +277 -0
  78. package/dist/passages.js.map +1 -0
  79. package/dist/potions.d.ts +13 -0
  80. package/dist/potions.d.ts.map +1 -0
  81. package/dist/potions.js +239 -0
  82. package/dist/potions.js.map +1 -0
  83. package/dist/rings.d.ts +13 -0
  84. package/dist/rings.d.ts.map +1 -0
  85. package/dist/rings.js +173 -0
  86. package/dist/rings.js.map +1 -0
  87. package/dist/rip.d.ts +22 -0
  88. package/dist/rip.d.ts.map +1 -0
  89. package/dist/rip.js +216 -0
  90. package/dist/rip.js.map +1 -0
  91. package/dist/rooms.d.ts +62 -0
  92. package/dist/rooms.d.ts.map +1 -0
  93. package/dist/rooms.js +432 -0
  94. package/dist/rooms.js.map +1 -0
  95. package/dist/save.d.ts +25 -0
  96. package/dist/save.d.ts.map +1 -0
  97. package/dist/save.js +565 -0
  98. package/dist/save.js.map +1 -0
  99. package/dist/scrolls.d.ts +13 -0
  100. package/dist/scrolls.d.ts.map +1 -0
  101. package/dist/scrolls.js +305 -0
  102. package/dist/scrolls.js.map +1 -0
  103. package/dist/sticks.d.ts +9 -0
  104. package/dist/sticks.d.ts.map +1 -0
  105. package/dist/sticks.js +379 -0
  106. package/dist/sticks.js.map +1 -0
  107. package/dist/things.d.ts +28 -0
  108. package/dist/things.d.ts.map +1 -0
  109. package/dist/things.js +307 -0
  110. package/dist/things.js.map +1 -0
  111. package/dist/types.d.ts +113 -0
  112. package/dist/types.d.ts.map +1 -0
  113. package/dist/types.js +10 -0
  114. package/dist/types.js.map +1 -0
  115. package/dist/util.d.ts +36 -0
  116. package/dist/util.d.ts.map +1 -0
  117. package/dist/util.js +198 -0
  118. package/dist/util.js.map +1 -0
  119. package/dist/weapons.d.ts +22 -0
  120. package/dist/weapons.d.ts.map +1 -0
  121. package/dist/weapons.js +185 -0
  122. package/dist/weapons.js.map +1 -0
  123. package/package.json +31 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passages.js","sourceRoot":"","sources":["../src/passages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,KAAK,EAAE,QAAQ,EAAW,QAAQ,EAAE,OAAO,EAC3C,MAAM,EAAE,MAAM,EAAE,IAAI,EACpB,MAAM,EAAE,MAAM,EAAE,MAAM,EACtB,KAAK,EAAQ,IAAI,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AASrC,qCAAqC;AACrC,SAAS;AACT,SAAS;AACT,SAAS;AACT,MAAM,UAAU,GAAgB;IAC9B,CAAC,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI;IACrE,CAAC,IAAI,EAAG,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI;IACrE,CAAC,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI;IACrE,CAAC,IAAI,EAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI;IACrE,CAAC,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,IAAI,EAAG,KAAK,CAAC,EAAE,IAAI;IACrE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAE,EAAE,IAAI;IACrE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAG,KAAK,CAAC,EAAE,IAAI;IACrE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,IAAI,CAAE,EAAE,IAAI;IACrE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAG,KAAK,EAAE,IAAI,EAAG,KAAK,CAAC,EAAE,IAAI;CACtE,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,8BAA8B;IAC9B,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACvC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7B,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;IAElB,IAAI,EAAE,GAAmB,IAAI,CAAC;IAE9B,GAAG,CAAC;QACF,8BAA8B;QAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QAED,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACzB,4DAA4D;YAC5D,GAAG,CAAC;gBACF,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3B,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE;QACxB,CAAC;aAAM,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACvB,4CAA4C;YAC5C,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YACxB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YACxB,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC,QAAQ,SAAS,GAAG,QAAQ,EAAE;IAE/B,iCAAiC;IACjC,KAAK,IAAI,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC;QAC3D,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEzB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,EAAE,GAAG,IAAI,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/D,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QAED,IAAI,cAAc,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YACxB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,EAAU,EAAE,EAAU;IACzC,IAAI,EAAU,CAAC;IACf,IAAI,KAAa,CAAC;IAClB,IAAI,GAAW,CAAC;IAEhB,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;QACZ,EAAE,GAAG,EAAE,CAAC;QACR,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,EAAE,GAAG,EAAE,CAAC;QACR,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5B,IAAI,GAAS,CAAC;IAEd,MAAM,GAAG,GAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAClC,MAAM,IAAI,GAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACnC,MAAM,IAAI,GAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACnC,MAAM,SAAS,GAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACxC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAClB,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QACb,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACV,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAErB,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC;gBACF,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChD,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE;QACvE,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC;gBACF,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE;QACvE,CAAC;QAED,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;SAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QACzB,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QACb,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACV,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAErB,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC;gBACF,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE;QACvE,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC;gBACF,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE;QACvE,CAAC;QAED,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAEvC,6CAA6C;IAC7C,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,MAAM,IAAI,GAAU,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;IAC7C,OAAO,QAAQ,GAAG,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAEhB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAChB,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAChB,0EAA0E;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,EAAQ,EAAE,EAAS;IACtC,IAAI,CAAC,EAAE,CAAC,MAAM;QAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC;IAC/B,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;IAEhD,IAAI,EAAE,CAAC,OAAO,GAAG,MAAM;QAAE,OAAO;IAEhC,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,kCAAkC;QAClC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAChE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,CAAC;QACD,EAAE,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;IACjB,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,IAAI,IAAI,GAAG,CAAC,CAAC;AACb,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB;;GAEG;AACH,MAAM,UAAU,OAAO;IACrB,IAAI,GAAG,CAAC,CAAC;IACT,OAAO,GAAG,KAAK,CAAC;IAEhB,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC;QAChB,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,CAAS,EAAE,CAAS;IACnC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO;IAE7D,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,OAAO,GAAG,MAAM;QAAE,OAAO;IAEhC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,EAAE,CAAC;QACP,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;IACnB,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1E,yCAAyC;QACzC,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE,CAAC,MAAM;gBAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC;YAC/B,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO;IACT,CAAC;IAED,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC;IAEnB,gCAAgC;IAChC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACpB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Potion functions.
3
+ * Ported from potions.c
4
+ */
5
+ /**
6
+ * quaff: Drink a potion.
7
+ */
8
+ export declare function quaff(): Promise<void>;
9
+ /**
10
+ * land: Remove levitation from the player (fuse callback).
11
+ */
12
+ export declare function land(_arg: number): Promise<void>;
13
+ //# sourceMappingURL=potions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"potions.d.ts","sourceRoot":"","sources":["../src/potions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH;;GAEG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA4M3C;AAcD;;GAEG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtD"}
@@ -0,0 +1,239 @@
1
+ /**
2
+ * Potion functions.
3
+ * Ported from potions.c
4
+ */
5
+ import { state, POTION, pot_info, P_CONFUSE, P_LSD, P_POISON, P_STRENGTH, P_SEEINVIS, P_HEALING, P_MFIND, P_TFIND, P_RAISE, P_XHEAL, P_HASTE, P_RESTORE, P_BLIND, P_LEVIT, ISHUH, ISHASTE, ISBLIND, ISLEVIT, ISINVIS, SEEMONST, ISHALU, CANSEE, HUHDURATION, SEEDURATION, AFTER, ISWEARING, R_SUSTSTR, e_levels, } from "./globals.js";
6
+ import { rnd, spread } from "./util.js";
7
+ import { msg, getBackend, status } from "./io.js";
8
+ import { get_item } from "./pack.js";
9
+ import { chg_str, see_monst } from "./misc.js";
10
+ import { fuse, extinguish } from "./daemon.js";
11
+ import { unconfuse, unsee, sight, nohaste } from "./daemons.js";
12
+ /**
13
+ * quaff: Drink a potion.
14
+ */
15
+ export async function quaff() {
16
+ const obj = await get_item("quaff", POTION.charCodeAt(0));
17
+ if (obj === null)
18
+ return;
19
+ if (obj.o_type !== POTION.charCodeAt(0)) {
20
+ await msg("that's not something you can drink");
21
+ return;
22
+ }
23
+ // Identify the potion type since we're drinking it
24
+ const wasKnown = pot_info[obj.o_which].oi_know;
25
+ switch (obj.o_which) {
26
+ case P_CONFUSE:
27
+ state.player.t_flags |= ISHUH;
28
+ fuse(unconfuse, 0, spread(HUHDURATION), AFTER);
29
+ if (!pot_info[P_CONFUSE].oi_know) {
30
+ await msg("wait, what's going on here. Huh? What? Who?");
31
+ }
32
+ else {
33
+ await msg("you feel confused");
34
+ }
35
+ break;
36
+ case P_LSD:
37
+ state.player.t_flags |= ISHALU;
38
+ fuse(unsee, 0, spread(SEEDURATION), AFTER);
39
+ if (!pot_info[P_LSD].oi_know) {
40
+ await msg("oh, wow! Everything seems so cosmic!");
41
+ }
42
+ else {
43
+ await msg("you start hallucinating");
44
+ }
45
+ break;
46
+ case P_POISON:
47
+ if (!ISWEARING(R_SUSTSTR)) {
48
+ chg_str(-(rnd(3) + 1));
49
+ await msg("you feel very sick now");
50
+ }
51
+ else {
52
+ await msg("you feel momentarily nauseous");
53
+ }
54
+ break;
55
+ case P_STRENGTH:
56
+ chg_str(1);
57
+ await msg("you feel stronger, now. What bulging muscles!");
58
+ break;
59
+ case P_SEEINVIS:
60
+ // Set CANSEE flag on the player
61
+ state.player.t_flags |= CANSEE;
62
+ // Show invisible monsters
63
+ if (!(state.player.t_flags & ISBLIND)) {
64
+ let monsterItem = state.mlist;
65
+ const backend = getBackend();
66
+ while (monsterItem !== null) {
67
+ if (monsterItem._kind === "monster" && (monsterItem.t_flags & ISINVIS)) {
68
+ if (see_monst(monsterItem)) {
69
+ backend.mvaddch(monsterItem.t_pos.y, monsterItem.t_pos.x, monsterItem.t_type.charCodeAt(0));
70
+ }
71
+ }
72
+ monsterItem = monsterItem.l_next;
73
+ }
74
+ }
75
+ fuse(unsee, 0, spread(SEEDURATION), AFTER);
76
+ await msg("this potion tastes like %s juice", state.fruit);
77
+ break;
78
+ case P_HEALING:
79
+ state.player.t_stats.s_hpt += roll(state.player.t_stats.s_lvl, 4);
80
+ if (state.player.t_stats.s_hpt > state.player.t_stats.s_maxhp) {
81
+ state.player.t_stats.s_hpt = state.player.t_stats.s_maxhp;
82
+ }
83
+ if (state.player.t_flags & ISHUH) {
84
+ state.player.t_flags &= ~ISHUH;
85
+ extinguish(unconfuse);
86
+ }
87
+ await msg("you begin to feel better");
88
+ break;
89
+ case P_MFIND:
90
+ // Detect monsters
91
+ {
92
+ let found = false;
93
+ let monsterItem = state.mlist;
94
+ const backend = getBackend();
95
+ while (monsterItem !== null) {
96
+ if (monsterItem._kind === "monster") {
97
+ backend.mvaddch(monsterItem.t_pos.y, monsterItem.t_pos.x, monsterItem.t_type.charCodeAt(0));
98
+ found = true;
99
+ }
100
+ monsterItem = monsterItem.l_next;
101
+ }
102
+ if (found) {
103
+ await msg("you sense the presence of monsters");
104
+ state.player.t_flags |= SEEMONST;
105
+ fuse(unsee, 0, spread(SEEDURATION), AFTER);
106
+ }
107
+ else {
108
+ await msg("you have a strange feeling for a moment, then it passes");
109
+ }
110
+ }
111
+ break;
112
+ case P_TFIND:
113
+ // Detect magic items
114
+ {
115
+ let found = false;
116
+ let itemObj = state.lvl_obj;
117
+ const backend = getBackend();
118
+ while (itemObj !== null) {
119
+ if (itemObj._kind === "object" && isMagic(itemObj)) {
120
+ backend.mvaddch(itemObj.o_pos.y, itemObj.o_pos.x, String.fromCharCode(itemObj.o_type).charCodeAt(0));
121
+ found = true;
122
+ }
123
+ itemObj = itemObj.l_next;
124
+ }
125
+ if (found) {
126
+ await msg("you sense the presence of magic");
127
+ }
128
+ else {
129
+ await msg("you have a strange feeling for a moment, then it passes");
130
+ }
131
+ }
132
+ break;
133
+ case P_RAISE: {
134
+ await msg("you suddenly feel much more skillful");
135
+ // C original: set exp to current level threshold + 1
136
+ const lvl = state.player.t_stats.s_lvl - 1;
137
+ state.player.t_stats.s_exp = (lvl < e_levels.length && e_levels[lvl] !== 0)
138
+ ? e_levels[lvl] + 1
139
+ : state.player.t_stats.s_exp + 1;
140
+ await raise_level();
141
+ break;
142
+ }
143
+ case P_XHEAL:
144
+ state.player.t_stats.s_hpt += roll(state.player.t_stats.s_lvl, 8);
145
+ if (state.player.t_stats.s_hpt > state.player.t_stats.s_maxhp) {
146
+ // C original: raise maxhp by 1, but clamp hpt to new maxhp
147
+ state.player.t_stats.s_maxhp = ++state.player.t_stats.s_maxhp;
148
+ state.player.t_stats.s_hpt = state.player.t_stats.s_maxhp;
149
+ }
150
+ if (state.player.t_flags & ISHUH) {
151
+ state.player.t_flags &= ~ISHUH;
152
+ extinguish(unconfuse);
153
+ }
154
+ await msg("you begin to feel much better");
155
+ break;
156
+ case P_HASTE:
157
+ if (state.player.t_flags & ISHASTE) {
158
+ await msg("you faint from exhaustion");
159
+ state.no_command += rnd(8);
160
+ state.player.t_flags &= ~ISHASTE;
161
+ extinguish(nohaste);
162
+ }
163
+ else {
164
+ state.player.t_flags |= ISHASTE;
165
+ fuse(nohaste, 0, rnd(4) + 4, AFTER);
166
+ await msg("you feel yourself moving much faster");
167
+ }
168
+ break;
169
+ case P_RESTORE:
170
+ if (state.player.t_stats.s_str < state.max_stats.s_str) {
171
+ state.player.t_stats.s_str = state.max_stats.s_str;
172
+ await msg("hey, this tastes great. It makes you feel warm all over");
173
+ }
174
+ else {
175
+ await msg("hmm, this potion tastes dead boring");
176
+ }
177
+ break;
178
+ case P_BLIND:
179
+ state.player.t_flags |= ISBLIND;
180
+ fuse(sight, 0, spread(SEEDURATION), AFTER);
181
+ await msg("a cloak of darkness falls around you");
182
+ break;
183
+ case P_LEVIT:
184
+ state.player.t_flags |= ISLEVIT;
185
+ fuse(land, 0, spread(SEEDURATION), AFTER);
186
+ await msg("you start to float in the air");
187
+ break;
188
+ }
189
+ pot_info[obj.o_which].oi_know = true;
190
+ // Consume the potion
191
+ obj.o_count--;
192
+ if (obj.o_count < 1) {
193
+ const { _detach, discard } = await import("./list.js");
194
+ const packIdx = obj.o_packch.charCodeAt(0) - "a".charCodeAt(0);
195
+ if (packIdx >= 0 && packIdx < 26) {
196
+ state.pack_used[packIdx] = false;
197
+ }
198
+ const packHead = { head: state.player.t_pack };
199
+ _detach(packHead, obj);
200
+ state.player.t_pack = packHead.head;
201
+ discard(obj);
202
+ state.inpack--;
203
+ }
204
+ await status();
205
+ }
206
+ /**
207
+ * raise_level: Raise the player's experience level.
208
+ */
209
+ async function raise_level() {
210
+ const playerStats = state.player.t_stats;
211
+ playerStats.s_lvl++;
212
+ const addedHp = roll(1, 10);
213
+ playerStats.s_maxhp += addedHp;
214
+ playerStats.s_hpt += addedHp;
215
+ await msg("Welcome to level %d", playerStats.s_lvl);
216
+ }
217
+ /**
218
+ * land: Remove levitation from the player (fuse callback).
219
+ */
220
+ export async function land(_arg) {
221
+ state.player.t_flags &= ~ISLEVIT;
222
+ await msg("you float gently to the ground");
223
+ }
224
+ /**
225
+ * isMagic: Check if an object is magical.
226
+ */
227
+ function isMagic(obj) {
228
+ const typeChar = String.fromCharCode(obj.o_type);
229
+ return typeChar === "!" || typeChar === "?" || typeChar === "=" ||
230
+ typeChar === "/" || typeChar === ",";
231
+ }
232
+ function roll(numDice, sides) {
233
+ let total = 0;
234
+ for (let i = 0; i < numDice; i++) {
235
+ total += rnd(sides) + 1;
236
+ }
237
+ return total;
238
+ }
239
+ //# sourceMappingURL=potions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"potions.js","sourceRoot":"","sources":["../src/potions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,KAAK,EACL,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAClD,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAC7C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EACpC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EACnE,WAAW,EAAE,WAAW,EAAE,KAAK,EAC/B,SAAS,EAAE,SAAS,EAEpB,QAAQ,GACT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,OAAO,EAAe,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAgB,IAAI,EAAE,UAAU,EAAY,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEhE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK;IACzB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO;IAEzB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IAE/C,QAAQ,GAAG,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,SAAS;YACZ,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;YAC9B,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjC,MAAM,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,CAAC;YACD,MAAM;QAER,KAAK,KAAK;YACR,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACvC,CAAC;YACD,MAAM;QAER,KAAK,QAAQ;YACX,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM;QAER,KAAK,UAAU;YACb,OAAO,CAAC,CAAC,CAAC,CAAC;YACX,MAAM,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC5D,MAAM;QAER,KAAK,UAAU;YACb,gCAAgC;YAChC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;YAC/B,0BAA0B;YAC1B,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;gBACtC,IAAI,WAAW,GAAiB,KAAK,CAAC,KAAK,CAAC;gBAC5C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;gBAC7B,OAAO,WAAW,KAAK,IAAI,EAAE,CAAC;oBAC5B,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;wBACvE,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;4BAC3B,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EACtD,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtC,CAAC;oBACH,CAAC;oBACD,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;gBACnC,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,GAAG,CAAC,kCAAkC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3D,MAAM;QAER,KAAK,SAAS;YACZ,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC9D,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5D,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC;gBACjC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC;gBAC/B,UAAU,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YACD,MAAM,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACtC,MAAM;QAER,KAAK,OAAO;YACV,kBAAkB;YAClB,CAAC;gBACC,IAAI,KAAK,GAAG,KAAK,CAAC;gBAClB,IAAI,WAAW,GAAiB,KAAK,CAAC,KAAK,CAAC;gBAC5C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;gBAC7B,OAAO,WAAW,KAAK,IAAI,EAAE,CAAC;oBAC5B,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBACpC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EACtD,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpC,KAAK,GAAG,IAAI,CAAC;oBACf,CAAC;oBACD,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;gBACnC,CAAC;gBACD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,GAAG,CAAC,oCAAoC,CAAC,CAAC;oBAChD,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC;oBACjC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAC,yDAAyD,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YACD,MAAM;QAER,KAAK,OAAO;YACV,qBAAqB;YACrB,CAAC;gBACC,IAAI,KAAK,GAAG,KAAK,CAAC;gBAClB,IAAI,OAAO,GAAiB,KAAK,CAAC,OAAO,CAAC;gBAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;gBAC7B,OAAO,OAAO,KAAK,IAAI,EAAE,CAAC;oBACxB,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBACnD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAC9C,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrD,KAAK,GAAG,IAAI,CAAC;oBACf,CAAC;oBACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC3B,CAAC;gBACD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,GAAG,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAC,yDAAyD,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YACD,MAAM;QAER,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,GAAG,CAAC,sCAAsC,CAAC,CAAC;YAClD,qDAAqD;YACrD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YAC3C,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YACnC,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACR,CAAC;QAED,KAAK,OAAO;YACV,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC9D,2DAA2D;gBAC3D,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC9D,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5D,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC;gBACjC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC;gBAC/B,UAAU,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YACD,MAAM,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC3C,MAAM;QAER,KAAK,OAAO;YACV,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC;gBACnC,MAAM,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACvC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC3B,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC;gBACjC,UAAU,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;gBAChC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpC,MAAM,GAAG,CAAC,sCAAsC,CAAC,CAAC;YACpD,CAAC;YACD,MAAM;QAER,KAAK,SAAS;YACZ,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnD,MAAM,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACnD,CAAC;YACD,MAAM;QAER,KAAK,OAAO;YACV,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,GAAG,CAAC,sCAAsC,CAAC,CAAC;YAClD,MAAM;QAER,KAAK,OAAO;YACV,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;YAChC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC3C,MAAM;IACV,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;IAErC,qBAAqB;IACrB,GAAG,CAAC,OAAO,EAAE,CAAC;IACd,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;YACjC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACnC,CAAC;QACD,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAsB,EAAE,CAAC;QAC/D,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACvB,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,CAAC;QACb,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC;IAED,MAAM,MAAM,EAAE,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW;IACxB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IACzC,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5B,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC;IAC/B,WAAW,CAAC,KAAK,IAAI,OAAO,CAAC;IAC7B,MAAM,GAAG,CAAC,qBAAqB,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAY;IACrC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC;IACjC,MAAM,GAAG,CAAC,gCAAgC,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,GAAY;IAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG;QACxD,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC;AAC9C,CAAC;AAED,SAAS,IAAI,CAAC,OAAe,EAAE,KAAa;IAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Ring functions.
3
+ * Ported from rings.c
4
+ */
5
+ /**
6
+ * ring_on: Put on a ring.
7
+ */
8
+ export declare function ring_on(): Promise<void>;
9
+ /**
10
+ * ring_off: Take off a ring.
11
+ */
12
+ export declare function ring_off(): Promise<void>;
13
+ //# sourceMappingURL=rings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rings.d.ts","sourceRoot":"","sources":["../src/rings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA0F7C;AAED;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAgE9C"}
package/dist/rings.js ADDED
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Ring functions.
3
+ * Ported from rings.c
4
+ */
5
+ import { state, RING, R_ADDSTR, R_AGGR, R_SEEINVIS, ISCURSED, CANSEE, ISINVIS, LEFT, RIGHT, } from "./globals.js";
6
+ import { msg, readchar } from "./io.js";
7
+ import { get_item } from "./pack.js";
8
+ import { inv_name } from "./things.js";
9
+ import { chg_str } from "./misc.js";
10
+ /**
11
+ * ring_on: Put on a ring.
12
+ */
13
+ export async function ring_on() {
14
+ if (state.cur_ring[LEFT] !== null && state.cur_ring[RIGHT] !== null) {
15
+ if (!state.terse) {
16
+ await msg("you already have a ring on each hand");
17
+ }
18
+ else {
19
+ await msg("wearing two");
20
+ }
21
+ return;
22
+ }
23
+ const obj = await get_item("put on", RING.charCodeAt(0));
24
+ if (obj === null)
25
+ return;
26
+ if (obj.o_type !== RING.charCodeAt(0)) {
27
+ await msg("that's not a ring");
28
+ return;
29
+ }
30
+ // Pick which hand
31
+ let hand;
32
+ if (state.cur_ring[LEFT] === null && state.cur_ring[RIGHT] === null) {
33
+ if (!state.terse) {
34
+ await msg("put it on which hand (left or right)?");
35
+ }
36
+ else {
37
+ await msg("which hand?");
38
+ }
39
+ const ch = await readchar();
40
+ if (ch === "l" || ch === "L") {
41
+ hand = LEFT;
42
+ }
43
+ else if (ch === "r" || ch === "R") {
44
+ hand = RIGHT;
45
+ }
46
+ else {
47
+ await msg("please type left hand or right hand");
48
+ return;
49
+ }
50
+ }
51
+ else if (state.cur_ring[LEFT] === null) {
52
+ hand = LEFT;
53
+ }
54
+ else {
55
+ hand = RIGHT;
56
+ }
57
+ if (state.cur_ring[hand] !== null) {
58
+ if (!state.terse) {
59
+ await msg("you are already wearing a ring on that hand");
60
+ }
61
+ else {
62
+ await msg("already wearing one");
63
+ }
64
+ return;
65
+ }
66
+ state.cur_ring[hand] = obj;
67
+ // Apply ring effects
68
+ switch (obj.o_which) {
69
+ case R_ADDSTR:
70
+ chg_str(obj.o_arm);
71
+ break;
72
+ case R_SEEINVIS:
73
+ state.player.t_flags |= CANSEE;
74
+ // Show invisible monsters
75
+ {
76
+ const { getBackend } = await import("./io.js");
77
+ const { see_monst } = await import("./misc.js");
78
+ const backend = getBackend();
79
+ let monsterItem = state.mlist;
80
+ while (monsterItem !== null) {
81
+ if (monsterItem._kind === "monster" && (monsterItem.t_flags & ISINVIS)) {
82
+ if (see_monst(monsterItem)) {
83
+ backend.mvaddch(monsterItem.t_pos.y, monsterItem.t_pos.x, monsterItem.t_type.charCodeAt(0));
84
+ }
85
+ }
86
+ monsterItem = monsterItem.l_next;
87
+ }
88
+ }
89
+ break;
90
+ case R_AGGR:
91
+ {
92
+ const { aggravate } = await import("./scrolls.js");
93
+ aggravate();
94
+ }
95
+ break;
96
+ }
97
+ if (!state.terse) {
98
+ await msg("you are now wearing %s (%s)", inv_name(obj, false), obj.o_packch);
99
+ }
100
+ else {
101
+ await msg("wearing %s (%s)", inv_name(obj, false), obj.o_packch);
102
+ }
103
+ }
104
+ /**
105
+ * ring_off: Take off a ring.
106
+ */
107
+ export async function ring_off() {
108
+ if (state.cur_ring[LEFT] === null && state.cur_ring[RIGHT] === null) {
109
+ if (!state.terse) {
110
+ await msg("you aren't wearing any rings");
111
+ }
112
+ else {
113
+ await msg("no rings");
114
+ }
115
+ return;
116
+ }
117
+ let hand;
118
+ if (state.cur_ring[LEFT] !== null && state.cur_ring[RIGHT] !== null) {
119
+ if (!state.terse) {
120
+ await msg("which hand (left or right)?");
121
+ }
122
+ else {
123
+ await msg("which hand?");
124
+ }
125
+ const ch = await readchar();
126
+ if (ch === "l" || ch === "L") {
127
+ hand = LEFT;
128
+ }
129
+ else if (ch === "r" || ch === "R") {
130
+ hand = RIGHT;
131
+ }
132
+ else {
133
+ await msg("please type left hand or right hand");
134
+ return;
135
+ }
136
+ }
137
+ else if (state.cur_ring[LEFT] !== null) {
138
+ hand = LEFT;
139
+ }
140
+ else {
141
+ hand = RIGHT;
142
+ }
143
+ const ring = state.cur_ring[hand];
144
+ if (ring === null) {
145
+ await msg("not wearing a ring on that hand");
146
+ return;
147
+ }
148
+ if (ring._kind !== "object")
149
+ return;
150
+ if (ring.o_flags & ISCURSED) {
151
+ await msg("you can't. It appears to be cursed");
152
+ return;
153
+ }
154
+ // Remove ring effects
155
+ switch (ring.o_which) {
156
+ case R_ADDSTR:
157
+ chg_str(-ring.o_arm);
158
+ break;
159
+ case R_SEEINVIS:
160
+ // Clear CANSEE only if the other ring isn't also see-invisible
161
+ {
162
+ const otherHand = hand === 0 ? 1 : 0;
163
+ const otherRing = state.cur_ring[otherHand];
164
+ if (otherRing === null || otherRing._kind !== "object" || otherRing.o_which !== R_SEEINVIS) {
165
+ state.player.t_flags &= ~CANSEE;
166
+ }
167
+ }
168
+ break;
169
+ }
170
+ state.cur_ring[hand] = null;
171
+ await msg("was wearing %s (%s)", inv_name(ring, true), ring.o_packch);
172
+ }
173
+ //# sourceMappingURL=rings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rings.js","sourceRoot":"","sources":["../src/rings.ts"],"names":[],"mappings":"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"}
package/dist/rip.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Death and scoring.
3
+ * Ported from rip.c
4
+ */
5
+ /**
6
+ * killname: Get the name of the thing that killed the player.
7
+ */
8
+ export declare function killname(monType: string): string;
9
+ /**
10
+ * death: The player has died. Record the result and exit.
11
+ */
12
+ export declare function death(monType: string): Promise<never>;
13
+ /**
14
+ * quit: The player wants to quit.
15
+ */
16
+ export declare function quit(): Promise<never>;
17
+ /**
18
+ * total_winner: The player has won — found the amulet and escaped.
19
+ * Display inventory with item values.
20
+ */
21
+ export declare function total_winner(): Promise<never>;
22
+ //# sourceMappingURL=rip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rip.d.ts","sourceRoot":"","sources":["../src/rip.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyCH;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAShD;AA2CD;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAuB3D;AAED;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,CAa3C;AAwDD;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,CAqDnD"}