@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
|
@@ -70,7 +70,7 @@ export class SheetCommand extends Command {
|
|
|
70
70
|
// with no colon, data rows as aligned `Label value` -- no colons.
|
|
71
71
|
const row = (label, value) => ` ${label.padEnd(11)} ${value}`;
|
|
72
72
|
const lines = [
|
|
73
|
-
|
|
73
|
+
`${a.name.toUpperCase()}${a.archetypeName ? ` (${a.archetypeName})` : ''}`,
|
|
74
74
|
'',
|
|
75
75
|
'ATTRIBUTES',
|
|
76
76
|
` Body ${a.body} Agility ${a.agility} Reaction ${a.reaction}`,
|
|
@@ -125,7 +125,7 @@ export class SheetCommand extends Command {
|
|
|
125
125
|
crewSheet(query) {
|
|
126
126
|
const game = this.game;
|
|
127
127
|
if (!game || game.crew.length === 0) {
|
|
128
|
-
return `Nobody rides with you to sheet.${hint(` ("crew" shows the roster
|
|
128
|
+
return `Nobody rides with you to sheet.${hint(` ("crew" shows the roster; "crew hire" the board.)`)}`;
|
|
129
129
|
}
|
|
130
130
|
const picked = fuzzyPickName(query, game.crew.map(m => m.name));
|
|
131
131
|
const member = picked ? game.crew.find(m => m.name === picked) : undefined;
|
|
@@ -170,7 +170,7 @@ export class SheetCommand extends Command {
|
|
|
170
170
|
const weapon = shell.getWeaponProfile();
|
|
171
171
|
const row = (label, value) => ` ${label.padEnd(11)} ${value}`;
|
|
172
172
|
const lines = [
|
|
173
|
-
|
|
173
|
+
`${member.name.toUpperCase()} (${roleLine})`,
|
|
174
174
|
` ${member.cutPct}% of the take -- ${member.jobsRun} job${member.jobsRun === 1 ? '' : 's'} run together${member.trainedThisCycle ? ' -- drilled this cycle' : ''}`,
|
|
175
175
|
'',
|
|
176
176
|
'ATTRIBUTES',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/sheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAqB,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D;;;;;;;GAOG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IAC7B,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,MAAM,CAAC,WAAW,GAAG,wJAAwJ,CAAC;IAExL,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE;QAC/B,gEAAgE;QAChE,gEAAgE;QAChE,gEAAgE;QAChE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAErB,oEAAoE;QACpE,qEAAqE;QACrE,oEAAoE;QACpE,8DAA8D;QAC9D,oEAAoE;QACpE,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE;YACrC,QAAQ,CAAC,EAAE,CAAC;gBACV,KAAK,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC/C,KAAK,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACnD,KAAK,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACtE,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACxE,KAAK,aAAa,CAAC;gBACnB,KAAK,UAAU,CAAC;gBAChB,KAAK,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAClF,KAAK,UAAU,CAAC;gBAChB,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC3E,KAAK,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC/E,KAAK,aAAa,CAAC;gBACnB,KAAK,KAAK,CAAC;gBACX,KAAK,WAAW,CAAC;gBACjB,KAAK,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACjD,KAAK,WAAW,CAAC;gBACjB,KAAK,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC1E,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;QAEF,qEAAqE;QACrE,kBAAkB;QAClB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACxD,GAAG,CAAC,CAAC,CAAC,EAAE;YACP,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACtF,CAAC,CAAC,CAAC;QACL,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;YACpC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,aAAa;gBAC9B,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7C,iEAAiE;QACjE,mEAAmE;QACnE,kEAAkE;QAClE,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QAE/E,MAAM,KAAK,GAAG;YACZ,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAClF,EAAE;YACF,YAAY;YACZ,UAAU,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC,QAAQ,EAAE;YAClE,cAAc,CAAC,CAAC,QAAQ,gBAAgB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,KAAK,EAAE;YACxE,eAAe,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,QAAQ,EAAE;YACrD,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1Q,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,2DAA2D,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrM,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,aAAa,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,iEAAiE,CAAC,EAAE;YACpK,aAAa,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,iCAAiC,CAAC,EAAE;YACjF,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrL,EAAE;YACF,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7B,OAAO;gBACP,+DAA+D;gBAC/D,6CAA6C;gBAC7C,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACpD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,OAAO,CAAC;oBAChE,OAAO,KAAK,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;gBAC7F,CAAC,CAAC;gBACF,EAAE;aACH,CAAC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzB,WAAW;gBACX,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACpD,KAAK,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC3F,EAAE;aACH,CAAC,CAAC,CAAC,EAAE,CAAC;YACP,iBAAiB,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG;YAC5D,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC;YACpF,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxI,EAAE;YACF,SAAS;YACT,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrK,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC/L,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC;YACrE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,IAAI,CAAC;YAC/C,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5B,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,eAAe,EAAG,CAAC,IAAI,IAAI,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,eAAe,EAAG,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/L,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC5D,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3H,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAAC;YAC7K,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,UAAU,gBAAgB,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC1T,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,eAAe,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,aAAa,oCAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,aAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,cAAc,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjG,CAAC;QAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,SAAS,CAAC,KAAa;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,kCAAkC,IAAI,CAAC,oDAAoD,CAAC,EAAE,CAAC;QACxG,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,kBAAkB,KAAK,mCAAmC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC5G,CAAC;QAED,gEAAgE;QAChE,6DAA6D;QAC7D,8BAA8B;QAC9B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC;YACvB,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,aAAa,EAAE,SAA4B;YAC3C,MAAM,EAAE,MAAM,CAAC,MAAsC;SACtD,CAAC,CAAC;QACH,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACzB,gEAAgE;gBAChE,6CAA6C;gBAC7C,IAAI,mDAAmD,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACpF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gEAAgE;gBACrF,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,kEAAkE;QAClE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QAEzB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,OAAO;YACxC,CAAC,CAAC,iBAAiB,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,SAAS,eAAe;YAClE,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,cAAc,CAAC,CAAC;QACvG,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QAE/E,MAAM,KAAK,GAAG;YACZ,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,QAAQ,GAAG;YACpD,KAAK,MAAM,CAAC,MAAM,oBAAoB,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAAE;YACnK,EAAE;YACF,YAAY;YACZ,UAAU,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,OAAO,eAAe,KAAK,CAAC,QAAQ,EAAE;YAC9E,cAAc,KAAK,CAAC,QAAQ,gBAAgB,KAAK,CAAC,SAAS,YAAY,KAAK,CAAC,KAAK,EAAE;YACpF,eAAe,KAAK,CAAC,SAAS,eAAe,KAAK,CAAC,QAAQ,EAAE;YAC7D,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,EAAE;YACF,QAAQ;YACR,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC;YACpF,EAAE;YACF,MAAM;YACN,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;YAChF,EAAE;YACF,SAAS;YACT,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,aAAa,EAAE,OAAO,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,MAAM,GAAG,CAAC;YACjF,GAAG,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,aAAa,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC;YAC7E,GAAG,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC;SACpD,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/sheet.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,14 @@ import { Command, ICommand } from './command.js';
|
|
|
5
5
|
* you -- including the fixer, so a job callback will not find you until
|
|
6
6
|
* you go loud again. Toggling silent drops any call you're on. The HUD's
|
|
7
7
|
* Link line tracks the state (see game.ts updateStatus).
|
|
8
|
+
*
|
|
9
|
+
* What silence COSTS and what it does NOT (canon p.235-236, checked
|
|
10
|
+
* 2026-08-27): it hides your icon -- finding you takes a Matrix
|
|
11
|
+
* Perception test first, then an Opposed test -- and it charges -2 dice
|
|
12
|
+
* on every Matrix action you take (Player.matrixActionPenalty), on top
|
|
13
|
+
* of the calls and the commlink initiative bonus this engine already
|
|
14
|
+
* takes. It does NOT blind you: your own AR overlay keeps painting,
|
|
15
|
+
* because AR is what you receive (p.229). See utilities/ar.ts arSightUp.
|
|
8
16
|
*/
|
|
9
17
|
export declare class SilentCommand extends Command implements ICommand {
|
|
10
18
|
protected static verb: string;
|
|
@@ -8,10 +8,18 @@ import { CALL_ICON, CALL_COLOR } from '../utilities/comm-style.js';
|
|
|
8
8
|
* you -- including the fixer, so a job callback will not find you until
|
|
9
9
|
* you go loud again. Toggling silent drops any call you're on. The HUD's
|
|
10
10
|
* Link line tracks the state (see game.ts updateStatus).
|
|
11
|
+
*
|
|
12
|
+
* What silence COSTS and what it does NOT (canon p.235-236, checked
|
|
13
|
+
* 2026-08-27): it hides your icon -- finding you takes a Matrix
|
|
14
|
+
* Perception test first, then an Opposed test -- and it charges -2 dice
|
|
15
|
+
* on every Matrix action you take (Player.matrixActionPenalty), on top
|
|
16
|
+
* of the calls and the commlink initiative bonus this engine already
|
|
17
|
+
* takes. It does NOT blind you: your own AR overlay keeps painting,
|
|
18
|
+
* because AR is what you receive (p.229). See utilities/ar.ts arSightUp.
|
|
11
19
|
*/
|
|
12
20
|
export class SilentCommand extends Command {
|
|
13
21
|
static verb = 'silent';
|
|
14
|
-
static description = 'Toggle your commlink broadcast: running silent
|
|
22
|
+
static description = 'Toggle your commlink broadcast: running silent hides your icon -- no calls in OR out (nobody can reach you, not even the fixer), no commlink initiative bonus, and -2 dice on your own Matrix actions, until you go loud again. Your AR overlay keeps painting.';
|
|
15
23
|
async execute(_args = []) {
|
|
16
24
|
const actor = this.actor;
|
|
17
25
|
// Your link's broadcast IS the Matrix connection -- killing it while
|
|
@@ -51,7 +59,10 @@ export class SilentCommand extends Command {
|
|
|
51
59
|
// Silent means OFF the street list too -- beat now.
|
|
52
60
|
if (this.game?.hasHub)
|
|
53
61
|
void this.game.pushPresenceNow();
|
|
54
|
-
|
|
62
|
+
// NOT {gray-fg} (standing ruling): blessed gray is ANSI
|
|
63
|
+
// bright-black and vanishes on stock dark palettes. White is the
|
|
64
|
+
// established neutral for mechanics text.
|
|
65
|
+
return `{white-fg}${CALL_ICON} You kill your link's broadcast.${hangupNote} Running silent -- no calls in or out, no commlink initiative bonus, and -2 dice on everything you do on the grid while you're covering your own tracks. Your overlay keeps painting: silence is what you EMIT, not what you can see. Until you go loud${hint(` ("silent" again)`)}.{/white-fg}`;
|
|
55
66
|
}
|
|
56
67
|
}
|
|
57
68
|
//# sourceMappingURL=silent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"silent.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/silent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEnE
|
|
1
|
+
{"version":3,"file":"silent.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/silent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,aAAc,SAAQ,OAAO;IAC9B,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,MAAM,CAAC,WAAW,GAAG,iQAAiQ,CAAC;IAEjS,KAAK,CAAC,OAAO,CAAC,QAAkB,EAAE;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,qEAAqE;QACrE,iEAAiE;QACjE,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,8FAA8F,CAAC;QACxG,CAAC;QAED,MAAM,UAAU,GACd,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI;YACtC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,kCAAkC,CAAC;QAC5C,CAAC;QAED,oBAAoB;QACpB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;YAC5B,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,wBAAwB,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAC1B,6DAA6D;YAC7D,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM;gBAAE,KAAK,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxD,OAAO,IAAI,UAAU,OAAO,SAAS,6EAA6E,UAAU,MAAM,CAAC;QACrI,CAAC;QAED,wDAAwD;QACxD,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACpC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,0BAA0B,OAAO,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAC1F,UAAU,GAAG,kBAAkB,OAAO,CAAC,IAAI,kBAAkB,CAAC;QAChE,CAAC;QAED,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC1B,oDAAoD;QACpD,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM;YAAE,KAAK,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QACxD,wDAAwD;QACxD,iEAAiE;QACjE,0CAA0C;QAC1C,OAAO,aAAa,SAAS,mCAAmC,UAAU,0PAA0P,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;IAC9W,CAAC"}
|
|
@@ -52,7 +52,10 @@ export class SinCommand extends Command {
|
|
|
52
52
|
+ ` That's the name the next reader gets.`;
|
|
53
53
|
}
|
|
54
54
|
panel() {
|
|
55
|
-
|
|
55
|
+
// BANNER RAILS REMOVED (playtest 2026-08-26, on the crew panel:
|
|
56
|
+
// "headers like that are too cluttery"). The heading itself stays --
|
|
57
|
+
// it carries what the panel divider can't say for it.
|
|
58
|
+
const lines = [`PAPERS${hint(' (SR5e p.364)')}`];
|
|
56
59
|
// Legal status first -- it outranks any fake, because a real SIN is
|
|
57
60
|
// always on and can't be swapped out. A criminal SIN in particular
|
|
58
61
|
// broadcasts whether you like it or not.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sin.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/sin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,UAAW,SAAQ,OAAO;IAC3B,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,MAAM,CAAC,WAAW,GAAG,8LAA8L,CAAC;IAE9N,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QAEjC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,yCAAyC;kBAC5C,wEAAwE,CAAC;QAC/E,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACjE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,8DAA8D;kBACjE,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,mEAAmE;QACnE,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,MAAM,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;eAC3E,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,yCAAyC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACrG,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,sCAAsC,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5F,OAAO,uBAAuB,MAAM,CAAC,MAAM,wCAAwC;cAC/E,wCAAwC,CAAC;IAC/C,CAAC;IAEO,KAAK;QACX,MAAM,KAAK,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"sin.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/sin.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,7 @@ export class SnoopCommand extends Command {
|
|
|
40
40
|
}
|
|
41
41
|
actor.performAction('rides a camera feed', target.name);
|
|
42
42
|
this.logger.write(`Snoop: ${actor.name} watching ${target.name} via camera feed.`);
|
|
43
|
-
const lines = [
|
|
43
|
+
const lines = [`CAMERA FEED: ${target.name.toUpperCase()}`];
|
|
44
44
|
if (!camerasLive(allRooms, target)) {
|
|
45
45
|
lines.push(`{cyan-fg}(Security sees a loop of empty hallways -- these eyes answer only to you now.){/cyan-fg}`);
|
|
46
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snoop.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/snoop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IAC7B,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,MAAM,CAAC,WAAW,GAAG,gQAAgQ,CAAC;IAEhS,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,4DAA4D,CAAC;QACtE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9E,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,IAAI,CAAC,GAAG;gBAAE,OAAO,oCAAoC,KAAK,KAAK,IAAI,CAAC,sCAAsC,CAAC,EAAE,CAAC;YAC9G,MAAM,GAAG,GAAG,CAAC;QACf,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,iBAAiB,MAAM,CAAC,IAAI,sBAAsB,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO,gBAAgB,MAAM,CAAC,IAAI,0GAA0G,CAAC;QAC/I,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,aAAa,MAAM,CAAC,IAAI,mBAAmB,CAAC,CAAC;QAEnF,MAAM,KAAK,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"snoop.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/snoop.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,7 +56,17 @@ export class SolveCommand extends Command {
|
|
|
56
56
|
this.logger.write(`${this.actor.name} attempted to solve ${targets[0].puzzle.name} with result false`);
|
|
57
57
|
this.logger.write(`SolveCommand: ${firstResult.message}`);
|
|
58
58
|
this.actor.performAction('solve', firstResult.message);
|
|
59
|
-
|
|
59
|
+
// NAME THE OTHER ROUTE (blocker 2026-08-27): a wrong answer was the
|
|
60
|
+
// last dead-end refusal left on a barrier -- the same silence go.ts
|
|
61
|
+
// and unlock.ts had. A player who was handed a bad code has nowhere
|
|
62
|
+
// to go from "that's not it"; the risky route is exactly what they
|
|
63
|
+
// need to hear about. Only offered while it's actually available:
|
|
64
|
+
// a burned route is not a suggestion, it's a closed door.
|
|
65
|
+
const alt = targets.find(t => !t.puzzle.bypassBurned && t.puzzle.getBypassVerb());
|
|
66
|
+
const altNote = alt
|
|
67
|
+
? `\n(There's another way at this one -- "${alt.puzzle.getBypassVerb()}" it. Riskier, and it gets exactly one try.)`
|
|
68
|
+
: '';
|
|
69
|
+
return firstResult.message + altNote;
|
|
60
70
|
}
|
|
61
71
|
}
|
|
62
72
|
//# sourceMappingURL=solve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solve.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/solve.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"solve.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/solve.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,11 @@ export class SpellsCommand extends Command {
|
|
|
31
31
|
if (!actor.isCaster()) {
|
|
32
32
|
return `You page through your memory for anything arcane and come up empty. You're mundane -- no innate talent, no spell formulas, no grimoire, no focus. Magic is something that happens to other people.`;
|
|
33
33
|
}
|
|
34
|
-
|
|
34
|
+
// BANNER REMOVED ENTIRELY (playtest 2026-08-26, on the crew panel:
|
|
35
|
+
// "headers like that are too cluttery"). "spells" is a MENU_VERB
|
|
36
|
+
// (ui.ts), so a blue "-- spells --" divider already sits above this
|
|
37
|
+
// panel -- SPELLBOOK was the same thing said twice, in rails.
|
|
38
|
+
const lines = [];
|
|
35
39
|
// Projecting changes what the whole book can touch -- say so up top,
|
|
36
40
|
// or the list below reads like a promise it can't keep (real session:
|
|
37
41
|
// an astral mage tried manabolt on a meat target right after reading
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spells.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/spells.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,OAAO,aAAc,SAAQ,OAAO;IAC9B,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,MAAM,CAAC,WAAW,GAAG,wFAAwF,CAAC;IAExH,KAAK,CAAC,OAAO,CAAC,QAAkB,EAAE;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,kEAAkE;QAClE,qEAAqE;QACrE,qEAAqE;QACrE,oEAAoE;QACpE,uEAAuE;QACvE,iDAAiD;QACjD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACzC,OAAO;gBACL,gEAAgE;gBAChE,2BAA2B,KAAK,CAAC,KAAK,iDAAiD,IAAI,kHAAkH;gBAC7M,gHAAgH;aACjH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YACtB,OAAO,oMAAoM,CAAC;QAC9M,CAAC;QAED,MAAM,KAAK,GAAa,
|
|
1
|
+
{"version":3,"file":"spells.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/spells.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,27 @@ export class StanceCommand extends Command {
|
|
|
23
23
|
];
|
|
24
24
|
return lines.join('\n');
|
|
25
25
|
}
|
|
26
|
+
// "stance next" -- THE TAB KEY'S WIRE FORM (playtest 2026-08-27:
|
|
27
|
+
// "the combat stance isn't updating in the menu bar"). Tab used to
|
|
28
|
+
// cycle by mutating game.player.autoStance directly, which in a
|
|
29
|
+
// SHARED RUN is the local hub player, not the runner on the table:
|
|
30
|
+
// the server's stance never moved, the autopilot never changed
|
|
31
|
+
// temperature, and the HUD -- painted from the server's status
|
|
32
|
+
// events -- never showed the switch. Tab now sends this instead, so
|
|
33
|
+
// the cycle advances from the ACTOR's real stance wherever the
|
|
34
|
+
// engine happens to be running. Checked before the fuzzy match: it
|
|
35
|
+
// is a control word, not a stance name, and fuzzyPickName would
|
|
36
|
+
// otherwise try to spell-correct it into one.
|
|
37
|
+
const raw = args.join(' ').trim().toLowerCase();
|
|
38
|
+
if (raw === 'next' || raw === 'cycle') {
|
|
39
|
+
const cur = STANCE_CYCLE.indexOf(actor.autoStance);
|
|
40
|
+
const nextStance = STANCE_CYCLE[(cur + 1) % STANCE_CYCLE.length];
|
|
41
|
+
actor.autoStance = nextStance;
|
|
42
|
+
this.game?.autoFight?.cancelPending();
|
|
43
|
+
this.scene.updateStatus();
|
|
44
|
+
this.logger.write(`${actor.name} cycled stance to ${nextStance}.`);
|
|
45
|
+
return `Stance: ${nextStance.toUpperCase()} -- ${AutoFight.describe(nextStance)}.`;
|
|
46
|
+
}
|
|
26
47
|
const picked = fuzzyPickName(args.join(' '), [...STANCE_CYCLE]);
|
|
27
48
|
if (!picked) {
|
|
28
49
|
return `That's not a stance. Choose: ${STANCE_CYCLE.join(', ')}.`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stance.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/stance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,YAAY,EAAe,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,OAAO;IAC9B,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,MAAM,CAAC,WAAW,GAAG,yMAAyM,CAAC;IAEzO,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG;gBACZ,WAAW,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG;gBACvF,EAAE;gBACF,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,EAAE;gBACF,sGAAsG;aACvG,CAAC;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,gCAAgC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACpE,CAAC;QAED,MAAM,MAAM,GAAG,MAAqB,CAAC;QACrC,IAAI,MAAM,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;YAChC,OAAO,WAAW,MAAM,CAAC,WAAW,EAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;QAC7E,CAAC;QACD,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,kBAAkB,MAAM,GAAG,CAAC,CAAC;QAC5D,OAAO,WAAW,MAAM,CAAC,WAAW,EAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;IAC7E,CAAC"}
|
|
1
|
+
{"version":3,"file":"stance.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/stance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Command, ICommand } from './command.js';
|
|
2
|
+
/**
|
|
3
|
+
* TAP -- THE DIRECT CONNECTION (backlog items 9 and 10, Niko, session
|
|
4
|
+
* 2026-08-27T02-07-12-404Z: "check the rules on this -- shouldn't I be
|
|
5
|
+
* able to get at the camera?" and "I should be able to get at the host
|
|
6
|
+
* through the camera"). Both are the same mechanic seen from each end,
|
|
7
|
+
* and canon says yes to both. RAG-checked against the books 2026-08-27:
|
|
8
|
+
*
|
|
9
|
+
* - A camera on a facility's network is a DEVICE SLAVED to that host
|
|
10
|
+
* (a WAN). Slaved devices normally defend with the BETTER of their
|
|
11
|
+
* own rating and their master's -- which is why hosts are hard
|
|
12
|
+
* (SR5 core p.233, "PANs and WANs").
|
|
13
|
+
* - EXCEPT against a direct connection. "If a slaved device is under
|
|
14
|
+
* attack via a direct connection, it cannot use its master's ratings
|
|
15
|
+
* to defend itself" -- it falls back on its own weak ones (p.233,
|
|
16
|
+
* restated in the tactics reference p.354-355). That is the whole
|
|
17
|
+
* trick: you are not out-fencing the host, you are refusing to fight
|
|
18
|
+
* it.
|
|
19
|
+
* - A direct connection is a CABLE. You plug into the device's
|
|
20
|
+
* universal data connector; every cyberdeck and datajack ships with
|
|
21
|
+
* a meter of retractable microfilament, or buy cable at ~5Y/m (p.232
|
|
22
|
+
* "Direct Connections"). So the price is physical: your body, in the
|
|
23
|
+
* room, in reach of the lens. See directConnectionBlocker.
|
|
24
|
+
* - And the payoff Niko asked for: "if you get a mark on a slave you
|
|
25
|
+
* also get a mark on the master" (p.233). One mark on the camera IS
|
|
26
|
+
* one mark on the host. Data Trails p.87-88 ("A Lesson in Host
|
|
27
|
+
* Invasion") walks exactly this play: direct-connect a slaved
|
|
28
|
+
* terminal, Hack on the Fly for a mark, and that mark is what Enter
|
|
29
|
+
* Host spends.
|
|
30
|
+
*
|
|
31
|
+
* WHAT THIS IS NOT: a skeleton key. It buys ONE mark, not a cracked
|
|
32
|
+
* host. The marks still have to add up (hack.ts: each one lowers the
|
|
33
|
+
* crack threshold, and at MAX_MARKS the host opens like you belong),
|
|
34
|
+
* GOD still bills the intrusion (p.231-232), and a blown sleaze still
|
|
35
|
+
* puts the walls up. What you are buying with the cable is a fight
|
|
36
|
+
* against a camera's ratings instead of a host's -- and the cost is
|
|
37
|
+
* that you had to walk in and touch it.
|
|
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.
|
|
44
|
+
*/
|
|
45
|
+
export declare class TapCommand extends Command implements ICommand {
|
|
46
|
+
protected static verb: string;
|
|
47
|
+
protected static description: string;
|
|
48
|
+
execute(args?: string[]): Promise<string>;
|
|
49
|
+
}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { Command } from './command.js';
|
|
2
|
+
import { rollPool, formatRoll } from '../utilities/dice.js';
|
|
3
|
+
import { accrueOverwatch } from '../utilities/overwatch.js';
|
|
4
|
+
import { MAX_MARKS } from '../utilities/marks.js';
|
|
5
|
+
import { isWatched, cameraMasterHost, directConnectionBlocker } from '../utilities/surveillance.js';
|
|
6
|
+
import { hint } from '../utilities/hints.js';
|
|
7
|
+
/**
|
|
8
|
+
* TAP -- THE DIRECT CONNECTION (backlog items 9 and 10, Niko, session
|
|
9
|
+
* 2026-08-27T02-07-12-404Z: "check the rules on this -- shouldn't I be
|
|
10
|
+
* able to get at the camera?" and "I should be able to get at the host
|
|
11
|
+
* through the camera"). Both are the same mechanic seen from each end,
|
|
12
|
+
* and canon says yes to both. RAG-checked against the books 2026-08-27:
|
|
13
|
+
*
|
|
14
|
+
* - A camera on a facility's network is a DEVICE SLAVED to that host
|
|
15
|
+
* (a WAN). Slaved devices normally defend with the BETTER of their
|
|
16
|
+
* own rating and their master's -- which is why hosts are hard
|
|
17
|
+
* (SR5 core p.233, "PANs and WANs").
|
|
18
|
+
* - EXCEPT against a direct connection. "If a slaved device is under
|
|
19
|
+
* attack via a direct connection, it cannot use its master's ratings
|
|
20
|
+
* to defend itself" -- it falls back on its own weak ones (p.233,
|
|
21
|
+
* restated in the tactics reference p.354-355). That is the whole
|
|
22
|
+
* trick: you are not out-fencing the host, you are refusing to fight
|
|
23
|
+
* it.
|
|
24
|
+
* - A direct connection is a CABLE. You plug into the device's
|
|
25
|
+
* universal data connector; every cyberdeck and datajack ships with
|
|
26
|
+
* a meter of retractable microfilament, or buy cable at ~5Y/m (p.232
|
|
27
|
+
* "Direct Connections"). So the price is physical: your body, in the
|
|
28
|
+
* room, in reach of the lens. See directConnectionBlocker.
|
|
29
|
+
* - And the payoff Niko asked for: "if you get a mark on a slave you
|
|
30
|
+
* also get a mark on the master" (p.233). One mark on the camera IS
|
|
31
|
+
* one mark on the host. Data Trails p.87-88 ("A Lesson in Host
|
|
32
|
+
* Invasion") walks exactly this play: direct-connect a slaved
|
|
33
|
+
* terminal, Hack on the Fly for a mark, and that mark is what Enter
|
|
34
|
+
* Host spends.
|
|
35
|
+
*
|
|
36
|
+
* WHAT THIS IS NOT: a skeleton key. It buys ONE mark, not a cracked
|
|
37
|
+
* host. The marks still have to add up (hack.ts: each one lowers the
|
|
38
|
+
* crack threshold, and at MAX_MARKS the host opens like you belong),
|
|
39
|
+
* GOD still bills the intrusion (p.231-232), and a blown sleaze still
|
|
40
|
+
* puts the walls up. What you are buying with the cable is a fight
|
|
41
|
+
* against a camera's ratings instead of a host's -- and the cost is
|
|
42
|
+
* that you had to walk in and touch it.
|
|
43
|
+
*
|
|
44
|
+
* The one place it beats the wireless road outright is an AIR-GAPPED
|
|
45
|
+
* host: it has no door onto the grid at all (planes.canReachHost), but
|
|
46
|
+
* its cameras are wired to it, and a cable is a hard line. Physical
|
|
47
|
+
* infiltration is supposed to be the answer to an air gap, and now it
|
|
48
|
+
* is one from the camera as well as from the terminal.
|
|
49
|
+
*/
|
|
50
|
+
export class TapCommand extends Command {
|
|
51
|
+
static verb = 'tap';
|
|
52
|
+
static description = 'Cable into a camera you are standing next to -- a DIRECT CONNECTION (p.232). A slaved device can\'t hide behind its host\'s ratings against a cable, so the camera fights you with its own; and a mark on a slaved device is a mark on the host it answers to (p.233), which is your way in. Needs your BODY in the room and a deck in hand. "tap" is sleaze (fail = noticed); "tap loud" is brute force (fail = unnoticed, the firewall bites).';
|
|
53
|
+
async execute(args = []) {
|
|
54
|
+
const actor = this.actor;
|
|
55
|
+
const room = actor.currentLocation;
|
|
56
|
+
const rooms = this.rooms ?? {};
|
|
57
|
+
// Same mode vocabulary as hack.ts and mark.ts -- one fork, learned once.
|
|
58
|
+
const words = (args ?? []).map(w => w.toLowerCase());
|
|
59
|
+
const mode = words.some(w => /^(loud|force|brute|attack)$/.test(w)) ? 'attack' : 'sleaze';
|
|
60
|
+
if (!isWatched(room)) {
|
|
61
|
+
return `No cameras in here to cable into.${hint(` (Your overlay tags them "◎ Camera cluster" when there are.)`)}`;
|
|
62
|
+
}
|
|
63
|
+
// The refusals TEACH (item 9 was a player asking whether the rules
|
|
64
|
+
// allowed this at all) -- each one names what a direct connection
|
|
65
|
+
// actually requires instead of just saying no.
|
|
66
|
+
const blocked = directConnectionBlocker(actor, room);
|
|
67
|
+
if (blocked)
|
|
68
|
+
return blocked;
|
|
69
|
+
const host = cameraMasterHost(rooms, room);
|
|
70
|
+
if (!host) {
|
|
71
|
+
return `You get the housing open and find... a wire to a box on the wall. These are dumb recorders -- no host on this site for them to answer to, nothing on the other end of your cable but tape. ${hint(`Whatever they saw, they saw locally.`)}`;
|
|
72
|
+
}
|
|
73
|
+
if (host.hostCracked) {
|
|
74
|
+
return `You could -- but the ${host.name} host is already cracked wide open, and these lenses answer to you through it. Save the cable.${hint(` ("snoop ${room.name}" rides the feeds.)`)}`;
|
|
75
|
+
}
|
|
76
|
+
const held = host.hostMarksBy.get(actor.name) ?? 0;
|
|
77
|
+
if (held >= MAX_MARKS) {
|
|
78
|
+
return `You already hold ${MAX_MARKS} marks on the ${host.name} host -- it thinks you belong. Another key would not fit on the ring.${hint(` ("hack" walks you in.)`)}`;
|
|
79
|
+
}
|
|
80
|
+
// THE ROLL. The camera defends with its OWN ratings, not the host's
|
|
81
|
+
// (p.233) -- that is what the cable bought -- so the threshold sits
|
|
82
|
+
// a full step below hack.ts's host intrusion (2, or 3 on alert).
|
|
83
|
+
// A site with its walls up is still harder: an alerted host is
|
|
84
|
+
// watching its own edges.
|
|
85
|
+
const threshold = host.hostAlert ? 2 : 1;
|
|
86
|
+
const silence = actor.matrixActionPenalty;
|
|
87
|
+
let pool;
|
|
88
|
+
if (mode === 'attack') {
|
|
89
|
+
pool = Math.max(1, actor.logic + actor.skillRating('hacking') + (actor.getCyberdeck()?.matrixEdge('attack') ?? 0) + actor.qualityBonus('hacking') + silence + actor.woundModifier - actor.sustainingPenalty);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
const sleazeEdge = actor.isTechnomancer()
|
|
93
|
+
? Math.floor(actor.resonance / 2)
|
|
94
|
+
: actor.getCyberdeck()?.matrixEdge('sleaze') ?? 0;
|
|
95
|
+
pool = Math.max(1, actor.logic + actor.skillRating('hacking') + sleazeEdge + actor.qualityBonus('hacking') + silence + actor.woundModifier - actor.sustainingPenalty);
|
|
96
|
+
}
|
|
97
|
+
actor.performAction('cables into the cameras', `${room.name} -- a hand on the housing, a filament out of their deck`);
|
|
98
|
+
const roll = rollPool(pool);
|
|
99
|
+
if (this.scene.isHumanControlled(actor)) {
|
|
100
|
+
this.logger.meta(`Direct connection, camera (${mode === 'attack' ? 'brute force' : 'sleaze'}): ${formatRoll(roll)} (${threshold}+ -- its OWN ratings, not the host's)`);
|
|
101
|
+
}
|
|
102
|
+
this.logger.write(`${actor.name} direct-connected to ${room.name}'s cameras (${mode}): ${roll.hits} vs ${threshold}, master=${host.name}.`);
|
|
103
|
+
// GOD counts it either way (p.231-232) -- the same flat 2 a host
|
|
104
|
+
// intrusion bills, because a threshold roll has no defender hits to
|
|
105
|
+
// count. A cable is quieter than the grid, not invisible to it.
|
|
106
|
+
const bill = accrueOverwatch(this.scene, actor, 2, `direct connection (camera, ${mode})`);
|
|
107
|
+
const godLines = bill.lines;
|
|
108
|
+
if (roll.hits < threshold) {
|
|
109
|
+
if (mode === 'sleaze') {
|
|
110
|
+
// p.236: a blown Sleaze action is NOTICED. The camera screams to
|
|
111
|
+
// its master, which is the same alarm hack.ts raises.
|
|
112
|
+
host.hostAlert = true;
|
|
113
|
+
actor.sneaking = false;
|
|
114
|
+
this.scene.addWorldEvent(`Something forced the cameras in ${room.name} -- the ${host.name} host flagged an intrusion and its ice is hunting.`);
|
|
115
|
+
this.scene.updateStatus();
|
|
116
|
+
return [
|
|
117
|
+
`The housing's tamper line trips under your fingers.`,
|
|
118
|
+
` The camera reports itself -- and the ${host.name} host believes it. Walls UP: it holds a mark on your persona now, everything guarding this place knows someone is on the wire, and you are no longer moving unnoticed.`,
|
|
119
|
+
...godLines,
|
|
120
|
+
].join('\n');
|
|
121
|
+
}
|
|
122
|
+
// p.236: a failed Attack action is never noticed -- the firewall
|
|
123
|
+
// just chews on whatever is holding the other end of the cable.
|
|
124
|
+
const dealt = Math.max(0, 2 - rollPool(actor.getSoakPool()).hits);
|
|
125
|
+
const lines = [`You put your shoulder into it and the camera just... doesn't give.`];
|
|
126
|
+
if (dealt > 0) {
|
|
127
|
+
if (actor.simMode === 'hot' || actor.isTechnomancer()) {
|
|
128
|
+
actor.takeStun(dealt);
|
|
129
|
+
lines.push(` The feedback comes straight back up the wire -- ${dealt} stun: ${actor.stunSummary()}`);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
actor.takeMatrixDamage(dealt);
|
|
133
|
+
lines.push(` Your deck takes the bite -- ${dealt} box${dealt === 1 ? '' : 'es'}: ${actor.matrixSummary()}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
lines.push(` You shed the counterstrike and pull the filament back.`);
|
|
138
|
+
}
|
|
139
|
+
lines.push(` Nothing upstairs noticed: a smash that never lands leaves nothing to report.`);
|
|
140
|
+
lines.push(...godLines);
|
|
141
|
+
this.scene.updateStatus();
|
|
142
|
+
return lines.join('\n');
|
|
143
|
+
}
|
|
144
|
+
// IN. Canon p.233: the mark on the slave IS a mark on the master.
|
|
145
|
+
const now = held + 1;
|
|
146
|
+
host.hostMarksBy.set(actor.name, now);
|
|
147
|
+
if (mode === 'attack') {
|
|
148
|
+
actor.sneaking = false;
|
|
149
|
+
this.scene.addWorldEvent(`${actor.name} forced the cameras in ${room.name} -- the ${host.name} host felt it go.`);
|
|
150
|
+
}
|
|
151
|
+
this.logger.write(`${actor.name} now holds ${now} mark(s) on ${host.name} via the ${room.name} cameras.`);
|
|
152
|
+
const lines = [
|
|
153
|
+
`{cyan-fg}The filament finds the connector and the camera stops being a camera -- it's a device, and it's talking to you.{/cyan-fg}`,
|
|
154
|
+
` {cyan-fg}It never gets to hide behind the ${host.name} host: a cable doesn't ask the network for permission, so the lens has to defend itself with what a lens has. It doesn't have much.{/cyan-fg}`,
|
|
155
|
+
` {cyan-fg}MARK PLACED -- and it lands on the host too. The camera answers to ${host.name}, and anything ${host.name} trusts to speak for it just handed you a key. [${now}/${MAX_MARKS}]{/cyan-fg}`,
|
|
156
|
+
];
|
|
157
|
+
if (mode === 'attack') {
|
|
158
|
+
lines.push(` The housing is visibly forced -- the host FELT that one, even if nothing saw your face.`);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
lines.push(` Nothing logged, nothing flagged. You were never here.`);
|
|
162
|
+
}
|
|
163
|
+
if (host === room) {
|
|
164
|
+
lines.push(` {cyan-fg}${now >= MAX_MARKS
|
|
165
|
+
? `The host thinks you belong now -- "hack" walks straight in.`
|
|
166
|
+
: `The ${host.name} host cracks easier with every key you hold${hint(` -- "jack in" and "hack", or come back for another lens`)}.`}{/cyan-fg}`);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
lines.push(` {cyan-fg}These lenses ride the site network, so the key fits the ${host.name} host${hint(` -- "jack in", "go ${host.name}", "hack"`)}.{/cyan-fg}`);
|
|
170
|
+
}
|
|
171
|
+
// A mark is all canSnoopFeeds ever wanted (surveillance.ts).
|
|
172
|
+
lines.push(` {cyan-fg}And the eyes are half yours already${hint(` -- jacked in, "snoop <room>" rides any feed on this network`)}.{/cyan-fg}`);
|
|
173
|
+
if (host.nodeAccess === 'wired') {
|
|
174
|
+
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}`);
|
|
175
|
+
}
|
|
176
|
+
lines.push(...godLines);
|
|
177
|
+
this.scene.updateStatus();
|
|
178
|
+
return lines.join('\n');
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=tap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tap.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/tap.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,10 @@ export class ThreadCommand extends Command {
|
|
|
46
46
|
}
|
|
47
47
|
// Bare "thread": the catalog.
|
|
48
48
|
if (words.length === 0) {
|
|
49
|
-
|
|
49
|
+
// BANNER RAILS REMOVED (playtest 2026-08-26, on the crew panel:
|
|
50
|
+
// "headers like that are too cluttery"). The heading stays -- it
|
|
51
|
+
// carries the usage line.
|
|
52
|
+
const lines = [`COMPLEX FORMS (thread <form> <level>)`];
|
|
50
53
|
for (const f of FORMS) {
|
|
51
54
|
const held = actor.sustainedForms.some(s => s.key === f.key);
|
|
52
55
|
lines.push(` ${f.name.padEnd(16)} ${f.kind === 'sustained' ? '[sustained]' : '[instant] '} ${f.blurb}${held ? ' {cyan-fg}(HELD){/cyan-fg}' : ''}`);
|