@maka/maka-cli 5.61.0 → 5.63.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.
- package/bundle/typescript/package.json +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js +4 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/ar.d.ts +34 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/ar.js +93 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/ar.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.js +4 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/breach.d.ts +7 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/breach.js +7 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/breach.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.d.ts +6 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js +56 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.d.ts +9 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js +62 -23
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js +5 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js +41 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/crew.d.ts +7 -14
- package/bundle/typescript/src/commands/game/sideQuest/commands/crew.js +86 -51
- package/bundle/typescript/src/commands/game/sideQuest/commands/crew.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/deck.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/deck.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/docwagon.js +4 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/docwagon.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js +6 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/follow.d.ts +37 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/follow.js +216 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/follow.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +23 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +30 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/install.js +4 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/install.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js +6 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/jobs.js +3 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/jobs.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.d.ts +21 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +165 -59
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.js +5 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js +6 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/note.js +9 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/note.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/overwatch.js +3 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/overwatch.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pan.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pan.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/players.js +4 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/players.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js +4 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/roles.js +4 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/roles.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.d.ts +21 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.js +95 -8
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +3 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/silent.d.ts +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js +13 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js +4 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/snoop.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/snoop.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js +11 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js +5 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js +21 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/tap.d.ts +49 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js +181 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js +4 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js +6 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.d.ts +13 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +85 -4
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js +43 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +9 -0
- package/bundle/typescript/src/commands/game/sideQuest/game.js +90 -25
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/headless.js +58 -0
- package/bundle/typescript/src/commands/game/sideQuest/headless.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +30 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +234 -63
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +19 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +31 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.d.ts +23 -4
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js +54 -8
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +6 -0
- package/bundle/typescript/src/commands/game/sideQuest/ui.js +21 -0
- package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.d.ts +74 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.js +184 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/earshot.d.ts +76 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/earshot.js +98 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/earshot.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/generation-capture.js +21 -9
- package/bundle/typescript/src/commands/game/sideQuest/utilities/generation-capture.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.d.ts +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js +34 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.js +34 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js +3 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.d.ts +26 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js +92 -7
- package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.d.ts +19 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +28 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/surveillance.d.ts +33 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/surveillance.js +61 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/surveillance.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +12 -11
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/maka.js +26 -0
- package/bundle/typescript/src/maka.js.map +1 -1
- package/bundle/typescript/src/tools/sdk-loader/relocate.js +7 -0
- package/bundle/typescript/src/tools/sdk-loader/relocate.js.map +1 -1
- package/bundle/typescript/src/tools/self-spawn/self-spawn.d.ts +10 -0
- package/bundle/typescript/src/tools/self-spawn/self-spawn.js +68 -0
- package/bundle/typescript/src/tools/self-spawn/self-spawn.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deck.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/deck.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deck.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/deck.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,7 +87,10 @@ export class DocwagonCommand extends Command {
|
|
|
87
87
|
].filter(Boolean).join('\n');
|
|
88
88
|
}
|
|
89
89
|
statusPanel() {
|
|
90
|
-
|
|
90
|
+
// BANNER RAILS REMOVED (playtest 2026-08-26, on the crew panel:
|
|
91
|
+
// "headers like that are too cluttery"). The heading itself stays --
|
|
92
|
+
// it carries what the panel divider can't say for it.
|
|
93
|
+
const lines = [`DOCWAGON${hint(' (SR5e p.450)')}`];
|
|
91
94
|
const c = this.game.docwagon;
|
|
92
95
|
if (c) {
|
|
93
96
|
const def = DOCWAGON_TIERS[c.tier];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docwagon.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/docwagon.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"docwagon.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/docwagon.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,12 @@ export class EquipmentCommand extends Command {
|
|
|
13
13
|
async execute(_args = []) {
|
|
14
14
|
const actor = this.actor;
|
|
15
15
|
const equipment = actor.equipment;
|
|
16
|
-
|
|
16
|
+
// BANNER REMOVED (playtest 2026-08-27, crew wave): ui.ts already
|
|
17
|
+
// draws a blue "-- <command> --" divider naming the verb it ran
|
|
18
|
+
// above every Mechanics panel, so a matching === HEADING === was
|
|
19
|
+
// the same word twice. Banners that carry INFORMATION the divider
|
|
20
|
+
// can't (a name, a target, a count) stay.
|
|
21
|
+
const lines = [];
|
|
17
22
|
// The derived numbers first -- they're what the player is usually
|
|
18
23
|
// actually asking.
|
|
19
24
|
const weapon = actor.getWeaponProfile();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"equipment.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/equipment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C;;;;;;GAMG;AACH,MAAM,OAAO,gBAAiB,SAAQ,OAAO;IACjC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,MAAM,CAAC,WAAW,GAAG,0EAA0E,CAAC;IAE1G,KAAK,CAAC,OAAO,CAAC,QAAkB,EAAE;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,MAAM,KAAK,GAAa,
|
|
1
|
+
{"version":3,"file":"equipment.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/equipment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Command, ICommand } from './command.js';
|
|
2
|
+
import type { Player } from '../models/player.js';
|
|
3
|
+
import type { Room } from '../models/room.js';
|
|
4
|
+
import type { Scene } from '../models/scene.js';
|
|
5
|
+
import type { Logger } from '../utilities/logger.js';
|
|
6
|
+
/** Who this runner is tailing right now, if anyone. */
|
|
7
|
+
export declare function followTarget(follower: Player): Player | undefined;
|
|
8
|
+
/** Drop the leash. Safe to call when there isn't one. */
|
|
9
|
+
export declare function clearFollow(follower: Player): void;
|
|
10
|
+
/** Everyone currently tailing `lead` in this scene. */
|
|
11
|
+
export declare function followersOf(scene: Scene, lead: Player): Player[];
|
|
12
|
+
/**
|
|
13
|
+
* Drag everyone tailing `mover` from `origin` into whatever room the
|
|
14
|
+
* mover now stands in. Called from GoCommand.finishMove AFTER the
|
|
15
|
+
* mover's own move has landed.
|
|
16
|
+
*
|
|
17
|
+
* Chains resolve breadth-first against a moved-set, so "C follows A
|
|
18
|
+
* follows B" walks the whole line through the door and a leash that
|
|
19
|
+
* loops back on itself terminates instead of recursing. Solo sessions
|
|
20
|
+
* have exactly one human in the scene and never enter the loop.
|
|
21
|
+
*/
|
|
22
|
+
export declare function dragFollowers(scene: Scene, mover: Player, origin: Room, logger: Logger): void;
|
|
23
|
+
export declare class FollowCommand extends Command implements ICommand {
|
|
24
|
+
protected static verb: string;
|
|
25
|
+
protected static description: string;
|
|
26
|
+
/** The scene's other humans -- the only legal targets. */
|
|
27
|
+
protected others(): Player[];
|
|
28
|
+
protected stop(explicit: boolean): string;
|
|
29
|
+
protected usage(): string;
|
|
30
|
+
execute(args?: string[]): Promise<string>;
|
|
31
|
+
}
|
|
32
|
+
/** The verb people actually reach for to stop (see registration). */
|
|
33
|
+
export declare class UnfollowCommand extends FollowCommand {
|
|
34
|
+
protected static verb: string;
|
|
35
|
+
protected static description: string;
|
|
36
|
+
execute(_args?: string[]): Promise<string>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { Command } from './command.js';
|
|
2
|
+
import { hint } from '../utilities/hints.js';
|
|
3
|
+
import { fuzzyPickName } from '../utilities/fuzzy-match.js';
|
|
4
|
+
import { heldBy } from '../utilities/grapple.js';
|
|
5
|
+
/**
|
|
6
|
+
* TAILING A PARTNER ("implement a `follow <player>` command" -- asked
|
|
7
|
+
* for by two different runners). Two humans in one scene had no way to
|
|
8
|
+
* stay together: every doorway was two people typing the same "go" and
|
|
9
|
+
* one of them getting it wrong, and a runner who wanted to shadow their
|
|
10
|
+
* partner instead of leading spent the job re-reading the other's
|
|
11
|
+
* arrival lines to work out where they'd gone.
|
|
12
|
+
*
|
|
13
|
+
* WHAT THIS IS: a room-change leash, nothing more. You declare a lead;
|
|
14
|
+
* when their ROOM changes, yours changes with it, and you land at their
|
|
15
|
+
* spot the way a companion heels (see GoCommand.finishMove -- the one
|
|
16
|
+
* choke point every room change funnels through, walked and grid-jumped
|
|
17
|
+
* alike). Everything else stays yours: your own actions, your own
|
|
18
|
+
* stepping inside the room ("move to <spot>"), your own dice.
|
|
19
|
+
*
|
|
20
|
+
* WHAT THIS IS NOT: it does not act for you, it does not follow an NPC
|
|
21
|
+
* (that is what the companion escort and "order" are for), and it never
|
|
22
|
+
* drags you anywhere your own feet could not have taken you -- every
|
|
23
|
+
* gate that stops a walk stops a tail too, and hitting one BREAKS the
|
|
24
|
+
* leash rather than queueing behind it.
|
|
25
|
+
*
|
|
26
|
+
* THE LEASH IS DELIBERATELY NOT PERSISTED. It lives in a WeakMap keyed
|
|
27
|
+
* by the Player instance, so it is per-session by construction -- the
|
|
28
|
+
* shared-run server hosts many sessions in one process, and a
|
|
29
|
+
* module-level map keyed by runner NAME would have leaked one table's
|
|
30
|
+
* leashes into another's. A save/reload, a new scene, or the ride home
|
|
31
|
+
* all hand out fresh Player objects, and following is a stance you took
|
|
32
|
+
* in a room, not a fact about your character.
|
|
33
|
+
*/
|
|
34
|
+
const TAILS = new WeakMap();
|
|
35
|
+
/** Who this runner is tailing right now, if anyone. */
|
|
36
|
+
export function followTarget(follower) {
|
|
37
|
+
return TAILS.get(follower);
|
|
38
|
+
}
|
|
39
|
+
/** Drop the leash. Safe to call when there isn't one. */
|
|
40
|
+
export function clearFollow(follower) {
|
|
41
|
+
TAILS.delete(follower);
|
|
42
|
+
}
|
|
43
|
+
/** Everyone currently tailing `lead` in this scene. */
|
|
44
|
+
export function followersOf(scene, lead) {
|
|
45
|
+
return scene.getPlayers().filter(p => p !== lead && TAILS.get(p) === lead);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Why this tail does NOT come along -- and, being a break, why the
|
|
49
|
+
* leash drops instead of waiting. Returns the line the follower reads,
|
|
50
|
+
* or undefined when they keep up.
|
|
51
|
+
*
|
|
52
|
+
* Every one of these is a gate that would have stopped them walking it
|
|
53
|
+
* themselves. A tail must never be a way around a grapple, a firefight,
|
|
54
|
+
* or the distance you let open up.
|
|
55
|
+
*/
|
|
56
|
+
function breakReason(tail, lead, origin, scene) {
|
|
57
|
+
if (tail.isIncapacitated()) {
|
|
58
|
+
return `${lead.name} moves off without you -- you're down, and down doesn't follow anybody.`;
|
|
59
|
+
}
|
|
60
|
+
// COMBAT BREAKS IT (the trigger the request named first). Same rule
|
|
61
|
+
// GoCommand enforces on your own feet: nobody disengages between the
|
|
62
|
+
// narration beats of a live exchange.
|
|
63
|
+
if (tail.inExchange || scene.isPlayerExchangeActive(tail.name)) {
|
|
64
|
+
return `${lead.name} breaks for the door -- you're pinned in the exchange and can't peel off. You've lost the tail.`;
|
|
65
|
+
}
|
|
66
|
+
if (heldBy(tail, scene)) {
|
|
67
|
+
return `You try to slip after ${lead.name} and get jerked back -- somebody has you held. The tail's broken.`;
|
|
68
|
+
}
|
|
69
|
+
// Already somewhere else: you weren't with them, so there was nothing
|
|
70
|
+
// to follow. This is the "fell behind" case, and the whole reason the
|
|
71
|
+
// leash is checked against the room they LEFT.
|
|
72
|
+
if (tail.currentLocation !== origin) {
|
|
73
|
+
return `${lead.name} moved on and you weren't with them. You've lost the tail.`;
|
|
74
|
+
}
|
|
75
|
+
// Bodies follow bodies. A projecting mage or a jacked-in decker is
|
|
76
|
+
// not walking through the same door as their meat-side partner, and a
|
|
77
|
+
// leash is not a way to be dragged across planes.
|
|
78
|
+
if (tail.plane !== lead.plane) {
|
|
79
|
+
return `${lead.name} is a plane away from you now -- there's nothing left to follow.`;
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Drag everyone tailing `mover` from `origin` into whatever room the
|
|
85
|
+
* mover now stands in. Called from GoCommand.finishMove AFTER the
|
|
86
|
+
* mover's own move has landed.
|
|
87
|
+
*
|
|
88
|
+
* Chains resolve breadth-first against a moved-set, so "C follows A
|
|
89
|
+
* follows B" walks the whole line through the door and a leash that
|
|
90
|
+
* loops back on itself terminates instead of recursing. Solo sessions
|
|
91
|
+
* have exactly one human in the scene and never enter the loop.
|
|
92
|
+
*/
|
|
93
|
+
export function dragFollowers(scene, mover, origin, logger) {
|
|
94
|
+
if (mover.currentLocation === origin)
|
|
95
|
+
return;
|
|
96
|
+
const dest = mover.currentLocation;
|
|
97
|
+
const queue = [mover];
|
|
98
|
+
const moved = new Set([mover]);
|
|
99
|
+
while (queue.length > 0) {
|
|
100
|
+
const lead = queue.shift();
|
|
101
|
+
for (const tail of followersOf(scene, lead)) {
|
|
102
|
+
if (moved.has(tail))
|
|
103
|
+
continue;
|
|
104
|
+
const broke = breakReason(tail, lead, origin, scene);
|
|
105
|
+
if (broke) {
|
|
106
|
+
TAILS.delete(tail);
|
|
107
|
+
logger.log(broke, { actor: tail.name });
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
// Whatever a tail was doing quietly, they're doing at a jog now
|
|
111
|
+
// (same reasoning as talking on comms -- see call.ts).
|
|
112
|
+
tail.sneaking = false;
|
|
113
|
+
tail.cameFrom = lead.cameFrom ? { ...lead.cameFrom } : undefined;
|
|
114
|
+
tail.currentLocation = dest;
|
|
115
|
+
// At their partner's shoulder, exactly like a companion heels --
|
|
116
|
+
// the spot is what gates talk, trade, melee and cover, so landing
|
|
117
|
+
// anywhere else would quietly separate them again on arrival.
|
|
118
|
+
tail.atSpot = lead.atSpot;
|
|
119
|
+
tail.performAction('enters', `${dest.name}, on ${lead.name}'s heel`);
|
|
120
|
+
logger.log(`You stay on ${lead.name}'s heel -- {bold}${dest.name}{/bold}.${hint(` ("look" to case it; "unfollow" to peel off.)`)}`, { actor: tail.name });
|
|
121
|
+
moved.add(tail);
|
|
122
|
+
queue.push(tail);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
export class FollowCommand extends Command {
|
|
127
|
+
static verb = 'follow';
|
|
128
|
+
static description = 'Tail another runner: "follow <name>" and their room changes take you with them. Bare "follow" (or "unfollow") peels off. It breaks on its own if you get caught in a fight, fall behind, or they leave the run. Same room, same plane, real players only -- NPC companions already heel by nature ("order" sends them).';
|
|
129
|
+
/** The scene's other humans -- the only legal targets. */
|
|
130
|
+
others() {
|
|
131
|
+
return this.scene.getPlayers().filter(p => p !== this.actor);
|
|
132
|
+
}
|
|
133
|
+
stop(explicit) {
|
|
134
|
+
const me = this.actor;
|
|
135
|
+
const lead = TAILS.get(me);
|
|
136
|
+
if (!lead) {
|
|
137
|
+
return explicit
|
|
138
|
+
? `You aren't following anybody.${hint(` ("follow <runner>" tails one -- "look" names who's standing here.)`)}`
|
|
139
|
+
: this.usage();
|
|
140
|
+
}
|
|
141
|
+
TAILS.delete(me);
|
|
142
|
+
this.actor.performAction('stops following', lead.name);
|
|
143
|
+
return `You peel off ${lead.name} -- your feet are your own again.`;
|
|
144
|
+
}
|
|
145
|
+
usage() {
|
|
146
|
+
const here = this.others().filter(p => p.currentLocation === this.actor.currentLocation);
|
|
147
|
+
if (here.length === 0) {
|
|
148
|
+
return `Nobody here to follow -- it takes another runner in the room with you.${hint(` (On a shared run: "crew players" lists the street, "look" shows who's actually standing here.)`)}`;
|
|
149
|
+
}
|
|
150
|
+
return `Follow who? ${here.map(p => p.name).join(', ')}. Usage: "follow <runner>" -- "unfollow" peels off.`;
|
|
151
|
+
}
|
|
152
|
+
async execute(args = []) {
|
|
153
|
+
// A leash is a human thing: NPCs escort through the companion
|
|
154
|
+
// system (see Game.companions / GoCommand.finishMove), and letting
|
|
155
|
+
// an NPC's AI loop type "follow" would stand up a second, parallel
|
|
156
|
+
// escort mechanism over the same actors.
|
|
157
|
+
if (!this.scene.isHumanControlled(this.actor))
|
|
158
|
+
return '';
|
|
159
|
+
const me = this.actor;
|
|
160
|
+
const query = (args ?? []).join(' ').trim();
|
|
161
|
+
if (!query)
|
|
162
|
+
return this.stop(false);
|
|
163
|
+
const lowered = query.toLowerCase();
|
|
164
|
+
if (lowered === 'off' || lowered === 'stop' || lowered === 'none')
|
|
165
|
+
return this.stop(true);
|
|
166
|
+
const others = this.others();
|
|
167
|
+
if (others.length === 0) {
|
|
168
|
+
// The likeliest way to meet this command: typed solo, where there
|
|
169
|
+
// IS no other runner. Say so plainly rather than pretending the
|
|
170
|
+
// name was the problem.
|
|
171
|
+
return `You're running this one alone -- there's nobody to follow.${hint(` (Seat a table with "crew hire"; "follow" works once you're on a shared run.)`)}`;
|
|
172
|
+
}
|
|
173
|
+
const picked = fuzzyPickName(query, others.map(p => p.name));
|
|
174
|
+
const lead = picked ? others.find(p => p.name === picked) : undefined;
|
|
175
|
+
if (!lead) {
|
|
176
|
+
return `No runner on this job answers to "${query}". Out here with you: ${others.map(p => p.name).join(', ')}.`;
|
|
177
|
+
}
|
|
178
|
+
// ACTIONABLE REFUSALS below -- each names the way out, so none of
|
|
179
|
+
// them is wrapped in hint().
|
|
180
|
+
if (lead.currentLocation !== me.currentLocation) {
|
|
181
|
+
return `${lead.name} isn't in this room -- a tail starts shoulder to shoulder. Catch up to ${lead.currentLocation.name} first.`;
|
|
182
|
+
}
|
|
183
|
+
if (lead.plane !== me.plane) {
|
|
184
|
+
return `${lead.name} isn't on your plane right now -- meet them in the same world before you try to keep up.`;
|
|
185
|
+
}
|
|
186
|
+
if (lead.isIncapacitated()) {
|
|
187
|
+
return `${lead.name} isn't going anywhere -- they're down. "treat" them before you plan on being led.`;
|
|
188
|
+
}
|
|
189
|
+
if (TAILS.get(lead) === me) {
|
|
190
|
+
// Two runners each waiting on the other is a party that never
|
|
191
|
+
// moves; refuse the knot instead of tying it.
|
|
192
|
+
return `${lead.name} is already following YOU -- somebody has to pick the door. One of you "unfollow" first.`;
|
|
193
|
+
}
|
|
194
|
+
if (TAILS.get(me) === lead) {
|
|
195
|
+
return `You're already on ${lead.name}'s heel.${hint(` ("unfollow" peels off.)`)}`;
|
|
196
|
+
}
|
|
197
|
+
TAILS.set(me, lead);
|
|
198
|
+
this.actor.performAction('starts following', lead.name);
|
|
199
|
+
// The lead is told, in their own eyes only: being tailed changes
|
|
200
|
+
// how you move, and finding out by accident three rooms later is
|
|
201
|
+
// exactly the friction the request was about.
|
|
202
|
+
this.logger.log(`${me.name} falls in behind you.`, { actor: lead.name });
|
|
203
|
+
return `You fall in behind ${lead.name} -- where they go, you go.${hint(`\n("unfollow" peels off; a fight, a room you fall behind in, or their ride home breaks it for you.)`)}`;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
/** The verb people actually reach for to stop (see registration). */
|
|
207
|
+
export class UnfollowCommand extends FollowCommand {
|
|
208
|
+
static verb = 'unfollow';
|
|
209
|
+
static description = 'Stop tailing whoever you were following (see "follow").';
|
|
210
|
+
async execute(_args = []) {
|
|
211
|
+
if (!this.scene.isHumanControlled(this.actor))
|
|
212
|
+
return '';
|
|
213
|
+
return this.stop(true);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=follow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/follow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Door } from '../models/door.js';
|
|
2
2
|
import { CombatExchange } from '../utilities/combat-exchange.js';
|
|
3
3
|
import { rollPool, formatRoll } from '../utilities/dice.js';
|
|
4
|
-
import { entrySpotFor, arrivalAt, exitSpot, ensureAtSpot, spotsActive, highlightSpots, highlightActors, doorwayBlocker, doorwayFurniture, yieldDoorway } from '../utilities/spots.js';
|
|
4
|
+
import { entrySpotFor, arrivalAt, exitSpot, ensureAtSpot, spotsActive, highlightSpots, highlightActors, doorwayBlocker, doorwayFurniture, yieldDoorway, lockedRouteHint } from '../utilities/spots.js';
|
|
5
5
|
import { heldBy, holding } from '../utilities/grapple.js';
|
|
6
6
|
import { hint } from '../utilities/hints.js';
|
|
7
7
|
import { fuzzyPickName } from '../utilities/fuzzy-match.js';
|
|
8
8
|
import { gridIconBlock } from '../utilities/grid-view.js';
|
|
9
9
|
import { camerasLive } from '../utilities/surveillance.js';
|
|
10
10
|
import { maybeSinSweep } from '../utilities/sin.js';
|
|
11
|
+
import { dragFollowers } from './follow.js';
|
|
11
12
|
import { Command } from './command.js';
|
|
12
13
|
export class GoCommand extends Command {
|
|
13
14
|
static verb = 'go';
|
|
@@ -257,7 +258,14 @@ export class GoCommand extends Command {
|
|
|
257
258
|
// Matrix's (both checked below).
|
|
258
259
|
if (exit.checkIfLocked() && this.actor.plane === 'meat') {
|
|
259
260
|
this.actor.performAction('is prevented by locked door', currentRoom.name);
|
|
260
|
-
|
|
261
|
+
// NAME THE ROUTE (blocker 2026-08-27). This is FIRST CONTACT --
|
|
262
|
+
// what a player types before they know a barrier is even there
|
|
263
|
+
// -- and it used to end at "the door is locked", pointing at
|
|
264
|
+
// nothing. Same voice as spots.ts:terrainRefusal(): say what
|
|
265
|
+
// holds it and name a way through. A door with no puzzle on it
|
|
266
|
+
// keeps the bare line: there is genuinely nothing to work, and
|
|
267
|
+
// inventing a route would be worse than saying nothing.
|
|
268
|
+
return `${crossNote}The door in the direction "${direction}" is locked.${lockedRouteHint(exit)}`;
|
|
261
269
|
}
|
|
262
270
|
// Get the other side of the door (the room the player should move to)
|
|
263
271
|
const targetRoom = exit.getOtherSide(currentRoom);
|
|
@@ -326,7 +334,7 @@ export class GoCommand extends Command {
|
|
|
326
334
|
}
|
|
327
335
|
this.actor.performAction('enters', `${nextRoom.name}${this.actor.atSpot ? ` (at the ${this.actor.atSpot})` : ''}`);
|
|
328
336
|
}
|
|
329
|
-
return this.finishMove(crossNote);
|
|
337
|
+
return this.finishMove(crossNote, currentRoom);
|
|
330
338
|
}
|
|
331
339
|
/**
|
|
332
340
|
* Everything that happens AFTER a move lands, shared by the walked
|
|
@@ -334,7 +342,7 @@ export class GoCommand extends Command {
|
|
|
334
342
|
* revisit-aware arrival narration. Pure extraction -- byte-identical
|
|
335
343
|
* output for the walked path.
|
|
336
344
|
*/
|
|
337
|
-
finishMove(crossNote) {
|
|
345
|
+
finishMove(crossNote, origin) {
|
|
338
346
|
// Astral movement accrues the snap-back debt (see planes.ts).
|
|
339
347
|
if (this.actor.plane === 'astral') {
|
|
340
348
|
this.actor.astralTicks += 1;
|
|
@@ -371,6 +379,16 @@ export class GoCommand extends Command {
|
|
|
371
379
|
c.npc.performAction('enters', `${dest.name}, at ${this.actor.name}'s heel`);
|
|
372
380
|
}
|
|
373
381
|
}
|
|
382
|
+
// RUNNERS FOLLOW TOO (playtest request from two players: "implement
|
|
383
|
+
// a `follow <player>` command"). Companions heel by nature; a human
|
|
384
|
+
// partner heels only because they said so. Same choke point, so
|
|
385
|
+
// every room change -- walked or grid-jumped -- drags a tail exactly
|
|
386
|
+
// once, and every gate that already stopped the mover has stopped
|
|
387
|
+
// them before we get here. See commands/follow.ts for the break
|
|
388
|
+
// rules. Solo scenes hold one human and fall straight through.
|
|
389
|
+
if (origin && this.scene.isHumanControlled(this.actor)) {
|
|
390
|
+
dragFollowers(this.scene, this.actor, origin, this.logger);
|
|
391
|
+
}
|
|
374
392
|
// (Hub sessions once returned home by walking into the hideout door
|
|
375
393
|
// here -- run scenes no longer carry that door at all: the taxi is
|
|
376
394
|
// the road home, tab-backed so broke can't strand you. See call.ts.)
|
|
@@ -514,7 +532,7 @@ export class GoCommand extends Command {
|
|
|
514
532
|
this.actor.cameFrom = undefined;
|
|
515
533
|
this.actor.currentLocation = target;
|
|
516
534
|
this.actor.atSpot = undefined;
|
|
517
|
-
return this.finishMove('');
|
|
535
|
+
return this.finishMove('', current);
|
|
518
536
|
}
|
|
519
537
|
}
|
|
520
538
|
//# sourceMappingURL=go.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"go.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/go.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"go.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/go.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,11 @@ import { rollPool, formatRoll } from '../utilities/dice.js';
|
|
|
5
5
|
import { Door } from '../models/door.js';
|
|
6
6
|
import { leaveMatrix, canReachHost } from '../utilities/planes.js';
|
|
7
7
|
import { fuzzyPickName } from '../utilities/fuzzy-match.js';
|
|
8
|
+
import { isWatched } from '../utilities/surveillance.js';
|
|
9
|
+
import { TapCommand } from './tap.js';
|
|
10
|
+
/** What a player calls the thing on the wall when they mean "that one".
|
|
11
|
+
* Anchored so it never fires on a name that merely contains one. */
|
|
12
|
+
const CAMERA_WORDS = /^(the )?(camera|cameras|camera cluster|cam|cams|lens|lenses|feed|feeds|eyes)$/i;
|
|
8
13
|
export class HackCommand extends BypassCommand {
|
|
9
14
|
static verb = 'hack';
|
|
10
15
|
static description = 'Hack a terminal, host, or PAN. TWO ROUTES (canon p.238/240): bare "hack" is SLEAZE (Hack on the Fly -- Logic + hacking + Sleaze; succeed and NOBODY knows; fail and you are MADE: alarm, ice hunting, walls up). "hack loud" is ATTACK (Brute Force -- your cybercombat pool; success is announced to the whole grid, but a MISS goes unnoticed -- the firewall just bites you). "hack <name>" cracks a PAN the same two ways. Terminal-puzzle hacks are their own rail (a failed one locks you out for good).';
|
|
@@ -43,6 +48,21 @@ export class HackCommand extends BypassCommand {
|
|
|
43
48
|
if (panResult)
|
|
44
49
|
return panResult;
|
|
45
50
|
}
|
|
51
|
+
// "hack camera" IS the direct connection (backlog item 9 -- Niko
|
|
52
|
+
// reached for the camera and the verb was not there). One mechanic,
|
|
53
|
+
// two spellings: tap.ts owns the rule and the roll, this only
|
|
54
|
+
// routes. Gated on the room ACTUALLY having cameras so a barrier or
|
|
55
|
+
// puzzle that happens to be named for one still falls through to
|
|
56
|
+
// the bypass path below, untouched.
|
|
57
|
+
if (rest.length > 0 && CAMERA_WORDS.test(rest.join(' ')) && isWatched(this.actor.currentLocation)) {
|
|
58
|
+
return new TapCommand({
|
|
59
|
+
actor: this.actor,
|
|
60
|
+
scene: this.scene,
|
|
61
|
+
rooms: this.rooms,
|
|
62
|
+
screen: this.screen,
|
|
63
|
+
game: this.game,
|
|
64
|
+
}).execute(args);
|
|
65
|
+
}
|
|
46
66
|
// The Matrix branch: hacking FROM INSIDE a host node reaches the
|
|
47
67
|
// room's physical systems -- the meatspace payoff of jacking in. A
|
|
48
68
|
// failed crack means the host bites back (Matrix damage, routed by
|
|
@@ -185,14 +205,17 @@ export class HackCommand extends BypassCommand {
|
|
|
185
205
|
}
|
|
186
206
|
async hostIntrusionRoll(mode, threshold) {
|
|
187
207
|
let pool;
|
|
208
|
+
// Running silent charges -2 on every Matrix action (canon p.235-236,
|
|
209
|
+
// Player.matrixActionPenalty) -- both routes are Matrix actions.
|
|
210
|
+
const silence = this.actor.matrixActionPenalty;
|
|
188
211
|
if (mode === 'attack') {
|
|
189
|
-
pool = Math.max(1, this.actor.getAttackPool());
|
|
212
|
+
pool = Math.max(1, this.actor.getAttackPool() + silence);
|
|
190
213
|
}
|
|
191
214
|
else {
|
|
192
215
|
const sleazeEdge = this.actor.isTechnomancer()
|
|
193
216
|
? Math.floor(this.actor.resonance / 2)
|
|
194
217
|
: this.actor.activeDeck?.matrixEdge('sleaze') ?? 0;
|
|
195
|
-
pool = Math.max(1, this.actor.logic + this.actor.skillRating('hacking') + sleazeEdge + this.actor.qualityBonus('hacking') + this.actor.woundModifier - this.actor.sustainingPenalty);
|
|
218
|
+
pool = Math.max(1, this.actor.logic + this.actor.skillRating('hacking') + sleazeEdge + this.actor.qualityBonus('hacking') + silence + this.actor.woundModifier - this.actor.sustainingPenalty);
|
|
196
219
|
}
|
|
197
220
|
const roll = rollPool(pool);
|
|
198
221
|
if (this.scene.isHumanControlled(this.actor)) {
|
|
@@ -258,7 +281,11 @@ export class HackCommand extends BypassCommand {
|
|
|
258
281
|
// MARKS (canon p.235-236, commands/mark.ts): every key you already
|
|
259
282
|
// hold on this PAN rides the intrusion at +2 dice.
|
|
260
283
|
const markDice = 2 * (target.panMarksBy.get(actor.name) ?? 0);
|
|
261
|
-
|
|
284
|
+
// A PAN intrusion is a Matrix action, so the intruder's OWN silence
|
|
285
|
+
// costs them -2 here (canon p.235-236) -- the mirror of the +2 the
|
|
286
|
+
// defender's silence buys in getPanDefensePool. Two silent runners
|
|
287
|
+
// fencing pay their own price each.
|
|
288
|
+
const attack = rollPool(Math.max(0, actor.logic + panSkill + atkQuality + actor.qualityBonus('hacking') + markDice + actor.matrixActionPenalty + actor.woundModifier));
|
|
262
289
|
const defense = rollPool(target.getPanDefensePool());
|
|
263
290
|
actor.performAction('runs a PAN intrusion', target.name);
|
|
264
291
|
this.logger.write(`${actor.name} PAN-hacks ${target.name}: ${attack.hits} vs ${defense.hits} (silent=${target.runningSilent}).`);
|