@maka/maka-cli 5.82.1 → 5.84.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/bundle/typescript/package.json +2 -2
  2. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +7 -0
  3. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
  4. package/bundle/typescript/src/commands/game/sideQuest/commands/enter-host.d.ts +53 -0
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/enter-host.js +135 -0
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/enter-host.js.map +1 -0
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/go.d.ts +18 -9
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +55 -21
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +39 -9
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/heal.d.ts +53 -0
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/heal.js +158 -0
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/heal.js.map +1 -0
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/look.d.ts +1 -1
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +26 -11
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/map.d.ts +4 -5
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/map.js +14 -11
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/map.js.map +1 -1
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js +5 -3
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js.map +1 -1
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +28 -13
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/sustain.d.ts +12 -0
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/sustain.js +52 -2
  27. package/bundle/typescript/src/commands/game/sideQuest/commands/sustain.js.map +1 -1
  28. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +85 -18
  29. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.d.ts +8 -5
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js +8 -8
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js.map +1 -1
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js +69 -16
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js.map +1 -1
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/use.d.ts +17 -11
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/use.js +45 -32
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/use.js.map +1 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
  39. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +23 -1
  40. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
  41. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.d.ts +34 -1
  42. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +96 -14
  43. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.d.ts +25 -1
  45. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +51 -4
  46. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +1 -1
  47. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.d.ts +9 -2
  48. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js +12 -5
  49. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js.map +1 -1
  50. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +26 -0
  51. package/bundle/typescript/src/commands/game/sideQuest/game.js +182 -9
  52. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  53. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +38 -0
  54. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +85 -3
  55. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  56. package/bundle/typescript/src/commands/game/sideQuest/models/room.d.ts +32 -1
  57. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +48 -3
  58. package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
  59. package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +8 -0
  60. package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.d.ts +1 -1
  61. package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.js +8 -5
  62. package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.js.map +1 -1
  63. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-vocab.js +6 -0
  64. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-vocab.js.map +1 -1
  65. package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.d.ts +124 -0
  66. package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js +209 -0
  67. package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js.map +1 -0
  68. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.d.ts +3 -2
  69. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js +112 -15
  70. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js.map +1 -1
  71. package/bundle/typescript/src/commands/game/sideQuest/utilities/ic.d.ts +8 -3
  72. package/bundle/typescript/src/commands/game/sideQuest/utilities/ic.js +70 -8
  73. package/bundle/typescript/src/commands/game/sideQuest/utilities/ic.js.map +1 -1
  74. package/bundle/typescript/src/commands/game/sideQuest/utilities/limits.d.ts +50 -0
  75. package/bundle/typescript/src/commands/game/sideQuest/utilities/limits.js +44 -0
  76. package/bundle/typescript/src/commands/game/sideQuest/utilities/limits.js.map +1 -0
  77. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +9 -0
  78. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
  79. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.d.ts +133 -8
  80. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +208 -30
  81. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
  82. package/bundle/typescript/src/commands/game/sideQuest/utilities/presence-gate.d.ts +21 -0
  83. package/bundle/typescript/src/commands/game/sideQuest/utilities/presence-gate.js +28 -0
  84. package/bundle/typescript/src/commands/game/sideQuest/utilities/presence-gate.js.map +1 -0
  85. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.d.ts +5 -0
  86. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js +33 -0
  87. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js.map +1 -1
  88. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js +9 -1
  89. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js.map +1 -1
  90. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +3 -1
  91. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  92. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maka/maka-cli",
3
- "version": "5.82.1",
3
+ "version": "5.84.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.",
@@ -44,7 +44,7 @@
44
44
  "@aws-sdk/client-route-53-domains": "^3.1111.0",
45
45
  "@dotenvx/dotenvx": "^2.21.0",
46
46
  "@inquirer/prompts": "^8.5.2",
47
- "@maka/meteor-sdk": "^0.2.7",
47
+ "@maka/meteor-sdk": "^0.2.13",
48
48
  "@maka/tar": "^6.2.2",
49
49
  "blessed": "^0.1.81",
50
50
  "chalk": "^4.1.2",
@@ -789,6 +789,13 @@ export class CastCommand extends BypassCommand {
789
789
  const roll = rollPool(this.actor.getMagicPool());
790
790
  const healed = target.healDamage(Math.min(roll.hits, force));
791
791
  const capped = roll.hits > force;
792
+ // p.205: "First Aid may not be applied if the character has been
793
+ // magically healed." Mana closes a wound differently than pressure
794
+ // and sealant do, and the two do not stack on one set of wounds. Only
795
+ // a spell that ACTUALLY knit something locks it out -- a heal that
796
+ // rolled nothing has nothing to protect.
797
+ if (healed > 0)
798
+ target.magicallyHealed = true;
792
799
  const spell = SPELLS.heal;
793
800
  this.actor.performAction('casts heal', self ? '' : `on ${target.name}`);
794
801
  this.scene.addWorldEvent(`${this.actor.name} cast a healing spell${self ? '' : ` on ${target.name}`} in ${this.actor.currentLocation.name}.`);
@@ -1 +1 @@
1
- {"version":3,"file":"cast.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/cast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cast.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/cast.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { Command, ICommand } from './command.js';
2
+ /**
3
+ * ENTER/EXIT HOST (SR5 p.239, Complex Action).
4
+ *
5
+ * "Enter/Exit Host: Marks required 1. You enter or exit a host. A host
6
+ * allows anyone to enter if they've got a mark, and anyone inside can
7
+ * exit. There is no test involved. When you leave a host, you return to
8
+ * the grid you entered from."
9
+ *
10
+ * WHY THIS FILE EXISTS AT ALL. Until now this engine had NO
11
+ * inside-vs-outside-host state. A persona standing on a room's patch of
12
+ * grid WAS in its host as far as every surface was concerned: `look`
13
+ * listed the host's sealed files as icons "right there on the grid",
14
+ * `hack` cracked a host you had never entered, and IC hunted personas
15
+ * who had crossed no threshold. One play-tester filed that same absence
16
+ * three times from three sides -- once as "IC do not operate out on the
17
+ * Grid", once as icons visible where they should not be, once as an
18
+ * air-gapped host that cannot exist -- because from outside the code
19
+ * there was no single wrong rule to point at, only a missing one.
20
+ *
21
+ * The boundary the book draws (p.246): "The virtual space inside a host
22
+ * is separate from the outside grid. When you're outside of a host, you
23
+ * can't interact directly with icons inside it... Once you're inside,
24
+ * you can see and interact with icons inside the host, but not outside."
25
+ *
26
+ * LINK-LOCK BLOCKS THIS DOOR IN BOTH DIRECTIONS (p.229): "If you are
27
+ * link-locked, you cannot use the Enter/Exit Host action." That is not a
28
+ * flourish -- it is the whole point of the lock IC already in this
29
+ * engine (utilities/ic.ts applyLinkLock). Jack Out remains the escape,
30
+ * and it costs dumpshock.
31
+ */
32
+ export declare class EnterHostCommand extends Command implements ICommand {
33
+ protected static verb: string;
34
+ protected static description: string;
35
+ execute(args?: string[]): Promise<string>;
36
+ /**
37
+ * The host this verb means. Bare `enter` takes the one under your feet
38
+ * -- the overwhelmingly common case, and the one a player types.
39
+ * Naming a room enters that room's host instead, which matters because
40
+ * a jacked-in persona jumps by name and may be standing anywhere.
41
+ */
42
+ private resolveHost;
43
+ }
44
+ /**
45
+ * The other half of p.239. "Anyone inside can exit" -- no mark check, no
46
+ * test, because you are already past the door. The only thing that holds
47
+ * a persona inside is a link-lock (p.229).
48
+ */
49
+ export declare class ExitHostCommand extends Command implements ICommand {
50
+ protected static verb: string;
51
+ protected static description: string;
52
+ execute(_args?: string[]): Promise<string>;
53
+ }
@@ -0,0 +1,135 @@
1
+ import { Command } from './command.js';
2
+ import { hint } from '../utilities/hints.js';
3
+ import { hostLabel } from '../utilities/grid-names.js';
4
+ /**
5
+ * ENTER/EXIT HOST (SR5 p.239, Complex Action).
6
+ *
7
+ * "Enter/Exit Host: Marks required 1. You enter or exit a host. A host
8
+ * allows anyone to enter if they've got a mark, and anyone inside can
9
+ * exit. There is no test involved. When you leave a host, you return to
10
+ * the grid you entered from."
11
+ *
12
+ * WHY THIS FILE EXISTS AT ALL. Until now this engine had NO
13
+ * inside-vs-outside-host state. A persona standing on a room's patch of
14
+ * grid WAS in its host as far as every surface was concerned: `look`
15
+ * listed the host's sealed files as icons "right there on the grid",
16
+ * `hack` cracked a host you had never entered, and IC hunted personas
17
+ * who had crossed no threshold. One play-tester filed that same absence
18
+ * three times from three sides -- once as "IC do not operate out on the
19
+ * Grid", once as icons visible where they should not be, once as an
20
+ * air-gapped host that cannot exist -- because from outside the code
21
+ * there was no single wrong rule to point at, only a missing one.
22
+ *
23
+ * The boundary the book draws (p.246): "The virtual space inside a host
24
+ * is separate from the outside grid. When you're outside of a host, you
25
+ * can't interact directly with icons inside it... Once you're inside,
26
+ * you can see and interact with icons inside the host, but not outside."
27
+ *
28
+ * LINK-LOCK BLOCKS THIS DOOR IN BOTH DIRECTIONS (p.229): "If you are
29
+ * link-locked, you cannot use the Enter/Exit Host action." That is not a
30
+ * flourish -- it is the whole point of the lock IC already in this
31
+ * engine (utilities/ic.ts applyLinkLock). Jack Out remains the escape,
32
+ * and it costs dumpshock.
33
+ */
34
+ export class EnterHostCommand extends Command {
35
+ static verb = 'enter';
36
+ static description = 'Enter a host you hold a mark on (Complex Action, no test -- a host opens to anyone marked). Inside, you see the host\'s own icons and nothing on the outside grid; outside, the host is a single sealed icon. "exit" returns you to the grid you came from.';
37
+ async execute(args = []) {
38
+ const actor = this.actor;
39
+ if (actor.plane !== 'matrix') {
40
+ return `Entering a host is something a PERSONA does. You're standing here in the flesh. ${hint(`"jack in" first.`)}`;
41
+ }
42
+ if (actor.insideHost) {
43
+ return `You're already inside ${hostLabel(actor.insideHost, { capital: false })}. ${hint(`"exit" drops you back to the grid.`)}`;
44
+ }
45
+ // p.229: link-locked personas cannot use Enter/Exit Host at all.
46
+ // Named, not silently refused -- the lock is a thing the player can
47
+ // act on, and the action that beats it has a price worth stating.
48
+ if (actor.linkLockedBy.size > 0) {
49
+ const by = [...actor.linkLockedBy].join(', ');
50
+ return `{red-fg}LINK-LOCKED by ${by} -- the connection is nailed open and Enter/Exit Host is closed to you (p.229). Kill what's holding you, or "jack out" and eat the dumpshock.{/red-fg}`;
51
+ }
52
+ const here = actor.currentLocation;
53
+ const target = this.resolveHost(args, here);
54
+ if (typeof target === 'string')
55
+ return target;
56
+ // THE MARK IS THE WHOLE GATE (p.239) -- one mark, no test. This is
57
+ // deliberately NOT a second hack: a player who has already spent the
58
+ // actions to get a mark has bought the door, and charging them a
59
+ // test here would be inventing a rule the book explicitly denies
60
+ // ("There is no test involved").
61
+ const marks = target.hostMarksBy.get(actor.name) ?? 0;
62
+ if (marks < 1 && !target.hostCracked && !target.hostSanctioned) {
63
+ return [
64
+ `{cyan-fg}${hostLabel(target, { capital: true })} doesn't know you. Its architecture has no door shaped like your icon.{/cyan-fg}`,
65
+ hint(`A host opens to anyone holding a MARK on it (p.239) -- "mark ${target.name}" softens it, or "hack" takes one by force.`),
66
+ ].join('\n');
67
+ }
68
+ actor.insideHost = target;
69
+ actor.performAction('enters a host', `icon crossing into ${target.name}'s architecture`);
70
+ this.logger.write(`${actor.name} entered the host at ${target.name}.`);
71
+ this.scene.updateStatus();
72
+ return [
73
+ `{cyan-fg}You cross into ${hostLabel(target, { capital: false })}.{/cyan-fg}`,
74
+ `{cyan-fg}The outside grid folds shut behind you -- the street's icons, the PANs, the personas out on the patch: all of it gone, not hidden. In here there is only what the host keeps.{/cyan-fg}`,
75
+ hint(`"look" reads the space you're standing in now. "exit" puts you back on the grid you came from.`),
76
+ ].join('\n');
77
+ }
78
+ /**
79
+ * The host this verb means. Bare `enter` takes the one under your feet
80
+ * -- the overwhelmingly common case, and the one a player types.
81
+ * Naming a room enters that room's host instead, which matters because
82
+ * a jacked-in persona jumps by name and may be standing anywhere.
83
+ */
84
+ resolveHost(args, here) {
85
+ const named = args.join(' ').trim();
86
+ if (!named) {
87
+ if (!here.hasNode) {
88
+ return `{cyan-fg}Thin grid here -- no host stands over ${here.name}.{/cyan-fg} ${hint(`"map" lights the ones that do.`)}`;
89
+ }
90
+ return here;
91
+ }
92
+ const room = Object.values(this.scene.getRooms()).find(r => r.name.toLowerCase() === named.toLowerCase());
93
+ if (!room)
94
+ return `No room called "${named}" on this grid.`;
95
+ if (!room.hasNode)
96
+ return `{cyan-fg}${room.name} has no host over it -- nothing to enter.{/cyan-fg}`;
97
+ // Your persona has to be ON that patch of grid to cross into its
98
+ // host. `go` is free out here (no distance on the grid), so this is
99
+ // one move, not a wall -- but it keeps the boundary honest: you
100
+ // enter a host from the grid it sits on.
101
+ if (room !== here) {
102
+ return `{cyan-fg}${hostLabel(room, { capital: true })} stands over ${room.name}, and you're on ${here.name}'s patch.{/cyan-fg} ${hint(`"go ${room.name}" first -- the grid has no distance.`)}`;
103
+ }
104
+ return room;
105
+ }
106
+ }
107
+ /**
108
+ * The other half of p.239. "Anyone inside can exit" -- no mark check, no
109
+ * test, because you are already past the door. The only thing that holds
110
+ * a persona inside is a link-lock (p.229).
111
+ */
112
+ export class ExitHostCommand extends Command {
113
+ static verb = 'exit';
114
+ static description = 'Leave the host you\'re inside and return to the grid you entered from (Complex Action, no test -- anyone inside can exit). Link-locked personas cannot: "jack out" is the only way through that, and it hurts.';
115
+ async execute(_args = []) {
116
+ const actor = this.actor;
117
+ if (actor.plane !== 'matrix' || !actor.insideHost) {
118
+ return `You're not inside a host. ${hint(`"enter" crosses into one you hold a mark on.`)}`;
119
+ }
120
+ if (actor.linkLockedBy.size > 0) {
121
+ const by = [...actor.linkLockedBy].join(', ');
122
+ return `{red-fg}You reach for the door and it isn't there. LINK-LOCKED by ${by}: the connection is held open and Enter/Exit Host is closed to you (p.229). "jack out" still works -- it just costs you dumpshock.{/red-fg}`;
123
+ }
124
+ const host = actor.insideHost;
125
+ actor.insideHost = undefined;
126
+ actor.performAction('exits a host', `icon surfacing out of ${host.name}'s architecture`);
127
+ this.logger.write(`${actor.name} exited the host at ${host.name}.`);
128
+ this.scene.updateStatus();
129
+ return [
130
+ `{cyan-fg}You step back out of ${hostLabel(host, { capital: false })} and onto ${actor.currentLocation.name}'s patch of grid.{/cyan-fg}`,
131
+ `{cyan-fg}The host seals behind you: one icon again, whatever you saw in there now on the other side of its wall.{/cyan-fg}`,
132
+ ].join('\n');
133
+ }
134
+ }
135
+ //# sourceMappingURL=enter-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enter-host.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/enter-host.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,9 @@ export declare class GoCommand extends Command implements ICommand {
43
43
  * output for the walked path.
44
44
  */
45
45
  private finishMove;
46
+ /** The arrival narration itself -- unchanged; see finishMove for why
47
+ * it is wrapped rather than edited at each return. */
48
+ private describeArrival;
46
49
  /**
47
50
  * The revisit short form: the room's name and who's about -- NOTHING
48
51
  * else (player request: the auto "Exits: ..." line was two rows of
@@ -57,16 +60,22 @@ export declare class GoCommand extends Command implements ICommand {
57
60
  * initiate slips through like weather. */
58
61
  private checkWard;
59
62
  /**
60
- * An AIR-GAPPED host's room is dark ground on the grid: nothing there
61
- * broadcasts, so there is no overlay for a remote persona to stand in
62
- * -- and no way to ENGAGE what guards it (player report: killed the
63
- * host's ice from a wireless ride-in, then couldn't loot the host it
64
- * guarded; if the gap blocks the loot it blocks the fight). A persona
65
- * whose BODY is in the room rode in on the hard line -- they pass. The
66
- * host's own ice never leaves its dark room, so the one-way trap
67
- * (out, then blocked coming back) never bites it in practice.
63
+ * THE ONE WALL LEFT ON THE GRID: you cannot walk out of a host.
64
+ *
65
+ * This used to be checkAirGap, and it stopped a persona at the
66
+ * threshold of an "air-gapped" host's room -- dark ground with no
67
+ * wireless spillover to ride in on. That model is gone
68
+ * (hhSWvKKMxRC7DGXhh: a host is Matrix architecture by definition, so
69
+ * one that cannot be reached from the Matrix is not a host). Every
70
+ * room's grid patch is now reachable.
71
+ *
72
+ * What replaces it is the boundary that IS in the book (p.246): the
73
+ * space inside a host is separate from the outside grid. A persona
74
+ * standing in a host's architecture is not on the street grid and
75
+ * cannot jump along it -- the exit is a door, not a direction. Same
76
+ * shape of wall, moved to where canon actually puts one.
68
77
  */
69
- private checkAirGap;
78
+ private checkHostBoundary;
70
79
  /**
71
80
  * The persona's real movement (RAW: "you think about going... and
72
81
  * boom, you go"): resolve the words as ANY room in the scene and be
@@ -1,5 +1,6 @@
1
1
  import { Door } from '../models/door.js';
2
2
  import { hostConcealedFrom } from '../utilities/jackpoint.js';
3
+ import { planeChangeHint, astralMovesLeft, astralCordWarning, astralCordParts } from '../utilities/planes.js';
3
4
  import { CombatExchange } from '../utilities/combat-exchange.js';
4
5
  import { rollPool, formatRoll } from '../utilities/dice.js';
5
6
  import { entrySpotFor, arrivalAt, ensureAtExit, spotsActive, highlightSpots, highlightActors, doorwayBlocker, doorwayFurniture, yieldDoorway, lockedRouteHint } from '../utilities/spots.js';
@@ -46,7 +47,7 @@ export class GoCommand extends Command {
46
47
  ally: () => false,
47
48
  };
48
49
  static verb = 'go';
49
- static description = 'Move in the specified direction ("go back" retraces your last move). Fleeing someone you just fought hands them one free parting shot. Jacked in, the grid sees no distance: "go <any room>" jumps your persona straight there ("map" lights the icons; air-gapped hosts stay dark without a hard line).';
50
+ static description = 'Move in the specified direction ("go back" retraces your last move). Fleeing someone you just fought hands them one free parting shot. Jacked in, the grid sees no distance: "go <any room>" jumps your persona straight there ("map" lights the icons). Inside a host there is no distance to cross at all -- "exit" first.';
50
51
  async execute(args) {
51
52
  if (!args)
52
53
  return '';
@@ -229,6 +230,15 @@ export class GoCommand extends Command {
229
230
  return this.gridJump(args.join(' '));
230
231
  }
231
232
  if (!this.isValidDirection(direction)) {
233
+ // A PLANE IS SOMEWHERE YOU GO, in the sense a player means it, so
234
+ // name the verb that takes you there rather than refusing the word
235
+ // as nonsense (LFmjA76izZ62NDjAv -- "go astral" answering "That is
236
+ // not a way to go" is the move-ish response that report is about).
237
+ const plane = planeChangeHint(direction, this.actor.plane);
238
+ if (plane) {
239
+ this.logger.write(`${this.actor.name} typed "go ${direction}" -- pointed at the plane verb.`);
240
+ return plane;
241
+ }
232
242
  this.logger.write(`${this.actor.name} attempted to go ${direction} which is not valid.`);
233
243
  return 'That is not a way to go';
234
244
  }
@@ -329,7 +339,7 @@ export class GoCommand extends Command {
329
339
  const wardBlock = this.checkWard(targetRoom);
330
340
  if (wardBlock)
331
341
  return wardBlock;
332
- const gapBlock = this.checkAirGap(targetRoom);
342
+ const gapBlock = this.checkHostBoundary(targetRoom);
333
343
  if (gapBlock)
334
344
  return gapBlock;
335
345
  this.actor.performAction('exits', `${this.actor.currentLocation.name} to ${targetRoom.name}`);
@@ -366,7 +376,7 @@ export class GoCommand extends Command {
366
376
  const wardBlock = this.checkWard(nextRoom);
367
377
  if (wardBlock)
368
378
  return wardBlock;
369
- const gapBlock = this.checkAirGap(nextRoom);
379
+ const gapBlock = this.checkHostBoundary(nextRoom);
370
380
  if (gapBlock)
371
381
  return gapBlock;
372
382
  this.actor.cameFrom = { room: this.actor.currentLocation.name, back: GoCommand.opposite(direction) };
@@ -396,10 +406,29 @@ export class GoCommand extends Command {
396
406
  * output for the walked path.
397
407
  */
398
408
  finishMove(crossNote, origin) {
399
- // Astral movement accrues the snap-back debt (see planes.ts).
400
- if (this.actor.plane === 'astral') {
401
- this.actor.astralTicks += 1;
409
+ // ASTRAL MOVEMENT SPENDS THE CORD (SR5 p.314 -- see planes.ts
410
+ // astralMoveBudget for why a room-move stands for an hour, and for
411
+ // the toll this replaced). Warnings escalate the whole way down so
412
+ // the death is never a surprise; past the budget the cord parts and
413
+ // the body dies, which is the canon consequence rather than a house
414
+ // one.
415
+ //
416
+ // A WRAPPER, because the arrival narration has half a dozen exits
417
+ // and the cord note has to ride every one of them. Appending at each
418
+ // return is how one of them silently stops warning.
419
+ if (this.actor.plane !== 'astral')
420
+ return this.describeArrival(crossNote, origin);
421
+ this.actor.astralTicks += 1;
422
+ if (astralMovesLeft(this.actor) <= 0) {
423
+ return astralCordParts(this.scene, this.actor).join('\n');
402
424
  }
425
+ const arrival = this.describeArrival(crossNote, origin);
426
+ const warn = astralCordWarning(this.actor);
427
+ return warn ? `${arrival}\n${warn}` : arrival;
428
+ }
429
+ /** The arrival narration itself -- unchanged; see finishMove for why
430
+ * it is wrapped rather than edited at each return. */
431
+ describeArrival(crossNote, origin) {
403
432
  // COMPANIONS FOLLOW (see Game.companions): when the PLAYER moves,
404
433
  // every shell whose plane can keep up moves with them -- spirits
405
434
  // cross meat and astral, drones stay meat, agents ride the grid
@@ -539,24 +568,29 @@ export class GoCommand extends Command {
539
568
  return null;
540
569
  }
541
570
  /**
542
- * An AIR-GAPPED host's room is dark ground on the grid: nothing there
543
- * broadcasts, so there is no overlay for a remote persona to stand in
544
- * -- and no way to ENGAGE what guards it (player report: killed the
545
- * host's ice from a wireless ride-in, then couldn't loot the host it
546
- * guarded; if the gap blocks the loot it blocks the fight). A persona
547
- * whose BODY is in the room rode in on the hard line -- they pass. The
548
- * host's own ice never leaves its dark room, so the one-way trap
549
- * (out, then blocked coming back) never bites it in practice.
571
+ * THE ONE WALL LEFT ON THE GRID: you cannot walk out of a host.
572
+ *
573
+ * This used to be checkAirGap, and it stopped a persona at the
574
+ * threshold of an "air-gapped" host's room -- dark ground with no
575
+ * wireless spillover to ride in on. That model is gone
576
+ * (hhSWvKKMxRC7DGXhh: a host is Matrix architecture by definition, so
577
+ * one that cannot be reached from the Matrix is not a host). Every
578
+ * room's grid patch is now reachable.
579
+ *
580
+ * What replaces it is the boundary that IS in the book (p.246): the
581
+ * space inside a host is separate from the outside grid. A persona
582
+ * standing in a host's architecture is not on the street grid and
583
+ * cannot jump along it -- the exit is a door, not a direction. Same
584
+ * shape of wall, moved to where canon actually puts one.
550
585
  */
551
- checkAirGap(target) {
586
+ checkHostBoundary(target) {
552
587
  if (this.actor.plane !== 'matrix')
553
588
  return null;
554
- if (!target.hasNode || target.nodeAccess !== 'wired')
555
- return null;
556
- if (this.actor.bodyRoom === target)
589
+ const host = this.actor.insideHost;
590
+ if (!host || host === target)
557
591
  return null;
558
- this.actor.performAction('is stopped by dark grid', target.name);
559
- return `The grid GOES DARK at this threshold -- ${target.name}'s host is AIR-GAPPED, and there's no wireless spillover to ride in on. Get your body inside and jack in from a hard line.`;
592
+ this.actor.performAction('is stopped by host architecture', host.name);
593
+ return `You're INSIDE ${host.name}'s host -- its architecture is all there is from in here, and the outside grid is a wall away (p.246). "exit" puts you back on the grid, then go where you like.`;
560
594
  }
561
595
  /**
562
596
  * The persona's real movement (RAW: "you think about going... and
@@ -595,7 +629,7 @@ export class GoCommand extends Command {
595
629
  // looking THROUGH anything at a room, you are standing on it.
596
630
  return `Your persona is already there -- ${target.name} is the patch of grid you're standing on.`;
597
631
  }
598
- const gapBlock = this.checkAirGap(target);
632
+ const gapBlock = this.checkHostBoundary(target);
599
633
  if (gapBlock)
600
634
  return gapBlock;
601
635
  this.actor.performAction('rides the grid', `from ${current.name} to ${target.name} -- no distance, just intent`);