@maka/maka-cli 5.82.1 → 5.83.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 (59) hide show
  1. package/bundle/typescript/package.json +2 -2
  2. package/bundle/typescript/src/commands/game/sideQuest/commands/enter-host.d.ts +53 -0
  3. package/bundle/typescript/src/commands/game/sideQuest/commands/enter-host.js +135 -0
  4. package/bundle/typescript/src/commands/game/sideQuest/commands/enter-host.js.map +1 -0
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/go.d.ts +15 -9
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +33 -18
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +39 -9
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/look.d.ts +1 -1
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +26 -11
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/map.d.ts +4 -5
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/map.js +14 -11
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/map.js.map +1 -1
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js +5 -3
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js.map +1 -1
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +28 -13
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +85 -18
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.d.ts +8 -5
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js +8 -8
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js.map +1 -1
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js +69 -16
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js.map +1 -1
  27. package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
  28. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +23 -1
  29. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
  30. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +12 -8
  31. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
  32. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.d.ts +25 -1
  33. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +51 -4
  34. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +1 -1
  35. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +18 -0
  36. package/bundle/typescript/src/commands/game/sideQuest/game.js +63 -7
  37. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +22 -0
  39. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +62 -3
  40. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  41. package/bundle/typescript/src/commands/game/sideQuest/models/room.d.ts +32 -1
  42. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +48 -3
  43. package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.d.ts +1 -1
  45. package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.js +8 -5
  46. package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.js.map +1 -1
  47. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.d.ts +3 -2
  48. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js +112 -15
  49. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js.map +1 -1
  50. package/bundle/typescript/src/commands/game/sideQuest/utilities/ic.d.ts +8 -3
  51. package/bundle/typescript/src/commands/game/sideQuest/utilities/ic.js +70 -8
  52. package/bundle/typescript/src/commands/game/sideQuest/utilities/ic.js.map +1 -1
  53. package/bundle/typescript/src/commands/game/sideQuest/utilities/limits.d.ts +50 -0
  54. package/bundle/typescript/src/commands/game/sideQuest/utilities/limits.js +44 -0
  55. package/bundle/typescript/src/commands/game/sideQuest/utilities/limits.js.map +1 -0
  56. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.d.ts +76 -8
  57. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +87 -14
  58. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
  59. package/package.json +2 -2
@@ -1,7 +1,8 @@
1
1
  import { Command } from './command.js';
2
- import { canReachHost } from '../utilities/planes.js';
2
+ import { fileReach } from '../utilities/planes.js';
3
3
  import { canReach, ensureAtSpot, sealedRouteTo } from '../utilities/spots.js';
4
4
  import { hint } from '../utilities/hints.js';
5
+ import { Category } from '../types/shared/item-enum.js';
5
6
  export class TakeCommand extends Command {
6
7
  static verb = 'take';
7
8
  static description = 'Pick up an item. "take all" sweeps everything here -- but only after you have searched the room.';
@@ -48,14 +49,22 @@ export class TakeCommand extends Command {
48
49
  return `The ${this.actor.riggedDrone?.name ?? 'drone'} has no hands, and your pack is wherever your body is. Look all you want -- carrying is a meat job.`;
49
50
  }
50
51
  // A matrix-plane sweep only ever contains the host's files -- which
51
- // stay vaulted until the host is cracked, and unreachable entirely
52
- // when it's air-gapped and the persona rode in wireless (see the
53
- // single-take gate below for the same rules one item at a time).
54
- if (this.actor.plane === 'matrix' && room.hasNode) {
55
- if (!canReachHost(this.actor, room)) {
56
- return `The host here is AIR-GAPPED -- its files never touch the wireless grid. Jack in from a hard line INSIDE ${room.name} (get your body here first).`;
52
+ // live INSIDE the host (p.246) and stay vaulted until it is cracked.
53
+ // See the single-take gate below for the same rules one item at a
54
+ // time. The air-gap arm that used to sit here is gone with the model
55
+ // it belonged to (hhSWvKKMxRC7DGXhh).
56
+ if (this.actor.plane === 'matrix' && (room.hasNode || room.offlineServer)
57
+ && room.inventory.getAllItems().some(i => i.plane === 'matrix')) {
58
+ const reach = fileReach(this.actor, room);
59
+ if (reach === 'connect') {
60
+ return `Those files are on the ${room.offlineServer} -- off the network entirely. No persona reaches that box; your BODY has to be in ${room.name} (p.233).`;
57
61
  }
58
- if (!room.hostCracked && room.inventory.getAllItems().some(i => i.plane === 'matrix')) {
62
+ if (reach === 'enter') {
63
+ return `Those files are INSIDE the host, and you're out on the grid looking at its shell (p.246). ${room.hostMarksBy.has(this.actor.name) || room.hostCracked ? `"enter" first.` : `Get a mark on it and "enter" -- or "hack" your way in.`}`;
64
+ }
65
+ // Same split as look.ts: the host's seal does not reach a box that
66
+ // is not on the network. The air gap IS the server's security.
67
+ if (room.hasNode && !room.offlineServer && !room.hostCracked) {
59
68
  return `The files here are sealed inside the host's data vault. Crack the node first ("hack") -- then sweep it clean.`;
60
69
  }
61
70
  }
@@ -98,6 +107,16 @@ export class TakeCommand extends Command {
98
107
  for (const item of items) {
99
108
  try {
100
109
  this.actor.addInventory(item);
110
+ // THE SWEEP DOWNLOADS TOO. Same rule as the single take below,
111
+ // applied here because a family fixed on one verb and not its
112
+ // sibling is how the other half of a mechanic goes missing:
113
+ // "take all" over a cracked host would otherwise leave every
114
+ // file plane 'matrix' in a pocket no meat hand can reach.
115
+ const sweptPaydata = item.plane === 'matrix';
116
+ if (sweptPaydata) {
117
+ item.plane = 'meat';
118
+ item.category = Category.Datachip;
119
+ }
101
120
  room.inventory.removeItem(item.name);
102
121
  room.plainSightItems.delete(item.name.toLowerCase());
103
122
  tookAnything = true;
@@ -105,7 +124,7 @@ export class TakeCommand extends Command {
105
124
  // see the theft note on the single-item path below.
106
125
  taken.push(item.owner && item.owner !== this.actor.name ? `${item.name} (${item.owner}'s)` : item.name);
107
126
  this.logger.write(`take all: ${this.actor.name} took "${item.name}" from ${room.name}.`);
108
- lines.push(` • took the {bold}{underline}${item.name}{/underline}{/bold}`);
127
+ lines.push(` • ${sweptPaydata ? `pulled down the {bold}{underline}${item.name}{/underline}{/bold} -- written to a chip` : `took the {bold}{underline}${item.name}{/underline}{/bold}`}`);
109
128
  if (item.owner && item.owner !== this.actor.name) {
110
129
  this.scene.addWorldEvent(`${this.actor.name} took ${item.name} (belonging to ${item.owner}) from ${room.name}.`);
111
130
  }
@@ -175,14 +194,27 @@ export class TakeCommand extends Command {
175
194
  ? `The ${itemName} is DATA -- it only exists on the grid. Jack in to take it.`
176
195
  : `The ${itemName} isn't reachable from this plane.`;
177
196
  }
178
- // The host is the vault: files in a node room stay sealed until the
179
- // host is cracked ("hack") -- and an air-gapped host doesn't even talk
180
- // to personas who rode in over the wireless grid (planes.canReachHost).
181
- if (item.plane === 'matrix' && room.hasNode) {
182
- if (!canReachHost(this.actor, room)) {
183
- return `The host here is AIR-GAPPED -- its files never touch the wireless grid. Jack in from a hard line INSIDE ${room.name} (get your body here first).`;
197
+ // THE HOST IS THE VAULT, AND YOU HAVE TO BE IN IT. Two separate
198
+ // gates, and they are not the same one: being INSIDE (p.246) is
199
+ // where the file is, and CRACKED (a mark buys the door, p.239, not
200
+ // the contents) is whether the seal is off. A persona who marked a
201
+ // host and walked in still finds the archive locked.
202
+ //
203
+ // This take path is load-bearing for the data-run win condition (s3
204
+ // builds on it): taking a matrix file is the DOWNLOAD, and the item
205
+ // keeps its name on the way out because the objective matches on
206
+ // that name. Do not rename items here.
207
+ if (item.plane === 'matrix' && (room.hasNode || room.offlineServer)) {
208
+ const reach = fileReach(this.actor, room);
209
+ if (reach === 'connect') {
210
+ return `The ${item.name} sits on the ${room.offlineServer} -- a box with no Matrix presence at all. No persona reaches it from anywhere: get your BODY into ${room.name} and cable in (p.233).`;
184
211
  }
185
- if (!room.hostCracked) {
212
+ if (reach === 'enter') {
213
+ return `The ${item.name} is INSIDE the host -- you're on the outside grid, reading its shell (p.246). ${(room.hostMarksBy.get(this.actor.name) ?? 0) > 0 || room.hostCracked ? `"enter" first.` : `Get a mark on it and "enter" -- or "hack" your way in.`}`;
214
+ }
215
+ // Same split as look.ts: the host's seal does not reach a box that
216
+ // is not on the network. The air gap IS the server's security.
217
+ if (room.hasNode && !room.offlineServer && !room.hostCracked) {
186
218
  return `The ${item.name} is sealed inside the host's data vault. Crack the node first ("hack") -- then it's yours.`;
187
219
  }
188
220
  }
@@ -204,6 +236,35 @@ export class TakeCommand extends Command {
204
236
  this.actor.performAction('take', item.owner && item.owner !== this.actor.name ? `${item.name} (${item.owner}'s)` : item.name);
205
237
  this.actor.addInventory(item);
206
238
  this.logger.write(`Successfully added "${itemName}" to ${this.actor.name}'s inventory during 'Take' command.`);
239
+ // PAYDATA COMES HOME ON A CHIP (user ruling 2026-08-30, for the
240
+ // data-run type ruoedrMTA6kCRNmEN).
241
+ //
242
+ // Lifting a file used to leave it plane 'matrix' IN YOUR POCKET:
243
+ // carried by a persona, invisible to your meat hands the moment
244
+ // you jacked out, and impossible to hand to a fixer who has never
245
+ // been on the grid in his life. The data was yours and there was
246
+ // no way to spend it.
247
+ //
248
+ // So the download is the take. The file is written to physical
249
+ // media the instant it leaves the host, and what you carry out is
250
+ // a chip -- which is what a fixer can be handed, and what a
251
+ // winCondition can name.
252
+ //
253
+ // THE NAME IS DELIBERATELY UNCHANGED. A run's objective is matched
254
+ // by item NAME (win-condition-seed.ts: "must match an items[].name")
255
+ // so renaming the file on download would break the very run this
256
+ // exists to complete -- the fiction changes, the identity does not.
257
+ //
258
+ // Category moves to Datachip because that is what it now is, and
259
+ // it is safe: the enum has existed all along with no runtime
260
+ // consumer -- only generation-time clue validation reads
261
+ // categories, and that has already run by the time anyone takes
262
+ // anything.
263
+ const wasPaydata = item.plane === 'matrix';
264
+ if (wasPaydata) {
265
+ item.plane = 'meat';
266
+ item.category = Category.Datachip;
267
+ }
207
268
  if (item.owner && item.owner !== this.actor.name) {
208
269
  this.scene.addWorldEvent(`${this.actor.name} took ${item.name} (belonging to ${item.owner}) from ${room.name}.`);
209
270
  }
@@ -221,13 +282,19 @@ export class TakeCommand extends Command {
221
282
  // render BEFORE it -- print directly for the player, return the text
222
283
  // for an NPC actor's AI history.
223
284
  const isPlayer = this.scene.isHumanControlled(this.actor);
285
+ // The download is worth SAYING, not just doing: a player who lifts
286
+ // a file and is told "you have taken it" has no way to know the
287
+ // thing in their pocket is now something a fixer can be handed.
288
+ const taken = wasPaydata
289
+ ? `You pull the ${itemName} down out of the host and write it to a chip -- physical media, in your hand, off the grid.`
290
+ : `You have taken the ${itemName}.`;
224
291
  if (isPlayer) {
225
- this.logger.log(`You have taken the ${itemName}.`);
292
+ this.logger.log(taken);
226
293
  }
227
294
  if (!this.scene.isWinConditionTarget(this.actor.name)) {
228
295
  this.scene.checkWinCondition(item.name, this.actor.name);
229
296
  }
230
- return isPlayer ? '' : `You have taken the ${itemName}.`;
297
+ return isPlayer ? "" : taken;
231
298
  }
232
299
  catch (error) {
233
300
  this.logger.error(`Error during 'Take' command: ${error.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"take.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/take.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"take.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/take.ts"],"names":[],"mappings":"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"}
@@ -36,11 +36,14 @@ import { Command, ICommand } from './command.js';
36
36
  * against a camera's ratings instead of a host's -- and the cost is
37
37
  * that you had to walk in and touch it.
38
38
  *
39
- * The one place it beats the wireless road outright is an AIR-GAPPED
40
- * host: it has no door onto the grid at all (planes.canReachHost), but
41
- * its cameras are wired to it, and a cable is a hard line. Physical
42
- * infiltration is supposed to be the answer to an air gap, and now it
43
- * is one from the camera as well as from the terminal.
39
+ * WHERE THE AIR-GAP CLAUSE WENT. This used to say the cable's one
40
+ * outright win was an air-gapped host, which had no door onto the grid
41
+ * at all. There is no such host any more (hhSWvKKMxRC7DGXhh): a host is
42
+ * Matrix architecture by definition. The cable's real edge is now the
43
+ * OFFLINE SERVER -- a device deliberately kept off the network, which no
44
+ * persona can reach from anywhere, ever. Physical infiltration is still
45
+ * the answer to an air gap; the air gap just belongs to a device now,
46
+ * which is the only thing that can actually have one.
44
47
  */
45
48
  export declare class TapCommand extends Command implements ICommand {
46
49
  protected static verb: string;
@@ -42,11 +42,14 @@ import { hint } from '../utilities/hints.js';
42
42
  * against a camera's ratings instead of a host's -- and the cost is
43
43
  * that you had to walk in and touch it.
44
44
  *
45
- * The one place it beats the wireless road outright is an AIR-GAPPED
46
- * host: it has no door onto the grid at all (planes.canReachHost), but
47
- * its cameras are wired to it, and a cable is a hard line. Physical
48
- * infiltration is supposed to be the answer to an air gap, and now it
49
- * is one from the camera as well as from the terminal.
45
+ * WHERE THE AIR-GAP CLAUSE WENT. This used to say the cable's one
46
+ * outright win was an air-gapped host, which had no door onto the grid
47
+ * at all. There is no such host any more (hhSWvKKMxRC7DGXhh): a host is
48
+ * Matrix architecture by definition. The cable's real edge is now the
49
+ * OFFLINE SERVER -- a device deliberately kept off the network, which no
50
+ * persona can reach from anywhere, ever. Physical infiltration is still
51
+ * the answer to an air gap; the air gap just belongs to a device now,
52
+ * which is the only thing that can actually have one.
50
53
  */
51
54
  export class TapCommand extends Command {
52
55
  static verb = 'tap';
@@ -174,9 +177,6 @@ export class TapCommand extends Command {
174
177
  }
175
178
  // A mark is all canSnoopFeeds ever wanted (surveillance.ts).
176
179
  lines.push(` {cyan-fg}And the eyes are half yours already${hint(` -- jacked in, "snoop <room>" rides any feed on this network`)}.{/cyan-fg}`);
177
- if (host.nodeAccess === 'wired') {
178
- lines.push(` {cyan-fg}Worth knowing: that host is AIR-GAPPED. No persona was ever going to drift up to it. This cable is the only door it has, and you're holding a key to it.{/cyan-fg}`);
179
- }
180
180
  lines.push(...godLines);
181
181
  this.scene.updateStatus();
182
182
  return lines.join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"tap.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/tap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,OAAO,UAAW,SAAQ,OAAO;IAC3B,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,MAAM,CAAC,WAAW,GAAG,kbAAkb,CAAC;IAEld,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAE/B,yEAAyE;QACzE,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACrD,MAAM,IAAI,GAAwB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE/G,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,oCAAoC,IAAI,CAAC,8DAA8D,CAAC,EAAE,CAAC;QACpH,CAAC;QAED,mEAAmE;QACnE,kEAAkE;QAClE,+CAA+C;QAC/C,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAE5B,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,8LAA8L,IAAI,CAAC,sCAAsC,CAAC,EAAE,CAAC;QACtP,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,oBAAoB,SAAS,CAAC,IAAI,CAAC,4FAA4F,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,qBAAqB,CAAC,EAAE,CAAC;QAC3L,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YACtB,OAAO,oBAAoB,SAAS,aAAa,SAAS,CAAC,IAAI,CAAC,mEAAmE,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACvK,CAAC;QAED,oEAAoE;QACpE,oEAAoE;QACpE,iEAAiE;QACjE,+DAA+D;QAC/D,0BAA0B;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,CAAC;QAC1C,kEAAkE;QAClE,oEAAoE;QACpE,mEAAmE;QACnE,kEAAkE;QAClE,mEAAmE;QACnE,kEAAkE;QAClE,8BAA8B;QAC9B,wEAAwE;QACxE,MAAM,MAAM,GAAG,KAAK,CAAC,sBAAsB,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrF,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAE/J,KAAK,CAAC,aAAa,CAAC,yBAAyB,EAAE,GAAG,IAAI,CAAC,IAAI,yDAAyD,CAAC,CAAC;QACtH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS,uCAAuC,CAAC,CAAC;QAC1K,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,wBAAwB,IAAI,CAAC,IAAI,eAAe,IAAI,MAAM,IAAI,CAAC,IAAI,OAAO,SAAS,YAAY,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAE5I,iEAAiE;QACjE,oEAAoE;QACpE,gEAAgE;QAChE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,8BAA8B,IAAI,GAAG,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAE5B,IAAI,IAAI,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC;YAC1B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,iEAAiE;gBACjE,sDAAsD;gBACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,mCAAmC,IAAI,CAAC,IAAI,OAAO,SAAS,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;gBAC5I,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC1B,OAAO;oBACL,qDAAqD;oBACrD,sCAAsC,SAAS,CAAC,IAAI,CAAC,mKAAmK;oBACxN,GAAG,QAAQ;iBACZ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;YACD,iEAAiE;YACjE,gEAAgE;YAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,CAAC,oEAAoE,CAAC,CAAC;YACrF,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;oBACtD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACtB,KAAK,CAAC,IAAI,CAAC,qDAAqD,KAAK,UAAU,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACxG,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC9B,KAAK,CAAC,IAAI,CAAC,iCAAiC,KAAK,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBAC/G,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACzE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;YAC7F,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,kEAAkE;QAClE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,IAAI,0BAA0B,IAAI,CAAC,IAAI,OAAO,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,cAAc,GAAG,eAAe,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC;QAE1G,MAAM,KAAK,GAAG;YACZ,oIAAoI;YACpI,2CAA2C,SAAS,CAAC,IAAI,CAAC,0IAA0I;YACpM,iFAAiF,IAAI,CAAC,IAAI,kBAAkB,IAAI,CAAC,IAAI,mDAAmD,GAAG,IAAI,SAAS,aAAa;SACtM,CAAC;QACF,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;QAC1G,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,SAAS;gBACvC,CAAC,CAAC,6DAA6D;gBAC/D,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,yCAAyC,IAAI,CAAC,yDAAyD,CAAC,GAAG,YAAY,CAAC,CAAC;QACpK,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,kEAAkE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC;QAChK,CAAC;QACD,6DAA6D;QAC7D,KAAK,CAAC,IAAI,CAAC,iDAAiD,IAAI,CAAC,8DAA8D,CAAC,aAAa,CAAC,CAAC;QAC/I,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,+KAA+K,CAAC,CAAC;QAC9L,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
1
+ {"version":3,"file":"tap.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/tap.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export class ThreadCommand extends Command {
27
27
  if (actor.plane === 'astral') {
28
28
  return `The astral and the Resonance don't touch. "return" first.`;
29
29
  }
30
- const words = args.map(w => w.toLowerCase());
30
+ let words = args.map(w => w.toLowerCase());
31
31
  // "thread drop <form>": release a sustained working.
32
32
  if (words[0] === 'drop' || words[0] === 'release') {
33
33
  const query = words.slice(1).join(' ');
@@ -59,7 +59,17 @@ export class ThreadCommand extends Command {
59
59
  }
60
60
  return lines.join('\n');
61
61
  }
62
- // "thread <form> [level]"
62
+ // "thread <form> [level] [at <target>]"
63
+ //
64
+ // THE TARGET IS PART OF THE ACTION (au5AHA6KZcwZ3gSxM). Split on
65
+ // "at" BEFORE the form is resolved, so a target's name can never be
66
+ // read as part of the form's -- "resonance spike at Blackhammer"
67
+ // must not fuzzy-match a form called something with "hammer" in it.
68
+ // Everything after "at" is the target and nothing else looks at it.
69
+ const atIdx = words.findIndex(w => w.toLowerCase() === 'at');
70
+ const spikeTarget = atIdx >= 0 ? words.slice(atIdx + 1).join(' ').trim() : '';
71
+ if (atIdx >= 0)
72
+ words = words.slice(0, atIdx);
63
73
  const numArg = words.find(w => /^\d+$/.test(w));
64
74
  const nameWords = words.filter(w => !/^\d+$/.test(w)).join(' ');
65
75
  const pickedKey = fuzzyPickName(nameWords, FORMS.map(f => f.key))
@@ -103,7 +113,7 @@ export class ThreadCommand extends Command {
103
113
  lines.push(` The weave slips through your fingers -- nothing holds.`);
104
114
  }
105
115
  else {
106
- lines.push(...this.resolveForm(form, level, hits));
116
+ lines.push(...this.resolveForm(form, level, hits, spikeTarget));
107
117
  }
108
118
  this.logger.meta(`Fading (${fadingValue}${overreach ? ', OVERREACH -- physical' : ''}): resist ${formatRoll(resist)}`);
109
119
  if (fadingTaken === 0) {
@@ -124,24 +134,67 @@ export class ThreadCommand extends Command {
124
134
  return lines.join('\n');
125
135
  }
126
136
  /** Per-form resolution once the weave holds (hits >= 1). */
127
- resolveForm(form, level, hits) {
137
+ resolveForm(form, level, hits, spikeTarget = "") {
128
138
  const actor = this.actor;
129
139
  switch (form.key) {
130
140
  case 'resonance-spike': {
131
- // Raw damage to a Matrix opponent: your engaged foe, or the
132
- // nearest hostile icon in the room. Resonance actions need no
133
- // marks and grant no defense from hardware.
134
- const target = (actor.combatOpponent instanceof NPC && actor.combatOpponent.plane === 'matrix')
135
- ? actor.combatOpponent
136
- : actor.currentLocation.getActors().find((a) => a instanceof NPC && a.plane === 'matrix' && !a.deathClaimed);
137
- if (!target || actor.plane !== 'matrix') {
138
- return [` The spike arcs and grounds out -- no hostile icon in reach.${actor.plane !== 'matrix' ? ` ("jack in" -- the Resonance strikes on the grid.)` : ''}`];
141
+ // A SPIKE IS AIMED (au5AHA6KZcwZ3gSxM, Deditri: "it only hits my
142
+ // Sprites, it doesn't target. Threads and Spells that require
143
+ // targets need to be part of the action. It can't just
144
+ // default").
145
+ //
146
+ // They are right twice over. The old selector fell back to
147
+ // `getActors().find(a => a.plane === 'matrix')` -- ANY matrix
148
+ // icon in the room, with no hostility test and no ally test at
149
+ // all -- while the comment above it claimed "nearest hostile
150
+ // icon". Your own sprite is an NPC standing on the grid beside
151
+ // you, so it was usually first in the list. The engine shot the
152
+ // runner's own construct and called it an enemy.
153
+ //
154
+ // YOUR OWN NEVER GET PICKED FOR YOU. An ally can still be named
155
+ // out loud -- there are reasons to burn your own sprite -- but
156
+ // nothing chooses one on your behalf.
157
+ if (actor.plane !== 'matrix') {
158
+ return [` The spike has nowhere to earth itself out here.${hint(` ("jack in" -- the Resonance strikes on the grid.)`)}`];
139
159
  }
140
- const dmg = hits + 2;
141
- target.takeDamage(dmg);
142
- this.logger.meta(`Resonance Spike: ${dmg} boxes to ${target.name}.`);
160
+ const icons = actor.currentLocation.getActors()
161
+ .filter((a) => a instanceof NPC && a.plane === 'matrix' && !a.deathClaimed && a !== actor);
162
+ const foes = icons.filter(a => !a.allyOf);
163
+ const named = spikeTarget.length > 0 ? fuzzyPickName(spikeTarget, icons.map(i => i.name)) : undefined;
164
+ if (spikeTarget.length > 0 && !named) {
165
+ return [` Nothing on this grid answers to "${spikeTarget}".${icons.length > 0 ? ` In reach: ${icons.map(i => i.name).join(', ')}.` : ''}`];
166
+ }
167
+ const target = named
168
+ ? icons.find(i => i.name === named)
169
+ : (actor.combatOpponent instanceof NPC && actor.combatOpponent.plane === 'matrix' && !actor.combatOpponent.allyOf
170
+ ? actor.combatOpponent
171
+ : foes.length === 1 ? foes[0] : undefined);
172
+ if (!target) {
173
+ // Refuse rather than guess, and SAY what the choices are --
174
+ // the house pattern for an ambiguous target.
175
+ return foes.length > 1
176
+ ? [` Spike WHAT? More than one icon is in reach: ${foes.map(f => f.name).join(', ')}.${hint(` ("thread resonance-spike <level> at <name>")`)}`]
177
+ : [` The spike arcs and grounds out -- no hostile icon in reach.${icons.length > 0 ? ` Only your own ride the grid here: ${icons.map(i => i.name).join(', ')}.` : ''}`];
178
+ }
179
+ // CANON'S OWN TEST (p.253): Resonance Spike is Software +
180
+ // Resonance [Level] v. WILLPOWER + FIREWALL, and it deals ONE
181
+ // BOX PER NET HIT with no chance to resist. The threading roll
182
+ // above is the attack half; what was missing was the defence.
183
+ //
184
+ // It used to be `hits + 2` boxes, unopposed -- a flat bonus and
185
+ // a target that never got to be tough. Fixed in the same commit
186
+ // as the targeting because it is the same six lines and the
187
+ // same citation, and leaving it would be canon half-applied in
188
+ // a block I am already rewriting.
189
+ const defence = rollPool(Math.max(0, target.willpower + target.matrixAttribute('firewall')));
190
+ const net = Math.max(0, hits - defence.hits);
191
+ this.logger.meta(` Resonance Spike vs ${target.name}: ${hits} hits v. Willpower + Firewall ${formatRoll(defence)} -- ${net} net`);
192
+ if (net <= 0) {
193
+ return [` The spike breaks against ${target.name}'s firewall and earths out.`];
194
+ }
195
+ target.takeDamage(net);
143
196
  const fell = target.isDown() || target.deathClaimed;
144
- return [` The spike lands SQUARE -- ${dmg} boxes of raw Resonance tear through ${target.name}${fell ? `, and its code shears apart` : ` (${target.conditionSummary()})`}.`];
197
+ return [` The spike lands SQUARE on ${target.name} -- ${net} box${net === 1 ? '' : 'es'} of raw Resonance${fell ? `, and its code shears apart` : ` (${target.conditionSummary()})`}.`];
145
198
  }
146
199
  case 'stitches': {
147
200
  const sprite = this.game?.companions.find(c => c.kind === 'sprite');
@@ -1 +1 @@
1
- {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/thread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/thread.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,4 @@
16
16
  * No import.meta here (engine-graph law) -- this file is loaded by the
17
17
  * server.
18
18
  */
19
- export declare const ENGINE_VERSION = "1.17.0";
19
+ export declare const ENGINE_VERSION = "1.18.0";
@@ -95,5 +95,27 @@
95
95
  // hostMarksBy). Shared-scene combat semantics change: the host acts on
96
96
  // every player action inside it, so a shared run sees ice lines and
97
97
  // Mechanics rolls that clients on 1.16.0 do not produce.
98
- export const ENGINE_VERSION = '1.17.0';
98
+ // 1.18.0 (2026-08-30): THE HOST BOUNDARY (p.239, p.246) -- a persona is
99
+ // now INSIDE or OUTSIDE a host, and the two see different worlds. Three
100
+ // reports from one play-tester were the same missing state seen from
101
+ // three sides (hhSWvKKMxRC7DGXhh, eJANuz2xqvpNSjuFq, rG8LtMoy5DHQJ2NuG).
102
+ // - NEW VERBS `enter` / `exit-host` (Complex Action, 1 mark, no test).
103
+ // Bare `exit` routes to exit-host while inside one; it still quits
104
+ // the game everywhere else.
105
+ // - VISIBILITY: from outside, a host is ONE sealed icon -- its files,
106
+ // and anyone inside it, are gone from the grid view rather than
107
+ // listed as "right there". From inside, the outside grid is gone.
108
+ // - IC RUNS ONLY AGAINST PERSONAS INSIDE THE HOST, ambient Patrol
109
+ // included. A shared run sees strictly fewer ice lines than 1.17.0
110
+ // produced for the same actions, which is why this is a minor bump
111
+ // and not a patch: clients disagree about whether ice fires at all.
112
+ // - NO MORE AIR-GAPPED HOSTS. `canReachHost` lost its nodeAccess
113
+ // branch; a host is Matrix architecture by definition (p.218). The
114
+ // air gap moved to Room.offlineServer, a device with no Matrix
115
+ // presence whose files open only to a direct connection (p.233).
116
+ // Legacy `nodeAccess: 'wired'` seeds migrate in the Room constructor,
117
+ // so old scenes and saves keep working and no SAVE_VERSION is owed:
118
+ // insideHost is session state, cleared on every route out of the
119
+ // Matrix, and is never written to a save.
120
+ export const ENGINE_VERSION = '1.18.0';
99
121
  //# sourceMappingURL=engine-version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine-version.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/engine-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,sEAAsE;AACtE,mEAAmE;AACnE,oEAAoE;AACpE,sEAAsE;AACtE,6CAA6C;AAC7C,iEAAiE;AACjE,qCAAqC;AACrC,oEAAoE;AACpE,6DAA6D;AAC7D,uEAAuE;AACvE,kDAAkD;AAClD,iEAAiE;AACjE,mEAAmE;AACnE,gEAAgE;AAChE,8DAA8D;AAC9D,kEAAkE;AAClE,kDAAkD;AAClD,kEAAkE;AAClE,4DAA4D;AAC5D,qEAAqE;AACrE,yDAAyD;AACzD,sEAAsE;AACtE,2CAA2C;AAC3C,qEAAqE;AACrE,yDAAyD;AACzD,iEAAiE;AACjE,qEAAqE;AACrE,qEAAqE;AACrE,uEAAuE;AACvE,wEAAwE;AACxE,oEAAoE;AACpE,wEAAwE;AACxE,6DAA6D;AAC7D,uEAAuE;AACvE,sEAAsE;AACtE,0DAA0D;AAC1D,2BAA2B;AAC3B,uEAAuE;AACvE,8DAA8D;AAC9D,mEAAmE;AACnE,4CAA4C;AAC5C,kEAAkE;AAClE,oEAAoE;AACpE,uEAAuE;AACvE,mEAAmE;AACnE,sEAAsE;AACtE,mEAAmE;AACnE,+DAA+D;AAC/D,yCAAyC;AACzC,qEAAqE;AACrE,oEAAoE;AACpE,mEAAmE;AACnE,kEAAkE;AAClE,qEAAqE;AACrE,yBAAyB;AACzB,iEAAiE;AACjE,sEAAsE;AACtE,sEAAsE;AACtE,qEAAqE;AACrE,qEAAqE;AACrE,qEAAqE;AACrE,kCAAkC;AAClC,+DAA+D;AAC/D,qEAAqE;AACrE,oEAAoE;AACpE,uEAAuE;AACvE,oEAAoE;AACpE,sEAAsE;AACtE,2DAA2D;AAC3D,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,yEAAyE;AACzE,sEAAsE;AACtE,2DAA2D;AAC3D,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"engine-version.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/engine-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,sEAAsE;AACtE,mEAAmE;AACnE,oEAAoE;AACpE,sEAAsE;AACtE,6CAA6C;AAC7C,iEAAiE;AACjE,qCAAqC;AACrC,oEAAoE;AACpE,6DAA6D;AAC7D,uEAAuE;AACvE,kDAAkD;AAClD,iEAAiE;AACjE,mEAAmE;AACnE,gEAAgE;AAChE,8DAA8D;AAC9D,kEAAkE;AAClE,kDAAkD;AAClD,kEAAkE;AAClE,4DAA4D;AAC5D,qEAAqE;AACrE,yDAAyD;AACzD,sEAAsE;AACtE,2CAA2C;AAC3C,qEAAqE;AACrE,yDAAyD;AACzD,iEAAiE;AACjE,qEAAqE;AACrE,qEAAqE;AACrE,uEAAuE;AACvE,wEAAwE;AACxE,oEAAoE;AACpE,wEAAwE;AACxE,6DAA6D;AAC7D,uEAAuE;AACvE,sEAAsE;AACtE,0DAA0D;AAC1D,2BAA2B;AAC3B,uEAAuE;AACvE,8DAA8D;AAC9D,mEAAmE;AACnE,4CAA4C;AAC5C,kEAAkE;AAClE,oEAAoE;AACpE,uEAAuE;AACvE,mEAAmE;AACnE,sEAAsE;AACtE,mEAAmE;AACnE,+DAA+D;AAC/D,yCAAyC;AACzC,qEAAqE;AACrE,oEAAoE;AACpE,mEAAmE;AACnE,kEAAkE;AAClE,qEAAqE;AACrE,yBAAyB;AACzB,iEAAiE;AACjE,sEAAsE;AACtE,sEAAsE;AACtE,qEAAqE;AACrE,qEAAqE;AACrE,qEAAqE;AACrE,kCAAkC;AAClC,+DAA+D;AAC/D,qEAAqE;AACrE,oEAAoE;AACpE,uEAAuE;AACvE,oEAAoE;AACpE,sEAAsE;AACtE,2DAA2D;AAC3D,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,yEAAyE;AACzE,sEAAsE;AACtE,2DAA2D;AAC3D,wEAAwE;AACxE,0EAA0E;AAC1E,uEAAuE;AACvE,2EAA2E;AAC3E,yEAAyE;AACzE,uEAAuE;AACvE,gCAAgC;AAChC,wEAAwE;AACxE,oEAAoE;AACpE,sEAAsE;AACtE,oEAAoE;AACpE,uEAAuE;AACvE,uEAAuE;AACvE,wEAAwE;AACxE,mEAAmE;AACnE,uEAAuE;AACvE,mEAAmE;AACnE,qEAAqE;AACrE,0EAA0E;AAC1E,wEAAwE;AACxE,qEAAqE;AACrE,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC"}
@@ -269,14 +269,18 @@ ${JSON_ONLY}
269
269
  // guarded space (a gang cache, a fixer's office, a shop): the room's
270
270
  // goods become THEIRS, and the engine makes them contest theft --
271
271
  // an unowned prize in a guarded vault walks out unchallenged.
272
- "hasNode"?: boolean, // a live Matrix host: hackable from inside the Matrix; releases the
273
- // room's maglocks AND unseals its matrix-plane files (the host is
274
- // the vault). 1-2 rooms in corp/tech locations only. Ice NPCs and
275
- // matrix-plane items belong ONLY in hasNode rooms, and any hasNode
276
- // room holding matrix items MUST have an ice NPC stationed in it.
277
- "nodeAccess"?: "wireless"|"wired", // "wired" = AIR-GAPPED: only hackable by jacking in
278
- // physically inside the room. Use for at most one, most-sensitive
279
- // host; never make its meat-side route impossible.
272
+ "hasNode"?: boolean, // a live Matrix host standing over this room: its own virtual space,
273
+ // ENTERED by a persona that holds a mark on it. Hacking it releases
274
+ // the room's maglocks AND unseals its matrix-plane files, which live
275
+ // INSIDE the host -- from the outside grid it is one sealed icon.
276
+ // 1-2 rooms in corp/tech locations only. Ice NPCs and matrix-plane
277
+ // items belong ONLY in hasNode rooms, and any hasNode room holding
278
+ // matrix items MUST have an ice NPC stationed in it.
279
+ "nodeAccess"?: "wireless", // Hosts are always reachable from the Matrix -- that is what
280
+ // makes them hosts. There is no air-gapped host: for a vault that
281
+ // must be entered in the flesh, put an OFFLINE SERVER device in the
282
+ // room's items instead and leave the host off. Legacy "wired" values
283
+ // are migrated automatically; do not author them.
280
284
  "hostRating"?: number, // 1-12, SR5 p.247. What KIND of host this is, and the only thing
281
285
  // that tells a pawnshop apart from an arcology on the grid map.
282
286
  // 1-2 personal sites, pirate archives. 3-4 low-end commercial,