@maka/maka-cli 5.121.0 → 5.122.1

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":"combat-exchange.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/combat-exchange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"combat-exchange.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/combat-exchange.ts"],"names":[],"mappings":"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"}
@@ -27,3 +27,35 @@ export declare function isLinked(actor: {
27
27
  } | null;
28
28
  };
29
29
  }): boolean;
30
+ /** One side of a live call, structurally -- the only field this needs. */
31
+ interface ICallable {
32
+ activeCallPartner?: ICallable;
33
+ name: string;
34
+ }
35
+ /**
36
+ * DROP A LIVE CALL, BOTH SIDES, and say who was on it.
37
+ *
38
+ * Losing your link has to end your call, and the engine knew that in
39
+ * two places out of three: hack.ts cuts the call when a PAN crack takes
40
+ * your AR, silent.ts cuts it when you go dark -- and taking the
41
+ * commlink OFF left the call standing (MgrjzDYTzY8sJdvkT: "when I
42
+ * unequipped my commlink, I went offline, but the call with deditri was
43
+ * still active"). Three ways to lose the link, two of them hung up.
44
+ *
45
+ * Extracted rather than copied a third time. The mutation is four lines
46
+ * and trivially re-typed, which is exactly how it came to exist twice
47
+ * already; what is NOT trivial is remembering that both sides must be
48
+ * cleared, and a fourth way to go dark will get that for free.
49
+ *
50
+ * PROSE STAYS WITH THE CALLER. Each of these reads differently -- a
51
+ * crack drops the call "mid-word", going silent is a choice, taking the
52
+ * link off is absent-mindedness -- and folding one sentence over all
53
+ * three would flatten the only part that carries meaning.
54
+ *
55
+ * The CREW CHANNEL is deliberately untouched, matching what hack.ts and
56
+ * silent.ts already do. It is a cross-player, server-side line rather
57
+ * than an in-scene call, and cutting one from here would reach into
58
+ * another player's session as a side effect of a gear tweak.
59
+ */
60
+ export declare function dropActiveCall(actor: ICallable): string | undefined;
61
+ export {};
@@ -30,4 +30,37 @@ export function isLinked(actor) {
30
30
  const carried = actor.inventory.getAllItems().some(i => i.category === 'commlink');
31
31
  return worn || carried;
32
32
  }
33
+ /**
34
+ * DROP A LIVE CALL, BOTH SIDES, and say who was on it.
35
+ *
36
+ * Losing your link has to end your call, and the engine knew that in
37
+ * two places out of three: hack.ts cuts the call when a PAN crack takes
38
+ * your AR, silent.ts cuts it when you go dark -- and taking the
39
+ * commlink OFF left the call standing (MgrjzDYTzY8sJdvkT: "when I
40
+ * unequipped my commlink, I went offline, but the call with deditri was
41
+ * still active"). Three ways to lose the link, two of them hung up.
42
+ *
43
+ * Extracted rather than copied a third time. The mutation is four lines
44
+ * and trivially re-typed, which is exactly how it came to exist twice
45
+ * already; what is NOT trivial is remembering that both sides must be
46
+ * cleared, and a fourth way to go dark will get that for free.
47
+ *
48
+ * PROSE STAYS WITH THE CALLER. Each of these reads differently -- a
49
+ * crack drops the call "mid-word", going silent is a choice, taking the
50
+ * link off is absent-mindedness -- and folding one sentence over all
51
+ * three would flatten the only part that carries meaning.
52
+ *
53
+ * The CREW CHANNEL is deliberately untouched, matching what hack.ts and
54
+ * silent.ts already do. It is a cross-player, server-side line rather
55
+ * than an in-scene call, and cutting one from here would reach into
56
+ * another player's session as a side effect of a gear tweak.
57
+ */
58
+ export function dropActiveCall(actor) {
59
+ const partner = actor.activeCallPartner;
60
+ if (!partner)
61
+ return undefined;
62
+ actor.activeCallPartner = undefined;
63
+ partner.activeCallPartner = undefined;
64
+ return partner.name;
65
+ }
33
66
  //# sourceMappingURL=comm-style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"comm-style.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/comm-style.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,wEAAwE;AACxE,mDAAmD;AACnD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;AAEjC;;;;;;gDAMgD;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAIxB;IACC,IAAI,KAAK,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IACnF,OAAO,IAAI,IAAI,OAAO,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"comm-style.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/comm-style.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,wEAAwE;AACxE,mDAAmD;AACnD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;AAEjC;;;;;;gDAMgD;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAIxB;IACC,IAAI,KAAK,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IACnF,OAAO,IAAI,IAAI,OAAO,CAAC;AACzB,CAAC;AAKD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,cAAc,CAAC,KAAgB;IAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACtC,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC"}
@@ -56,6 +56,11 @@ export interface IDiceRoll {
56
56
  export interface IRollOptions {
57
57
  gremlins?: number;
58
58
  }
59
+ export declare function scriptRolls(hits: number[] | undefined): void;
60
+ /** How many scripted rolls are still queued -- so a test can assert it
61
+ * consumed exactly what it meant to, rather than trailing extras into
62
+ * the next assertion. */
63
+ export declare function scriptedRollsRemaining(): number;
59
64
  export declare function rollPool(pool: number, limit?: number, opts?: IRollOptions): IDiceRoll;
60
65
  /**
61
66
  * One-line render of a roll for the game log, e.g.: "8d6 -> 4 hits"
@@ -5,9 +5,43 @@
5
5
  * (it went ugly AND you failed). Pure functions, no game-state knowledge --
6
6
  * combat resolution lives in commands/attack.ts.
7
7
  */
8
+ /**
9
+ * THE DICE SEAM, FOR TESTS THAT NEED A PARTICULAR OUTCOME (added
10
+ * 2026-09-03 with the opposed Matrix intrusion, uMQAhaAysgaKpWFkn).
11
+ *
12
+ * Seventeen test files pinned `Math.random = () => 0.99` to mean "this
13
+ * action succeeds". That worked only while one side rolled. The moment
14
+ * an action became OPPOSED the same pin made the DEFENDER roll perfectly
15
+ * too -- and because a limit caps the acting side's hits and never the
16
+ * defender's, "every die is a 6" does not mean the attacker wins; it
17
+ * means the attacker always LOSES. No amount of pool tuning fixes that,
18
+ * because the ceiling is on the wrong side.
19
+ *
20
+ * So rolls can be scripted in order: each entry is the hit count for the
21
+ * next call. A limit still applies to a scripted roll, because a test
22
+ * that wants to prove the bracket bites must be able to.
23
+ *
24
+ * Engine code never calls this. It is exported for the harness and dies
25
+ * with `scriptRolls(undefined)`.
26
+ */
27
+ let scriptedHits;
28
+ export function scriptRolls(hits) {
29
+ scriptedHits = hits ? [...hits] : undefined;
30
+ }
31
+ /** How many scripted rolls are still queued -- so a test can assert it
32
+ * consumed exactly what it meant to, rather than trailing extras into
33
+ * the next assertion. */
34
+ export function scriptedRollsRemaining() {
35
+ return scriptedHits?.length ?? 0;
36
+ }
8
37
  export function rollPool(pool, limit, opts = {}) {
9
38
  const size = Math.max(0, Math.floor(pool));
10
- const rolls = Array.from({ length: size }, () => 1 + Math.floor(Math.random() * 6));
39
+ const scripted = scriptedHits && scriptedHits.length > 0 ? scriptedHits.shift() : undefined;
40
+ const rolls = scripted !== undefined
41
+ // Faces that add up to the scripted hits: the count is what any
42
+ // caller reads, and formatRoll only prints pool and hits.
43
+ ? Array.from({ length: size }, (_, i) => (i < Math.min(scripted, size) ? 6 : 3))
44
+ : Array.from({ length: size }, () => 1 + Math.floor(Math.random() * 6));
11
45
  const rawHits = rolls.filter(r => r >= 5).length;
12
46
  const ones = rolls.filter(r => r === 1).length;
13
47
  // More than half the pool shows 1s (p.45): ones >= floor(size/2) + 1.
@@ -1 +1 @@
1
- {"version":3,"file":"dice.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/dice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dice.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/dice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import type { Host } from '../models/host.js';
2
+ import type { Device } from '../models/device.js';
3
+ /**
4
+ * THE ONE ACTION THAT PLACES MARKS (uMQAhaAysgaKpWFkn, pcampbell:
5
+ * "Marking is a symptom of either Brute Force [Attack] or Hack on the
6
+ * Fly [Sleaze] ... the way Mark is working, it's obfuscating the real
7
+ * actions. Also removing benefits from both of those actions.")
8
+ *
9
+ * Canon, RAG-checked 2026-09-03 rather than from memory: SR5 has NO
10
+ * standalone mark action. A mark is only ever the byproduct of
11
+ *
12
+ * Brute Force (p.238, Complex) Cybercombat + Logic [Attack]
13
+ * v. Willpower + Firewall
14
+ * Hack on the Fly (p.240, Complex) Hacking + Logic [Sleaze]
15
+ * v. Intuition + Firewall
16
+ *
17
+ * Both place ONE mark on success, up to three total on an icon, and both
18
+ * let you declare for more BEFORE rolling at a dice penalty. Each also
19
+ * carries a benefit this engine never delivered, which is the second
20
+ * half of the report: Hack on the Fly reads the target while it keys it,
21
+ * and Brute Force burns the target while it forces the door.
22
+ *
23
+ * This module is the ARITHMETIC of that action, kept pure so the numbers
24
+ * can be tested without a world: the two verbs compose it, so they can no
25
+ * longer disagree about what one roll is worth -- which is the defect
26
+ * underneath the report (the same roll cracked an entire host through
27
+ * `hack` and bought one increment through `mark`).
28
+ */
29
+ /** Three per icon, p.236. Re-exported from marks.ts's constant by the
30
+ * callers; named here for the declaration table's bounds. */
31
+ export declare const MAX_DECLARED_MARKS = 3;
32
+ /**
33
+ * DECLARING FOR MORE THAN ONE (p.238/p.240, identical on both actions):
34
+ * "you can attempt to place more than one mark by declaring before
35
+ * rolling. Trying for two marks imposes a -4 dice pool penalty; trying
36
+ * for three imposes a -10."
37
+ *
38
+ * This is what keeps a one-action host takeover in the game after the
39
+ * decomposition: a decker who wants everything at once can still have
40
+ * it, at the book's price, instead of getting it free because they typed
41
+ * `hack` rather than `mark`.
42
+ */
43
+ export declare const MARK_DECLARATION_PENALTY: Readonly<Record<number, number>>;
44
+ /**
45
+ * GO BIG OR GO HOME (Data Trails p.44, cited on the item's own vetting):
46
+ * the three-mark penalty drops from -10 to -6. It touches nothing else,
47
+ * so it is a lookup rather than a bonus tap.
48
+ */
49
+ export declare const GO_BIG_THREE_MARK_PENALTY = -6;
50
+ export declare const GO_BIG_QUALITY = "go-big-or-go-home";
51
+ export declare function declarationPenalty(marks: number, hasGoBig: boolean): number;
52
+ /**
53
+ * "hack host for 3" / "hack 2 marks on the door" -- the declaration, read
54
+ * off the words the player typed. Absent means one, which is the book's
55
+ * default and the only thing the engine could do before.
56
+ */
57
+ export declare function parseMarkDeclaration(words: string[]): {
58
+ marks: number;
59
+ rest: string[];
60
+ };
61
+ /** What one side of the opposed test is made of, so the Mechanics line
62
+ * can show it rather than asserting a number out of nowhere. */
63
+ export interface IIntrusionDefense {
64
+ label: string;
65
+ pool: number;
66
+ }
67
+ /**
68
+ * A SLAVED DEVICE DEFENDS WITH ITS OWN RATING, NOT ITS HOST'S -- canon,
69
+ * and the load-bearing fact under the decomposition. Data Trails p.87-88
70
+ * works the example: a decker already standing inside a host still rolls
71
+ * "Hacking + Logic [Sleaze] versus DR + Firewall (which amounts to being
72
+ * DR x 2 in this case)" to get a mark on a door slaved to that host. One
73
+ * action does not open everything; each icon is its own door.
74
+ *
75
+ * Device.pickThreshold already reads Rating x 2 for the physical lock,
76
+ * from the same one-number-three-uses reading (p.359-360); this is the
77
+ * Matrix face of that same rating.
78
+ */
79
+ export declare function deviceDefensePool(device: Pick<Device, 'rating'>): IIntrusionDefense;
80
+ /**
81
+ * A HOST'S OWN DEFENCE IS AN ENGINE RULING, NOT A CITATION, and this
82
+ * comment is the label on it. Asked directly (2026-09-03), the rulebooks
83
+ * do not state what a host rolls to resist Brute Force or Hack on the
84
+ * Fly: p.247 gives its attributes, p.247-248 gives Host Rating x 2 for
85
+ * what its IC rolls to ATTACK, and Data Trails p.87-88 gives DR +
86
+ * Firewall for a slaved device -- but nothing gives the host's own
87
+ * defence against being marked.
88
+ *
89
+ * So this takes the shape the book DOES state for the neighbouring case
90
+ * (the defender's rating plus its Firewall) and points it at the host.
91
+ * Deliberately not Host Rating x 2: that number is what IC rolls on
92
+ * offence, and borrowing it would quietly make every host defend exactly
93
+ * as hard as its ice attacks. Where canon is silent the engine says so
94
+ * rather than dressing a guess as a page number.
95
+ */
96
+ export declare function hostDefensePool(host: Pick<Host, 'rating'> & {
97
+ attributes(): {
98
+ firewall: number;
99
+ };
100
+ }): IIntrusionDefense;
101
+ /**
102
+ * HACK ON THE FLY READS WHILE IT KEYS (p.240): "every two full net hits
103
+ * counts as one hit on a Matrix Perception Test, allowing the hacker to
104
+ * get some info along with the mark." One of the two benefits the report
105
+ * says the engine strips out.
106
+ */
107
+ export declare function freeMatrixPerceptionHits(netHits: number): number;
108
+ /**
109
+ * BRUTE FORCE BURNS WHILE IT FORCES (p.238): on a success "you can also
110
+ * inflict 1 DV of Matrix damage for every two full net hits", resisted
111
+ * by the target's Device Rating + Firewall. The other stripped benefit.
112
+ */
113
+ export declare function bruteForceMatrixDv(netHits: number): number;
114
+ /**
115
+ * WHAT GOD ACTUALLY BILLS (p.231-232): "your OS increases by the number
116
+ * of hits the target gets on its defense test" for an illegal Attack or
117
+ * Sleaze action. The engine charged a flat 2 per intrusion instead --
118
+ * which meant a host that rolled badly cost the same as one that nearly
119
+ * caught you, and the defence roll it never made could not be felt.
120
+ */
121
+ export declare function overwatchFromDefense(defenseHits: number): number;
@@ -0,0 +1,141 @@
1
+ /**
2
+ * THE ONE ACTION THAT PLACES MARKS (uMQAhaAysgaKpWFkn, pcampbell:
3
+ * "Marking is a symptom of either Brute Force [Attack] or Hack on the
4
+ * Fly [Sleaze] ... the way Mark is working, it's obfuscating the real
5
+ * actions. Also removing benefits from both of those actions.")
6
+ *
7
+ * Canon, RAG-checked 2026-09-03 rather than from memory: SR5 has NO
8
+ * standalone mark action. A mark is only ever the byproduct of
9
+ *
10
+ * Brute Force (p.238, Complex) Cybercombat + Logic [Attack]
11
+ * v. Willpower + Firewall
12
+ * Hack on the Fly (p.240, Complex) Hacking + Logic [Sleaze]
13
+ * v. Intuition + Firewall
14
+ *
15
+ * Both place ONE mark on success, up to three total on an icon, and both
16
+ * let you declare for more BEFORE rolling at a dice penalty. Each also
17
+ * carries a benefit this engine never delivered, which is the second
18
+ * half of the report: Hack on the Fly reads the target while it keys it,
19
+ * and Brute Force burns the target while it forces the door.
20
+ *
21
+ * This module is the ARITHMETIC of that action, kept pure so the numbers
22
+ * can be tested without a world: the two verbs compose it, so they can no
23
+ * longer disagree about what one roll is worth -- which is the defect
24
+ * underneath the report (the same roll cracked an entire host through
25
+ * `hack` and bought one increment through `mark`).
26
+ */
27
+ /** Three per icon, p.236. Re-exported from marks.ts's constant by the
28
+ * callers; named here for the declaration table's bounds. */
29
+ export const MAX_DECLARED_MARKS = 3;
30
+ /**
31
+ * DECLARING FOR MORE THAN ONE (p.238/p.240, identical on both actions):
32
+ * "you can attempt to place more than one mark by declaring before
33
+ * rolling. Trying for two marks imposes a -4 dice pool penalty; trying
34
+ * for three imposes a -10."
35
+ *
36
+ * This is what keeps a one-action host takeover in the game after the
37
+ * decomposition: a decker who wants everything at once can still have
38
+ * it, at the book's price, instead of getting it free because they typed
39
+ * `hack` rather than `mark`.
40
+ */
41
+ export const MARK_DECLARATION_PENALTY = { 1: 0, 2: -4, 3: -10 };
42
+ /**
43
+ * GO BIG OR GO HOME (Data Trails p.44, cited on the item's own vetting):
44
+ * the three-mark penalty drops from -10 to -6. It touches nothing else,
45
+ * so it is a lookup rather than a bonus tap.
46
+ */
47
+ export const GO_BIG_THREE_MARK_PENALTY = -6;
48
+ export const GO_BIG_QUALITY = 'go-big-or-go-home';
49
+ export function declarationPenalty(marks, hasGoBig) {
50
+ const n = Math.max(1, Math.min(MAX_DECLARED_MARKS, Math.floor(marks)));
51
+ if (n === MAX_DECLARED_MARKS && hasGoBig)
52
+ return GO_BIG_THREE_MARK_PENALTY;
53
+ return MARK_DECLARATION_PENALTY[n] ?? 0;
54
+ }
55
+ /**
56
+ * "hack host for 3" / "hack 2 marks on the door" -- the declaration, read
57
+ * off the words the player typed. Absent means one, which is the book's
58
+ * default and the only thing the engine could do before.
59
+ */
60
+ export function parseMarkDeclaration(words) {
61
+ const rest = [...words];
62
+ for (let i = 0; i < rest.length; i++) {
63
+ const w = rest[i].toLowerCase();
64
+ // "for 2", "for 3 marks", "x2", "2 marks"
65
+ const m = /^x?([123])$/.exec(w);
66
+ if (!m)
67
+ continue;
68
+ const prev = (rest[i - 1] ?? '').toLowerCase();
69
+ const next = (rest[i + 1] ?? '').toLowerCase();
70
+ if (prev !== 'for' && !/^marks?$/.test(next) && !/^x[123]$/.test(w))
71
+ continue;
72
+ const marks = Number(m[1]);
73
+ const from = prev === 'for' ? i - 1 : i;
74
+ const to = /^marks?$/.test(next) ? i + 1 : i;
75
+ rest.splice(from, to - from + 1);
76
+ return { marks, rest };
77
+ }
78
+ return { marks: 1, rest };
79
+ }
80
+ /**
81
+ * A SLAVED DEVICE DEFENDS WITH ITS OWN RATING, NOT ITS HOST'S -- canon,
82
+ * and the load-bearing fact under the decomposition. Data Trails p.87-88
83
+ * works the example: a decker already standing inside a host still rolls
84
+ * "Hacking + Logic [Sleaze] versus DR + Firewall (which amounts to being
85
+ * DR x 2 in this case)" to get a mark on a door slaved to that host. One
86
+ * action does not open everything; each icon is its own door.
87
+ *
88
+ * Device.pickThreshold already reads Rating x 2 for the physical lock,
89
+ * from the same one-number-three-uses reading (p.359-360); this is the
90
+ * Matrix face of that same rating.
91
+ */
92
+ export function deviceDefensePool(device) {
93
+ return { label: 'Device Rating + Firewall', pool: Math.max(0, device.rating * 2) };
94
+ }
95
+ /**
96
+ * A HOST'S OWN DEFENCE IS AN ENGINE RULING, NOT A CITATION, and this
97
+ * comment is the label on it. Asked directly (2026-09-03), the rulebooks
98
+ * do not state what a host rolls to resist Brute Force or Hack on the
99
+ * Fly: p.247 gives its attributes, p.247-248 gives Host Rating x 2 for
100
+ * what its IC rolls to ATTACK, and Data Trails p.87-88 gives DR +
101
+ * Firewall for a slaved device -- but nothing gives the host's own
102
+ * defence against being marked.
103
+ *
104
+ * So this takes the shape the book DOES state for the neighbouring case
105
+ * (the defender's rating plus its Firewall) and points it at the host.
106
+ * Deliberately not Host Rating x 2: that number is what IC rolls on
107
+ * offence, and borrowing it would quietly make every host defend exactly
108
+ * as hard as its ice attacks. Where canon is silent the engine says so
109
+ * rather than dressing a guess as a page number.
110
+ */
111
+ export function hostDefensePool(host) {
112
+ return { label: 'Host Rating + Firewall', pool: Math.max(0, host.rating + host.attributes().firewall) };
113
+ }
114
+ /**
115
+ * HACK ON THE FLY READS WHILE IT KEYS (p.240): "every two full net hits
116
+ * counts as one hit on a Matrix Perception Test, allowing the hacker to
117
+ * get some info along with the mark." One of the two benefits the report
118
+ * says the engine strips out.
119
+ */
120
+ export function freeMatrixPerceptionHits(netHits) {
121
+ return Math.max(0, Math.floor(netHits / 2));
122
+ }
123
+ /**
124
+ * BRUTE FORCE BURNS WHILE IT FORCES (p.238): on a success "you can also
125
+ * inflict 1 DV of Matrix damage for every two full net hits", resisted
126
+ * by the target's Device Rating + Firewall. The other stripped benefit.
127
+ */
128
+ export function bruteForceMatrixDv(netHits) {
129
+ return Math.max(0, Math.floor(netHits / 2));
130
+ }
131
+ /**
132
+ * WHAT GOD ACTUALLY BILLS (p.231-232): "your OS increases by the number
133
+ * of hits the target gets on its defense test" for an illegal Attack or
134
+ * Sleaze action. The engine charged a flat 2 per intrusion instead --
135
+ * which meant a host that rolled badly cost the same as one that nearly
136
+ * caught you, and the defence roll it never made could not be felt.
137
+ */
138
+ export function overwatchFromDefense(defenseHits) {
139
+ return Math.max(0, defenseHits);
140
+ }
141
+ //# sourceMappingURL=matrix-intrusion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-intrusion.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/matrix-intrusion.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as fs from 'fs';
2
- import { normalizeStance } from '../models/player.js';
2
+ import { normalizeMatrixStance, normalizeStance } from '../models/player.js';
3
3
  import { resolveSpot } from './spots.js';
4
4
  import { isAspectKey } from '../aspects.js';
5
5
  import * as path from 'path';
@@ -358,6 +358,7 @@ export function serializePlayer(p) {
358
358
  hungerFatigue: p.hungerFatigue, sleepFatigue: p.sleepFatigue,
359
359
  },
360
360
  autoStance: p.autoStance,
361
+ matrixStance: p.matrixStance,
361
362
  inventory: p.inventory.getAllItems().map(serializeItem),
362
363
  equipment: serializeEquipment(p.equipment),
363
364
  };
@@ -519,6 +520,9 @@ export function restorePlayer(p, s) {
519
520
  p.edgeRemaining = s.edgeRemaining;
520
521
  p.haggledThisJob = s.haggledThisJob;
521
522
  p.autoStance = normalizeStance(s.autoStance);
523
+ // Older saves have no Matrix stance; normalizeMatrixStance defaults to
524
+ // Brute Force, which is the shipped default (models/player.ts).
525
+ p.matrixStance = normalizeMatrixStance(s.matrixStance);
522
526
  if (s.archetypeName)
523
527
  p.archetypeName = s.archetypeName;
524
528
  if (s.gender)