@maka/maka-cli 5.91.0 → 5.93.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 (92) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +9 -9
  3. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
  4. package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +54 -3
  5. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +987 -53
  6. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -1
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/ask.d.ts +0 -14
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js +22 -0
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js.map +1 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js +14 -1
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js.map +1 -1
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/call.js +5 -1
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -1
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +7 -55
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js +5 -1
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js.map +1 -1
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +10 -1
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +8 -1
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js.map +1 -1
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js +3 -0
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js.map +1 -1
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +13 -7
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/project.js +12 -0
  27. package/bundle/typescript/src/commands/game/sideQuest/commands/project.js.map +1 -1
  28. package/bundle/typescript/src/commands/game/sideQuest/commands/reload.js +1 -1
  29. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +7 -2
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/use.js +3 -3
  32. package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
  33. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +69 -1
  34. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
  35. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +1 -1
  36. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +90 -16
  37. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +26 -3
  39. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
  40. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +95 -3
  41. package/bundle/typescript/src/commands/game/sideQuest/game.js +191 -13
  42. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  43. package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js +5 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js.map +1 -1
  45. package/bundle/typescript/src/commands/game/sideQuest/models/inventory.d.ts +13 -0
  46. package/bundle/typescript/src/commands/game/sideQuest/models/inventory.js +45 -2
  47. package/bundle/typescript/src/commands/game/sideQuest/models/inventory.js.map +1 -1
  48. package/bundle/typescript/src/commands/game/sideQuest/models/item.d.ts +65 -1
  49. package/bundle/typescript/src/commands/game/sideQuest/models/item.js +83 -1
  50. package/bundle/typescript/src/commands/game/sideQuest/models/item.js.map +1 -1
  51. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +126 -4
  52. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +148 -15
  53. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  54. package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +33 -1
  55. package/bundle/typescript/src/commands/game/sideQuest/qualities.js +12 -2
  56. package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +1 -1
  57. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +1 -1
  58. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +4 -4
  59. package/bundle/typescript/src/commands/game/sideQuest/skill-groups.d.ts +120 -0
  60. package/bundle/typescript/src/commands/game/sideQuest/skill-groups.js +135 -0
  61. package/bundle/typescript/src/commands/game/sideQuest/skill-groups.js.map +1 -0
  62. package/bundle/typescript/src/commands/game/sideQuest/spells.d.ts +64 -0
  63. package/bundle/typescript/src/commands/game/sideQuest/spells.js +68 -0
  64. package/bundle/typescript/src/commands/game/sideQuest/spells.js.map +1 -0
  65. package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +25 -2
  66. package/bundle/typescript/src/commands/game/sideQuest/ui.js +14 -0
  67. package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
  68. package/bundle/typescript/src/commands/game/sideQuest/utilities/alarmed-staff.d.ts +116 -0
  69. package/bundle/typescript/src/commands/game/sideQuest/utilities/alarmed-staff.js +127 -0
  70. package/bundle/typescript/src/commands/game/sideQuest/utilities/alarmed-staff.js.map +1 -0
  71. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +1 -1
  72. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +123 -2
  73. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +1 -1
  74. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.d.ts +131 -2
  75. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +170 -12
  76. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -1
  77. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.d.ts +139 -1
  78. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js +307 -5
  79. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js.map +1 -1
  80. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.d.ts +38 -0
  81. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +106 -0
  82. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
  83. package/bundle/typescript/src/commands/game/sideQuest/utilities/session-lock.js +19 -3
  84. package/bundle/typescript/src/commands/game/sideQuest/utilities/session-lock.js.map +1 -1
  85. package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.js +1 -1
  86. package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.js.map +1 -1
  87. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.d.ts +22 -0
  88. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js +27 -0
  89. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js.map +1 -1
  90. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +63 -30
  91. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  92. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"qualities.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/qualities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAcH,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC,MAAM,CAAC,MAAM,SAAS,GAAe;IACnC,yEAAyE;IACzE;QACE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;QAC7E,MAAM,EAAE,kCAAkC;KAC3C;IACD;QACE,uEAAuE;QACvE,mEAAmE;QACnE,GAAG,EAAE,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;QACjG,MAAM,EAAE,sDAAsD;KAC/D;IACD;QACE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,2BAA2B;KACpC;IACD;QACE,oEAAoE;QACpE,kEAAkE;QAClE,oEAAoE;QACpE,8DAA8D;QAC9D,qEAAqE;QACrE,+CAA+C;QAC/C,EAAE;QACF,kEAAkE;QAClE,qEAAqE;QACrE,kEAAkE;QAClE,iEAAiE;QACjE,kEAAkE;QAClE,gEAAgE;QAChE,GAAG,EAAE,4BAA4B,EAAE,IAAI,EAAE,4BAA4B;QACrE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB;QACvD,MAAM,EAAE,mEAAmE;KAC5E;IACD;QACE,mEAAmE;QACnE,yDAAyD;QACzD,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;QACzF,MAAM,EAAE,kEAAkE;KAC3E;IACD;QACE,kEAAkE;QAClE,gEAAgE;QAChE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM;QACtE,MAAM,EAAE,2CAA2C;KACpD;IACD;QACE,kEAAkE;QAClE,kEAAkE;QAClE,sDAAsD;QACtD,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM;QAC5F,MAAM,EAAE,+CAA+C;KACxD;IACD;QACE,sEAAsE;QACtE,wCAAwC;QACxC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;QACnF,MAAM,EAAE,mEAAmE;KAC5E;IACD;QACE,mEAAmE;QACnE,6DAA6D;QAC7D,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;QACzF,MAAM,EAAE,6DAA6D;KACtE;IACD;QACE,kEAAkE;QAClE,qEAAqE;QACrE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM;QAChF,MAAM,EAAE,2DAA2D;KACpE;IACD;QACE,gEAAgE;QAChE,oEAAoE;QACpE,kEAAkE;QAClE,iEAAiE;QACjE,oEAAoE;QACpE,oEAAoE;QACpE,uDAAuD;QACvD,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB;QAC3F,MAAM,EAAE,yDAAyD;KAClE;IACD;QACE,4DAA4D;QAC5D,+CAA+C;QAC/C,EAAE;QACF,oEAAoE;QACpE,iEAAiE;QACjE,oEAAoE;QACpE,kEAAkE;QAClE,mEAAmE;QACnE,mEAAmE;QACnE,kEAAkE;QAClE,mEAAmE;QACnE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB;QAC9F,MAAM,EAAE,sEAAsE;KAC/E;IACD;QACE,oEAAoE;QACpE,oCAAoC;QACpC,EAAE;QACF,oEAAoE;QACpE,oEAAoE;QACpE,mEAAmE;QACnE,iEAAiE;QACjE,oEAAoE;QACpE,gEAAgE;QAChE,0DAA0D;QAC1D,GAAG,EAAE,6BAA6B,EAAE,IAAI,EAAE,+BAA+B;QACzE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM;QACzC,MAAM,EAAE,gEAAgE;KACzE;IAED,yEAAyE;IACzE;QACE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;QAC3F,MAAM,EAAE,2EAA2E;KACpF;IACD;QACE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM;QAC5F,MAAM,EAAE,6FAA6F;KACtG;IACD;QACE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS;QACpG,MAAM,EAAE,yEAAyE;KAClF;IACD;QACE,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;QAC/F,MAAM,EAAE,uDAAuD;KAChE;IACD;QACE,gEAAgE;QAChE,4DAA4D;QAC5D,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM;QAC5F,MAAM,EAAE,6EAA6E;KACtF;IACD;QACE,oEAAoE;QACpE,sEAAsE;QACtE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM;QAC5E,MAAM,EAAE,qEAAqE;KAC9E;IACD;QACE,mEAAmE;QACnE,2DAA2D;QAC3D,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;QAC7F,MAAM,EAAE,gDAAgD;KACzD;IACD;QACE,iEAAiE;QACjE,8CAA8C;QAC9C,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM;QAC5E,MAAM,EAAE,iEAAiE;KAC1E;IACD;QACE,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;QAC3F,MAAM,EAAE,+DAA+D;KACxE;IACD;QACE,iEAAiE;QACjE,mDAAmD;QACnD,GAAG,EAAE,qBAAqB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;QACnG,MAAM,EAAE,mEAAmE;KAC5E;IACD;QACE,mEAAmE;QACnE,gEAAgE;QAChE,qEAAqE;QACrE,kEAAkE;QAClE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,uFAAuF;KAChG;IACD;QACE,mEAAmE;QACnE,kEAAkE;QAClE,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,sCAAsC;QACtC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS;QAC7E,MAAM,EAAE,yEAAyE;KAClF;IACD;QACE,mEAAmE;QACnE,gEAAgE;QAChE,8DAA8D;QAC9D,+CAA+C;QAC/C,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,yBAAyB;QAC7D,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM;QACzC,MAAM,EAAE,6DAA6D;KACtE;CACF,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,cAAwB,EAAE;IACtD,IAAI,KAAK,GAAG,cAAc,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uEAAuE;AACvE,wEAAwE;AACxE,yEAAyE;AACzE,mEAAmE;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC,6FAA6F;AAC7F,MAAM,UAAU,aAAa,CAAC,cAAwB,EAAE;IACtD,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,mBAAmB,EAAE,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG,gBAAgB,CAAC;IAC3G,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"qualities.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/qualities.ts"],"names":[],"mappings":"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"}
@@ -287,7 +287,7 @@
287
287
  "intuition": 3,
288
288
  "charisma": 3,
289
289
  "skills": {
290
- "firearms": 5,
290
+ "automatics": 5, "pistols": 5, "longarms": 5,
291
291
  "unarmed": 4,
292
292
  "perception": 3,
293
293
  "negotiation": 3,
@@ -531,7 +531,7 @@
531
531
  "intuition": 3,
532
532
  "charisma": 2,
533
533
  "skills": {
534
- "firearms": 6,
534
+ "automatics": 6, "pistols": 6, "longarms": 6,
535
535
  "unarmed": 4,
536
536
  "perception": 4,
537
537
  "intimidation": 4,
@@ -680,7 +680,7 @@
680
680
  "intuition": 4,
681
681
  "charisma": 4,
682
682
  "skills": {
683
- "firearms": 5,
683
+ "automatics": 5, "pistols": 5, "longarms": 5,
684
684
  "unarmed": 4,
685
685
  "perception": 5,
686
686
  "negotiation": 4,
@@ -745,7 +745,7 @@
745
745
  "con": 4,
746
746
  "perception": 4,
747
747
  "negotiation": 3,
748
- "athletics": 4
748
+ "gymnastics": 4, "running": 4, "swimming": 4
749
749
  }
750
750
  }
751
751
  }
@@ -774,7 +774,7 @@
774
774
  "skills": {
775
775
  "unarmed": 6,
776
776
  "blades": 5,
777
- "firearms": 4,
777
+ "automatics": 4, "pistols": 4, "longarms": 4,
778
778
  "intimidation": 5,
779
779
  "perception": 3
780
780
  }
@@ -0,0 +1,120 @@
1
+ import { SkillName } from './models/player.js';
2
+ /**
3
+ * SR5e SKILL GROUPS (core p.90) as chargen vocabulary.
4
+ *
5
+ * A skill group is bought at one rating and every skill in it is held at
6
+ * that rating. The web expands a group into its members before the
7
+ * payload reaches buildPlayerFromChargen, so nothing at runtime changes:
8
+ * this file exists so the DEFINITIONS live in the engine and are read
9
+ * live, exactly as ARCHETYPES and QUALITIES are, rather than being
10
+ * re-encoded in web code where the two would drift.
11
+ *
12
+ * THE GROUPS ARE DERIVED, NOT HAND-LISTED, and that is the point.
13
+ * SR5_GROUPS below is the book's table copied straight down; the engine's
14
+ * own vocabulary is SKILL_NAMES; and SKILL_GROUPS is what falls out when
15
+ * you intersect them and apply the ruling. Nobody maintains the exposed
16
+ * list, so nobody can forget to -- and if the condensed skills below are
17
+ * ever restored, the groups follow without this file being edited.
18
+ *
19
+ * ALL FIFTEEN ARE AVAILABLE, EACH AT FULL CANON MEMBERSHIP. That is new.
20
+ * This engine used to CONDENSE several canon skills into one -- gymnastics/
21
+ * running/swimming were a single `athletics`, automatics/pistols/longarms
22
+ * a single `firearms`, banishing/summoning/binding a single `conjuring`
23
+ * -- which left nine of the fifteen groups with fewer than two members
24
+ * here, and so not groups at all. Restoring the vocabulary fixed that,
25
+ * and this file needed no edit for it: the derivation simply started
26
+ * returning more.
27
+ *
28
+ * THE RULING SURVIVES ANYWAY (user-confirmed), because the condition can
29
+ * return the moment a skill is retired without a replacement:
30
+ *
31
+ * - a group with >= 2 surviving members is exposed, covering EXACTLY
32
+ * those members;
33
+ * - a group reduced below 2 is not exposed as a group at all, and says
34
+ * WHY rather than silently vanishing;
35
+ * - no invented replacement members, and no group dropped merely for
36
+ * having lost one skill.
37
+ *
38
+ * Each group carries its REAL member list, and any canon member it lacks,
39
+ * so the web can show the truth rather than the book's roster. Both are
40
+ * empty of surprises today -- every group is complete -- and that is a
41
+ * fact worth publishing rather than one to infer.
42
+ *
43
+ * WHAT THIS FILE DOES NOT DECIDE, because canon puts it outside the
44
+ * engine's reach: at creation, group points and individual skill points
45
+ * are SEPARATE POOLS, a group CANNOT be broken, and individual points
46
+ * cannot raise a member above the group rating (p.88, Step Five). Once
47
+ * the web expands a group into per-skill ratings, the engine cannot tell
48
+ * a group-bought 4 from an individually-bought 4 -- so that rule is
49
+ * enforceable ONLY in the validator that sees the unexpanded payload.
50
+ * Written down here so the next reader knows it was considered and
51
+ * placed, rather than missed.
52
+ */
53
+ export interface ISkillGroup {
54
+ key: string;
55
+ name: string;
56
+ /** The members this engine actually has, in SKILL_NAMES vocabulary. */
57
+ skills: SkillName[];
58
+ /** Canon members with no counterpart here -- carried so an absence can
59
+ * be explained rather than silently dropped. */
60
+ missing: string[];
61
+ page: string;
62
+ }
63
+ /**
64
+ * The highest rating a group may be bought at during creation (p.88 Step
65
+ * Five; p.131 names 6 "the maximum skill level for starting player
66
+ * characters"). Aptitude's rating-7 exception is written for one SKILL
67
+ * (p.72) and the books do not extend it to a group, so it is
68
+ * deliberately absent rather than assumed.
69
+ */
70
+ export declare const SKILL_GROUP_CREATION_CAP = 6;
71
+ /** How many surviving members a group needs to still be a group. */
72
+ export declare const MIN_GROUP_MEMBERS = 2;
73
+ /**
74
+ * THE RULE, AS A FUNCTION OF THE VOCABULARY -- and it is a function so
75
+ * that it can be TESTED.
76
+ *
77
+ * Every canon group is currently full, so the >= MIN_GROUP_MEMBERS
78
+ * filter never fires and the unavailable list is empty. That is the
79
+ * right outcome and a coverage hazard at the same time: a rule nothing
80
+ * exercises is a rule nothing is holding, and this one is user-ratified
81
+ * (a group with fewer than two surviving members is not offered, and
82
+ * says why). Taking the held-set as a parameter lets a test hand it a
83
+ * reduced vocabulary and watch the threshold actually decide.
84
+ *
85
+ * Learned one PR earlier, the hard way: a mutant that swapped which
86
+ * skill a climb rolls SURVIVED, because every fixture granted all three
87
+ * at the same rating and the wrong read gave the same number. A branch
88
+ * no fixture can distinguish is untested however green the suite is.
89
+ */
90
+ export declare function deriveSkillGroups(held: ReadonlySet<string>): {
91
+ exposed: ISkillGroup[];
92
+ unavailable: {
93
+ name: string;
94
+ kept: string[];
95
+ reason: string;
96
+ }[];
97
+ };
98
+ /**
99
+ * The groups this engine offers. Currently ALL FIFTEEN, each at full
100
+ * canon membership -- so no group carries a `missing` entry and the
101
+ * unavailable list below is empty. That was not true before the
102
+ * vocabulary was restored, and the machinery for the other case is kept
103
+ * (and tested) because the condition can return.
104
+ */
105
+ export declare const SKILL_GROUPS: ISkillGroup[];
106
+ /**
107
+ * The book's groups this engine cannot offer, with the reason -- so the
108
+ * web can EXPLAIN an absence instead of leaving a player to wonder where
109
+ * a group went. A silent gap is the shape that gets re-reported.
110
+ *
111
+ * EMPTY TODAY. Kept because it is the honest answer if a skill is ever
112
+ * retired without a replacement, and because an empty list is a fact
113
+ * worth publishing: .com can render "all fifteen available" from it
114
+ * rather than inferring it.
115
+ */
116
+ export declare const UNAVAILABLE_SKILL_GROUPS: {
117
+ name: string;
118
+ kept: string[];
119
+ reason: string;
120
+ }[];
@@ -0,0 +1,135 @@
1
+ import { SKILL_NAMES } from './models/player.js';
2
+ /**
3
+ * The highest rating a group may be bought at during creation (p.88 Step
4
+ * Five; p.131 names 6 "the maximum skill level for starting player
5
+ * characters"). Aptitude's rating-7 exception is written for one SKILL
6
+ * (p.72) and the books do not extend it to a group, so it is
7
+ * deliberately absent rather than assumed.
8
+ */
9
+ export const SKILL_GROUP_CREATION_CAP = 6;
10
+ /** How many surviving members a group needs to still be a group. */
11
+ export const MIN_GROUP_MEMBERS = 2;
12
+ /**
13
+ * THE BOOK'S TABLE, p.90, ALL FIFTEEN -- copied down whole rather than
14
+ * pre-filtered, so the intersection below can be audited against the
15
+ * page. Member names are the book's; mapping them to this engine's
16
+ * vocabulary is the next constant, kept separate because renaming a
17
+ * skill is not the same decision as which skills a group contains.
18
+ *
19
+ * READ OFF THE PDF, NOT OFF A RETRIEVAL, and two rows below carry the
20
+ * scars. This table was first assembled from the rules RAG, asked twice
21
+ * in differently-worded queries; the answers agreed, and I recorded that
22
+ * as confirmation. It was not. Both retrievals read the same extraction
23
+ * of the same page, so they could only ever agree about the EXTRACTION.
24
+ * A `pdftotext` pass over the actual book found two errors that
25
+ * agreement had blessed -- a member Acting does not have, and a Biotech
26
+ * member swapped for a groupless skill.
27
+ *
28
+ * TWO RETRIEVALS OF ONE SOURCE ARE ONE OBSERVATION. Independence is a
29
+ * property of the source, not of the request. If this table is ever
30
+ * revised, revise it against the page.
31
+ */
32
+ const SR5_GROUPS = [
33
+ // ACTING IS THREE, NOT FOUR. This row read {Con, Performance,
34
+ // Impersonation, Intimidation} until the table was checked against the
35
+ // core PDF: Intimidation is a standalone Social skill and not an Acting
36
+ // member. Two RAG retrievals had agreed it was — see the note above
37
+ // SR5_GROUPS on why that agreement proved nothing.
38
+ { key: 'acting', name: 'Acting', members: ['Con', 'Impersonation', 'Performance'] },
39
+ { key: 'athletics', name: 'Athletics', members: ['Gymnastics', 'Running', 'Swimming'] },
40
+ // BIOTECH IS FIRST AID, NOT BIOTECHNOLOGY. This row read
41
+ // {Cybertechnology, Medicine, Biotechnology} until the PDF check:
42
+ // Biotechnology is a groupless Technical skill, and First Aid — which
43
+ // this engine has carried all along — is the real member.
44
+ { key: 'biotech', name: 'Biotech', members: ['Cybertechnology', 'First Aid', 'Medicine'] },
45
+ { key: 'close-combat', name: 'Close Combat', members: ['Blades', 'Unarmed Combat', 'Clubs'] },
46
+ { key: 'conjuring', name: 'Conjuring', members: ['Banishing', 'Summoning', 'Binding'] },
47
+ { key: 'cracking', name: 'Cracking', members: ['Cybercombat', 'Hacking', 'Electronic Warfare'] },
48
+ { key: 'electronics', name: 'Electronics', members: ['Computer', 'Hardware', 'Software'] },
49
+ { key: 'enchanting', name: 'Enchanting', members: ['Alchemy', 'Disenchanting', 'Artificing'] },
50
+ {
51
+ key: 'engineering', name: 'Engineering',
52
+ members: ['Aeronautics Mechanic', 'Industrial Mechanic', 'Automotive Mechanic', 'Nautical Mechanic'],
53
+ },
54
+ { key: 'firearms', name: 'Firearms', members: ['Automatics', 'Pistols', 'Longarms'] },
55
+ { key: 'influence', name: 'Influence', members: ['Etiquette', 'Negotiation', 'Leadership'] },
56
+ { key: 'outdoors', name: 'Outdoors', members: ['Navigation', 'Tracking', 'Survival'] },
57
+ { key: 'sorcery', name: 'Sorcery', members: ['Counterspelling', 'Spellcasting', 'Ritual Spellcasting'] },
58
+ { key: 'stealth', name: 'Stealth', members: ['Disguise', 'Sneaking', 'Palming'] },
59
+ { key: 'tasking', name: 'Tasking', members: ['Compiling', 'Registering', 'Decompiling'] },
60
+ ];
61
+ /**
62
+ * Book name to this engine's SkillName, for the few that differ. Anything
63
+ * absent falls through to lowercase-and-hyphenate, which already covers
64
+ * the majority ('Cybercombat', 'Electronic Warfare', 'Ritual
65
+ * Spellcasting'). A miss here reads as a MISSING member rather than as a
66
+ * crash, which is the safe direction: the group simply reports one fewer
67
+ * survivor, and the twin test below is what catches it.
68
+ */
69
+ const RENAMED = {
70
+ 'Unarmed Combat': 'unarmed',
71
+ };
72
+ const toSkillName = (bookName) => RENAMED[bookName] ?? bookName.toLowerCase().replace(/\s+/g, '-');
73
+ const survivorsOf = (g, held) => g.members.map(toSkillName).filter(s => held.has(s));
74
+ /**
75
+ * THE RULE, AS A FUNCTION OF THE VOCABULARY -- and it is a function so
76
+ * that it can be TESTED.
77
+ *
78
+ * Every canon group is currently full, so the >= MIN_GROUP_MEMBERS
79
+ * filter never fires and the unavailable list is empty. That is the
80
+ * right outcome and a coverage hazard at the same time: a rule nothing
81
+ * exercises is a rule nothing is holding, and this one is user-ratified
82
+ * (a group with fewer than two surviving members is not offered, and
83
+ * says why). Taking the held-set as a parameter lets a test hand it a
84
+ * reduced vocabulary and watch the threshold actually decide.
85
+ *
86
+ * Learned one PR earlier, the hard way: a mutant that swapped which
87
+ * skill a climb rolls SURVIVED, because every fixture granted all three
88
+ * at the same rating and the wrong read gave the same number. A branch
89
+ * no fixture can distinguish is untested however green the suite is.
90
+ */
91
+ export function deriveSkillGroups(held) {
92
+ const exposed = SR5_GROUPS
93
+ .filter(g => survivorsOf(g, held).length >= MIN_GROUP_MEMBERS)
94
+ .map(g => {
95
+ const mapped = g.members.map(m => ({ book: m, engine: toSkillName(m) }));
96
+ return {
97
+ key: g.key,
98
+ name: g.name,
99
+ skills: mapped.filter(m => held.has(m.engine)).map(m => m.engine),
100
+ missing: mapped.filter(m => !held.has(m.engine)).map(m => m.book),
101
+ page: 'p.90',
102
+ };
103
+ });
104
+ const unavailable = SR5_GROUPS
105
+ .filter(g => survivorsOf(g, held).length < MIN_GROUP_MEMBERS)
106
+ .map(g => ({
107
+ name: g.name,
108
+ kept: survivorsOf(g, held),
109
+ reason: survivorsOf(g, held).length === 0
110
+ ? 'this engine has none of its skills, so there is no group left to buy'
111
+ : 'this engine holds only one of its skills, which is a skill and not a group',
112
+ }));
113
+ return { exposed, unavailable };
114
+ }
115
+ const DERIVED = deriveSkillGroups(new Set(SKILL_NAMES));
116
+ /**
117
+ * The groups this engine offers. Currently ALL FIFTEEN, each at full
118
+ * canon membership -- so no group carries a `missing` entry and the
119
+ * unavailable list below is empty. That was not true before the
120
+ * vocabulary was restored, and the machinery for the other case is kept
121
+ * (and tested) because the condition can return.
122
+ */
123
+ export const SKILL_GROUPS = DERIVED.exposed;
124
+ /**
125
+ * The book's groups this engine cannot offer, with the reason -- so the
126
+ * web can EXPLAIN an absence instead of leaving a player to wonder where
127
+ * a group went. A silent gap is the shape that gets re-reported.
128
+ *
129
+ * EMPTY TODAY. Kept because it is the honest answer if a skill is ever
130
+ * retired without a replacement, and because an empty list is a fact
131
+ * worth publishing: .com can render "all fifteen available" from it
132
+ * rather than inferring it.
133
+ */
134
+ export const UNAVAILABLE_SKILL_GROUPS = DERIVED.unavailable;
135
+ //# sourceMappingURL=skill-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-groups.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/skill-groups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAa,MAAM,oBAAoB,CAAC;AAiE5D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C,oEAAoE;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,GAAuD;IACrE,8DAA8D;IAC9D,uEAAuE;IACvE,wEAAwE;IACxE,oEAAoE;IACpE,mDAAmD;IACnD,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE;IACnF,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE;IACvF,yDAAyD;IACzD,kEAAkE;IAClE,sEAAsE;IACtE,0DAA0D;IAC1D,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE;IAC1F,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;IAC7F,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE;IACvF,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,oBAAoB,CAAC,EAAE;IAChG,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;IAC1F,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE;IAC9F;QACE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa;QACvC,OAAO,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;KACrG;IACD,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE;IACrF,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE;IAC5F,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;IACtF,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,qBAAqB,CAAC,EAAE;IACxG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;IACjF,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE;CAC1F,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,OAAO,GAA8B;IACzC,gBAAgB,EAAE,SAAS;CAC5B,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAU,EAAE,CAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEnE,MAAM,WAAW,GAAG,CAAC,CAAwB,EAAE,IAAyB,EAAY,EAAE,CACpF,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAyB;IAIzD,MAAM,OAAO,GAAG,UAAU;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC;SAC7D,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzE,OAAO;YACL,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAmB,CAAC;YAC9E,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,IAAI,EAAE,MAAM;SACb,CAAC;IACJ,CAAC,CAAC,CAAC;IACL,MAAM,WAAW,GAAG,UAAU;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,iBAAiB,CAAC;SAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACT,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC;QAC1B,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YACvC,CAAC,CAAC,sEAAsE;YACxE,CAAC,CAAC,4EAA4E;KACjF,CAAC,CAAC,CAAC;IACN,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,GAAG,CAAS,WAAW,CAAC,CAAC,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAkB,OAAO,CAAC,OAAO,CAAC;AAE3D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * SR5e SPELLS as chargen vocabulary AND casting mechanics -- ONE source.
3
+ *
4
+ * Until now a magician "knew every spell innately": magic>0 could cast
5
+ * anything, and there was no spellbook to choose. That is a canon
6
+ * deviation (a magician SELECTS a limited set at creation, p.281/p.300),
7
+ * and the fix is the same shape as SKILL_GROUPS -- put the definitions in
8
+ * the engine, read them live via loadEngineModule, and let the web build
9
+ * a picker against them rather than re-encoding a list that would drift.
10
+ *
11
+ * OPTION (a), the user's ruling: this catalog holds exactly the spells the
12
+ * engine can actually CAST today (cast.ts drives every one of them), so a
13
+ * spell you can choose is a spell that works -- no entry that lies. The
14
+ * list grows as more spells gain real mechanics, and this file is the one
15
+ * place a new spell is added (mechanics + catalog metadata together), so
16
+ * cast.ts and the chargen picker can never disagree about what exists.
17
+ *
18
+ * DRAIN is priced off Force at cast time: drain = max(2, Force +
19
+ * drainOffset) (p.281). The catalog carries the offset so the picker can
20
+ * show the book's drain formula; the Force dial itself is chosen at cast.
21
+ */
22
+ export type SpellCategory = 'Combat' | 'Detection' | 'Health' | 'Illusion' | 'Manipulation';
23
+ export interface ISpell {
24
+ key: string;
25
+ /** Display name, the book's. */
26
+ name: string;
27
+ category: SpellCategory;
28
+ /**
29
+ * RAW drain formula offset: drain = max(2, Force + offset). Tuned so the
30
+ * DEFAULT Force (the caster's Magic) reproduces the pre-Force numbers; a
31
+ * couple are a point softer than the book's letter and say so in cast.ts.
32
+ */
33
+ drainOffset: number;
34
+ /**
35
+ * Combat spells: what soaks the hit (p.283). 'willpower' = DIRECT mana;
36
+ * 'body' = DIRECT physical; 'armor' = INDIRECT elemental (full soak
37
+ * minus AP floor(Force/3)).
38
+ */
39
+ soak?: 'willpower' | 'body' | 'armor';
40
+ /** Damage lands on the STUN track. */
41
+ stun?: boolean;
42
+ /** AREA spell: resolves against the named target, then splashes the room. */
43
+ area?: boolean;
44
+ /** TOUCH range: the cast walks you onto their spot first. */
45
+ touch?: boolean;
46
+ page: string;
47
+ }
48
+ /**
49
+ * THE CATALOG -- every spell the engine casts, categorised for the picker.
50
+ * cast.ts reads the mechanics off this via SPELLS (below); the web reads
51
+ * the same array for the chargen spell list. Adding a spell here, with real
52
+ * cast.ts support, is the only way to grow the list -- which is option (a).
53
+ */
54
+ export declare const SPELL_CATALOG: ISpell[];
55
+ /** Keyed lookup -- cast.ts's mechanics source (replaces its local record). */
56
+ export declare const SPELLS: Record<string, ISpell>;
57
+ /**
58
+ * How many spells a magician may KNOW at character creation: Magic x 2
59
+ * (p.100, "Maximum number of spells... known at Character Creation equals
60
+ * Magic Rating x 2"). A per-character cap, not a constant -- the web
61
+ * computes it from the chosen Magic; exported as a helper so the number
62
+ * lives in one place.
63
+ */
64
+ export declare const spellCreationCap: (magic: number) => number;
@@ -0,0 +1,68 @@
1
+ /**
2
+ * SR5e SPELLS as chargen vocabulary AND casting mechanics -- ONE source.
3
+ *
4
+ * Until now a magician "knew every spell innately": magic>0 could cast
5
+ * anything, and there was no spellbook to choose. That is a canon
6
+ * deviation (a magician SELECTS a limited set at creation, p.281/p.300),
7
+ * and the fix is the same shape as SKILL_GROUPS -- put the definitions in
8
+ * the engine, read them live via loadEngineModule, and let the web build
9
+ * a picker against them rather than re-encoding a list that would drift.
10
+ *
11
+ * OPTION (a), the user's ruling: this catalog holds exactly the spells the
12
+ * engine can actually CAST today (cast.ts drives every one of them), so a
13
+ * spell you can choose is a spell that works -- no entry that lies. The
14
+ * list grows as more spells gain real mechanics, and this file is the one
15
+ * place a new spell is added (mechanics + catalog metadata together), so
16
+ * cast.ts and the chargen picker can never disagree about what exists.
17
+ *
18
+ * DRAIN is priced off Force at cast time: drain = max(2, Force +
19
+ * drainOffset) (p.281). The catalog carries the offset so the picker can
20
+ * show the book's drain formula; the Force dial itself is chosen at cast.
21
+ */
22
+ /**
23
+ * THE CATALOG -- every spell the engine casts, categorised for the picker.
24
+ * cast.ts reads the mechanics off this via SPELLS (below); the web reads
25
+ * the same array for the chargen spell list. Adding a spell here, with real
26
+ * cast.ts support, is the only way to grow the list -- which is option (a).
27
+ */
28
+ export const SPELL_CATALOG = [
29
+ // ---- Combat: DIRECT (soak with the single named attribute, no armor) --
30
+ { key: 'manabolt', name: 'Manabolt', category: 'Combat', drainOffset: -3, soak: 'willpower', page: 'p.284' },
31
+ { key: 'stunbolt', name: 'Stunbolt', category: 'Combat', drainOffset: -3, soak: 'willpower', stun: true, page: 'p.284' },
32
+ { key: 'powerbolt', name: 'Powerbolt', category: 'Combat', drainOffset: -3, soak: 'body', page: 'p.284' },
33
+ // ---- Combat: INDIRECT elemental (thrown like a gun, full soak minus AP) --
34
+ { key: 'fireball', name: 'Fireball', category: 'Combat', drainOffset: -2, soak: 'armor', page: 'p.284' },
35
+ { key: 'lightning-bolt', name: 'Lightning Bolt', category: 'Combat', drainOffset: -3, soak: 'armor', page: 'p.284' },
36
+ { key: 'acid-stream', name: 'Acid Stream', category: 'Combat', drainOffset: -3, soak: 'armor', page: 'p.284' },
37
+ { key: 'flamethrower', name: 'Flamethrower', category: 'Combat', drainOffset: -3, soak: 'armor', page: 'p.284' },
38
+ { key: 'clout', name: 'Clout', category: 'Combat', drainOffset: -3, soak: 'armor', stun: true, page: 'p.284' },
39
+ // ---- Combat: TOUCH (the cheapest drain, paid for by reaching them) ----
40
+ { key: 'death-touch', name: 'Death Touch', category: 'Combat', drainOffset: -6, soak: 'willpower', touch: true, page: 'p.284' },
41
+ { key: 'knockout', name: 'Knockout', category: 'Combat', drainOffset: -6, soak: 'willpower', stun: true, touch: true, page: 'p.284' },
42
+ { key: 'shatter', name: 'Shatter', category: 'Combat', drainOffset: -6, soak: 'body', touch: true, page: 'p.284' },
43
+ // ---- Combat: AREA (the named target takes it, the room eats the blast) -
44
+ { key: 'manaball', name: 'Manaball', category: 'Combat', drainOffset: 0, soak: 'willpower', area: true, page: 'p.284' },
45
+ { key: 'stunball', name: 'Stunball', category: 'Combat', drainOffset: 0, soak: 'willpower', stun: true, area: true, page: 'p.284' },
46
+ { key: 'powerball', name: 'Powerball', category: 'Combat', drainOffset: 0, soak: 'body', area: true, page: 'p.284' },
47
+ { key: 'ball-lightning', name: 'Ball Lightning', category: 'Combat', drainOffset: -1, soak: 'armor', area: true, page: 'p.284' },
48
+ // ---- Health --------------------------------------------------------
49
+ { key: 'heal', name: 'Heal', category: 'Health', drainOffset: -4, page: 'p.287' },
50
+ { key: 'reflexes', name: 'Increase Reflexes', category: 'Health', drainOffset: -3, page: 'p.287' },
51
+ // ---- Illusion ------------------------------------------------------
52
+ { key: 'invisibility', name: 'Invisibility', category: 'Illusion', drainOffset: -4, page: 'p.291' },
53
+ // ---- Manipulation --------------------------------------------------
54
+ { key: 'armor', name: 'Armor', category: 'Manipulation', drainOffset: -4, page: 'p.293' },
55
+ { key: 'barrier', name: 'Physical Barrier', category: 'Manipulation', drainOffset: -3, page: 'p.294' },
56
+ { key: 'manabarrier', name: 'Mana Barrier', category: 'Manipulation', drainOffset: -2, page: 'p.294' },
57
+ ];
58
+ /** Keyed lookup -- cast.ts's mechanics source (replaces its local record). */
59
+ export const SPELLS = Object.fromEntries(SPELL_CATALOG.map((s) => [s.key, s]));
60
+ /**
61
+ * How many spells a magician may KNOW at character creation: Magic x 2
62
+ * (p.100, "Maximum number of spells... known at Character Creation equals
63
+ * Magic Rating x 2"). A per-character cap, not a constant -- the web
64
+ * computes it from the chosen Magic; exported as a helper so the number
65
+ * lives in one place.
66
+ */
67
+ export const spellCreationCap = (magic) => Math.max(0, Math.trunc(magic)) * 2;
68
+ //# sourceMappingURL=spells.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spells.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/spells.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,10 @@ export interface IRegisteredSprite {
40
40
  * AFTER construction (firearms auto-fill ammo to 10 in the ctor).
41
41
  */
42
42
  export interface ISavedItem extends IItemSeedJson {
43
+ /** How many are in this stack. SPARSE: written only when >1, so
44
+ * absent means 1 and every save written before stacking existed
45
+ * restores unchanged. Same contract as `ammo` below. */
46
+ quantity?: number;
43
47
  ammo?: number;
44
48
  jammed?: boolean;
45
49
  deckDamage?: number;
@@ -92,6 +96,16 @@ export interface ISavedPlayer {
92
96
  edge: number;
93
97
  resonance: number;
94
98
  adept: boolean;
99
+ /** Mystic adept: Power Points bought with creation karma (SR5
100
+ * p.69-70). Optional -- a save written before the path existed has
101
+ * none, and absent means zero, which is a magician or an adept
102
+ * exactly as it always was. */
103
+ powerPoints?: number;
104
+ /** Chosen spellbook (magician/mystic adept, SR5 p.300). Keys into
105
+ * SPELL_CATALOG. ABSENT = knows every spell (grandfathered, any save
106
+ * older than spell selection); a list = knows only those. Empty and
107
+ * absent are distinct and both preserved. */
108
+ knownSpells?: string[];
95
109
  };
96
110
  /** Talent before essence burn -- the true source; effective magic/
97
111
  * resonance recompute from these + the aug replay. */
@@ -379,8 +393,17 @@ export interface ISaveFileV1 {
379
393
  player: ISavedPlayer;
380
394
  game: ISavedGameState;
381
395
  hub: ISavedHub;
382
- /** Cloud-sync bookkeeping (local-first): the cloud copy's savedAt as
383
- * of our last successful push/pull -- divergence detection. */
396
+ /** Cloud-sync bookkeeping: the cloud copy's savedAt as of our last
397
+ * successful push/pull -- divergence detection.
398
+ *
399
+ * MEANS DIFFERENT THINGS FOR THE TWO KINDS OF RUNNER NOW. For an
400
+ * ANONYMOUS save it is vestigial (nothing is ever pushed). For a
401
+ * BOUND one the server is authoritative and there is no divergence
402
+ * to detect during play -- the field survives for the launcher's
403
+ * MIGRATION pass and for comparing a spill against the server copy,
404
+ * which are the only two places a local bound file is still read.
405
+ * It is no longer evidence that a local file is a legitimate second
406
+ * home for the character. */
384
407
  sync?: {
385
408
  lastCloudSavedAt?: string;
386
409
  };
@@ -208,9 +208,23 @@ export async function main(playerName, sceneSeed, options) {
208
208
  // that covers every path. Death exits code 2 (and burned the save
209
209
  // in Game.close); crashes exit 1 and deliberately do NOT save
210
210
  // half-applied state -- the last safe-beat save stands.
211
+ //
212
+ // FOR A BOUND RUNNER THIS HOOK CANNOT REACH THE GRID, and that is a
213
+ // fact about `process.on('exit')` rather than a shortcut: nothing
214
+ // asynchronous runs here, so no upload can be attempted, let alone
215
+ // awaited. What it CAN do is write the spill synchronously, which is
216
+ // exactly what requestSave does for a bound runner -- so the beat is
217
+ // durable on disk and the next launch uploads it (ruling 2).
218
+ //
219
+ // The quit VERB seals properly before it gets here (game.ts, awaited
220
+ // flushBoundSave) and sets `quitSealed`; this hook then has nothing
221
+ // left to do for that path. It stays as the whole guarantee for the
222
+ // paths that never reach the verb -- C-c, SIGTERM, a crash.
211
223
  process.on('exit', (code) => {
212
224
  if (code === 0) {
213
225
  try {
226
+ if (game.quitSealed)
227
+ return;
214
228
  game.requestSave('quit');
215
229
  }
216
230
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/ui.ts"],"names":[],"mappings":"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"}