@maka/maka-cli 5.3.17 → 5.5.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 (245) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/sideQuest/archetypes.d.ts +62 -0
  3. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +196 -0
  4. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -0
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/advance.d.ts +16 -0
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js +65 -0
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js.map +1 -0
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/assense.d.ts +16 -0
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/assense.js +122 -0
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/assense.js.map +1 -0
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/attack.d.ts +42 -0
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js +243 -0
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js.map +1 -0
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.d.ts +16 -0
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js +39 -0
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js.map +1 -0
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/brandish.d.ts +21 -0
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/brandish.js +82 -0
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/brandish.js.map +1 -0
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.d.ts +28 -0
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js +101 -0
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js.map +1 -0
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/call.d.ts +19 -0
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/call.js +219 -0
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -0
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.d.ts +58 -0
  27. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +397 -0
  28. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -0
  29. package/bundle/typescript/src/commands/game/sideQuest/commands/command-registry.d.ts +11 -1
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/command-registry.js +8 -3
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/command-registry.js.map +1 -1
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/command.d.ts +6 -0
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/command.js +4 -0
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/command.js.map +1 -1
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/drone.d.ts +15 -0
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js +72 -0
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js.map +1 -0
  38. package/bundle/typescript/src/commands/game/sideQuest/commands/drop.js +3 -0
  39. package/bundle/typescript/src/commands/game/sideQuest/commands/drop.js.map +1 -1
  40. package/bundle/typescript/src/commands/game/sideQuest/commands/edge.d.ts +13 -0
  41. package/bundle/typescript/src/commands/game/sideQuest/commands/edge.js +31 -0
  42. package/bundle/typescript/src/commands/game/sideQuest/commands/edge.js.map +1 -0
  43. package/bundle/typescript/src/commands/game/sideQuest/commands/end-call.d.ts +6 -0
  44. package/bundle/typescript/src/commands/game/sideQuest/commands/end-call.js +27 -0
  45. package/bundle/typescript/src/commands/game/sideQuest/commands/end-call.js.map +1 -0
  46. package/bundle/typescript/src/commands/game/sideQuest/commands/equip.d.ts +4 -0
  47. package/bundle/typescript/src/commands/game/sideQuest/commands/equip.js +59 -2
  48. package/bundle/typescript/src/commands/game/sideQuest/commands/equip.js.map +1 -1
  49. package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.d.ts +13 -0
  50. package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js +50 -0
  51. package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +1 -0
  52. package/bundle/typescript/src/commands/game/sideQuest/commands/give.js +7 -1
  53. package/bundle/typescript/src/commands/game/sideQuest/commands/give.js.map +1 -1
  54. package/bundle/typescript/src/commands/game/sideQuest/commands/go.d.ts +13 -0
  55. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +147 -4
  56. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  57. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.d.ts +25 -0
  58. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +199 -0
  59. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -0
  60. package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.d.ts +15 -0
  61. package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js +75 -0
  62. package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js.map +1 -0
  63. package/bundle/typescript/src/commands/game/sideQuest/commands/inv.d.ts +12 -0
  64. package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js +43 -0
  65. package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js.map +1 -0
  66. package/bundle/typescript/src/commands/game/sideQuest/commands/jack.d.ts +17 -0
  67. package/bundle/typescript/src/commands/game/sideQuest/commands/jack.js +64 -0
  68. package/bundle/typescript/src/commands/game/sideQuest/commands/jack.js.map +1 -0
  69. package/bundle/typescript/src/commands/game/sideQuest/commands/kill.d.ts +10 -3
  70. package/bundle/typescript/src/commands/game/sideQuest/commands/kill.js +11 -33
  71. package/bundle/typescript/src/commands/game/sideQuest/commands/kill.js.map +1 -1
  72. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +47 -4
  73. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
  74. package/bundle/typescript/src/commands/game/sideQuest/commands/map.d.ts +12 -0
  75. package/bundle/typescript/src/commands/game/sideQuest/commands/map.js +46 -0
  76. package/bundle/typescript/src/commands/game/sideQuest/commands/map.js.map +1 -0
  77. package/bundle/typescript/src/commands/game/sideQuest/commands/pan.d.ts +12 -0
  78. package/bundle/typescript/src/commands/game/sideQuest/commands/pan.js +55 -0
  79. package/bundle/typescript/src/commands/game/sideQuest/commands/pan.js.map +1 -0
  80. package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.d.ts +18 -0
  81. package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js +100 -0
  82. package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js.map +1 -0
  83. package/bundle/typescript/src/commands/game/sideQuest/commands/pick.d.ts +10 -0
  84. package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js +33 -0
  85. package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js.map +1 -0
  86. package/bundle/typescript/src/commands/game/sideQuest/commands/project.d.ts +19 -0
  87. package/bundle/typescript/src/commands/game/sideQuest/commands/project.js +54 -0
  88. package/bundle/typescript/src/commands/game/sideQuest/commands/project.js.map +1 -0
  89. package/bundle/typescript/src/commands/game/sideQuest/commands/read.js +6 -5
  90. package/bundle/typescript/src/commands/game/sideQuest/commands/read.js.map +1 -1
  91. package/bundle/typescript/src/commands/game/sideQuest/commands/reboot.d.ts +12 -0
  92. package/bundle/typescript/src/commands/game/sideQuest/commands/reboot.js +52 -0
  93. package/bundle/typescript/src/commands/game/sideQuest/commands/reboot.js.map +1 -0
  94. package/bundle/typescript/src/commands/game/sideQuest/commands/reload.d.ts +14 -0
  95. package/bundle/typescript/src/commands/game/sideQuest/commands/reload.js +40 -0
  96. package/bundle/typescript/src/commands/game/sideQuest/commands/reload.js.map +1 -0
  97. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.d.ts +15 -0
  98. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +59 -0
  99. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -0
  100. package/bundle/typescript/src/commands/game/sideQuest/commands/say.js +31 -2
  101. package/bundle/typescript/src/commands/game/sideQuest/commands/say.js.map +1 -1
  102. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +71 -7
  103. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
  104. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.d.ts +12 -0
  105. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +58 -0
  106. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -0
  107. package/bundle/typescript/src/commands/game/sideQuest/commands/silent.d.ts +13 -0
  108. package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js +50 -0
  109. package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js.map +1 -0
  110. package/bundle/typescript/src/commands/game/sideQuest/commands/sneak.d.ts +15 -0
  111. package/bundle/typescript/src/commands/game/sideQuest/commands/sneak.js +35 -0
  112. package/bundle/typescript/src/commands/game/sideQuest/commands/sneak.js.map +1 -0
  113. package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js +32 -11
  114. package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js.map +1 -1
  115. package/bundle/typescript/src/commands/game/sideQuest/commands/spells.d.ts +14 -0
  116. package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js +86 -0
  117. package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js.map +1 -0
  118. package/bundle/typescript/src/commands/game/sideQuest/commands/stance.d.ts +12 -0
  119. package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js +41 -0
  120. package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js.map +1 -0
  121. package/bundle/typescript/src/commands/game/sideQuest/commands/subdue.d.ts +21 -0
  122. package/bundle/typescript/src/commands/game/sideQuest/commands/subdue.js +43 -0
  123. package/bundle/typescript/src/commands/game/sideQuest/commands/subdue.js.map +1 -0
  124. package/bundle/typescript/src/commands/game/sideQuest/commands/surrender.d.ts +20 -0
  125. package/bundle/typescript/src/commands/game/sideQuest/commands/surrender.js +45 -0
  126. package/bundle/typescript/src/commands/game/sideQuest/commands/surrender.js.map +1 -0
  127. package/bundle/typescript/src/commands/game/sideQuest/commands/take.d.ts +8 -0
  128. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +138 -2
  129. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
  130. package/bundle/typescript/src/commands/game/sideQuest/commands/talk.js +8 -0
  131. package/bundle/typescript/src/commands/game/sideQuest/commands/talk.js.map +1 -1
  132. package/bundle/typescript/src/commands/game/sideQuest/commands/unequip.js +6 -3
  133. package/bundle/typescript/src/commands/game/sideQuest/commands/unequip.js.map +1 -1
  134. package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js +1 -0
  135. package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js.map +1 -1
  136. package/bundle/typescript/src/commands/game/sideQuest/commands/use.d.ts +24 -0
  137. package/bundle/typescript/src/commands/game/sideQuest/commands/use.js +102 -1
  138. package/bundle/typescript/src/commands/game/sideQuest/commands/use.js.map +1 -1
  139. package/bundle/typescript/src/commands/game/sideQuest/factories/item-factory.js +2 -1
  140. package/bundle/typescript/src/commands/game/sideQuest/factories/item-factory.js.map +1 -1
  141. package/bundle/typescript/src/commands/game/sideQuest/factories/npc-factory.js +7 -2
  142. package/bundle/typescript/src/commands/game/sideQuest/factories/npc-factory.js.map +1 -1
  143. package/bundle/typescript/src/commands/game/sideQuest/factories/puzzle-factory.js +2 -1
  144. package/bundle/typescript/src/commands/game/sideQuest/factories/puzzle-factory.js.map +1 -1
  145. package/bundle/typescript/src/commands/game/sideQuest/factories/room-factory.js +3 -0
  146. package/bundle/typescript/src/commands/game/sideQuest/factories/room-factory.js.map +1 -1
  147. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.d.ts +175 -0
  148. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +673 -0
  149. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -0
  150. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.d.ts +8 -1
  151. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +139 -21
  152. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +1 -1
  153. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.d.ts +174 -0
  154. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js +647 -0
  155. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js.map +1 -0
  156. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +138 -9
  157. package/bundle/typescript/src/commands/game/sideQuest/game.js +757 -197
  158. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  159. package/bundle/typescript/src/commands/game/sideQuest/minigames/hack-minigame.d.ts +16 -0
  160. package/bundle/typescript/src/commands/game/sideQuest/minigames/hack-minigame.js +101 -0
  161. package/bundle/typescript/src/commands/game/sideQuest/minigames/hack-minigame.js.map +1 -0
  162. package/bundle/typescript/src/commands/game/sideQuest/minigames/lockpick-minigame.d.ts +15 -0
  163. package/bundle/typescript/src/commands/game/sideQuest/minigames/lockpick-minigame.js +95 -0
  164. package/bundle/typescript/src/commands/game/sideQuest/minigames/lockpick-minigame.js.map +1 -0
  165. package/bundle/typescript/src/commands/game/sideQuest/models/door.d.ts +10 -0
  166. package/bundle/typescript/src/commands/game/sideQuest/models/door.js +15 -2
  167. package/bundle/typescript/src/commands/game/sideQuest/models/door.js.map +1 -1
  168. package/bundle/typescript/src/commands/game/sideQuest/models/inventory.d.ts +10 -0
  169. package/bundle/typescript/src/commands/game/sideQuest/models/inventory.js +54 -4
  170. package/bundle/typescript/src/commands/game/sideQuest/models/inventory.js.map +1 -1
  171. package/bundle/typescript/src/commands/game/sideQuest/models/item.d.ts +41 -0
  172. package/bundle/typescript/src/commands/game/sideQuest/models/item.js +106 -3
  173. package/bundle/typescript/src/commands/game/sideQuest/models/item.js.map +1 -1
  174. package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +27 -0
  175. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +312 -50
  176. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
  177. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +278 -0
  178. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +661 -9
  179. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  180. package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.d.ts +75 -1
  181. package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js +199 -6
  182. package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js.map +1 -1
  183. package/bundle/typescript/src/commands/game/sideQuest/models/room.d.ts +24 -0
  184. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +53 -18
  185. package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
  186. package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +73 -0
  187. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +208 -3
  188. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
  189. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +319 -70
  190. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +661 -227
  191. package/bundle/typescript/src/commands/game/sideQuest/types/player-equipment.d.ts +1 -0
  192. package/bundle/typescript/src/commands/game/sideQuest/types/seed/exit-seed.d.ts +1 -0
  193. package/bundle/typescript/src/commands/game/sideQuest/types/seed/item-seed.d.ts +1 -0
  194. package/bundle/typescript/src/commands/game/sideQuest/types/seed/npc-seed.d.ts +1 -0
  195. package/bundle/typescript/src/commands/game/sideQuest/types/seed/player-seed.d.ts +42 -0
  196. package/bundle/typescript/src/commands/game/sideQuest/types/seed/puzzle-seed.d.ts +15 -1
  197. package/bundle/typescript/src/commands/game/sideQuest/types/seed/room-seed.d.ts +4 -0
  198. package/bundle/typescript/src/commands/game/sideQuest/types/seed/scene-seed.d.ts +8 -0
  199. package/bundle/typescript/src/commands/game/sideQuest/types/seed/win-condition-seed.d.ts +15 -0
  200. package/bundle/typescript/src/commands/game/sideQuest/types/seed/win-condition-seed.js +2 -0
  201. package/bundle/typescript/src/commands/game/sideQuest/types/seed/win-condition-seed.js.map +1 -0
  202. package/bundle/typescript/src/commands/game/sideQuest/types/shared/abstracts.d.ts +1 -0
  203. package/bundle/typescript/src/commands/game/sideQuest/types/shared/abstracts.js +5 -0
  204. package/bundle/typescript/src/commands/game/sideQuest/types/shared/abstracts.js.map +1 -1
  205. package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.d.ts +1 -0
  206. package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.js +1 -0
  207. package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.js.map +1 -1
  208. package/bundle/typescript/src/commands/game/sideQuest/ui.d.ts +3 -0
  209. package/bundle/typescript/src/commands/game/sideQuest/ui.js +95 -6
  210. package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
  211. package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.d.ts +60 -0
  212. package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.js +138 -0
  213. package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.js.map +1 -0
  214. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.d.ts +145 -0
  215. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +354 -0
  216. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -0
  217. package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.d.ts +2 -0
  218. package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.js +12 -0
  219. package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.js.map +1 -0
  220. package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.d.ts +22 -0
  221. package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.js +34 -0
  222. package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.js.map +1 -0
  223. package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.d.ts +36 -0
  224. package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.js +92 -0
  225. package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.js.map +1 -0
  226. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.d.ts +77 -0
  227. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +265 -0
  228. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -0
  229. package/bundle/typescript/src/commands/game/sideQuest/utilities/pursuit.d.ts +16 -0
  230. package/bundle/typescript/src/commands/game/sideQuest/utilities/pursuit.js +36 -0
  231. package/bundle/typescript/src/commands/game/sideQuest/utilities/pursuit.js.map +1 -0
  232. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +78 -7
  233. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  234. package/bundle/typescript/src/commands/set/global.sub.cmd.js +59 -5
  235. package/bundle/typescript/src/commands/set/global.sub.cmd.js.map +1 -1
  236. package/bundle/typescript/src/tools/ai/ai.class.d.ts +42 -0
  237. package/bundle/typescript/src/tools/ai/ai.class.js +117 -0
  238. package/bundle/typescript/src/tools/ai/ai.class.js.map +1 -0
  239. package/bundle/typescript/src/tools/fsi/fsi.interfaces.d.ts +1 -0
  240. package/bundle/typescript/src/tools/fsi/fsi.interfaces.js.map +1 -1
  241. package/bundle/typescript/src/tools/https/https.class.d.ts +3 -2
  242. package/bundle/typescript/src/tools/https/https.class.js +51 -2
  243. package/bundle/typescript/src/tools/https/https.class.js.map +1 -1
  244. package/bundle/typescript/src/tools/https/https.interface.d.ts +10 -0
  245. package/package.json +1 -1
@@ -5,10 +5,87 @@ import { Room } from './room.js';
5
5
  import { Item } from './item.js';
6
6
  import { Inventory } from './inventory.js';
7
7
  import { AbstractPlayer } from '../types/shared/abstracts.js';
8
+ /**
9
+ * Shadowrun-style combat attributes, deliberately trimmed to the four that
10
+ * drive dice pools here: Body (soak + condition monitor size), Agility
11
+ * (attack pool), Reaction (defense pool), and a single flat combat skill
12
+ * (attack pool). Everything else a real character sheet would carry is out
13
+ * of scope until something actually needs it.
14
+ */
15
+ export type FightStance = 'manual' | 'guarded' | 'aggressive';
16
+ export declare const STANCE_CYCLE: FightStance[];
17
+ export type Plane = 'meat' | 'matrix' | 'astral';
18
+ export type SimMode = 'cold' | 'hot';
19
+ /**
20
+ * The SR5e-condensed active skill list. Every pool that used to lean on
21
+ * the single generic `combatSkill` attribute now draws the SPECIFIC
22
+ * skill (firearms for guns, blades for melee weapons, unarmed for fists
23
+ * and subdual, hacking for cybercombat). Non-combat skills back their own
24
+ * mechanics as they land -- perception drives search rolls today; the
25
+ * rest are rated on the sheet and waiting for their verbs.
26
+ */
27
+ export type SkillName = 'firearms' | 'blades' | 'unarmed' | 'sneaking' | 'perception' | 'athletics' | 'hacking' | 'locksmith' | 'negotiation' | 'con' | 'intimidation' | 'first-aid' | 'assensing' | 'spellcasting' | 'piloting';
28
+ export declare const SKILL_NAMES: SkillName[];
29
+ /**
30
+ * Skills that fall back to the legacy `combatSkill` attribute when no
31
+ * explicit rating is given -- this is what keeps every existing NPC seed
32
+ * (which only carries combatSkill) rolling exactly the pools it always
33
+ * has, ice included (its Matrix strikes ride `hacking`).
34
+ */
35
+ export declare const COMBAT_SKILL_FALLBACK: ReadonlySet<SkillName>;
36
+ export interface ICombatAttributes {
37
+ body?: number;
38
+ agility?: number;
39
+ reaction?: number;
40
+ combatSkill?: number;
41
+ /**
42
+ * Per-skill ratings (1-8; see SkillName). Any skill omitted here
43
+ * defaults: combat skills to `combatSkill`, everything else to 0
44
+ * (unskilled -- rolled as the linked attribute MINUS ONE where a
45
+ * mechanic supports defaulting, e.g. perception on search).
46
+ */
47
+ skills?: Partial<Record<SkillName, number>>;
48
+ /**
49
+ * Innate magical talent -- 0 (the default) is mundane, like most of the
50
+ * Sixth World. An Awakened actor (magic > 0) knows every spell innately
51
+ * and casts from this attribute instead of needing formulas; see the
52
+ * magic section below.
53
+ */
54
+ magic?: number;
55
+ /** Melee/unarmed damage and carrying capacity. */
56
+ strength?: number;
57
+ /** Stun track size and drain resistance. */
58
+ willpower?: number;
59
+ /** First aid effectiveness; NPC hacking. */
60
+ logic?: number;
61
+ /** Defense pool (half, rounded down) and future perception checks. */
62
+ intuition?: number;
63
+ /** Social presence -- listed on the sheet now, mechanics to come. */
64
+ charisma?: number;
65
+ /** Luck: per-job pool of edge points, burned to push a strike (see edge.ts). */
66
+ edge?: number;
67
+ /**
68
+ * Technomancer talent -- 0 (the default) for everyone else. A resonance
69
+ * actor is a LIVING PERSONA: they jack into the Matrix with no deck and
70
+ * no commlink (their brain is the hardware), resonance boosts every
71
+ * Matrix pool, and ALL Matrix damage lands on their real stun track --
72
+ * there's no deck to brick, only a mind to burn.
73
+ */
74
+ resonance?: number;
75
+ /**
76
+ * Physical adept: magic channeled into the body instead of spells.
77
+ * Counts as Awakened (auras read them, assensing works) but they cast
78
+ * NOTHING -- not even from formulas -- and cannot astrally project.
79
+ * Instead, half their magic (rounded down) is added to their meat-plane
80
+ * attack and defense pools: improved reflexes, killing hands.
81
+ */
82
+ adept?: boolean;
83
+ }
8
84
  export interface IPlayerConstructorConfig {
9
85
  playerName: string;
10
86
  startLocation: Room;
11
87
  lifestyleChoices?: LifestyleChoices;
88
+ combat?: ICombatAttributes;
12
89
  }
13
90
  export declare class Player extends AbstractPlayer {
14
91
  readonly _playerName: string;
@@ -19,7 +96,86 @@ export declare class Player extends AbstractPlayer {
19
96
  protected _lifestyleChoices: LifestyleChoices;
20
97
  protected logger: Logger;
21
98
  private _currency;
99
+ activeCallPartner?: Player;
100
+ runningSilent: boolean;
101
+ combatOpponent?: Player;
102
+ lastExchangeAt: number;
103
+ inExchange: boolean;
104
+ autoStance: FightStance;
105
+ surrendered: boolean;
106
+ archetypeName?: string;
107
+ weaponDrawn: boolean;
108
+ plane: Plane;
109
+ bodyRoom?: Room;
110
+ simMode?: SimMode;
111
+ astralTicks: number;
112
+ activeDeck?: Item;
113
+ /** The best working cyberdeck carried (bricked ones don't count). */
114
+ getCyberdeck(): Item | undefined;
115
+ /** Any deck at all, bricked included -- for status displays and repair. */
116
+ getAnyCyberdeck(): Item | undefined;
117
+ arOffline: boolean;
118
+ /**
119
+ * The PAN's master device: your slaved gear defends behind its
120
+ * firewall (SR slaving, simplified). Best working deck beats the
121
+ * equipped commlink; no devices = no PAN (and nothing to hack).
122
+ */
123
+ getPanMaster(): Item | undefined;
124
+ /**
125
+ * Defense against a PAN intrusion: Logic + the master's firewall
126
+ * (+2 while running silent -- a hidden PAN must be FOUND first).
127
+ */
128
+ getPanDefensePool(): number;
129
+ get matrixTaken(): number;
130
+ get maxMatrixBoxes(): number;
131
+ /** Routes Matrix combat damage into the jacked-in deck's hardware track. */
132
+ takeMatrixDamage(boxes: number): number;
133
+ get matrixCrashed(): boolean;
134
+ /** The deck track, same rendering as conditionSummary(). */
135
+ matrixSummary(): string;
136
+ /**
137
+ * Cross-plane perception, the single rule everything filters through:
138
+ * same plane sees same plane; the astral perceives the meat world
139
+ * (shifted, not gone -- auras and movement, dimly); meat and Matrix see
140
+ * nothing beyond their own plane. Used by see/hear guards, targeting,
141
+ * and room listings.
142
+ */
143
+ canPerceive(other: Player): boolean;
144
+ waitingForLull: boolean;
145
+ body: number;
146
+ agility: number;
147
+ reaction: number;
148
+ combatSkill: number;
149
+ magic: number;
150
+ strength: number;
151
+ willpower: number;
152
+ logic: number;
153
+ intuition: number;
154
+ charisma: number;
155
+ edge: number;
156
+ resonance: number;
157
+ adept: boolean;
158
+ edgeRemaining: number;
159
+ edgeBoostArmed: boolean;
160
+ private _damageTaken;
161
+ private _stunTaken;
22
162
  constructor(config: IPlayerConstructorConfig);
163
+ /** Explicit per-skill ratings; anything absent resolves via skillRating(). */
164
+ skills: Partial<Record<SkillName, number>>;
165
+ karma: number;
166
+ /**
167
+ * The effective rating for a skill: explicit rating if set; otherwise
168
+ * combat skills fall back to the legacy `combatSkill` attribute (which
169
+ * keeps every skill-less NPC seed rolling its historical pools), and
170
+ * everything else is 0 (unskilled).
171
+ */
172
+ skillRating(name: SkillName): number;
173
+ /**
174
+ * Which combat skill the current armament exercises: firearms for a
175
+ * drawn gun, blades for a drawn melee weapon, unarmed for empty hands
176
+ * (or anything holstered -- see weaponDrawn).
177
+ */
178
+ activeCombatSkill(): SkillName;
23
179
  private initializeEquipment;
24
180
  get name(): string;
25
181
  get currentLocation(): Room;
@@ -33,6 +189,8 @@ export declare class Player extends AbstractPlayer {
33
189
  addInventory(item: Item): void;
34
190
  removeInventory(item: Item): boolean;
35
191
  equip(item: Item): string;
192
+ /** True for the hand slots that hold a wielded weapon. */
193
+ static isWeaponSlot(group: keyof PlayerEquipment, slot: string): boolean;
36
194
  unequip(input: string): string;
37
195
  determineEquipmentSlot(input: string): {
38
196
  group: keyof PlayerEquipment;
@@ -50,6 +208,126 @@ export declare class Player extends AbstractPlayer {
50
208
  }) => void;
51
209
  enterRoom(room: Room): void;
52
210
  leaveRoom(): void;
211
+ private static readonly ARMOR_CATEGORIES;
212
+ get maxConditionBoxes(): number;
213
+ get damageTaken(): number;
214
+ get maxStunBoxes(): number;
215
+ get stunTaken(): number;
216
+ /**
217
+ * SR5 wound modifier: -1 die on every pool per 3 full boxes of damage,
218
+ * and the two tracks STACK -- being shot and drained both make you worse
219
+ * at everything, including not getting shot.
220
+ */
221
+ get woundModifier(): number;
222
+ /** Dead: the physical track is full. */
223
+ isDown(): boolean;
224
+ /** Out cold: the stun track is full (but not necessarily dead). */
225
+ isUnconscious(): boolean;
226
+ /** Out of the fight either way -- the gate every action should check. */
227
+ isIncapacitated(): boolean;
228
+ /** Applies damage boxes; returns the number actually taken. */
229
+ takeDamage(boxes: number): number;
230
+ /**
231
+ * Clears damage boxes; returns how many were actually healed (can be
232
+ * less than asked when the track is nearly clean). Healing also restores
233
+ * wound-modifier dice, since that's derived from damageTaken.
234
+ */
235
+ healDamage(boxes: number): number;
236
+ /**
237
+ * Applies stun boxes; anything past a full stun track OVERFLOWS into the
238
+ * physical track (SR's rule -- enough drain doesn't just knock you out,
239
+ * it starts killing you). Returns what landed where.
240
+ */
241
+ takeStun(boxes: number): {
242
+ stun: number;
243
+ overflow: number;
244
+ };
245
+ /** e.g. "■■■□□□□□□□ (3/10)" */
246
+ conditionSummary(): string;
247
+ /** Clears stun boxes; returns how many were actually recovered. */
248
+ healStun(boxes: number): number;
249
+ /** The stun track, same rendering as conditionSummary(). */
250
+ stunSummary(): string;
251
+ /**
252
+ * The weapon actually in hand (right hand first, then left), or bare
253
+ * fists. Damage value and the attack-pool bonus both come off the item's
254
+ * quality rating -- gear is the whole progression system in this game,
255
+ * so it has to be what combat power flows from.
256
+ */
257
+ getWeaponProfile(): {
258
+ name: string;
259
+ damage: number;
260
+ poolBonus: number;
261
+ };
262
+ /** The weapon riding in a hand slot, drawn or holstered. */
263
+ getCarriedWeapon(): Item | null;
264
+ /** Draws the carried weapon; returns it, or null if nothing changed
265
+ * (unarmed, or already in hand). */
266
+ drawWeapon(): Item | null;
267
+ /** Stows the drawn weapon; returns it, or null if nothing changed. */
268
+ stowWeapon(): Item | null;
269
+ /** Total soak dice from every equipped armor-category item. */
270
+ getArmorValue(): number;
271
+ getAttackPool(): number;
272
+ /**
273
+ * The subdual pool: bare-hands work regardless of what's in the other
274
+ * fist -- Agility + unarmed (never the drawn weapon's skill or bonus).
275
+ * See subdue.ts.
276
+ */
277
+ getUnarmedAttackPool(): number;
278
+ getDefensePool(): number;
279
+ getSoakPool(): number;
280
+ /**
281
+ * Initiative: Reaction + Intuition (straight SR), plus the AR edge from
282
+ * an equipped, ONLINE commlink -- the tactical overlay feeding you
283
+ * angles. Running silent kills the overlay along with the broadcast, so
284
+ * going dark costs you speed on the draw: the silent tradeoff grows
285
+ * teeth. Wounds and sustained spells slow you like everything else.
286
+ */
287
+ getInitiativePool(): number;
288
+ /**
289
+ * If an edge boost is armed (see commands/edge.ts), consume it: returns
290
+ * the bonus dice for the strike being rolled right now and disarms.
291
+ * Called by the strike-profile builders, so the boost lands on the next
292
+ * attack/subdue/manabolt this actor initiates.
293
+ */
294
+ consumeEdgeBoost(): number;
295
+ /** New job, fresh luck -- and a fresh seat at the negotiating table. */
296
+ refreshEdge(): void;
297
+ /** Base casting dice for a mundane casting from a formula/grimoire. */
298
+ private static readonly BASE_MAGIC_POOL;
299
+ /** Awakened: innate talent, no gear required. Adepts count -- their
300
+ * aura burns like any mage's, and assensing works -- but they channel
301
+ * magic into the body, not spells (see knowsSpell/isCaster). */
302
+ isAwakened(): boolean;
303
+ /** Technomancer: living persona -- the Matrix without a deck (see ICombatAttributes.resonance). */
304
+ isTechnomancer(): boolean;
305
+ private _sustainedArmor;
306
+ get sustainedArmor(): number;
307
+ setSustainedArmor(bonus: number): void;
308
+ get sustainingPenalty(): number;
309
+ astralPerceiving: boolean;
310
+ sneaking: boolean;
311
+ haggledThisJob: boolean;
312
+ cameFrom?: {
313
+ room: string;
314
+ back: string;
315
+ };
316
+ socialMarks: Set<string>;
317
+ /** The best Focus item on this actor, if any -- scales casting power. */
318
+ getBestFocus(): Item | undefined;
319
+ getMagicPool(): number;
320
+ /**
321
+ * Awakened actors know every spell innately. A mundane knows a spell if
322
+ * they carry its formula (item name must contain the spell's name) or
323
+ * any grimoire (a spellbook teaches everything).
324
+ */
325
+ knowsSpell(spellName: string): boolean;
326
+ /**
327
+ * The gate for attempting magic at all (ward bypass included): innate
328
+ * talent, or any magic gear.
329
+ */
330
+ isCaster(): boolean;
53
331
  get lifestyleChoices(): LifestyleChoices;
54
332
  set lifestyleChoices(choices: LifestyleChoices);
55
333
  get currency(): number;