@maka/maka-cli 5.121.0 → 5.122.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 (96) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/sideQuest/archetypes.d.ts +72 -0
  3. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +300 -61
  4. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
  5. package/bundle/typescript/src/commands/game/sideQuest/aspects.js +11 -1
  6. package/bundle/typescript/src/commands/game/sideQuest/aspects.js.map +1 -1
  7. package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +33 -0
  8. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +85 -0
  9. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js +8 -0
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js.map +1 -1
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js +4 -2
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +1 -1
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.d.ts +16 -1
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +273 -28
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.d.ts +19 -10
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js +43 -227
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js.map +1 -1
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +31 -3
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +5 -0
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/sell.js +4 -0
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/sell.js.map +1 -1
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js +4 -6
  27. package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js.map +1 -1
  28. package/bundle/typescript/src/commands/game/sideQuest/commands/stance.d.ts +10 -0
  29. package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js +50 -2
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js.map +1 -1
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/unequip.js +27 -0
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/unequip.js.map +1 -1
  33. package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
  34. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +17 -1
  35. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
  36. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +3 -2
  37. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +34 -41
  38. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
  39. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +37 -1
  40. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +1 -1
  41. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +47 -0
  42. package/bundle/typescript/src/commands/game/sideQuest/game.js +103 -4
  43. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/headless-harness.d.ts +17 -0
  45. package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js +30 -2
  46. package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js.map +1 -1
  47. package/bundle/typescript/src/commands/game/sideQuest/models/device.d.ts +14 -0
  48. package/bundle/typescript/src/commands/game/sideQuest/models/device.js +14 -0
  49. package/bundle/typescript/src/commands/game/sideQuest/models/device.js.map +1 -1
  50. package/bundle/typescript/src/commands/game/sideQuest/models/item.d.ts +6 -0
  51. package/bundle/typescript/src/commands/game/sideQuest/models/item.js +8 -0
  52. package/bundle/typescript/src/commands/game/sideQuest/models/item.js.map +1 -1
  53. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +82 -1
  54. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +118 -0
  55. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  56. package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +4 -0
  57. package/bundle/typescript/src/commands/game/sideQuest/qualities.js +16 -0
  58. package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +1 -1
  59. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +9 -9
  60. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +6 -6
  61. package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +5 -1
  62. package/bundle/typescript/src/commands/game/sideQuest/ui.js +23 -26
  63. package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
  64. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.d.ts +24 -0
  65. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +34 -0
  66. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -1
  67. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.d.ts +9 -0
  68. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js +8 -0
  69. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js.map +1 -1
  70. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +25 -2
  71. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
  72. package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.d.ts +32 -0
  73. package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.js +33 -0
  74. package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.js.map +1 -1
  75. package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.d.ts +5 -0
  76. package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.js +35 -1
  77. package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.js.map +1 -1
  78. package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-intrusion.d.ts +121 -0
  79. package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-intrusion.js +141 -0
  80. package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-intrusion.js.map +1 -0
  81. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +5 -1
  82. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
  83. package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.d.ts +93 -0
  84. package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js +201 -0
  85. package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js.map +1 -0
  86. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js +91 -9
  87. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js.map +1 -1
  88. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.d.ts +16 -0
  89. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +50 -3
  90. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -1
  91. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.d.ts +7 -1
  92. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js +7 -2
  93. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js.map +1 -1
  94. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +43 -3
  95. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  96. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sell.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/sell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sell.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/sell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAO;IAC5B,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;IACrB,MAAM,CAAC,WAAW,GAAG,yKAAyK,CAAC;IAEzM,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,mFAAmF,CAAC;QAC7F,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,yDAAyD,CAAC;QACnE,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC;aAC5D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,kHAAkH,CAAC;QAC5H,CAAC;QACD,gEAAgE;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;QAEvC,mEAAmE;QACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzF,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,4BAA4B,MAAM,YAAY,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,GAAG,KAAK,CAAC,IAAI,8FAA8F,CAAC;QACrH,CAAC;QACD,+CAA+C;QAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QACxC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1F,OAAO,GAAG,KAAK,CAAC,IAAI,8GAA8G,CAAC;QACrI,CAAC;QAED,sDAAsD;QACtD,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1G,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,mEAAmE;QACnE,qEAAqE;QACrE,mEAAmE;QACnE,iCAAiC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACjF,MAAM,KAAK,GAAG,KAAK;YACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3D,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACnG,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,OAAO,KAAK,OAAO,KAAK,CAAC,IAAI,YAAY,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACrK,OAAO;YACL,GAAG,KAAK,CAAC,IAAI,cAAc,IAAI,CAAC,IAAI,iFAAiF;YACrH,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,wBAAwB,IAAI,CAAC,QAAQ,6DAA6D,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtH,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,cAAc,KAAK,iBAAiB;YACpE,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,qDAAqD,CAAC;SAC9F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,yEAAyE;IACjE,KAAK,CAAC,KAAa;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAK,CAAC,WAAY,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,IAAK,CAAC,WAAW,GAAG,SAAS,CAAC;YACnC,OAAO,OAAO,IAAI,CAAC,QAAQ,+CAA+C,CAAC;QAC7E,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC;YACH,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,IAAK,CAAC,WAAW,GAAG,SAAS,CAAC;QACnC,mEAAmE;QACnE,IAAI,CAAC,IAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,oEAAoE;QACpE,mEAAmE;QACnE,oEAAoE;QACpE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAEhC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,QAAQ,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,YAAY,CAAC,CAAC;QAClI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;QAChG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAE1B,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,wDAAwD,IAAI,CAAC,KAAK,kBAAkB,IAAI,CAAC,IAAI,yDAAyD,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC1M,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,6BAA6B,GAAG,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,gEAAgE;QAChE,iEAAiE;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtE,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,kCAAkC,IAAI,CAAC,KAAK,yBAAyB;YACrF,sBAAsB,KAAK,CAAC,QAAQ,UAAU;YAC9C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,KAAa;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,KAAK,CAAC,IAAI,uFAAuF,CAAC;QAC9G,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,4CAA4C,CAAC,CAAC;QAC1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,uEAAuE,CAAC,CAAC;QAC7F,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Command } from './command.js';
2
2
  import { hint } from '../utilities/hints.js';
3
3
  import { Category } from '../types/shared/item-enum.js';
4
- import { CALL_ICON, CALL_COLOR } from '../utilities/comm-style.js';
4
+ import { CALL_ICON, CALL_COLOR, dropActiveCall } from '../utilities/comm-style.js';
5
5
  /**
6
6
  * Running silent, the Shadowrun way: your commlink stays on you but stops
7
7
  * broadcasting. While silent, you can't place calls and NOBODY can raise
@@ -82,12 +82,10 @@ export class SilentCommand extends Command {
82
82
  }
83
83
  // Going silent: drop any active call first, both sides.
84
84
  let hangupNote = '';
85
- const partner = actor.activeCallPartner;
85
+ const partner = dropActiveCall(actor);
86
86
  if (partner) {
87
- actor.activeCallPartner = undefined;
88
- partner.activeCallPartner = undefined;
89
- this.logger.write(`${actor.name} dropped the call with ${partner.name} by going silent.`);
90
- hangupNote = ` The call with ${partner.name} drops mid-word.`;
87
+ this.logger.write(`${actor.name} dropped the call with ${partner} by going silent.`);
88
+ hangupNote = ` The call with ${partner} drops mid-word.`;
91
89
  }
92
90
  actor.runningSilent = true;
93
91
  actor.performAction('goes silent', 'commlink dark');
@@ -1 +1 @@
1
- {"version":3,"file":"silent.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/silent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"silent.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/silent.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Command, ICommand } from './command.js';
2
+ import { MatrixStance } from '../models/player.js';
2
3
  /**
3
4
  * The typed twin of the Tab key: set (or inspect) the fight-or-flight
4
5
  * autopilot temperature. Tab cycles manual -> guarded -> aggressive in the
@@ -8,5 +9,14 @@ import { Command, ICommand } from './command.js';
8
9
  export declare class StanceCommand extends Command implements ICommand {
9
10
  protected static verb: string;
10
11
  protected static description: string;
12
+ /**
13
+ * ON THE MATRIX, TAB FLIPS THE INTRUSION ACTION instead of the fight
14
+ * autopilot (mjmcee, uMQAhaAysgaKpWFkn). One verb and one key, two
15
+ * planes -- because the player's question is the same in both ("how
16
+ * hard am I about to go?") and they are never on both planes at once.
17
+ */
18
+ private matrixLines;
19
+ /** What each route costs and buys, in the book's terms (p.238/240). */
20
+ static describeMatrix(m: MatrixStance): string;
11
21
  execute(args?: string[]): Promise<string>;
12
22
  }
@@ -1,5 +1,5 @@
1
1
  import { Command } from './command.js';
2
- import { STANCE_CYCLE, STANCE_ALIASES } from '../models/player.js';
2
+ import { STANCE_CYCLE, STANCE_ALIASES, MATRIX_STANCE_CYCLE, MATRIX_STANCE_ALIASES, MATRIX_STANCE_ACTION } from '../models/player.js';
3
3
  import { AutoFight } from '../utilities/auto-fight.js';
4
4
  import { fuzzyPickName } from '../utilities/fuzzy-match.js';
5
5
  /**
@@ -10,10 +10,35 @@ import { fuzzyPickName } from '../utilities/fuzzy-match.js';
10
10
  */
11
11
  export class StanceCommand extends Command {
12
12
  static verb = 'stance';
13
- static description = 'Set your fight autopilot. You ALWAYS counter when struck; the stance decides who presses: manual (you type it), non-lethal (auto, Stun where the gear allows, subdues, honors surrender), lethal (auto, to the death). Tab cycles.';
13
+ static description = 'Set your stance. ON THE MATRIX it picks which intrusion action you use -- attack (Brute Force, p.238) or sleaze (Hack on the Fly, p.240); Tab flips it, and "deck config" still sets the array. IN THE MEAT it sets your fight autopilot. You ALWAYS counter when struck; the stance decides who presses: manual (you type it), non-lethal (auto, Stun where the gear allows, subdues, honors surrender), lethal (auto, to the death). Tab cycles.';
14
+ /**
15
+ * ON THE MATRIX, TAB FLIPS THE INTRUSION ACTION instead of the fight
16
+ * autopilot (mjmcee, uMQAhaAysgaKpWFkn). One verb and one key, two
17
+ * planes -- because the player's question is the same in both ("how
18
+ * hard am I about to go?") and they are never on both planes at once.
19
+ */
20
+ matrixLines(actor) {
21
+ const cur = actor.matrixStance;
22
+ return [
23
+ `Matrix stance: ${MATRIX_STANCE_ACTION[cur].toUpperCase()} (${cur}) -- ${StanceCommand.describeMatrix(cur)}.`,
24
+ '',
25
+ ...MATRIX_STANCE_CYCLE.map(m => ` ${MATRIX_STANCE_ACTION[m].padEnd(16)} -- ${StanceCommand.describeMatrix(m)}`),
26
+ '',
27
+ `Set with "stance attack" / "stance sleaze", or Tab to flip. "deck config" still sets the array itself.`,
28
+ ].join('\n');
29
+ }
30
+ /** What each route costs and buys, in the book's terms (p.238/240). */
31
+ static describeMatrix(m) {
32
+ return m === 'attack'
33
+ ? 'Cybercombat + Logic [Attack]; a miss goes unnoticed but the firewall bites, and net hits burn the target'
34
+ : 'Hacking + Logic [Sleaze]; a miss gets you MADE, and net hits read the target while you key it';
35
+ }
14
36
  async execute(args = []) {
15
37
  const actor = this.actor;
38
+ const onMatrix = actor.plane === 'matrix';
16
39
  if (!args || args.length === 0) {
40
+ if (onMatrix)
41
+ return this.matrixLines(actor);
17
42
  const lines = [
18
43
  `Stance: ${actor.autoStance.toUpperCase()} -- ${AutoFight.describe(actor.autoStance)}.`,
19
44
  '',
@@ -36,6 +61,14 @@ export class StanceCommand extends Command {
36
61
  // otherwise try to spell-correct it into one.
37
62
  const raw = args.join(' ').trim().toLowerCase();
38
63
  if (raw === 'next' || raw === 'cycle') {
64
+ if (onMatrix) {
65
+ const i = MATRIX_STANCE_CYCLE.indexOf(actor.matrixStance);
66
+ const next = MATRIX_STANCE_CYCLE[(i + 1) % MATRIX_STANCE_CYCLE.length];
67
+ actor.matrixStance = next;
68
+ this.scene.updateStatus();
69
+ this.logger.write(`${actor.name} flipped to ${MATRIX_STANCE_ACTION[next]}.`);
70
+ return `Matrix stance: ${MATRIX_STANCE_ACTION[next].toUpperCase()} -- ${StanceCommand.describeMatrix(next)}.`;
71
+ }
39
72
  const cur = STANCE_CYCLE.indexOf(actor.autoStance);
40
73
  const nextStance = STANCE_CYCLE[(cur + 1) % STANCE_CYCLE.length];
41
74
  actor.autoStance = nextStance;
@@ -44,6 +77,21 @@ export class StanceCommand extends Command {
44
77
  this.logger.write(`${actor.name} cycled stance to ${nextStance}.`);
45
78
  return `Stance: ${nextStance.toUpperCase()} -- ${AutoFight.describe(nextStance)}.`;
46
79
  }
80
+ // A Matrix route by name, from either plane's vocabulary -- so
81
+ // "stance sleaze" works while jacked in and reads as a typo
82
+ // otherwise, rather than fuzzy-matching into a fight stance.
83
+ const matrixNamed = MATRIX_STANCE_ALIASES[raw] ?? (MATRIX_STANCE_CYCLE.includes(raw) ? raw : undefined);
84
+ if (onMatrix && matrixNamed) {
85
+ if (matrixNamed === actor.matrixStance)
86
+ return `Already ${MATRIX_STANCE_ACTION[matrixNamed].toUpperCase()} -- ${StanceCommand.describeMatrix(matrixNamed)}.`;
87
+ actor.matrixStance = matrixNamed;
88
+ this.scene.updateStatus();
89
+ this.logger.write(`${actor.name} set Matrix stance to ${MATRIX_STANCE_ACTION[matrixNamed]}.`);
90
+ return `Matrix stance: ${MATRIX_STANCE_ACTION[matrixNamed].toUpperCase()} -- ${StanceCommand.describeMatrix(matrixNamed)}.`;
91
+ }
92
+ if (onMatrix) {
93
+ return `That's not a Matrix route. Choose: ${MATRIX_STANCE_CYCLE.join(', ')} (${MATRIX_STANCE_CYCLE.map(m => MATRIX_STANCE_ACTION[m]).join(' / ')}).`;
94
+ }
47
95
  // The old words (and their typos) still land: fuzzy over the cycle AND the aliases, then through the alias map.
48
96
  const pickedRaw = STANCE_ALIASES[raw] ?? fuzzyPickName(args.join(' '), [...STANCE_CYCLE, ...Object.keys(STANCE_ALIASES)]);
49
97
  const picked = pickedRaw ? (STANCE_ALIASES[pickedRaw] ?? pickedRaw) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"stance.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/stance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stance.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/stance.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,28 @@
1
1
  import { Command } from './command.js';
2
+ import { dropActiveCall, CALL_ICON, CALL_COLOR } from '../utilities/comm-style.js';
2
3
  export class UnequipCommand extends Command {
3
4
  static verb = 'unequip';
4
5
  static description = 'Unequip an item.';
5
6
  async execute(args) {
6
7
  const slotName = args.join(' ').toLowerCase();
8
+ // TAKING THE LINK OFF HANGS UP THE CALL (MgrjzDYTzY8sJdvkT: "when I
9
+ // unequipped my commlink, I went offline, but the call with deditri
10
+ // was still active").
11
+ //
12
+ // The engine already knew this in two places out of three -- hack.ts
13
+ // cuts the call when a PAN crack takes your AR, silent.ts cuts it
14
+ // when you choose to go dark -- and the third way to lose your link
15
+ // was the one nobody wired. The player went offline by every other
16
+ // measure and stayed mid-conversation.
17
+ //
18
+ // ASKED BEFORE AND AFTER, rather than checking the slot name. What
19
+ // ends a call is having no live link, not the word "commlink"
20
+ // appearing in the argument: a deck performs all the functions of a
21
+ // commlink (p.223, v5.105.0), so a decker who takes their headset
22
+ // off is still perfectly reachable and their call must survive. The
23
+ // before/after pair also means a failed or misspelled unequip -- one
24
+ // that changed nothing -- cannot hang anybody up.
25
+ const hadLink = this.actor.liveLink() != null;
7
26
  const response = this.actor.unequip(slotName);
8
27
  // Worn state rides the durable path -- see EquipCommand.execute.
9
28
  this.game?.requestSave('equip');
@@ -12,6 +31,14 @@ export class UnequipCommand extends Command {
12
31
  // witnesses previously read "Maka unqeuip You unequipped X from your
13
32
  // rightHand.weapon slot.", second person and all.
14
33
  this.actor.performAction('unequips', slotName);
34
+ if (hadLink && this.actor.liveLink() == null) {
35
+ const partner = dropActiveCall(this.actor);
36
+ if (partner) {
37
+ this.logger.write(`${this.actor.name} dropped the call with ${partner} by unequipping their link.`);
38
+ this.scene.updateStatus();
39
+ return `${response}\n{${CALL_COLOR}-fg}${CALL_ICON} The call with ${partner} dies with it -- you just took the link off your head.{/${CALL_COLOR}-fg}`;
40
+ }
41
+ }
15
42
  return response;
16
43
  }
17
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"unequip.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/unequip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AAEjD,MAAM,OAAO,cAAe,SAAQ,OAAO;IAC/B,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,MAAM,CAAC,WAAW,GAAG,kBAAkB,CAAC;IAElD,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,iEAAiE;QACjE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,QAAQ,EAAE,CAAC,CAAC;QAC/E,oEAAoE;QACpE,qEAAqE;QACrE,kDAAkD;QAClD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE/C,OAAO,QAAQ,CAAC;IAClB,CAAC"}
1
+ {"version":3,"file":"unequip.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/unequip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEnF,MAAM,OAAO,cAAe,SAAQ,OAAO;IAC/B,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,MAAM,CAAC,WAAW,GAAG,kBAAkB,CAAC;IAElD,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,oEAAoE;QACpE,oEAAoE;QACpE,sBAAsB;QACtB,EAAE;QACF,qEAAqE;QACrE,kEAAkE;QAClE,oEAAoE;QACpE,mEAAmE;QACnE,uCAAuC;QACvC,EAAE;QACF,mEAAmE;QACnE,8DAA8D;QAC9D,oEAAoE;QACpE,kEAAkE;QAClE,oEAAoE;QACpE,qEAAqE;QACrE,kDAAkD;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,iEAAiE;QACjE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,QAAQ,EAAE,CAAC,CAAC;QAC/E,oEAAoE;QACpE,qEAAqE;QACrE,kDAAkD;QAClD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE/C,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,0BAA0B,OAAO,6BAA6B,CAAC,CAAC;gBACpG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC1B,OAAO,GAAG,QAAQ,MAAM,UAAU,OAAO,SAAS,kBAAkB,OAAO,2DAA2D,UAAU,MAAM,CAAC;YACzJ,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC"}
@@ -16,4 +16,4 @@
16
16
  * No import.meta here (engine-graph law) -- this file is loaded by the
17
17
  * server.
18
18
  */
19
- export declare const ENGINE_VERSION = "1.30.0";
19
+ export declare const ENGINE_VERSION = "1.31.0";
@@ -269,5 +269,21 @@
269
269
  // a filled Structure opens the way; the boxes ride the hub save as
270
270
  // devices[].damage (additive). Two clients on different versions
271
271
  // disagree about whether a door opens.
272
- export const ENGINE_VERSION = '1.30.0';
272
+ // 1.31.0 (2026-09-03): THERE IS NO MARK ACTION, AND OWNING A HOST IS NOT
273
+ // OWNING ITS DOORS. Placing a mark is Brute Force (p.238) or Hack on the
274
+ // Fly (p.240) and nothing else -- the standalone `mark` verb is gone as an
275
+ // action, the roll is properly OPPOSED (the host rolls its own rating +
276
+ // Firewall; a slaved device rolls its own DR + Firewall, Data Trails
277
+ // p.87-88), and OS accrues by the defender's hits rather than a flat 2
278
+ // (p.231-232). Marks are the currency: one enters a host, three means it
279
+ // stops asking, and each maglock is its own icon needing its own key.
280
+ // Reaching for more than one is declared before the roll at -4 / -10
281
+ // (-6 with Go Big or Go Home, Data Trails p.44). Both actions deliver
282
+ // their benefit at last -- Hack on the Fly reads the target while it keys
283
+ // it, Brute Force burns what it forces. A Tab-cycled Matrix stance picks
284
+ // the route and ships as Brute Force. Implant weapons (core p.458) replace
285
+ // the unarmed profile: hand razors, spurs, a shock hand with ten charges.
286
+ // Two clients on different versions disagree about whether a host opens,
287
+ // what a punch does, and what an intrusion costs.
288
+ export const ENGINE_VERSION = '1.31.0';
273
289
  //# sourceMappingURL=engine-version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine-version.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/engine-version.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine-version.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/engine-version.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Player } from '../models/player.js';
2
+ import { HELD_NUYEN_MAX } from '../qualities.js';
2
3
  import type { ISaveFileV1 } from '../types/save-file.js';
3
4
  import type { ISceneSeedJson } from '../types/seed/scene-seed.js';
4
5
  /**
@@ -93,8 +94,8 @@ export interface IChargenPayload {
93
94
  */
94
95
  lifestyleTier?: string;
95
96
  }
96
- /** The p.95 ceiling on money held out of the Resources pool at creation. */
97
- export declare const HELD_NUYEN_MAX = 5000;
97
+ /** The p.95 ceiling on money held out of the Resources pool at creation (qualities.ts). */
98
+ export { HELD_NUYEN_MAX };
98
99
  export declare class ChargenPayloadError extends Error {
99
100
  constructor(message: string);
100
101
  }
@@ -4,10 +4,10 @@ import { Room } from '../models/room.js';
4
4
  import { Item } from '../models/item.js';
5
5
  import { Category, Size, Rating } from '../types/shared/item-enum.js';
6
6
  import { getAug, getGrade, gradedAug, STANDARD_GRADE } from '../augmentations.js';
7
- import { getQuality, creationSplit, resolveQualityKey } from '../qualities.js';
7
+ import { getQuality, creationSplit, resolveQualityKey, HELD_NUYEN_MAX } from '../qualities.js';
8
8
  import { SPELLS, spellCreationCap } from '../spells.js';
9
9
  import { ADEPT_POWERS, adeptPowersCost } from '../adept-powers.js';
10
- import { findCatalogItem } from '../utilities/catalog.js';
10
+ import { findCatalogItem, itemFromCatalog } from '../utilities/catalog.js';
11
11
  import { serializePlayer } from '../utilities/persistence.js';
12
12
  import { canonicalLifestyleTier, LIFESTYLE_TIERS } from '../utilities/commerce.js';
13
13
  import { SAVE_VERSION } from '../types/save-file.js';
@@ -47,8 +47,8 @@ import { SAVE_VERSION } from '../types/save-file.js';
47
47
  * changes meaning or stops being honoured.
48
48
  */
49
49
  export const CHARGEN_FACTORY_VERSION = '1.1.0';
50
- /** The p.95 ceiling on money held out of the Resources pool at creation. */
51
- export const HELD_NUYEN_MAX = 5000;
50
+ /** The p.95 ceiling on money held out of the Resources pool at creation (qualities.ts). */
51
+ export { HELD_NUYEN_MAX };
52
52
  export class ChargenPayloadError extends Error {
53
53
  constructor(message) {
54
54
  super(message);
@@ -64,47 +64,15 @@ const EQUIP_ON_START = new Set([
64
64
  Category.Helmet, Category.Hat, Category.Gloves, Category.Boots, Category.Commlink,
65
65
  Category.Clothing, Category.LegArmor,
66
66
  ]);
67
- /**
68
- * ENUM KEY BACK TO ENUM VALUE -- the trap, in its third costume.
69
- *
70
- * headless-harness.ts records enum KEY vs VALUE costing two sessions an
71
- * hour, and carries `enumKeyFor` for the value->key direction that a
72
- * SAVED item needs. Catalog rows go the other way: catalog-data.ts
73
- * declares `size: 'Tiny'` (a KEY) while the Item constructor validates
74
- * against VALUES ('tiny') and throws outright on a mismatch.
75
- *
76
- * This function existing is not incidental -- the first cut of the gear
77
- * path did not have it and died on "Invalid size value for Gel Rounds:
78
- * Tiny". Left as a lesson rather than a silent fix, because the same
79
- * trap will meet whoever wires the next catalog-fed feature.
80
- */
81
- function enumValueFor(enumObj, given) {
82
- if (given === undefined)
83
- return undefined;
84
- // Already a value: nothing to do.
85
- if (Object.values(enumObj).includes(given))
86
- return given;
87
- return enumObj[given] ?? given;
88
- }
89
- /** A catalog row is not an Item. The conversion lives here because
90
- * nothing else in the engine needed it -- `buy` works off shelf stock
91
- * that is already instantiated. */
67
+ /** A catalog row is not an Item. The conversion is utilities/catalog.ts
68
+ * itemFromCatalog (shared with the archetypes since 2026-09-03); this
69
+ * keeps the payload's own refusal type. */
92
70
  function itemFromSlug(slug) {
93
71
  const row = findCatalogItem(slug);
94
72
  if (!row) {
95
73
  throw new ChargenPayloadError(`No catalog item with slug "${slug}". Slugs come from utilities/catalog-data.ts.`);
96
74
  }
97
- return new Item({
98
- name: row.name,
99
- description: row.description,
100
- category: enumValueFor(Category, row.category),
101
- size: (enumValueFor(Size, row.size) ?? Size.Small),
102
- rating: (enumValueFor(Rating, row.rating) ?? Rating.Standard),
103
- shape: row.shape ?? 'Rectangle',
104
- color: row.color ?? 'Gray',
105
- texture: row.texture ?? 'Plain',
106
- weight: row.weight ?? 0.5,
107
- });
75
+ return itemFromCatalog(row.slug);
108
76
  }
109
77
  /**
110
78
  * CANON OWNS THE CREATION LEDGER (SR5 p.71, p.94/98, via
@@ -329,7 +297,32 @@ export function buildPlayerFromChargen(payload) {
329
297
  throw new ChargenPayloadError(`heldNuyen ${heldNuyen} exceeds the ${HELD_NUYEN_MAX} a character may hold out of `
330
298
  + `unspent Resources at creation (SR5 p.95) -- anything above it is lost, not kept.`);
331
299
  }
332
- const startingCash = ledger.nuyen + heldNuyen;
300
+ /**
301
+ * WHAT A RUNNER WALKS OUT HOLDING IS THE HELD LEFTOVER, AND ONLY THAT
302
+ * (SR5 p.94 Step Six, restated p.95: "they may choose to hold onto
303
+ * 5,000 nuyen or less and add it to their starting nuyen. Any nuyen
304
+ * remaining over 5,000 is lost and cannot be recovered." The p.96-97
305
+ * example carries 4,995.)
306
+ *
307
+ * This read `ledger.nuyen + heldNuyen` and paid out the whole
308
+ * karma->nuyen CONVERSION as cash (reported by maka-cli-com-c3,
309
+ * 2026-09-03, off two live worksheets: both born with 18,000 against a
310
+ * canon 5,000, and the pair differing in leftover while agreeing in
311
+ * starting cash is what named the conversion as the culprit).
312
+ *
313
+ * The conversion is BUDGET, not cash: karma turned into gear money at
314
+ * 2,000 a point, spent at the shop like the Resources column itself.
315
+ * Adding it here paid it twice -- once as buying power, once as a
316
+ * credstick -- and contradicted this file's own contract three hundred
317
+ * lines up, where `nuyen` is "ADVISORY ONLY ... supplied so the web
318
+ * generator's arithmetic can be CHECKED, not so it can win".
319
+ *
320
+ * The CLI twin was never wrong: outfitArchetype hands over
321
+ * archetypeLedger's `held`, which is min(remaining, HELD_NUYEN_MAX) and
322
+ * no conversion. Two surfaces, one rule, and only one of them followed
323
+ * it.
324
+ */
325
+ const startingCash = heldNuyen;
333
326
  // Converted karma arrives as a CREDSTICK, never a floating number --
334
327
  // currency only counts when a carrier in the pack holds it. Same
335
328
  // pattern as outfitArchetype and the job-payment stick.
@@ -1 +1 @@
1
- {"version":3,"file":"chargen-factory.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/factories/chargen-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chargen-factory.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/factories/chargen-factory.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { Category } from '../types/shared/item-enum.js';
9
9
  import { Logger } from '../utilities/logger.js';
10
10
  import { migrateLegacySeed } from './seed-migration.js';
11
11
  import { Device } from '../models/device.js';
12
+ import { fuzzyPickName } from '../utilities/fuzzy-match.js';
12
13
  /**
13
14
  * How many AI enrichment calls may be in flight at once.
14
15
  *
@@ -279,7 +280,42 @@ Key Locations: ${json.rooms.map(r => r.name).join(', ')}
279
280
  // Item names in seeds are written by hand and by a model; match
280
281
  // them the way the rest of the factory does rather than assuming
281
282
  // exact case.
282
- const findItem = (name) => itemMap.get(name) ?? [...itemMap.values()].find(i => i.name.toLowerCase() === name.toLowerCase());
283
+ //
284
+ // FUZZY, AND LOGGED, because the exact/case-insensitive match above
285
+ // was the whole story until pFNBSzb95JHCHSJjE: "everything about
286
+ // this room points me to use the Relay Access Card on the heavy
287
+ // blast door, but it doesn't work." A generated room's prose and
288
+ // its `device.keyItem` field are written independently -- the same
289
+ // model call that names a device's key can drift a word from the
290
+ // item it also generated ("Relay Access Card" the prose points at,
291
+ // "Relay Keycard" the item actually got built as) -- and a MISS
292
+ // here did not fail loud. `keyItem` simply came back `undefined`,
293
+ // Device.offer's `byKey` stayed `false` no matter what the player
294
+ // carried, and the door was quietly unopenable by design nobody
295
+ // chose. No crash, no test, nothing in the log to diagnose it by --
296
+ // the same shape the `kind`-vs-`code` repair three lines below this
297
+ // one was written to catch, and the same "shipped content
298
+ // self-repairs" philosophy applies: a near-miss name is a typo to
299
+ // fix, not a reason to hand the player a door with no key.
300
+ //
301
+ // A fuzzy hit is accepted only when fuzzyPickName finds ONE -- it
302
+ // already refuses an ambiguous multi-candidate match on its own, so
303
+ // a room with two similarly-named cards does not silently guess
304
+ // which one opens the door.
305
+ const findItem = (name) => {
306
+ const exact = itemMap.get(name)
307
+ ?? [...itemMap.values()].find(i => i.name.toLowerCase() === name.toLowerCase());
308
+ if (exact)
309
+ return exact;
310
+ const names = [...itemMap.values()].map(i => i.name);
311
+ const fuzzy = fuzzyPickName(name, names);
312
+ if (!fuzzy) {
313
+ logger.write(`Scene "${json.name}": nothing matches item "${name}" -- a device or reward pointing at it will find no such item.`);
314
+ return undefined;
315
+ }
316
+ logger.write(`Scene "${json.name}": "${name}" resolved to item "${fuzzy}" by fuzzy match -- names generated apart drifted.`);
317
+ return itemMap.get(fuzzy);
318
+ };
283
319
  // Step 4.9: DEVICES, and the doors they hold shut.
284
320
  // After items, because a device may hold a key or a reward.
285
321
  //