@maka/maka-cli 5.67.0 → 5.68.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 (69) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +6 -1
  3. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
  4. package/bundle/typescript/src/commands/game/sideQuest/commands/ar.js +4 -1
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/ar.js.map +1 -1
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/companions.d.ts +39 -3
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js +85 -4
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js.map +1 -1
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/compile.d.ts +37 -17
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/compile.js +53 -115
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/compile.js.map +1 -1
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/decompile.d.ts +55 -0
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/decompile.js +203 -0
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/decompile.js.map +1 -0
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/go.d.ts +23 -0
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +42 -7
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.d.ts +27 -0
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +28 -1
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/order.js +69 -1
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/order.js.map +1 -1
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/register.d.ts +15 -2
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/register.js +32 -6
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/register.js.map +1 -1
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/sprites.d.ts +35 -0
  27. package/bundle/typescript/src/commands/game/sideQuest/commands/sprites.js +108 -0
  28. package/bundle/typescript/src/commands/game/sideQuest/commands/sprites.js.map +1 -0
  29. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.d.ts +27 -0
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js +7 -2
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js.map +1 -1
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/unravel.d.ts +57 -0
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/unravel.js +162 -0
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/unravel.js.map +1 -0
  35. package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
  36. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +17 -1
  37. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +50 -11
  39. package/bundle/typescript/src/commands/game/sideQuest/game.js +148 -28
  40. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  41. package/bundle/typescript/src/commands/game/sideQuest/headless-harness.d.ts +24 -12
  42. package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js +53 -13
  43. package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js.map +1 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/models/item.d.ts +9 -0
  45. package/bundle/typescript/src/commands/game/sideQuest/models/item.js +9 -0
  46. package/bundle/typescript/src/commands/game/sideQuest/models/item.js.map +1 -1
  47. package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +31 -1
  48. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +7 -0
  49. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
  50. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +10 -3
  51. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +5 -1
  52. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  53. package/bundle/typescript/src/commands/game/sideQuest/resonance-actions.d.ts +108 -0
  54. package/bundle/typescript/src/commands/game/sideQuest/resonance-actions.js +186 -0
  55. package/bundle/typescript/src/commands/game/sideQuest/resonance-actions.js.map +1 -0
  56. package/bundle/typescript/src/commands/game/sideQuest/sprite-powers.d.ts +88 -0
  57. package/bundle/typescript/src/commands/game/sideQuest/sprite-powers.js +137 -0
  58. package/bundle/typescript/src/commands/game/sideQuest/sprite-powers.js.map +1 -0
  59. package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +32 -1
  60. package/bundle/typescript/src/commands/game/sideQuest/ui.js +3 -0
  61. package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
  62. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.d.ts +13 -1
  63. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js +36 -3
  64. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js.map +1 -1
  65. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +14 -0
  66. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
  67. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +83 -0
  68. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  69. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maka/maka-cli",
3
- "version": "5.67.0",
3
+ "version": "5.68.0",
4
4
  "type": "module",
5
5
  "summary": "A command line tool for scaffolding Meteor 2.x applications using either React.",
6
6
  "description": "A command line tool for scaffolding Meteor 2.x applications using React.",
@@ -145,7 +145,12 @@ export const ARCHETYPES = [
145
145
  name: 'Technomancer',
146
146
  description: 'The Matrix answers when they think at it. No deck to brick -- only a mind to burn.',
147
147
  combat: { body: 2, agility: 2, reaction: 3, combatSkill: 2, strength: 2, willpower: 5, logic: 5, intuition: 4, charisma: 3, edge: 3, magic: 0, resonance: 6,
148
- skills: { hacking: 6, compiling: 4, registering: 4, software: 4, perception: 4, sneaking: 3, con: 3, negotiation: 2, unarmed: 2 } },
148
+ // The Resonance trio are three skills and the books test each by
149
+ // name (SR5 p.250). A Technomancer who could compile and register
150
+ // at 4 but decompile at the unskilled -1 would be an odd graduate;
151
+ // persistence.ts carries the matching back-fill for characters
152
+ // created before `decompiling` existed.
153
+ skills: { hacking: 6, compiling: 4, decompiling: 4, registering: 4, software: 4, perception: 4, sneaking: 3, con: 3, negotiation: 2, unarmed: 2 } },
149
154
  // A corp lab noticed what they were before they did -- the file (and
150
155
  // its 20% cut of everything) followed them into the shadows, and the
151
156
  // taxman never stops collecting. Ledger 25 - 5 + 15 = 35 -> 7 karma
@@ -1 +1 @@
1
- {"version":3,"file":"archetypes.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/archetypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archetypes.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/archetypes.ts"],"names":[],"mappings":"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"}
@@ -85,8 +85,11 @@ export class ArosCommand extends Command {
85
85
  async execute(_args = []) {
86
86
  const actor = this.actor;
87
87
  if (!arSightUp(actor)) {
88
+ // The one moment a player ASKS for AR while in VR, so it is the
89
+ // one place worth answering the question instead of deflecting
90
+ // with AR's own word (backlog 3teN4oNvyzbLpi8xK, canon p.229).
88
91
  if (actor.plane === 'matrix')
89
- return `You're IN it -- "look" is your overlay out here.`;
92
+ return `You're IN it -- there's no overlay out here, because there's nothing left to lay one over. "look" is how a persona reads a room.`;
90
93
  if (actor.plane !== 'meat')
91
94
  return `Not with these eyes. Get back in your body first.`;
92
95
  if (actor.arMuted)
@@ -1 +1 @@
1
- {"version":3,"file":"ar.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/ar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ar.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/ar.ts"],"names":[],"mappings":"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"}
@@ -24,10 +24,46 @@ export declare class AgentCommand extends Command implements ICommand {
24
24
  protected static description: string;
25
25
  execute(_args?: string[]): Promise<string>;
26
26
  }
27
- /** "recall": fold a deployed autonomous drone back to hand (or, with
28
- * nothing in the air, spin a remote agent down into its deck). */
27
+ /** "recall": fold a deployed autonomous drone back to hand, spin a
28
+ * remote agent down into its deck, or work CALL/DISMISS SPRITE -- see
29
+ * the sprite branch below. */
29
30
  export declare class RecallCommand extends Command implements ICommand {
30
31
  protected static verb: string;
31
32
  protected static description: string;
32
- execute(_args?: string[]): Promise<string>;
33
+ execute(args?: string[]): Promise<string>;
34
+ /**
35
+ * CALL/DISMISS SPRITE (SR5 p.250, Simple Action), on this verb rather
36
+ * than a new one.
37
+ *
38
+ * TWO BUGS IN ONE PLACE, and they are worth separating. The missing
39
+ * action is the smaller one. The larger is that `recall` ASSERTED A
40
+ * FALSEHOOD: it looked for kind 'drone', fell back to 'agent', and
41
+ * otherwise told the player "Nothing of yours is in the air" -- to a
42
+ * technomancer with a registered sprite standing right there. The
43
+ * reported item reads like a feature request ("there should also be a
44
+ * way to recall the sprite"), and it is half a bug report: the way
45
+ * they went looking already existed and denied them.
46
+ *
47
+ * WHY THIS VERB AND NOT `call`. `call` is CallCommand, the phone.
48
+ * Registering a second handler for it would silently clobber a
49
+ * technomancer's ability to ring their fixer, so implementing the
50
+ * sprite action would have broken an unrelated one. `recall` already
51
+ * means "bring my thing home to me" for drones and agents, and
52
+ * canon's action is bidirectional, so the word already fits both
53
+ * halves. The name and action type are IMPORTED from the p.250 table
54
+ * rather than restated here -- two copies that agree today drift on
55
+ * the first edit.
56
+ *
57
+ * THE DIRECTIONS ARE NOT SYMMETRICAL, on purpose. Calling is free and
58
+ * reversible. Dismissing "releas[es] it from any tasks it still owes
59
+ * you" (p.250), which is why p.256 sells STANDBY for 1 task as the
60
+ * cheaper way to park one. So a bare "recall" only ever CALLS, and
61
+ * sending a sprite away has to be asked for by name -- the same rule
62
+ * decompile follows, for the same reason.
63
+ *
64
+ * Returns undefined when the words are not about sprites at all, so
65
+ * the caller's own "nothing of yours is in the air" still stands for
66
+ * a player who really has nothing.
67
+ */
68
+ private recallSprite;
33
69
  }
@@ -2,6 +2,7 @@ import { Command } from './command.js';
2
2
  import { hint } from '../utilities/hints.js';
3
3
  import { fuzzyPickName } from '../utilities/fuzzy-match.js';
4
4
  import { agentRatingFromName } from '../utilities/programs.js';
5
+ import { resonanceAction } from '../resonance-actions.js';
5
6
  /**
6
7
  * The rigger's autonomous frames (SR5e p.269-271): "deploy <drone>" puts
7
8
  * a carried frame in the air under its own DOG-BRAIN -- no control rig
@@ -116,12 +117,13 @@ export class AgentCommand extends Command {
116
117
  ].join('\n');
117
118
  }
118
119
  }
119
- /** "recall": fold a deployed autonomous drone back to hand (or, with
120
- * nothing in the air, spin a remote agent down into its deck). */
120
+ /** "recall": fold a deployed autonomous drone back to hand, spin a
121
+ * remote agent down into its deck, or work CALL/DISMISS SPRITE -- see
122
+ * the sprite branch below. */
121
123
  export class RecallCommand extends Command {
122
124
  static verb = 'recall';
123
- static description = 'Recall your deployed drone to your hand (or fold a running agent back into its deck).';
124
- async execute(_args = []) {
125
+ static description = `Recall your deployed drone to your hand, fold a running agent back into its deck, or call a registered sprite out of the Resonance. "${resonanceAction('call-dismiss-sprite')?.name}" (${resonanceAction('call-dismiss-sprite')?.actionType}, SR5 p.250): "recall <name>" also sends a standing registered sprite back -- which releases every task it still owes you.`;
126
+ async execute(args = []) {
125
127
  const game = this.game;
126
128
  const entry = game?.companions.find(c => c.kind === 'drone');
127
129
  if (!entry) {
@@ -136,6 +138,9 @@ export class RecallCommand extends Command {
136
138
  ? `Your agent's icon collapses back into your persona -- folded into the deck.`
137
139
  : `The deck spins its agent down -- the DECK IN AR light dies as the icon folds home.`;
138
140
  }
141
+ const sprite = this.recallSprite(args);
142
+ if (sprite !== undefined)
143
+ return sprite;
139
144
  return `Nothing of yours is in the air.`;
140
145
  }
141
146
  const name = entry.boundDevice?.name ?? entry.npc.name;
@@ -144,5 +149,81 @@ export class RecallCommand extends Command {
144
149
  this.scene.updateStatus();
145
150
  return `The ${name} banks once and settles back onto your hand, rotors folding.${entry.boundDevice && entry.boundDevice.droneDamage > 0 ? ` The airframe carries its dents (${entry.boundDevice.droneSummary()})${hint(' -- rest repairs it')}.` : ''}`;
146
151
  }
152
+ /**
153
+ * CALL/DISMISS SPRITE (SR5 p.250, Simple Action), on this verb rather
154
+ * than a new one.
155
+ *
156
+ * TWO BUGS IN ONE PLACE, and they are worth separating. The missing
157
+ * action is the smaller one. The larger is that `recall` ASSERTED A
158
+ * FALSEHOOD: it looked for kind 'drone', fell back to 'agent', and
159
+ * otherwise told the player "Nothing of yours is in the air" -- to a
160
+ * technomancer with a registered sprite standing right there. The
161
+ * reported item reads like a feature request ("there should also be a
162
+ * way to recall the sprite"), and it is half a bug report: the way
163
+ * they went looking already existed and denied them.
164
+ *
165
+ * WHY THIS VERB AND NOT `call`. `call` is CallCommand, the phone.
166
+ * Registering a second handler for it would silently clobber a
167
+ * technomancer's ability to ring their fixer, so implementing the
168
+ * sprite action would have broken an unrelated one. `recall` already
169
+ * means "bring my thing home to me" for drones and agents, and
170
+ * canon's action is bidirectional, so the word already fits both
171
+ * halves. The name and action type are IMPORTED from the p.250 table
172
+ * rather than restated here -- two copies that agree today drift on
173
+ * the first edit.
174
+ *
175
+ * THE DIRECTIONS ARE NOT SYMMETRICAL, on purpose. Calling is free and
176
+ * reversible. Dismissing "releas[es] it from any tasks it still owes
177
+ * you" (p.250), which is why p.256 sells STANDBY for 1 task as the
178
+ * cheaper way to park one. So a bare "recall" only ever CALLS, and
179
+ * sending a sprite away has to be asked for by name -- the same rule
180
+ * decompile follows, for the same reason.
181
+ *
182
+ * Returns undefined when the words are not about sprites at all, so
183
+ * the caller's own "nothing of yours is in the air" still stands for
184
+ * a player who really has nothing.
185
+ */
186
+ recallSprite(args) {
187
+ const game = this.game;
188
+ if (!game)
189
+ return undefined;
190
+ const waiting = game.registeredSpritesWaiting();
191
+ const standing = game.companions.filter(c => c.kind === 'sprite' && c.registered);
192
+ if (waiting.length === 0 && standing.length === 0)
193
+ return undefined;
194
+ const query = (args ?? []).map(w => w.toLowerCase()).filter(w => !/^(a|an|the|sprite)$/.test(w)).join(' ').trim();
195
+ if (query.length > 0) {
196
+ const named = fuzzyPickName(query, waiting.map(s => s.name));
197
+ if (named) {
198
+ const line = game.callSpriteFromResonance(named);
199
+ this.scene.updateStatus();
200
+ return line ?? `${named} answers, but there is no room on the grid for its icon.`;
201
+ }
202
+ // Naming one that is already here is the DISMISS direction.
203
+ const here = fuzzyPickName(query, standing.map(c => c.npc.name));
204
+ if (here) {
205
+ const target = standing.find(c => c.npc.name === here);
206
+ const owed = target.services ?? 0;
207
+ if (!game.dismissSpriteToResonance(target))
208
+ return undefined;
209
+ this.scene.updateStatus();
210
+ return `${here} folds back into the Resonance and waits there, registered and yours.${owed > 0 ? ` It owed you ${owed} task${owed === 1 ? '' : 's'}; dismissing releases every one of them.` : ''}${hint(` ("recall ${here}" calls it back.)`)}`;
211
+ }
212
+ return `Nothing of yours answers to "${query}".${waiting.length > 0 ? ` Waiting in the Resonance: ${waiting.map(s => `"${s.name}"`).join(', ')}.` : ''}${standing.length > 0 ? ` Already with you: ${standing.map(c => `"${c.npc.name}"`).join(', ')}.` : ''}`;
213
+ }
214
+ // Bare "recall": the safe direction only.
215
+ if (waiting.length > 0) {
216
+ const line = game.callSpriteFromResonance();
217
+ this.scene.updateStatus();
218
+ if (line) {
219
+ return waiting.length > 1
220
+ ? `${line}${hint(` (${waiting.length - 1} more waiting -- "recall <name>" for a particular one.)`)}`
221
+ : line;
222
+ }
223
+ }
224
+ // Standing, and nothing waiting: say so, and name the route rather
225
+ // than doing the destructive half unasked.
226
+ return `${standing.length === 1 ? `${standing[0].npc.name} is` : `Your sprites are`} already here with you, not in the Resonance.${hint(` ("recall ${standing[0].npc.name}" sends it back -- which releases the tasks it owes you.)`)}`;
227
+ }
147
228
  }
148
229
  //# sourceMappingURL=companions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"companions.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/companions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"companions.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/companions.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,22 @@ import { Command, ICommand } from './command.js';
6
6
  * become TASKS (services); the sprite manifests as a Matrix companion
7
7
  * shell: it rides your persona, fights ice at your side when you jack
8
8
  * in (one task per fight, same leash as spirits), obeys "order", and
9
- * decompiles when the tasks are spent, when released ("compile" again),
10
- * or when you travel. FADING is the toll: 2 x the sprite's hits (min
11
- * 2), resisted with Resonance + Willpower -- PHYSICAL when the Level
12
- * exceeds your Resonance, the same overreach law as overcasting. Level
13
- * past twice your Resonance is refused outright.
9
+ * decompiles when the tasks are spent, when you unmake it
10
+ * ("decompile"), or when you travel. FADING is the toll: 2 x the
11
+ * sprite's hits (min 2), resisted with Resonance + Willpower --
12
+ * PHYSICAL when the Level exceeds your Resonance, the same overreach
13
+ * law as overcasting. Level past twice your Resonance is refused
14
+ * outright.
15
+ *
16
+ * COMPILE DOES NOT RELEASE (items xxc3SGZJmjAPaZPhb and
17
+ * Av93mThv54YRH26gj, 2026-08-28). This verb used to double as the
18
+ * release: any second "compile" decompiled whatever was standing. That
19
+ * is not a rule the books have. p.250 lists Compile Sprite (Complex),
20
+ * Decompile Sprite (Complex) and Call/Dismiss Sprite (Simple) as three
21
+ * separate actions, and p.256 says outright "You can decompile your own
22
+ * sprites if you need to, but usually just dismissing them is enough."
23
+ * Compiling is now a summons and nothing else; the slot check below
24
+ * REFUSES and names the two verbs that actually let go.
14
25
  *
15
26
  * The companion symmetry this completes: mage -> spirit, decker ->
16
27
  * agent, rigger -> drone, technomancer -> SPRITE. Unlike an agent, a
@@ -26,20 +37,29 @@ export interface ISpriteType {
26
37
  /** Exported for game.ts: re-shelling a REGISTERED sprite after travel
27
38
  * or a resumed save needs the same stat builder. */
28
39
  export declare const SPRITE_TYPES: Record<string, ISpriteType>;
40
+ /**
41
+ * A free shell name for a sprite of this type and Level.
42
+ *
43
+ * spawnCompanionShell REFUSES a name already in the scene and returns
44
+ * null, which the caller can only report as "it collides with a process
45
+ * name already taken" -- a compile that cost real Fading and produced
46
+ * nothing. That was unreachable while one sprite was the hard maximum.
47
+ * It stopped being unreachable the moment a REGISTERED sprite was
48
+ * allowed to stand alongside a newly compiled one (SR5 p.254-256):
49
+ * register a Courier at Level 4, compile another Courier at Level 4,
50
+ * and both want the same name.
51
+ *
52
+ * Typed against the shape it uses rather than Scene, so this stays
53
+ * importable from game.ts (which imports this module) without a cycle.
54
+ *
55
+ * The unsuffixed name is preserved when it is free, so the overwhelming
56
+ * common case reads exactly as it always has.
57
+ */
58
+ export declare function uniqueSpriteName(scene: {
59
+ getActor(name: string): unknown;
60
+ }, typeName: string, level: number): string;
29
61
  export declare class CompileCommand extends Command implements ICommand {
30
62
  protected static verb: string;
31
63
  protected static description: string;
32
64
  execute(args?: string[]): Promise<string>;
33
- /**
34
- * "decompile <name>": unmake a HOSTILE matrix construct -- ice, an
35
- * enemy agent -- by tearing its thread apart (the offensive mirror of
36
- * releasing your own sprite). Opposed Resonance + compiling vs the
37
- * construct's code integrity (Willpower + Logic/2); net hits plus
38
- * Resonance/2 land straight on its monitor, no soak -- the opposed
39
- * test WAS the resistance. Fading bills the same toll as compiling
40
- * (2x its hits, min 2). A failed pull leaves it standing, alert, and
41
- * pointed at you. Returns undefined when the words name no hostile
42
- * construct here (the summons flow's turn).
43
- */
44
- private tryDecompileEnemy;
45
65
  }
@@ -2,9 +2,6 @@ import { Command } from './command.js';
2
2
  import { rollPool, formatRoll } from '../utilities/dice.js';
3
3
  import { hint } from '../utilities/hints.js';
4
4
  import { fuzzyPickName } from '../utilities/fuzzy-match.js';
5
- import { NPC } from '../models/npc.js';
6
- import { accrueOverwatch } from '../utilities/overwatch.js';
7
- import { leaveMatrix } from '../utilities/planes.js';
8
5
  /** Exported for game.ts: re-shelling a REGISTERED sprite after travel
9
6
  * or a resumed save needs the same stat builder. */
10
7
  export const SPRITE_TYPES = {
@@ -39,34 +36,43 @@ export const SPRITE_TYPES = {
39
36
  skills: { hacking: l, perception: l + 1 } }),
40
37
  },
41
38
  };
39
+ /**
40
+ * A free shell name for a sprite of this type and Level.
41
+ *
42
+ * spawnCompanionShell REFUSES a name already in the scene and returns
43
+ * null, which the caller can only report as "it collides with a process
44
+ * name already taken" -- a compile that cost real Fading and produced
45
+ * nothing. That was unreachable while one sprite was the hard maximum.
46
+ * It stopped being unreachable the moment a REGISTERED sprite was
47
+ * allowed to stand alongside a newly compiled one (SR5 p.254-256):
48
+ * register a Courier at Level 4, compile another Courier at Level 4,
49
+ * and both want the same name.
50
+ *
51
+ * Typed against the shape it uses rather than Scene, so this stays
52
+ * importable from game.ts (which imports this module) without a cycle.
53
+ *
54
+ * The unsuffixed name is preserved when it is free, so the overwhelming
55
+ * common case reads exactly as it always has.
56
+ */
57
+ export function uniqueSpriteName(scene, typeName, level) {
58
+ const base = `${typeName} Sprite (Level ${level})`;
59
+ if (!scene.getActor(base))
60
+ return base;
61
+ // Roman-numeral-free and boring on purpose: the player has to be able
62
+ // to type it at "order" and "decompile".
63
+ for (let n = 2; n <= 20; n++) {
64
+ const candidate = `${typeName} Sprite ${n} (Level ${level})`;
65
+ if (!scene.getActor(candidate))
66
+ return candidate;
67
+ }
68
+ return `${typeName} Sprite ${Date.now() % 100000} (Level ${level})`;
69
+ }
42
70
  export class CompileCommand extends Command {
43
71
  static verb = 'compile';
44
- static description = 'Compile a sprite (technomancers): "compile <type> <level>" -- Resonance + compiling vs its Level; net hits are its tasks. Types: courier, crack, data, fault, machine. Fading 2x its hits (PHYSICAL past your Resonance). "compile" again decompiles. "decompile <name>" jacked in unravels a HOSTILE construct -- ice, enemy agents -- thread by thread.';
72
+ static description = 'Compile a sprite (technomancers): "compile <type> <level>" -- Resonance + compiling vs its Level; net hits are its tasks. Types: courier, crack, data, fault, machine. Fading 2x its hits (PHYSICAL past your Resonance). One COMPILED sprite at a time -- registering one frees the slot. "decompile" unmakes a sprite; "dismiss" sends a registered one back to the Resonance.';
45
73
  async execute(args = []) {
46
74
  const actor = this.actor;
47
75
  const game = this.game;
48
- // ENEMY DECOMPILING (RAW p.256, engine-adapted; player roadmap):
49
- // "decompile <name>" against a hostile matrix construct unravels it
50
- // instead of shooting it. Checked FIRST so naming an enemy never
51
- // releases your own standing sprite -- but never when the words
52
- // parse as a sprite-type request ("compile fault 4" stays a
53
- // summons even if something hostile shares the name).
54
- if (args && args.length > 0) {
55
- const nameWords = args.map(w => w.toLowerCase()).filter(w => !/^\d+$/.test(w) && !/^(sprite|a|an|the)$/.test(w));
56
- const isTypeRequest = nameWords.some(w => fuzzyPickName(w, Object.keys(SPRITE_TYPES)));
57
- if (nameWords.length > 0 && !isTypeRequest) {
58
- const unraveled = this.tryDecompileEnemy(nameWords.join(' '));
59
- if (unraveled !== undefined)
60
- return unraveled;
61
- }
62
- }
63
- // A standing sprite: bare "compile" (or any re-compile) releases it.
64
- const standing = game?.companions.find(c => c.kind === 'sprite');
65
- if (standing) {
66
- game.dismissCompanion(standing, 'decompiled by technomancer');
67
- this.scene.updateStatus();
68
- return `You stop holding the thread. ${standing.npc.name} unravels into clean static -- decompiled, no residue.`;
69
- }
70
76
  if (!actor.isTechnomancer()) {
71
77
  return `The Resonance doesn't know your voice. Sprites answer technomancers.`;
72
78
  }
@@ -76,6 +82,25 @@ export class CompileCommand extends Command {
76
82
  if (actor.inExchange) {
77
83
  return `Threading a sprite takes more focus than the fight will give you.`;
78
84
  }
85
+ // THE COMPILED SLOT (SR5 p.254): "You can only have one compiled
86
+ // sprite at any given time." That limit is real and stays. What was
87
+ // broken is WHO IT COUNTS -- p.254-256 says a registered sprite "no
88
+ // longer counts toward your limit of one compiled sprite at a
89
+ // time", and this check used to count every sprite on the roster.
90
+ // So registering, the very thing that is supposed to free the slot,
91
+ // left it occupied: the next "compile" saw the registered sprite
92
+ // standing in the doorway and (under the old overloaded verb)
93
+ // decompiled it. The player's permanent companion vanished as the
94
+ // reward for making it permanent.
95
+ //
96
+ // `!c.registered` is the whole fix. It must stay in step with
97
+ // register.ts, which sets the flag and enforces the LOGIC cap on how
98
+ // many may carry it.
99
+ const standing = game?.companions.find(c => c.kind === 'sprite' && !c.registered);
100
+ if (standing) {
101
+ // A refusal names the route that works (house rule).
102
+ return `${standing.npc.name} already holds your compiled thread -- one compiled sprite at a time.${hint(` ("register" it to make it permanent and free the slot, or "decompile" it to unmake it.)`)}`;
103
+ }
79
104
  // "compile fault 4" / "compile 4" (defaults to fault -- the fighter)
80
105
  // / "compile machine" (level defaults to your Resonance).
81
106
  const words = args.map(w => w.toLowerCase()).filter(w => w !== 'sprite' && w !== 'a');
@@ -124,7 +149,7 @@ export class CompileCommand extends Command {
124
149
  }
125
150
  else {
126
151
  const shell = this.game?.spawnCompanionShell({
127
- name: `${type.name} Sprite (Level ${level})`,
152
+ name: uniqueSpriteName(this.scene, type.name, level),
128
153
  description: `A ${type.name.toLowerCase()} sprite ${actor.name} compiled out of raw Resonance -- ${type.blurb}. A shape of light and intent that flickers at the edge of every screen. It serves until its ${tasks} task${tasks === 1 ? '' : 's'} are spent.`,
129
154
  kind: 'sprite',
130
155
  combat: type.combat(level),
@@ -139,7 +164,7 @@ export class CompileCommand extends Command {
139
164
  entry.spriteType = typeKey;
140
165
  }
141
166
  lines.push(shell
142
- ? ` It compiles into being on the grid beside your persona -- luminous, patient, TASKED. ${tasks} task${tasks === 1 ? '' : 's'} on the thread.${hint(` (It rides the Matrix; it fights ice when you jack in -- one task per fight; "order" it; "compile" again to decompile.)`)}`
167
+ ? ` It compiles into being on the grid beside your persona -- luminous, patient, TASKED. ${tasks} task${tasks === 1 ? '' : 's'} on the thread.${hint(` (It rides the Matrix; it fights ice when you jack in -- one task per fight; "order" it; "register" it to keep it; "decompile" to unmake it.)`)}`
143
168
  : ` It compiles -- and collides with a process name already taken. The thread unravels.`);
144
169
  }
145
170
  this.logger.meta(`Fading (${fadingValue}${overreach ? ', OVERREACH -- physical' : ''}): resist ${formatRoll(resist)}`);
@@ -160,92 +185,5 @@ export class CompileCommand extends Command {
160
185
  this.scene.updateStatus();
161
186
  return lines.join('\n');
162
187
  }
163
- /**
164
- * "decompile <name>": unmake a HOSTILE matrix construct -- ice, an
165
- * enemy agent -- by tearing its thread apart (the offensive mirror of
166
- * releasing your own sprite). Opposed Resonance + compiling vs the
167
- * construct's code integrity (Willpower + Logic/2); net hits plus
168
- * Resonance/2 land straight on its monitor, no soak -- the opposed
169
- * test WAS the resistance. Fading bills the same toll as compiling
170
- * (2x its hits, min 2). A failed pull leaves it standing, alert, and
171
- * pointed at you. Returns undefined when the words name no hostile
172
- * construct here (the summons flow's turn).
173
- */
174
- tryDecompileEnemy(query) {
175
- const actor = this.actor;
176
- const game = this.game;
177
- const room = actor.currentLocation;
178
- const hostiles = room.getActors().filter(a => a instanceof NPC
179
- && a.plane === 'matrix'
180
- && !game?.companions.some(c => c.npc === a));
181
- if (hostiles.length === 0)
182
- return undefined;
183
- const picked = fuzzyPickName(query, hostiles.map(h => h.name));
184
- if (!picked)
185
- return undefined;
186
- const target = hostiles.find(h => h.name === picked);
187
- if (!actor.isTechnomancer()) {
188
- return `Decompiling is Resonance work -- ${target.name}'s thread doesn't answer your hands.`;
189
- }
190
- if (actor.plane !== 'matrix') {
191
- return `You can't grip a construct's thread from meatspace -- "jack in" and face ${target.name} on the grid.`;
192
- }
193
- if (actor.inExchange) {
194
- return `Unraveling a construct takes more focus than the fight will give you.`;
195
- }
196
- const compiling = actor.skillRating('compiling');
197
- const mine = rollPool(Math.max(1, actor.resonance + (compiling > 0 ? compiling : -1) + actor.woundModifier - actor.sustainingPenalty));
198
- const theirs = rollPool(Math.max(1, target.willpower + Math.floor(target.logic / 2)));
199
- const net = mine.hits - theirs.hits;
200
- this.logger.meta(`Decompiling ${target.name}: ${formatRoll(mine)}`);
201
- this.logger.meta(` its code holds: ${formatRoll(theirs)}`);
202
- actor.performAction(`reaches into ${target.name}'s code, pulling at threads that were never meant to be touched`, '');
203
- this.logger.write(`CompileCommand: ${actor.name} decompiles ${target.name} -- ${mine.hits} vs ${theirs.hits}.`);
204
- const lines = [`You find ${target.name}'s thread and PULL AGAINST THE WEAVE:`];
205
- if (net <= 0) {
206
- lines.push(` Its code holds -- and now it KNOWS you, the touch traced straight back to your persona.`);
207
- this.scene.addWorldEvent(`${actor.name} tried to decompile ${target.name} in ${room.name} -- and failed. It is alert.`);
208
- }
209
- else {
210
- const dmg = net + Math.floor(actor.resonance / 2);
211
- target.takeDamage(dmg);
212
- if (target.isDown()) {
213
- this.scene.addWorldEvent(`${actor.name} decompiled ${target.name} in ${room.name} -- unraveled to static.`);
214
- this.scene.removeActor(target.name);
215
- lines.push(` Thread by thread it comes APART -- ${dmg} boxes -- and ${target.name} unravels into clean static. Decompiled.`);
216
- }
217
- else {
218
- this.scene.addWorldEvent(`${actor.name} tore at ${target.name}'s code in ${room.name}.`);
219
- lines.push(` Threads tear loose -- ${dmg} boxes: it holds together, barely, and it's coming for you.`);
220
- }
221
- }
222
- // GOD counts Resonance crimes too (canon: decompiling is an illegal
223
- // action; the defender's hits are the evidence).
224
- const god = accrueOverwatch(this.scene, actor, theirs.hits, 'decompiled a hostile construct');
225
- lines.push(...god.lines);
226
- if (god.converged && actor.plane === 'matrix') {
227
- lines.push(...leaveMatrix(this.scene, actor, { forced: true, reason: `GOD force-reboots your persona --` }));
228
- this.scene.updateStatus();
229
- return lines.join('\n');
230
- }
231
- // Fading, the same toll compiling bills (p.256): 2x its hits, min 2,
232
- // resisted Resonance + Willpower, landing as stun.
233
- const fadingValue = Math.max(2, theirs.hits * 2);
234
- const resist = rollPool(Math.max(1, actor.willpower + actor.resonance));
235
- const fadingTaken = Math.max(0, fadingValue - resist.hits);
236
- this.logger.meta(`Fading (${fadingValue}): resist ${formatRoll(resist)}`);
237
- if (fadingTaken === 0) {
238
- lines.push(` The fading washes past you.`);
239
- }
240
- else {
241
- const { stun, overflow } = actor.takeStun(fadingTaken);
242
- lines.push(` The fading bites -- ${stun} stun: ${actor.stunSummary()}`);
243
- if (overflow > 0) {
244
- lines.push(` It's more than your mind can hold -- ${overflow} box${overflow === 1 ? '' : 'es'} spill into your body: ${actor.conditionSummary()}`);
245
- }
246
- }
247
- this.scene.updateStatus();
248
- return lines.join('\n');
249
- }
250
188
  }
251
189
  //# sourceMappingURL=compile.js.map