@maka/maka-cli 5.51.0 → 5.52.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 (89) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +61 -0
  3. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +222 -1
  4. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -1
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js +1 -1
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js.map +1 -1
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js +1 -1
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js.map +1 -1
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/buy.d.ts +4 -0
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js +35 -0
  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 +32 -2
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -1
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.d.ts +11 -0
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +183 -13
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js +30 -10
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js.map +1 -1
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/docwagon.js +4 -1
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/docwagon.js.map +1 -1
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +18 -2
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js +2 -2
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js.map +1 -1
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/install.js +45 -9
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/install.js.map +1 -1
  27. package/bundle/typescript/src/commands/game/sideQuest/commands/inv.d.ts +0 -6
  28. package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js +43 -4
  29. package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js.map +1 -1
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +1 -1
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/note.d.ts +20 -5
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/note.js +34 -10
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/note.js.map +1 -1
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js +1 -1
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js.map +1 -1
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +1 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
  39. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +2 -2
  40. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
  41. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +17 -5
  42. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
  43. package/bundle/typescript/src/commands/game/sideQuest/commands/sin.d.ts +21 -0
  44. package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js +94 -0
  45. package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js.map +1 -0
  46. package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js +52 -30
  47. package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js.map +1 -1
  48. package/bundle/typescript/src/commands/game/sideQuest/commands/use.js +1 -1
  49. package/bundle/typescript/src/commands/game/sideQuest/commands/use.js.map +1 -1
  50. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.d.ts +0 -8
  51. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +41 -0
  52. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
  53. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +9 -0
  54. package/bundle/typescript/src/commands/game/sideQuest/game.js +26 -5
  55. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  56. package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +20 -0
  57. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +95 -6
  58. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
  59. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +24 -1
  60. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +63 -15
  61. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  62. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +18 -1
  63. package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
  64. package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +7 -1
  65. package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.d.ts +1 -0
  66. package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.js +4 -0
  67. package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.js.map +1 -1
  68. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +14 -4
  69. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +219 -86
  70. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +1 -1
  71. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +18 -4
  72. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -1
  73. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +14 -4
  74. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
  75. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.d.ts +18 -0
  76. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +23 -0
  77. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
  78. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.d.ts +9 -0
  79. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.js +11 -0
  80. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.js.map +1 -1
  81. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js +4 -2
  82. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js.map +1 -1
  83. package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.d.ts +13 -0
  84. package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.js +19 -2
  85. package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.js.map +1 -1
  86. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.d.ts +20 -0
  87. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +141 -5
  88. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -1
  89. package/package.json +1 -1
@@ -26,6 +26,26 @@ export declare class NPC extends Player {
26
26
  private _maxRecursion;
27
27
  private waitingForPlayer;
28
28
  private _spokeThisStimulus;
29
+ /**
30
+ * WHAT THIS SHELL HAS ALREADY TRIED, this stimulus (player note
31
+ * 2026-08-25: "there was way too much self directive from the NPCs").
32
+ * A reflect chain with no memory of its own attempts grinds: one real
33
+ * session logged five failed grapples on the same target, "look at
34
+ * Rattle -- Rattle is here" four times, and "move to crates -- You're
35
+ * already at the crates". The model was told to read failures
36
+ * honestly and did; it just had nothing telling it not to try the
37
+ * same thing again.
38
+ *
39
+ * Two uses below: the chain BREAKS on a repeat (deterministic, so it
40
+ * can't be talked out of it), and the prompt is shown the list so the
41
+ * model can pick something genuinely different before it gets there.
42
+ */
43
+ private _triedThisStimulus;
44
+ /** Results that mean "that didn't work" -- refusals, no-ops and
45
+ * whiffs, in the engine's own recurring phrasings. */
46
+ private static readonly FAILED_RESULT;
47
+ /** Normalized so "look at Rattle" and "look at rattle" are one act. */
48
+ private static normalizeCmd;
29
49
  private static readonly RESPOND_WORTHY_VERB;
30
50
  allyOf?: string;
31
51
  boundDevice?: Item;
@@ -35,6 +35,34 @@ export class NPC extends Player {
35
35
  // talk-to greeting asking the same question -- and every later event
36
36
  // re-asked it. Reset at the top of respondTo() (each new stimulus).
37
37
  _spokeThisStimulus = false;
38
+ /**
39
+ * WHAT THIS SHELL HAS ALREADY TRIED, this stimulus (player note
40
+ * 2026-08-25: "there was way too much self directive from the NPCs").
41
+ * A reflect chain with no memory of its own attempts grinds: one real
42
+ * session logged five failed grapples on the same target, "look at
43
+ * Rattle -- Rattle is here" four times, and "move to crates -- You're
44
+ * already at the crates". The model was told to read failures
45
+ * honestly and did; it just had nothing telling it not to try the
46
+ * same thing again.
47
+ *
48
+ * Two uses below: the chain BREAKS on a repeat (deterministic, so it
49
+ * can't be talked out of it), and the prompt is shown the list so the
50
+ * model can pick something genuinely different before it gets there.
51
+ */
52
+ _triedThisStimulus = [];
53
+ /** Results that mean "that didn't work" -- refusals, no-ops and
54
+ * whiffs, in the engine's own recurring phrasings. */
55
+ // Leading \b only, deliberately. A trailing one silently breaks any
56
+ // alternative that doesn't end on a word character: "\busage:\b" can
57
+ // never match, because a colon followed by a space has no boundary
58
+ // between them, and "\brefus\b" misses "refused" for the same reason.
59
+ // "missed" keeps its own trailing \b so it can't fire inside
60
+ // "dismissed".
61
+ static FAILED_RESULT = /\b(?:can'?t|cannot|don'?t|doesn'?t|not a way|no way|already at|already have|nothing (?:here|left|to)|isn'?t|won'?t|need to|usage|there is no|you fail|missed\b|no answer|refus|glitch)/i;
62
+ /** Normalized so "look at Rattle" and "look at rattle" are one act. */
63
+ static normalizeCmd(cmd) {
64
+ return cmd.trim().toLowerCase().replace(/\s+/g, ' ');
65
+ }
38
66
  // Which witnessed actions warrant an immediate spoken/acted response, as
39
67
  // opposed to quiet notice. Everything an NPC sees still lands in its
40
68
  // history (so mundane actions inform the NEXT real conversation), but
@@ -110,14 +138,24 @@ export class NPC extends Player {
110
138
  if (master.canPerceive(this) && master.currentLocation === this.currentLocation)
111
139
  return;
112
140
  if (spoken) {
113
- this.logger.logWithColor(`${style.icon} [link] ${this.name}: "${spoken}"`, style.color);
141
+ // SPEECH STAYS IN THE STORY. Someone on the other end of the bond
142
+ // talking to you is fiction, and burying it in the Mechanics
143
+ // ticker would mean missing "Rattle's not budging, need your call".
144
+ this.logger.logWithColor(`${style.icon} ${this.name}: "${spoken}"`, style.color);
114
145
  }
115
146
  else {
116
- // Compact telemetry: the command plus the first line of what came
117
- // back, stripped of render tags and clipped short.
147
+ // TELEMETRY GOES TO MECHANICS (player ruling 2026-08-25: the
148
+ // "[link]" lines are "very intrusive"). A companion working
149
+ // off-screen narrates every step it takes -- "look at Rattle --
150
+ // Rattle is here", "move to crates -- You're already at the
151
+ // crates" -- and a dozen of those between two of your own lines
152
+ // buried the actual scene. It is status, not story, so it belongs
153
+ // in the same pane as dice rolls, where you can read it when you
154
+ // care and ignore it when you don't. The [link] tag goes with it:
155
+ // in a pane that carries nothing else, the icon is enough.
118
156
  const firstLine = (result ?? '').split('\n').find(l => l.trim().length)?.replace(/\{[^}]*\}/g, '').trim() ?? '';
119
157
  const snippet = firstLine.length > 100 ? `${firstLine.slice(0, 97)}...` : firstLine;
120
- this.logger.logWithColor(`${style.icon} [link] ${this.name}: ${commandString}${snippet ? ` -- ${snippet}` : ''}`, style.color);
158
+ this.logger.meta(`${style.icon} ${this.name}: ${commandString}${snippet ? ` -- ${snippet}` : ''}`, style.color);
121
159
  }
122
160
  }
123
161
  /** Sets the standing objective the AI pursues (surfaced in its prompt). */
@@ -422,7 +460,7 @@ description text.`;
422
460
  // Qualities cut both ways here: Catlike +2, Distinctive Style -2
423
461
  // (a look witnesses remember is a look witnesses notice). A
424
462
  // sustained invisibility spell bends the light on top (+3).
425
- const sneak = rollPool(Math.max(1, actor.agility + (theirSkill > 0 ? theirSkill : -1) + actor.qualityBonus('sneak') + (actor.sustainedInvisibility ? 3 : 0) + actor.woundModifier));
463
+ const sneak = rollPool(Math.max(1, actor.agility + (theirSkill > 0 ? theirSkill : -1) + actor.qualityBonus('sneak') + actor.augBonus('sneak') + (actor.sustainedInvisibility ? 3 : 0) + actor.woundModifier));
426
464
  const mySkill = this.skillRating('perception');
427
465
  const spot = rollPool(Math.max(1, this.intuition + (mySkill > 0 ? mySkill : -1) + this.woundModifier));
428
466
  this.logger.write(`[SNEAK] ${actor.name} ${sneak.hits} vs ${this.name} ${spot.hits}.`);
@@ -636,6 +674,29 @@ description text.`;
636
674
  this.logger.write(`${this.name} is gone from the world -- reflect chain ends.`);
637
675
  return;
638
676
  }
677
+ // THE GRIND BREAKER. Record what just happened, then refuse to keep
678
+ // going round on it. Deterministic on purpose: the prompt already
679
+ // asks for honesty about failure and got it -- what it lacked was
680
+ // anything stopping a fifth attempt at the fourth thing that didn't
681
+ // work. A shell that has repeated an action, or failed twice at
682
+ // anything, stops and holds rather than asking the model again.
683
+ const normalized = NPC.normalizeCmd(commandString);
684
+ const failed = NPC.FAILED_RESULT.test(result ?? '');
685
+ if (normalized && normalized !== 'wait') {
686
+ const repeated = this._triedThisStimulus.some(a => a.cmd === normalized);
687
+ this._triedThisStimulus.push({ cmd: normalized, failed });
688
+ if (this._triedThisStimulus.length > 8)
689
+ this._triedThisStimulus.shift();
690
+ if (repeated) {
691
+ this.logger.write(`${this.name} reflect chain ends -- already tried "${normalized}" this stimulus.`);
692
+ return;
693
+ }
694
+ const failures = this._triedThisStimulus.filter(a => a.failed).length;
695
+ if (failures >= 2) {
696
+ this.logger.write(`${this.name} reflect chain ends -- ${failures} failed attempts this stimulus, holding position.`);
697
+ return;
698
+ }
699
+ }
639
700
  const historySummary = this.getHistorySummary();
640
701
  const worldEventsSummary = this._scene?.getWorldEventsSummary() ?? 'Nothing notable has happened elsewhere yet.';
641
702
  const objectiveSummary = this._objective
@@ -693,6 +754,9 @@ Based on this, what is the most logical next in-game command (from the following
693
754
  a locked hatch).
694
755
  - If you have already said your piece and are waiting on someone to answer, the logical next step is: wait
695
756
  ${this._spokeThisStimulus ? '- You have ALREADY spoken since the last thing that happened. Do NOT say or talk-to again -- choose a non-speech action, or respond with: wait' : ''}
757
+ ${this._triedThisStimulus.length > 0 ? `- ALREADY TRIED since the last thing that happened -- do NOT repeat any of these, and do not retry a failed one with different wording:
758
+ ${this._triedThisStimulus.map(a => ` "${a.cmd}"${a.failed ? ' (FAILED)' : ''}`).join('\n')}
759
+ If everything sensible has been tried, the answer is: wait` : ''}
696
760
 
697
761
  This is what has already happened:
698
762
  ${historySummary}
@@ -783,8 +847,11 @@ ${worldEventsSummary}
783
847
  }
784
848
  async respondTo(actor, message) {
785
849
  this.logger.write('Attempting to respond');
786
- // A fresh stimulus earns at most one fresh speech (see the field doc).
850
+ // A fresh stimulus earns at most one fresh speech (see the field doc)
851
+ // -- and a clean slate of attempts. Something new has happened, so
852
+ // what didn't work against the OLD situation is worth trying again.
787
853
  this._spokeThisStimulus = false;
854
+ this._triedThisStimulus = [];
788
855
  if (!AI.isConfigured()) {
789
856
  this.logger.write(`No AI available`);
790
857
  await actor.hear(this, this.speak());
@@ -1119,6 +1186,28 @@ Your objective is to drive the story line.
1119
1186
  const reply = await AI.ask(prompt);
1120
1187
  this._addToHistory(reply);
1121
1188
  const lines = toLines(reply);
1189
+ // A BARE VERB IS STILL A COMMAND (playtest 2026-08-25: Ratchet's
1190
+ // whole sales pitch printed as `say You got a datajack, right?
1191
+ // ...` -- the literal word "say", no speaker, straight into the
1192
+ // narration). Classification below keys on the [COMMAND] prefix,
1193
+ // so a reply that drops it falls through to exposition and gets
1194
+ // echoed verbatim: the line never reaches the conversation, never
1195
+ // gets the "Ratchet:" attribution, and reads to the player as
1196
+ // narrative cross-chatter (their words) sitting on top of the
1197
+ // dialogue.
1198
+ //
1199
+ // The DONE/FAILED handler right below already learned this lesson
1200
+ // for its own markers; this generalizes it to the verb that
1201
+ // actually carries the fiction. Only `say` is repaired -- it is
1202
+ // the one verb whose payload is free prose, so a bare `say ...`
1203
+ // is unambiguous. Every other verb stays strict, because "take
1204
+ // the credstick" as narration must NOT silently become a take.
1205
+ for (let i = 0; i < lines.length; i++) {
1206
+ const t = lines[i].trimStart();
1207
+ if (/^say\s+\S/.test(t) && !t.startsWith('[COMMAND]')) {
1208
+ lines[i] = `[COMMAND] ${t}`;
1209
+ }
1210
+ }
1122
1211
  // DIRECTIVE MARKERS, any shape (real session: the heartbeat asked
1123
1212
  // for 'a line starting "DONE:"' and Jax's AI answered with bare
1124
1213
  // `say DONE: ...` -- no [COMMAND] prefix -- which fell through to
@@ -1 +1 @@
1
- {"version":3,"file":"npc.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/models/npc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npc.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/models/npc.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { PlayerEquipment } from '../types/player-equipment.js';
2
2
  import { LifestyleChoices } from '../types/seed/lifestyle-seed.js';
3
3
  import { Logger } from '../utilities/logger.js';
4
+ import { AugBonusKind } from '../augmentations.js';
4
5
  import { Room } from './room.js';
5
6
  import { Item } from './item.js';
6
7
  import { Inventory } from './inventory.js';
@@ -212,6 +213,14 @@ export declare class Player extends AbstractPlayer {
212
213
  baseResonance: number;
213
214
  /** Installed 'ware, by catalog key (see AUGMENTATIONS). */
214
215
  augmentations: Set<string>;
216
+ /**
217
+ * What GRADE each installed piece was cut at (see WARE_GRADES,
218
+ * p.451). Purely a record: grade changes what the surgery costs in
219
+ * essence and nuyen, never what the 'ware does, so augBonus never
220
+ * consults this. Absent = standard, which is what every pre-grade
221
+ * save and every archetype's starting chrome is.
222
+ */
223
+ augGrades: Map<string, string>;
215
224
  hasAug(key: string): boolean;
216
225
  /** Full essence points lost, rounded up -- the toll Magic/Resonance pay. */
217
226
  get essenceBurn(): number;
@@ -223,13 +232,14 @@ export declare class Player extends AbstractPlayer {
223
232
  installAug(aug: {
224
233
  key: string;
225
234
  essence: number;
235
+ grade?: string;
226
236
  }): void;
227
237
  /**
228
238
  * The single tap every pool reads chrome through. Wired Reflexes tiers
229
239
  * don't stack -- the higher tier wins (II supersedes I) -- but the
230
240
  * synaptic-vs-wired conflict is the clinic's job, not this getter's.
231
241
  */
232
- augBonus(kind: 'initiative' | 'defense' | 'attack' | 'firearms' | 'soak' | 'unarmed-damage' | 'perception' | 'matrix' | 'piloting'): number;
242
+ augBonus(kind: AugBonusKind): number;
233
243
  /** Installed qualities, by catalog key (see QUALITIES). */
234
244
  qualities: Set<string>;
235
245
  hasQuality(key: string): boolean;
@@ -290,6 +300,19 @@ export declare class Player extends AbstractPlayer {
290
300
  get currentLocation(): Room;
291
301
  set currentLocation(room: Room);
292
302
  atSpot?: string;
303
+ /**
304
+ * WHICH PAPER YOU CARRY (player request 2026-08-25, twice: "I should
305
+ * be able to see which sin I have active, and be able set it"). The
306
+ * name of the Fake SIN item you present at counters and checkpoints.
307
+ *
308
+ * undefined = let the house pick, which is the old behaviour and
309
+ * still the sane default: bestFakeSin() takes your highest rating.
310
+ * Setting it matters because rating is not the only axis -- a burned
311
+ * fake is gone, but a fake that has been READ at a venue is
312
+ * remembered there, so a runner may want to spend the cheap paper on
313
+ * a soft counter and keep the good one clean. See utilities/sin.ts.
314
+ */
315
+ activeSin?: string;
293
316
  /**
294
317
  * STEPPING (player request 2026-08-25, "move south 2"): the exact
295
318
  * grid cell this actor stands in, when they have stepped somewhere
@@ -2,6 +2,7 @@ import { hint } from '../utilities/hints.js';
2
2
  import { Category } from '../types/shared/item-enum.js';
3
3
  import { Logger } from '../utilities/logger.js';
4
4
  import { CALL_ICON, CALL_COLOR } from '../utilities/comm-style.js';
5
+ import { getAug } from '../augmentations.js';
5
6
  import { Inventory } from './inventory.js';
6
7
  import { AbstractPlayer } from '../types/shared/abstracts.js';
7
8
  export const STANCE_CYCLE = ['manual', 'guarded', 'aggressive'];
@@ -339,6 +340,14 @@ export class Player extends AbstractPlayer {
339
340
  baseResonance = 0;
340
341
  /** Installed 'ware, by catalog key (see AUGMENTATIONS). */
341
342
  augmentations = new Set();
343
+ /**
344
+ * What GRADE each installed piece was cut at (see WARE_GRADES,
345
+ * p.451). Purely a record: grade changes what the surgery costs in
346
+ * essence and nuyen, never what the 'ware does, so augBonus never
347
+ * consults this. Absent = standard, which is what every pre-grade
348
+ * save and every archetype's starting chrome is.
349
+ */
350
+ augGrades = new Map();
342
351
  hasAug(key) {
343
352
  return this.augmentations.has(key);
344
353
  }
@@ -353,8 +362,13 @@ export class Player extends AbstractPlayer {
353
362
  */
354
363
  installAug(aug) {
355
364
  this.augmentations.add(aug.key);
356
- // One-decimal arithmetic: 6 - 0.1 - 0.2 must read 5.7, not 5.6999....
357
- this.essence = Math.round((this.essence - aug.essence) * 10) / 10;
365
+ if (aug.grade && aug.grade !== 'standard')
366
+ this.augGrades.set(aug.key, aug.grade);
367
+ // TWO-decimal arithmetic: 6 - 0.1 - 0.2 must read 5.7, not
368
+ // 5.6999..., and graded 'ware lands on values like 0.08 that a
369
+ // one-decimal round would erase entirely (alphaware on a 0.1 piece
370
+ // would buy nothing at all).
371
+ this.essence = Math.round((this.essence - aug.essence) * 100) / 100;
358
372
  const burn = this.essenceBurn;
359
373
  this.magic = Math.max(0, this.baseMagic - burn);
360
374
  this.resonance = Math.max(0, this.baseResonance - burn);
@@ -368,18 +382,21 @@ export class Player extends AbstractPlayer {
368
382
  if (this.augmentations.size === 0)
369
383
  return 0;
370
384
  const has = (k) => this.augmentations.has(k);
371
- const reflexes = (has('wired-reflexes-2') ? 2 : has('wired-reflexes-1') ? 1 : 0) + (has('synaptic-booster') ? 1 : 0);
372
- switch (kind) {
373
- case 'initiative': return reflexes;
374
- case 'defense': return reflexes;
375
- case 'attack': return has('muscle-toner') ? 1 : 0;
376
- case 'firearms': return has('smartlink') ? 2 : 0;
377
- case 'soak': return (has('bone-lacing') ? 1 : 0) + (has('dermal-plating') ? 2 : 0);
378
- case 'unarmed-damage': return has('bone-lacing') ? 2 : 0;
379
- case 'perception': return has('cybereyes') ? 2 : 0;
380
- case 'matrix': return has('datajack') ? 1 : 0;
381
- case 'piloting': return has('control-rig') ? 2 : 0;
385
+ // The reflex family is the one hand-resolved case: the tiers
386
+ // SUPERSEDE each other (III beats II beats I) instead of stacking,
387
+ // with a synaptic booster riding on top as bioware. Everything else
388
+ // is data -- augmentations.ts declares its own dice (IAugmentation
389
+ // .bonuses), so new chrome never touches this method again.
390
+ const reflexFamily = new Set(['wired-reflexes-1', 'wired-reflexes-2', 'wired-reflexes-3', 'synaptic-booster']);
391
+ const reflexes = (has('wired-reflexes-3') ? 3 : has('wired-reflexes-2') ? 2 : has('wired-reflexes-1') ? 1 : 0)
392
+ + (has('synaptic-booster') ? 1 : 0);
393
+ let total = (kind === 'initiative' || kind === 'defense') ? reflexes : 0;
394
+ for (const key of this.augmentations) {
395
+ if (reflexFamily.has(key))
396
+ continue; // resolved above
397
+ total += getAug(key)?.bonuses?.[kind] ?? 0;
382
398
  }
399
+ return total;
383
400
  }
384
401
  // ==================== Qualities (see qualities.ts) ====================
385
402
  // SR5e's traits (p.71-85), baked into the archetype at creation
@@ -627,6 +644,19 @@ export class Player extends AbstractPlayer {
627
644
  // utilities/spots.ts). undefined = circulating (reaches everything,
628
645
  // gets no cover) -- the compat default for everything un-migrated.
629
646
  atSpot;
647
+ /**
648
+ * WHICH PAPER YOU CARRY (player request 2026-08-25, twice: "I should
649
+ * be able to see which sin I have active, and be able set it"). The
650
+ * name of the Fake SIN item you present at counters and checkpoints.
651
+ *
652
+ * undefined = let the house pick, which is the old behaviour and
653
+ * still the sane default: bestFakeSin() takes your highest rating.
654
+ * Setting it matters because rating is not the only axis -- a burned
655
+ * fake is gone, but a fake that has been READ at a venue is
656
+ * remembered there, so a runner may want to spend the cheap paper on
657
+ * a soft counter and keep the good one clean. See utilities/sin.ts.
658
+ */
659
+ activeSin;
630
660
  /**
631
661
  * STEPPING (player request 2026-08-25, "move south 2"): the exact
632
662
  * grid cell this actor stands in, when they have stepped somewhere
@@ -857,13 +887,28 @@ export class Player extends AbstractPlayer {
857
887
  return { group: 'arms', slot: 'rightBicept' };
858
888
  case Category.Cyberware:
859
889
  return { group: 'arms', slot: 'cyberware' };
860
- // GLOVES
890
+ // GLOVES / WRIST
861
891
  case Category.Gloves:
862
892
  case 'glove':
863
893
  case 'left glove':
864
894
  return { group: 'gloves', slot: 'leftWrist' };
865
895
  case 'right glove':
866
896
  return { group: 'gloves', slot: 'rightWrist' };
897
+ // WRIST-WORN gear -- a DocWagon band, a smartwatch, a med
898
+ // bracelet (player note 2026-08-25: "docwagon wristband should
899
+ // be wearable"). No new equipment GROUP was needed: the wrist
900
+ // slots have been sitting under `gloves` since the layout was
901
+ // written ("smartwatches, cyberhands"), they just had no
902
+ // category pointing at them, so anything wrist-shaped fell
903
+ // through to unwearable. Adding a group would have changed the
904
+ // saved equipment shape for no gain.
905
+ case 'wrist':
906
+ case 'wristband':
907
+ case 'bracelet':
908
+ case 'watch':
909
+ return { group: 'gloves', slot: 'leftWrist' };
910
+ case 'right wrist':
911
+ return { group: 'gloves', slot: 'rightWrist' };
867
912
  // LEFT HAND
868
913
  case Category.Shield:
869
914
  return { group: 'leftHand', slot: 'shield' };
@@ -994,7 +1039,10 @@ export class Player extends AbstractPlayer {
994
1039
  // modifiers -- taken off the physical track first, spilling to stun if
995
1040
  // there's nothing physical to ignore. RAW forbids stacking it with a
996
1041
  // pain editor, so the chrome wins when both are present.
997
- const ignore = !painEditor && this.qualities.has('high-pain-tolerance') ? 1 : 0;
1042
+ // A damage compensator (p.461) ignores boxes outright -- chrome that
1043
+ // stacks with High Pain Tolerance, unlike the pain editor's tier skip.
1044
+ const ignore = (!painEditor && this.qualities.has('high-pain-tolerance') ? 1 : 0)
1045
+ + this.augBonus('wound-ignore');
998
1046
  const dmg = Math.max(0, this._damageTaken - ignore);
999
1047
  const spill = Math.max(0, ignore - this._damageTaken);
1000
1048
  const stun = Math.max(0, this._stunTaken - spill);