@maka/maka-cli 5.154.0 → 5.156.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.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maka/maka-cli",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.156.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"summary": "A command line tool for scaffolding Meteor 3.x applications using either React.",
|
|
6
6
|
"description": "A command line tool for scaffolding Meteor 3.x applications using React.",
|
|
@@ -279,11 +279,22 @@ take ground. Build it accordingly:
|
|
|
279
279
|
// the runner heard at the noodle stand pays off as foreshadowing when
|
|
280
280
|
// the next job turns out to be tangled in exactly that (see
|
|
281
281
|
// Game.advanceRumor).
|
|
282
|
+
// A NAME REFERRING TO SOMEONE ELSE (8jSvzdWGvAk27PoYr): the rumor
|
|
283
|
+
// sometimes names a real hub fixture by name -- e.g. "Mama Wu's cousin
|
|
284
|
+
// swears..." -- and a model connecting the job to it stationed a
|
|
285
|
+
// brand-new "Mama Wu" NPC of its own, at a freshly-invented room, right
|
|
286
|
+
// alongside the real Mama Wu the runner already knows from the hub. The
|
|
287
|
+
// rumor is HEARSAY the runner carries INTO this scene, not a cast list;
|
|
288
|
+
// anyone it names by name lives back home and stays there.
|
|
282
289
|
const rumorBlock = rumor
|
|
283
290
|
? `\nSTREET RUMOR the runner has been hearing around their home district: "${rumor}"
|
|
284
291
|
Let this job CONNECT to the rumor -- as its cause, its consequence, or the truth behind it.
|
|
285
292
|
The connection should be discoverable in play (the client's briefing, an NPC's talk, a
|
|
286
|
-
document), not just implied by the title
|
|
293
|
+
document), not just implied by the title. If the rumor names someone by name (a hub fixture
|
|
294
|
+
like a fixer, vendor, or contact), that person is NOT part of this job's cast -- they stay
|
|
295
|
+
back in the home district. Reference them only in passing (a mention, a rumor of their own);
|
|
296
|
+
never give them an npcs[] entry or a room of their own in THIS scene. Every npc and room this
|
|
297
|
+
job stations the runner with must be new and specific to this job.`
|
|
287
298
|
: '';
|
|
288
299
|
return `
|
|
289
300
|
You are generating the STRUCTURE (skeleton) of a self-contained Shadowrun-flavored text
|
|
@@ -905,6 +905,10 @@ export class SharedRunSession {
|
|
|
905
905
|
dead = false;
|
|
906
906
|
over = false;
|
|
907
907
|
quitArmed = false;
|
|
908
|
+
/** The taxi's warn-once on unclaimed pay (see command()): the first
|
|
909
|
+
* "call taxi" the server refuses as "unsettled" arms this; the next
|
|
910
|
+
* one confirms and leaves the pay on the table. */
|
|
911
|
+
forfeitArmed = false;
|
|
908
912
|
subs = [];
|
|
909
913
|
constructor(game, sessionID) {
|
|
910
914
|
this.game = game;
|
|
@@ -1191,7 +1195,13 @@ export class SharedRunSession {
|
|
|
1191
1195
|
// wrap-up share).
|
|
1192
1196
|
if (/^call\s+(a\s+|the\s+)?(taxi|cab)\b/i.test(input.trim())) {
|
|
1193
1197
|
try {
|
|
1194
|
-
|
|
1198
|
+
// UNCLAIMED PAY (AB6pJQpYD49qDaDJR): this shortcut skips the
|
|
1199
|
+
// engine's CallCommand, so its warn-once for a finished job
|
|
1200
|
+
// whose Johnson was never settled with never ran -- the runner
|
|
1201
|
+
// rode home with the whole lump sum still on the table. `guard`
|
|
1202
|
+
// asks the server to make that same check; a refusal arms the
|
|
1203
|
+
// confirm, and the next call sends it (call.ts's own shape).
|
|
1204
|
+
await HubLink.call('sideQuest.settle', { sessionID: this.sessionID, guard: true, confirm: this.forfeitArmed });
|
|
1195
1205
|
await this.homecoming();
|
|
1196
1206
|
return '';
|
|
1197
1207
|
}
|
|
@@ -1200,6 +1210,20 @@ export class SharedRunSession {
|
|
|
1200
1210
|
if (e.error === 'not-leader') {
|
|
1201
1211
|
return this.leave();
|
|
1202
1212
|
}
|
|
1213
|
+
if (e.error === 'unsettled') {
|
|
1214
|
+
this.forfeitArmed = true;
|
|
1215
|
+
let who = 'your Johnson';
|
|
1216
|
+
let owed = 0;
|
|
1217
|
+
try {
|
|
1218
|
+
const d = typeof e.details === 'string' ? JSON.parse(e.details) : e.details;
|
|
1219
|
+
if (d?.name)
|
|
1220
|
+
who = d.name;
|
|
1221
|
+
if (typeof d?.owed === 'number')
|
|
1222
|
+
owed = d.owed;
|
|
1223
|
+
}
|
|
1224
|
+
catch { /* the name is a courtesy; the warning stands without it */ }
|
|
1225
|
+
return `The dispatcher picks up -- and you hesitate. You never settled with ${who}: ${owed}¥ still on the table. ("call taxi" again to leave it and go.)`;
|
|
1226
|
+
}
|
|
1203
1227
|
if (e.error === 'bad-status' || e.error === 'interrupted') {
|
|
1204
1228
|
await this.homecoming();
|
|
1205
1229
|
return '';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maka/maka-cli",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.156.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"summary": "A command line tool for scaffolding Meteor 3.x applications using either React.",
|
|
6
6
|
"description": "A command line tool for scaffolding Meteor 3.x applications using React.",
|