@maka/maka-cli 5.111.0 → 5.112.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/jack.js +7 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/jack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.js +11 -2
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js +7 -0
- package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +13 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +19 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maka/maka-cli",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.112.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"summary": "A command line tool for scaffolding Meteor 2.x applications using either React.",
|
|
6
6
|
"description": "A command line tool for scaffolding Meteor 2.x applications using React.",
|
|
@@ -142,6 +142,13 @@ export class JackCommand extends Command {
|
|
|
142
142
|
if (actor.runningSilent) {
|
|
143
143
|
return `You're running silent -- no broadcast, no Matrix. Go loud first ("silent").`;
|
|
144
144
|
}
|
|
145
|
+
// VR NEEDS A DIRECT NEURAL INTERFACE (p.222-223): a datajack or
|
|
146
|
+
// a trode net. The deck's own screen still gives you AR -- calls,
|
|
147
|
+
// the overlay, the sheet -- but riding the grid means plugging
|
|
148
|
+
// your nervous system in. Names the two cures and their prices.
|
|
149
|
+
if (!actor.hasDirectNeuralInterface()) {
|
|
150
|
+
return `Jacking in is VR, and VR needs a direct neural interface -- a trode net (70 nuyen on any electronics shelf) or a datajack at the clinic. Without one your ${deck.name} is AR only.`;
|
|
151
|
+
}
|
|
145
152
|
}
|
|
146
153
|
let mode = (sub === 'hot' || args[1]?.toLowerCase() === 'hot') ? 'hot' : 'cold';
|
|
147
154
|
// LIVING PERSONA, RAW (SR5e p.250, player ruling): a technomancer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jack.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/jack.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jack.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/jack.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import { heartbeatPresence, heartbeatPresenceNow } from './utilities/social.js';
|
|
|
12
12
|
import { presenceBeatAllowed } from './utilities/presence-gate.js';
|
|
13
13
|
import { pushSave, burnCloudSaveFor, enqueueBoundPush, flushPushQueue, writeSpill, clearSpill, hasPendingPush, } from './utilities/cloud-saves.js';
|
|
14
14
|
import { DOCWAGON_TIERS, RESUSC_FEE, DEATH_COMP } from './utilities/docwagon.js';
|
|
15
|
-
import { isFence, LIFESTYLE_TIERS } from './utilities/commerce.js';
|
|
15
|
+
import { isFence, LIFESTYLE_TIERS, canonicalLifestyleTier } from './utilities/commerce.js';
|
|
16
16
|
import { bestFakeSin, wandRead, processArrest } from './utilities/sin.js';
|
|
17
17
|
import { tickEphemerals } from './utilities/ephemeral.js';
|
|
18
18
|
import { requestAlarmBeat, newAlarmBeatLatch, ALARM_STIMULUS } from './utilities/alarmed-staff.js';
|
|
@@ -2822,7 +2822,16 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
|
|
|
2822
2822
|
if (save.reason === 'creation')
|
|
2823
2823
|
return;
|
|
2824
2824
|
applyHubOverlay(this.scene, save.hub, this.player, this._homeRoom);
|
|
2825
|
-
|
|
2825
|
+
// CANONICAL ON RESTORE (2026-09-01): the web factory once wrote a
|
|
2826
|
+
// lowercase 'street' that matched no LIFESTYLE_TIERS name, and this
|
|
2827
|
+
// line handed it to a getter that fell through to Squatter -- then
|
|
2828
|
+
// the next save SERIALIZED that Squatter, local and cloud, burying
|
|
2829
|
+
// any server-side repair. Canonicalizing here closes the fall-through
|
|
2830
|
+
// for every save that still carries the old spelling: 'street' means
|
|
2831
|
+
// Street, the factory's intent. (It cannot restore a PAID tier the
|
|
2832
|
+
// local file never knew -- that is the cloud repair's job, and the
|
|
2833
|
+
// sync protocol's, see the repair-visibility ruling in cloud-saves.)
|
|
2834
|
+
this.lifestyleTier = canonicalLifestyleTier(save.game.lifestyleTier) ?? 'Street';
|
|
2826
2835
|
this.rentDebt = save.game.rentDebt;
|
|
2827
2836
|
this.syncHomeToLifestyle();
|
|
2828
2837
|
this.player.lifestyleEdgeBonus = this.lifestyle.edgeBonus;
|