@maka/maka-cli 5.11.0 → 5.13.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 +2 -1
- package/bundle/typescript/src/commands/aws/ci.sub.cmd.js +1 -0
- package/bundle/typescript/src/commands/aws/ci.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/build/build.js +13 -37
- package/bundle/typescript/src/commands/build/build.js.map +1 -1
- package/bundle/typescript/src/commands/create.js +13 -28
- package/bundle/typescript/src/commands/create.js.map +1 -1
- package/bundle/typescript/src/commands/deploy/_index.d.ts +1 -0
- package/bundle/typescript/src/commands/deploy/_index.js +1 -0
- package/bundle/typescript/src/commands/deploy/_index.js.map +1 -1
- package/bundle/typescript/src/commands/deploy/deploy.command.js +1 -0
- package/bundle/typescript/src/commands/deploy/deploy.command.js.map +1 -1
- package/bundle/typescript/src/commands/deploy/github.sub.cmd.d.ts +1 -0
- package/bundle/typescript/src/commands/deploy/github.sub.cmd.js +147 -0
- package/bundle/typescript/src/commands/deploy/github.sub.cmd.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js +6 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js +18 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.d.ts +13 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js +99 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js +12 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js +8 -8
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/deck.d.ts +30 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/deck.js +142 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/deck.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/docwagon.js +4 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/docwagon.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.d.ts +11 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +29 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +3 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +7 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.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/jump.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pan.js +3 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/pan.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js +8 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +3 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sell.js +3 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/sell.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.d.ts +6 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +80 -65
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/source.d.ts +4 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/source.js +34 -17
- package/bundle/typescript/src/commands/game/sideQuest/commands/source.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +14 -0
- package/bundle/typescript/src/commands/game/sideQuest/game.js +98 -16
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/item.d.ts +28 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/item.js +83 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/item.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +25 -6
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +4 -2
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +31 -9
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +3 -0
- package/bundle/typescript/src/commands/game/sideQuest/ui.js +73 -3
- package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +32 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +112 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.d.ts +28 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +128 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.d.ts +4 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +35 -4
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/programs.d.ts +39 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/programs.js +63 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/programs.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/session-lock.d.ts +18 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/session-lock.js +91 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/session-lock.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +18 -0
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/run/run.command.js +31 -31
- package/bundle/typescript/src/commands/run/run.command.js.map +1 -1
- package/bundle/typescript/src/templates/meteor/config/deploy.sh.template +73 -0
- package/bundle/typescript/src/templates/meteor/config/nginx.conf.template +31 -0
- package/bundle/typescript/src/templates/meteor/github/workflows/deploy.yaml +82 -0
- package/bundle/typescript/src/tools/mpi/mpi.class.d.ts +18 -0
- package/bundle/typescript/src/tools/mpi/mpi.class.js +233 -3
- package/bundle/typescript/src/tools/mpi/mpi.class.js.map +1 -1
- package/bundle/typescript/src/tools/mpi/sdk-runtime.d.ts +5 -0
- package/bundle/typescript/src/tools/mpi/sdk-runtime.js +41 -0
- package/bundle/typescript/src/tools/mpi/sdk-runtime.js.map +1 -0
- package/bundle/typescript/src/tools/pkg/pkg.class.js +79 -78
- package/bundle/typescript/src/tools/pkg/pkg.class.js.map +1 -1
- package/bundle/typescript/src/tools/scaffold/scaffold.class.js +16 -7
- package/bundle/typescript/src/tools/scaffold/scaffold.class.js.map +1 -1
- package/package.json +2 -1
|
@@ -8,7 +8,17 @@ import { STANCE_CYCLE } from './models/player.js';
|
|
|
8
8
|
import { AutoFight } from './utilities/auto-fight.js';
|
|
9
9
|
import { TERMINAL_RESET_SEQUENCE } from './utilities/terminal-reset.js';
|
|
10
10
|
import { readSave } from './utilities/persistence.js';
|
|
11
|
+
import { acquireSessionLock, releaseSessionLock } from './utilities/session-lock.js';
|
|
11
12
|
import { SAVE_VERSION } from './types/save-file.js';
|
|
13
|
+
// MENU verbs (player direction): pure-reference panels render in the
|
|
14
|
+
// Mechanics column instead of the world log, keeping the narrative
|
|
15
|
+
// clean. Hybrid read/act verbs whose output is mostly reference (deck,
|
|
16
|
+
// qualities) ride along; transactional verbs (docwagon, buy, install)
|
|
17
|
+
// stay in the world log where actions belong.
|
|
18
|
+
const MENU_VERBS = new Set([
|
|
19
|
+
'contacts', 'sheet', 'stats', 'inv', 'inventory', 'equipment', 'eq',
|
|
20
|
+
'map', 'exits', 'spells', 'catalog', 'qualities', 'quality', 'deck', 'help',
|
|
21
|
+
]);
|
|
12
22
|
// Windows Terminal draws astral-plane emoji (📞 call icon, 📍 HUD pin,
|
|
13
23
|
// 👥 companions, 💀) TWO columns wide, but blessed's 2015-era unicode
|
|
14
24
|
// tables predate emoji being classified wide and count them as ONE. The
|
|
@@ -40,6 +50,26 @@ import { SAVE_VERSION } from './types/save-file.js';
|
|
|
40
50
|
uni.chars.all = new RegExp(`(${uni.chars.all.source}|${pictographs})`, 'g');
|
|
41
51
|
}
|
|
42
52
|
export async function main(playerName, sceneSeed, options) {
|
|
53
|
+
// ONE TERMINAL PER RUNNER (see utilities/session-lock.ts): claim the
|
|
54
|
+
// save slot BEFORE blessed takes the terminal, so a refusal prints as
|
|
55
|
+
// plain text instead of flashing through a dying screen. The launcher
|
|
56
|
+
// already warned politely; this is the authoritative claim that wins
|
|
57
|
+
// the race two simultaneous launches would otherwise share. Released
|
|
58
|
+
// on EVERY exit path via the hook below; a crash leaves it to go
|
|
59
|
+
// stale (~90s) instead.
|
|
60
|
+
if (options.saveFilePath) {
|
|
61
|
+
const claim = acquireSessionLock(options.saveFilePath);
|
|
62
|
+
if (!claim.ok) {
|
|
63
|
+
console.error(`This runner is already jacked in from another terminal${claim.pid ? ` (PID ${claim.pid})` : ''}. One life, one session -- quit that one first.`);
|
|
64
|
+
process.exit(1);
|
|
65
|
+
}
|
|
66
|
+
process.on('exit', () => {
|
|
67
|
+
try {
|
|
68
|
+
releaseSessionLock(options.saveFilePath);
|
|
69
|
+
}
|
|
70
|
+
catch { /* never block the way out */ }
|
|
71
|
+
});
|
|
72
|
+
}
|
|
43
73
|
// Create a screen object
|
|
44
74
|
const screen = blessed.screen({
|
|
45
75
|
smartCSR: true,
|
|
@@ -220,7 +250,14 @@ export async function main(playerName, sceneSeed, options) {
|
|
|
220
250
|
// already land as the yellow speech line, and "> say hoi"
|
|
221
251
|
// above "hoi" read as a stutter (playtest note).
|
|
222
252
|
const echoVerb = input.trim().split(' ')[0]?.toLowerCase();
|
|
223
|
-
|
|
253
|
+
// MENU commands (player direction): reference panels render in
|
|
254
|
+
// the Mechanics column, not the world log -- the narrative
|
|
255
|
+
// stays narrative, and "contacts" doesn't scroll the fight off
|
|
256
|
+
// the screen. These verbs echo into the panel (as its divider)
|
|
257
|
+
// instead of the log. Transactional verbs (docwagon, buy...)
|
|
258
|
+
// stay in the world log: their output is things HAPPENING.
|
|
259
|
+
const isMenuVerb = MENU_VERBS.has(echoVerb ?? '');
|
|
260
|
+
if (input.trim().length > 0 && echoVerb !== 'clear' && !isMenuVerb) {
|
|
224
261
|
game.logBox.pushLine('');
|
|
225
262
|
if (echoVerb !== 'say') {
|
|
226
263
|
game.logBox.pushLine(`{cyan-fg}> ${input.trim()}{/cyan-fg}`);
|
|
@@ -263,8 +300,41 @@ export async function main(playerName, sceneSeed, options) {
|
|
|
263
300
|
// Empty responses stop printing blank filler -- the turn-block
|
|
264
301
|
// echo above is the separator now.
|
|
265
302
|
if (response) {
|
|
266
|
-
game
|
|
267
|
-
|
|
303
|
+
// Route on the verb the game actually RAN, not the typed
|
|
304
|
+
// word: a corrected typo ("sjeet" -> "sheet") must still
|
|
305
|
+
// land its menu in the panel. The correction receipt line
|
|
306
|
+
// stays in the world log (standing ruling: it's the only
|
|
307
|
+
// receipt for a command you didn't type).
|
|
308
|
+
const ranMenuVerb = MENU_VERBS.has(game.lastResolvedVerb || echoVerb || '');
|
|
309
|
+
let panelBody = response;
|
|
310
|
+
if (ranMenuVerb && !isMenuVerb && response.startsWith('(read ')) {
|
|
311
|
+
const nl = response.indexOf('\n');
|
|
312
|
+
const receipt = nl === -1 ? response : response.slice(0, nl);
|
|
313
|
+
panelBody = nl === -1 ? '' : response.slice(nl + 1);
|
|
314
|
+
game.logBox.pushLine(receipt);
|
|
315
|
+
game.followLog();
|
|
316
|
+
}
|
|
317
|
+
if (ranMenuVerb && panelBody) {
|
|
318
|
+
// pushLine, NOT insertBottom: insertBottom targets the
|
|
319
|
+
// bottom of the VISIBLE view, and in a no-render loop it
|
|
320
|
+
// reuses the same index -- every menu rendered bottom-up
|
|
321
|
+
// (player screenshot). pushLine appends to the content.
|
|
322
|
+
// Divider names the command as RUN: typed args survive, a
|
|
323
|
+
// corrected verb replaces the typo'd one.
|
|
324
|
+
const dividerLabel = isMenuVerb
|
|
325
|
+
? input.trim()
|
|
326
|
+
: [game.lastResolvedVerb, ...input.trim().split(' ').slice(1)].join(' ').trim();
|
|
327
|
+
game.metaBox.pushLine(`{blue-fg}── ${dividerLabel} ──{/blue-fg}`);
|
|
328
|
+
for (const line of panelBody.split('\n')) {
|
|
329
|
+
game.metaBox.pushLine(line);
|
|
330
|
+
}
|
|
331
|
+
game.metaBox.scrollTo(game.metaBox.getScrollHeight());
|
|
332
|
+
screen.render();
|
|
333
|
+
}
|
|
334
|
+
else if (!ranMenuVerb) {
|
|
335
|
+
game.logBox.pushLine(response);
|
|
336
|
+
game.followLog();
|
|
337
|
+
}
|
|
268
338
|
}
|
|
269
339
|
}
|
|
270
340
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/ui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE STREET CATALOG -- what the swag network can source (see
|
|
3
|
+
* commands/catalog.ts and commands/source.ts). Harvested from the SR5e
|
|
4
|
+
* gear tables via the rules archive: rows with a `page` are cited
|
|
5
|
+
* straight from the book; rows marked `approx` carry canon-approximate
|
|
6
|
+
* figures the excerpts couldn't confirm.
|
|
7
|
+
*
|
|
8
|
+
* SOURCE OF TRUTH: maka-cli.com's GameCatalog collection (player
|
|
9
|
+
* direction: the site is the game's backend). This file is the SEED and
|
|
10
|
+
* the OFFLINE FLOOR -- the server is seeded from an identical copy
|
|
11
|
+
* (maka-cli-com-2: app/imports/api/v1/game-catalog/game-catalog-seed.ts;
|
|
12
|
+
* keep the two in sync, bump CATALOG_VERSION on any change), and the
|
|
13
|
+
* CLI overrides this list with the server's whenever it can reach it.
|
|
14
|
+
*/
|
|
15
|
+
export declare const CATALOG_VERSION = 3;
|
|
16
|
+
export interface ICatalogItem {
|
|
17
|
+
slug: string;
|
|
18
|
+
name: string;
|
|
19
|
+
description: string;
|
|
20
|
+
category: string;
|
|
21
|
+
rating: string;
|
|
22
|
+
size: string;
|
|
23
|
+
shape: string;
|
|
24
|
+
color: string;
|
|
25
|
+
texture: string;
|
|
26
|
+
weight: number;
|
|
27
|
+
price: number;
|
|
28
|
+
availability: number;
|
|
29
|
+
page?: string;
|
|
30
|
+
approx?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare const CATALOG_ITEMS: ICatalogItem[];
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE STREET CATALOG -- what the swag network can source (see
|
|
3
|
+
* commands/catalog.ts and commands/source.ts). Harvested from the SR5e
|
|
4
|
+
* gear tables via the rules archive: rows with a `page` are cited
|
|
5
|
+
* straight from the book; rows marked `approx` carry canon-approximate
|
|
6
|
+
* figures the excerpts couldn't confirm.
|
|
7
|
+
*
|
|
8
|
+
* SOURCE OF TRUTH: maka-cli.com's GameCatalog collection (player
|
|
9
|
+
* direction: the site is the game's backend). This file is the SEED and
|
|
10
|
+
* the OFFLINE FLOOR -- the server is seeded from an identical copy
|
|
11
|
+
* (maka-cli-com-2: app/imports/api/v1/game-catalog/game-catalog-seed.ts;
|
|
12
|
+
* keep the two in sync, bump CATALOG_VERSION on any change), and the
|
|
13
|
+
* CLI overrides this list with the server's whenever it can reach it.
|
|
14
|
+
*/
|
|
15
|
+
export const CATALOG_VERSION = 3;
|
|
16
|
+
const row = (slug, name, category, price, availability, description, extra = {}) => ({
|
|
17
|
+
slug, name, category, price, availability, description,
|
|
18
|
+
rating: extra.rating ?? (price >= 5000 ? 'Rare' : price >= 500 ? 'Standard' : 'Common'),
|
|
19
|
+
size: extra.size ?? 'Small',
|
|
20
|
+
shape: extra.shape ?? 'gear',
|
|
21
|
+
color: extra.color ?? 'matte black',
|
|
22
|
+
texture: extra.texture ?? 'street-worn',
|
|
23
|
+
weight: extra.weight ?? 1,
|
|
24
|
+
...extra,
|
|
25
|
+
});
|
|
26
|
+
export const CATALOG_ITEMS = [
|
|
27
|
+
// ---- Melee (p.423) ----
|
|
28
|
+
row('combat-knife', 'Combat Knife', 'MeleeWeapon', 300, 4, 'Mil-spec steel that holds an edge through anything.', { page: 'p.423', shape: 'blade' }),
|
|
29
|
+
row('sword', 'Sword', 'MeleeWeapon', 500, 5, 'A proper length of sharpened argument.', { page: 'p.423', shape: 'blade', size: 'Medium', weight: 1.5 }),
|
|
30
|
+
row('katana', 'Katana', 'MeleeWeapon', 1000, 9, 'Folded steel and folded history. Restricted, naturally.', { page: 'p.423', shape: 'blade', size: 'Medium', weight: 1.2, rating: 'Rare' }),
|
|
31
|
+
row('club', 'Club', 'MeleeWeapon', 30, 2, 'The oldest tool in the world, still in production.', { page: 'p.423', shape: 'club', size: 'Medium', weight: 2 }),
|
|
32
|
+
row('stun-baton', 'Stun Baton', 'MeleeWeapon', 750, 6, 'Collapsible shock stick -- the polite end of crowd control.', { page: 'p.423', shape: 'baton' }),
|
|
33
|
+
row('shock-gloves', 'Shock Gloves', 'MeleeWeapon', 550, 6, 'Capacitor plates across the knuckles. A crackling non-lethal argument.', { approx: true, shape: 'gloves', weight: 0.5, texture: 'insulated weave' }),
|
|
34
|
+
row('staff', 'Staff', 'MeleeWeapon', 100, 3, 'Two meters of reach and no questions at checkpoints.', { approx: true, shape: 'staff', size: 'Large', weight: 2 }),
|
|
35
|
+
// ---- Sidearms & long guns (p.426, p.428) ----
|
|
36
|
+
row('colt-america-l36', 'Colt America L36', 'RangedWeapon', 320, 4, 'A light pistol as common as rain and twice as honest.', { page: 'p.426', shape: 'pistol' }),
|
|
37
|
+
row('ares-predator-v', 'Ares Predator V', 'RangedWeapon', 725, 5, 'THE heavy pistol. Smartgun system built in, reputation included.', { page: 'p.426', shape: 'pistol', weight: 1.2 }),
|
|
38
|
+
row('ruger-super-warhawk', 'Ruger Super Warhawk', 'RangedWeapon', 400, 4, 'A revolver with opinions. Loud ones.', { page: 'p.426', shape: 'revolver', weight: 1.4 }),
|
|
39
|
+
row('remington-roomsweeper', 'Remington Roomsweeper', 'RangedWeapon', 250, 6, 'A heavy pistol that thinks it is a shotgun. It is not wrong.', { page: 'p.426', shape: 'pistol', weight: 1.5 }),
|
|
40
|
+
row('ares-alpha', 'Ares Alpha', 'RangedWeapon', 2650, 11, 'The assault rifle with the grenade launcher. Forbidden, and worth it.', { page: 'p.428', shape: 'rifle', size: 'Large', weight: 4.5, rating: 'MilitaryGrade' }),
|
|
41
|
+
row('ak-97', 'AK-97', 'RangedWeapon', 950, 8, 'A century of design maturity: it always, always fires.', { approx: true, shape: 'rifle', size: 'Large', weight: 4 }),
|
|
42
|
+
row('defiance-t-250', 'Defiance T-250', 'RangedWeapon', 450, 4, 'A pump shotgun with all the subtlety the name implies.', { approx: true, shape: 'shotgun', size: 'Large', weight: 3.5 }),
|
|
43
|
+
row('ares-light-fire-75', 'Ares Light Fire 75', 'RangedWeapon', 1250, 6, 'A whisper-quiet light pistol built around its silencer.', { approx: true, shape: 'pistol' }),
|
|
44
|
+
// ---- Ammunition ----
|
|
45
|
+
row('regular-ammo', 'Regular Ammo (box)', 'Ammunition', 20, 2, 'Ten clean rounds, serial numbers politely absent.', { approx: true, shape: 'box', size: 'Tiny', weight: 0.5, color: 'brass', texture: 'metal' }),
|
|
46
|
+
row('stick-n-shock', 'Stick-n-Shock Rounds', 'Ammunition', 80, 6, 'Taser slugs -- for when you want them down, not gone.', { approx: true, shape: 'box', size: 'Tiny', weight: 0.5 }),
|
|
47
|
+
row('apds', 'APDS Rounds', 'Ammunition', 120, 12, 'Armor-piercing discarding sabot. Very forbidden. Very effective.', { approx: true, shape: 'box', size: 'Tiny', weight: 0.5, rating: 'MilitaryGrade' }),
|
|
48
|
+
// ---- Armor (p.436) ----
|
|
49
|
+
row('armor-jacket', 'Armor Jacket', 'BodyArmor', 1000, 2, 'The runner standard: looks like a jacket, works like a wall.', { page: 'p.436', shape: 'jacket', size: 'Medium', weight: 3, texture: 'ballistic weave' }),
|
|
50
|
+
row('chameleon-suit', 'Chameleon Suit', 'ArmorClothing', 1700, 10, 'Ruthenium weave that drinks the light around it.', { page: 'p.436', shape: 'suit', size: 'Medium', weight: 2, color: 'shifting gray', rating: 'Rare' }),
|
|
51
|
+
row('urban-explorer', 'Urban Explorer Jumpsuit', 'ArmorClothing', 650, 8, 'Armored athletic wear for the parkour-inclined professional.', { page: 'p.436', shape: 'jumpsuit', size: 'Medium', weight: 2 }),
|
|
52
|
+
row('armor-vest', 'Armor Vest', 'BodyArmor', 500, 4, 'Concealable ballistic weave. The difference between a bad night and a last one.', { approx: true, shape: 'vest', size: 'Medium', weight: 3 }),
|
|
53
|
+
row('lined-coat', 'Lined Coat', 'BodyArmor', 900, 4, 'Duster-length armor with room for everything underneath.', { approx: true, shape: 'coat', size: 'Medium', weight: 3 }),
|
|
54
|
+
row('armor-clothing', 'Armor Clothing', 'ArmorClothing', 450, 2, 'Boardroom-passable protection.', { approx: true, shape: 'clothing', size: 'Medium', weight: 2 }),
|
|
55
|
+
row('helmet', 'Helmet', 'Helmet', 100, 2, 'A hard shell for the soft parts that matter most.', { approx: true, shape: 'helmet', weight: 1 }),
|
|
56
|
+
row('ballistic-shield', 'Ballistic Shield', 'Shield', 1200, 12, 'A door you carry into rooms that need one.', { approx: true, shape: 'shield', size: 'Large', weight: 7, rating: 'Rare' }),
|
|
57
|
+
// ---- Commlinks & decks (p.439) ----
|
|
58
|
+
row('meta-link', 'Meta Link', 'Commlink', 100, 2, 'The squatter special. It makes calls. Usually.', { page: 'p.439', shape: 'slab', size: 'Tiny', weight: 0.2 }),
|
|
59
|
+
row('sony-emperor', 'Sony Emperor', 'Commlink', 700, 4, 'A solid mid-shelf commlink with a name bigger than its specs.', { approx: true, shape: 'slab', size: 'Tiny', weight: 0.2 }),
|
|
60
|
+
row('renraku-sensei', 'Renraku Sensei', 'Commlink', 1000, 6, 'A businessman\'s link: discreet, capable, forgettable on purpose.', { page: 'p.439', shape: 'slab', size: 'Tiny', weight: 0.2 }),
|
|
61
|
+
row('hermes-ikon', 'Hermes Ikon', 'Commlink', 3000, 10, 'Serious hardware for people whose calls matter.', { page: 'p.439', shape: 'slab', size: 'Tiny', weight: 0.3, rating: 'Rare' }),
|
|
62
|
+
row('fairlight-caliban', 'Fairlight Caliban', 'Commlink', 8000, 14, 'The commlink executives get assassinated for.', { page: 'p.439', shape: 'slab', size: 'Tiny', weight: 0.3, rating: 'Legendary' }),
|
|
63
|
+
// Decks (p.439/p.227) -- the aspirational end of the catalog: a
|
|
64
|
+
// Cyber-5 costs more than a Super-Platinum DocWagon year. Rating maps
|
|
65
|
+
// the book's Device Rating onto the engine's quality tiers (deck
|
|
66
|
+
// boxes and pools ride qualityBonus).
|
|
67
|
+
row('erika-mcd-1', 'Erika MCD-1', 'Cyberdeck', 49500, 3, 'The learner\'s cyberdeck -- "entry-level" meaning a year of rent.', { approx: true, shape: 'deck', size: 'Small', weight: 2, rating: 'Common' }),
|
|
68
|
+
row('microdeck-summit', 'Microdeck Summit', 'Cyberdeck', 58000, 3, 'Device Rating 1: a real deck, barely. Every decker\'s first love.', { page: 'p.439', shape: 'deck', size: 'Small', weight: 2, rating: 'Common' }),
|
|
69
|
+
row('hermes-chariot', 'Hermes Chariot', 'Cyberdeck', 123000, 6, 'Device Rating 2: the working professional\'s ride through the grid.', { page: 'p.439', shape: 'deck', size: 'Small', weight: 2, rating: 'Standard' }),
|
|
70
|
+
row('renraku-tsurugi', 'Renraku Tsurugi', 'Cyberdeck', 214125, 9, 'Device Rating 3: a sword, as the name says -- corp-grade ice-cutting.', { page: 'p.439', shape: 'deck', size: 'Small', weight: 2.5, rating: 'Rare' }),
|
|
71
|
+
row('shiawase-cyber-5', 'Shiawase Cyber-5', 'Cyberdeck', 549375, 15, 'Device Rating 5: the deck legends retire on. Or die holding.', { page: 'p.439', shape: 'deck', size: 'Small', weight: 3, rating: 'Legendary' }),
|
|
72
|
+
// ---- Deck software (p.245-246) -- "load <program>" runs a carried
|
|
73
|
+
// chip; hacking-program pricing is cited, common-program pricing is
|
|
74
|
+
// canon-approximate. Agents: rating x 2,000, avail rating x 3 (cited).
|
|
75
|
+
row('browse-program', 'Browse Program', 'Software', 80, 2, 'Purpose-built search routines: +2 dice on Matrix Search.', { approx: true, shape: 'chip', size: 'Tiny', weight: 0.1 }),
|
|
76
|
+
row('toolbox-program', 'Toolbox Program', 'Software', 80, 2, 'Utility suite that keeps your persona thinking: +1 Data Processing.', { approx: true, shape: 'chip', size: 'Tiny', weight: 0.1 }),
|
|
77
|
+
row('encryption-program', 'Encryption Program', 'Software', 80, 2, 'Wraps your traffic in ciphertext: +1 Firewall.', { approx: true, shape: 'chip', size: 'Tiny', weight: 0.1 }),
|
|
78
|
+
row('signal-scrub-program', 'Signal Scrub Program', 'Software', 80, 2, 'Cleans your noise floor: +1 die defending your PAN.', { approx: true, shape: 'chip', size: 'Tiny', weight: 0.1 }),
|
|
79
|
+
row('armor-program', 'Armor Program', 'Software', 250, 4, 'Structural integrity for your icon: +2 dice to resist Matrix damage.', { page: 'p.246', shape: 'chip', size: 'Tiny', weight: 0.1 }),
|
|
80
|
+
row('biofeedback-filter-program', 'Biofeedback Filter Program', 'Software', 250, 4, 'A firewall for your sim module: +2 dice against biofeedback and dumpshock.', { page: 'p.246', shape: 'chip', size: 'Tiny', weight: 0.1 }),
|
|
81
|
+
row('exploit-program', 'Exploit Program', 'Software', 250, 4, 'Scans targets for Firewall weaknesses: +2 Sleaze when cracking.', { page: 'p.246', shape: 'chip', size: 'Tiny', weight: 0.1 }),
|
|
82
|
+
row('sneak-program', 'Sneak Program', 'Software', 250, 4, 'Misroutes anyone hunting your icon: +2 dice defending a silent PAN.', { page: 'p.246', shape: 'chip', size: 'Tiny', weight: 0.1 }),
|
|
83
|
+
row('hammer-program', 'Hammer Program', 'Software', 250, 4, 'Brute-force payload: +2 Matrix damage on your attack programs.', { page: 'p.246', shape: 'chip', size: 'Tiny', weight: 0.1 }),
|
|
84
|
+
row('decryption-program', 'Decryption Program', 'Software', 250, 4, 'Rips ciphers apart in realtime: +2 Attack in Matrix combat.', { page: 'p.246', shape: 'chip', size: 'Tiny', weight: 0.1 }),
|
|
85
|
+
row('agent-rating-4', 'Agent Rating 4', 'Software', 8000, 12, 'Autonomous pilot program, rating 4 -- a sharper mind for your deck than the bundled dog-brain ("agent" deploys it).', { page: 'p.246', shape: 'chip', size: 'Tiny', weight: 0.1, rating: 'Rare' }),
|
|
86
|
+
row('agent-rating-6', 'Agent Rating 6', 'Software', 12000, 18, 'Top-shelf autonomous agent, rating 6 -- near-sapient, and priced like it knows.', { page: 'p.246', shape: 'chip', size: 'Tiny', weight: 0.1, rating: 'Legendary' }),
|
|
87
|
+
row('microtransceiver', 'Microtransceiver', 'Electronics', 100, 2, 'Ear-canal comms for jobs where commlinks are too loud.', { approx: true, shape: 'earpiece', size: 'Tiny', weight: 0.1 }),
|
|
88
|
+
row('white-noise-generator', 'White Noise Generator', 'Electronics', 300, 6, 'A bubble of privacy in a city of ears.', { approx: true, shape: 'puck', size: 'Tiny', weight: 0.3 }),
|
|
89
|
+
row('area-jammer', 'Area Jammer', 'Electronics', 1200, 8, 'Kills every wireless signal in the room, yours included.', { approx: true, shape: 'box', weight: 1 }),
|
|
90
|
+
// ---- Survival & entry (p.449) ----
|
|
91
|
+
row('climbing-gear', 'Climbing Gear', 'Electronics', 200, 2, 'Rope, harness, and hardware rated for your bad decisions.', { page: 'p.449', shape: 'kit', size: 'Medium', weight: 5 }),
|
|
92
|
+
row('flashlight', 'Flashlight', 'Electronics', 25, 2, 'Light where the city forgot to put any.', { page: 'p.449', shape: 'tube', size: 'Tiny', weight: 0.3 }),
|
|
93
|
+
row('gecko-tape-gloves', 'Gecko Tape Gloves', 'Electronics', 250, 12, 'Walk up the wall. Forbidden for exactly that reason.', { page: 'p.449', shape: 'gloves', size: 'Tiny', weight: 0.3, rating: 'Rare' }),
|
|
94
|
+
row('survival-kit', 'Survival Kit', 'Electronics', 200, 4, 'Everything the barrens forgot to provide.', { page: 'p.449', shape: 'kit', size: 'Medium', weight: 3 }),
|
|
95
|
+
row('grapple-gun', 'Grapple Gun', 'Electronics', 500, 8, 'A rooftop in one pull of a trigger. Bring the descent kit.', { approx: true, shape: 'launcher', size: 'Medium', weight: 2 }),
|
|
96
|
+
row('lockpick-set', 'Lockpick Set', 'Electronics', 250, 6, 'Manual picks and a shim set, wrapped like surgeon\'s tools.', { approx: true, shape: 'roll', size: 'Tiny', weight: 0.3 }),
|
|
97
|
+
// ---- Medical (p.450, p.96) ----
|
|
98
|
+
row('medkit-3', 'Medkit (Rating 3)', 'Medical', 750, 3, 'Pocket trauma kit: sealant, stims, a diagnostic patch.', { approx: true, shape: 'case', color: 'red' }),
|
|
99
|
+
row('medkit-6', 'Medkit (Rating 6)', 'Medical', 1500, 6, 'A clinic in a handheld case -- the good one.', { page: 'p.96', shape: 'case', size: 'Medium', weight: 2, color: 'red' }),
|
|
100
|
+
row('stim-patch', 'Stim Patch (Rating 4)', 'StimPatch', 100, 4, 'Slap-on chemical courage. The crash comes later.', { approx: true, shape: 'patch', size: 'Tiny', weight: 0.1, color: 'yellow' }),
|
|
101
|
+
row('trauma-patch', 'Trauma Patch', 'Medical', 500, 12, 'The patch that argues with death itself. Once.', { approx: true, shape: 'patch', size: 'Tiny', weight: 0.1, color: 'red', rating: 'Rare' }),
|
|
102
|
+
// ---- Magical goods (p.461) ----
|
|
103
|
+
row('power-focus-1', 'Power Focus (Force 1)', 'Focus', 18000, 4, 'A bound anchor for living mana. The real investment.', { page: 'p.461', shape: 'amulet', size: 'Tiny', weight: 0.2, rating: 'Rare' }),
|
|
104
|
+
row('combat-spell-formula', 'Combat Spell Formula', 'SpellFormula', 2000, 8, 'A combat spell, notated for study. Bring talent.', { page: 'p.461', shape: 'scroll', size: 'Tiny', weight: 0.1 }),
|
|
105
|
+
row('reagents', 'Reagents (10 drams)', 'Focus', 200, 2, 'Alchemically potent odds and ends, jarred and labeled.', { approx: true, shape: 'jar', size: 'Tiny', weight: 0.5 }),
|
|
106
|
+
// ---- Explosives ----
|
|
107
|
+
row('flash-bang', 'Flash-Bang Grenade', 'Explosive', 100, 6, 'A very loud argument for leaving.', { approx: true, shape: 'grenade', size: 'Tiny', weight: 0.3 }),
|
|
108
|
+
row('smoke-grenade', 'Smoke Grenade', 'Explosive', 40, 4, 'Portable weather for tactical withdrawals.', { approx: true, shape: 'grenade', size: 'Tiny', weight: 0.3 }),
|
|
109
|
+
// ---- Drones ----
|
|
110
|
+
row('fly-spy', 'MCT Fly-Spy', 'Drone', 2000, 8, 'A palm-sized dragonfly with a camera where its soul should be.', { approx: true, shape: 'insect', size: 'Tiny', weight: 0.4, color: 'iridescent green' }),
|
|
111
|
+
];
|
|
112
|
+
//# sourceMappingURL=catalog-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-data.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/catalog-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ICatalogItem } from './catalog-data.js';
|
|
2
|
+
/**
|
|
3
|
+
* The catalog's delivery chain (player direction: the catalog LIVES on
|
|
4
|
+
* maka-cli.com): the site's GameCatalog collection is the source of
|
|
5
|
+
* truth, fetched publicly (no auth -- it's world data) and cached at
|
|
6
|
+
* ~/.meteor/.maka/side-quest-catalog.json; offline or unreachable, the
|
|
7
|
+
* cache serves; no cache, the baked-in seed (catalog-data.ts) is the
|
|
8
|
+
* floor. The same local-first shape as saves: the street never stops
|
|
9
|
+
* selling because the grid hiccuped.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* DOMAIN AFFINITY (player ruling: don't overload the Johnson -- the
|
|
13
|
+
* specialists are the point of having a roster). Which catalog
|
|
14
|
+
* categories are a contact ROLE's own trade: sourcing inside it rides
|
|
15
|
+
* bonus dice (source.ts), the catalog groups its sections by it
|
|
16
|
+
* (catalog.ts command), and the contact's own AI is briefed on this
|
|
17
|
+
* stock as THEIR trade (npc.ts swag note). Lives here, not in
|
|
18
|
+
* source.ts, so models can import it without pulling in a command.
|
|
19
|
+
*/
|
|
20
|
+
export declare const ROLE_DOMAINS: Record<string, string[]>;
|
|
21
|
+
/** Fire-and-forget refresh from the site -- call once at session start;
|
|
22
|
+
* the promise resolves when the live list (or a fallback) is settled. */
|
|
23
|
+
export declare function refreshCatalog(): Promise<void>;
|
|
24
|
+
/** The best catalog available right now: live > cached > baked-in. */
|
|
25
|
+
export declare function loadCatalog(): ICatalogItem[];
|
|
26
|
+
/** Fuzzy lookup for source.ts: exact slug, exact name, then loose
|
|
27
|
+
* word containment -- a single unambiguous hit or nothing. */
|
|
28
|
+
export declare function findCatalogItem(request: string): ICatalogItem | undefined;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as os from 'os';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
import * as http from 'http';
|
|
5
|
+
import * as https from 'https';
|
|
6
|
+
import { Logger } from './logger.js';
|
|
7
|
+
import { CATALOG_VERSION, CATALOG_ITEMS } from './catalog-data.js';
|
|
8
|
+
/**
|
|
9
|
+
* The catalog's delivery chain (player direction: the catalog LIVES on
|
|
10
|
+
* maka-cli.com): the site's GameCatalog collection is the source of
|
|
11
|
+
* truth, fetched publicly (no auth -- it's world data) and cached at
|
|
12
|
+
* ~/.meteor/.maka/side-quest-catalog.json; offline or unreachable, the
|
|
13
|
+
* cache serves; no cache, the baked-in seed (catalog-data.ts) is the
|
|
14
|
+
* floor. The same local-first shape as saves: the street never stops
|
|
15
|
+
* selling because the grid hiccuped.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* DOMAIN AFFINITY (player ruling: don't overload the Johnson -- the
|
|
19
|
+
* specialists are the point of having a roster). Which catalog
|
|
20
|
+
* categories are a contact ROLE's own trade: sourcing inside it rides
|
|
21
|
+
* bonus dice (source.ts), the catalog groups its sections by it
|
|
22
|
+
* (catalog.ts command), and the contact's own AI is briefed on this
|
|
23
|
+
* stock as THEIR trade (npc.ts swag note). Lives here, not in
|
|
24
|
+
* source.ts, so models can import it without pulling in a command.
|
|
25
|
+
*/
|
|
26
|
+
export const ROLE_DOMAINS = {
|
|
27
|
+
'Arms Dealer': ['Weapon', 'MeleeWeapon', 'RangedWeapon', 'Ammunition', 'Explosive', 'BodyArmor', 'Armor', 'Shield', 'Helmet', 'ArmArmor', 'LegArmor', 'Boots', 'Gloves'],
|
|
28
|
+
'Talismonger': ['Focus', 'SpellFormula', 'Grimoire'],
|
|
29
|
+
'Street Doc': ['Medical', 'StimPatch', 'SlapPatch', 'Bioware', 'Cyberware', 'Nanoware', 'Geneware'],
|
|
30
|
+
'Mechanic': ['Drone', 'RCC'],
|
|
31
|
+
'Data Broker': ['Cyberdeck', 'Software', 'Commlink', 'Electronics'],
|
|
32
|
+
'Vendor': ['Food', 'Drink'],
|
|
33
|
+
};
|
|
34
|
+
const DEV = process.env.MAKA_DEV === 'True';
|
|
35
|
+
const HOSTNAME = DEV ? 'localhost' : 'www.maka-cli.com';
|
|
36
|
+
const PORT = DEV ? Number(process.env.MAKA_DEV_PORT ?? 3000) : 443;
|
|
37
|
+
const TIMEOUT_MS = 8000;
|
|
38
|
+
const CACHE_PATH = path.join(os.homedir(), '.meteor', '.maka', 'side-quest-catalog.json');
|
|
39
|
+
let liveCatalog;
|
|
40
|
+
let fetchAttempted = false;
|
|
41
|
+
function readCache() {
|
|
42
|
+
try {
|
|
43
|
+
const parsed = JSON.parse(fs.readFileSync(CACHE_PATH, 'utf8'));
|
|
44
|
+
if (Array.isArray(parsed?.items) && parsed.items.length > 0)
|
|
45
|
+
return parsed;
|
|
46
|
+
}
|
|
47
|
+
catch { /* no cache */ }
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
function writeCache(version, items) {
|
|
51
|
+
try {
|
|
52
|
+
fs.mkdirSync(path.dirname(CACHE_PATH), { recursive: true });
|
|
53
|
+
fs.writeFileSync(CACHE_PATH, JSON.stringify({ version, fetchedAt: new Date().toISOString(), items }), 'utf8');
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
Logger.getInstance().write(`catalog cache write failed: ${err}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/** Fire-and-forget refresh from the site -- call once at session start;
|
|
60
|
+
* the promise resolves when the live list (or a fallback) is settled. */
|
|
61
|
+
export async function refreshCatalog() {
|
|
62
|
+
if (fetchAttempted)
|
|
63
|
+
return;
|
|
64
|
+
fetchAttempted = true;
|
|
65
|
+
const logger = Logger.getInstance();
|
|
66
|
+
try {
|
|
67
|
+
const data = await new Promise((resolve, reject) => {
|
|
68
|
+
const mod = DEV ? http : https;
|
|
69
|
+
const req = mod.request({ hostname: HOSTNAME, port: PORT, path: '/api/v1/game-catalog/list', method: 'GET', timeout: TIMEOUT_MS }, res => {
|
|
70
|
+
let body = '';
|
|
71
|
+
res.on('data', c => { body += c; });
|
|
72
|
+
res.on('end', () => (res.statusCode === 200 ? resolve(body) : reject(new Error(`status ${res.statusCode}`))));
|
|
73
|
+
});
|
|
74
|
+
req.on('timeout', () => req.destroy(new Error('timeout')));
|
|
75
|
+
req.on('error', reject);
|
|
76
|
+
req.end();
|
|
77
|
+
});
|
|
78
|
+
const parsed = JSON.parse(data);
|
|
79
|
+
if (Array.isArray(parsed?.items) && parsed.items.length > 0) {
|
|
80
|
+
liveCatalog = parsed.items;
|
|
81
|
+
writeCache(Number(parsed.version ?? CATALOG_VERSION), liveCatalog);
|
|
82
|
+
logger.write(`Catalog: ${liveCatalog.length} items from maka-cli.com (v${parsed.version}).`);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
throw new Error('empty catalog payload');
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
const cache = readCache();
|
|
89
|
+
if (cache) {
|
|
90
|
+
liveCatalog = cache.items;
|
|
91
|
+
logger.write(`Catalog: offline -- serving ${cache.items.length} cached items (v${cache.version}). (${err.message})`);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
logger.write(`Catalog: offline, no cache -- serving the ${CATALOG_ITEMS.length} baked-in items. (${err.message})`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/** The best catalog available right now: live > cached > baked-in. */
|
|
99
|
+
export function loadCatalog() {
|
|
100
|
+
if (liveCatalog)
|
|
101
|
+
return liveCatalog;
|
|
102
|
+
const cache = readCache();
|
|
103
|
+
return cache?.items ?? CATALOG_ITEMS;
|
|
104
|
+
}
|
|
105
|
+
/** Fuzzy lookup for source.ts: exact slug, exact name, then loose
|
|
106
|
+
* word containment -- a single unambiguous hit or nothing. */
|
|
107
|
+
export function findCatalogItem(request) {
|
|
108
|
+
const items = loadCatalog();
|
|
109
|
+
const q = request.trim().toLowerCase();
|
|
110
|
+
if (!q)
|
|
111
|
+
return undefined;
|
|
112
|
+
const exact = items.find(i => i.slug === q.replace(/\s+/g, '-') || i.name.toLowerCase() === q);
|
|
113
|
+
if (exact)
|
|
114
|
+
return exact;
|
|
115
|
+
const hits = items.filter(i => i.name.toLowerCase().includes(q) || q.includes(i.name.toLowerCase()));
|
|
116
|
+
if (hits.length === 1)
|
|
117
|
+
return hits[0];
|
|
118
|
+
// Word-overlap last resort ("shock gloves" vs "Shock Gloves").
|
|
119
|
+
const words = q.split(/\s+/).filter(w => w.length >= 3);
|
|
120
|
+
if (words.length === 0)
|
|
121
|
+
return undefined;
|
|
122
|
+
const scored = items.filter(i => {
|
|
123
|
+
const hay = i.name.toLowerCase();
|
|
124
|
+
return words.every(w => hay.includes(w));
|
|
125
|
+
});
|
|
126
|
+
return scored.length === 1 ? scored[0] : undefined;
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,6 +114,10 @@ export function serializeItem(item) {
|
|
|
114
114
|
out.deckDamage = item.deckDamage;
|
|
115
115
|
if (item.droneDamage > 0)
|
|
116
116
|
out.droneDamage = item.droneDamage;
|
|
117
|
+
if (item.loadedPrograms.length > 0)
|
|
118
|
+
out.loadedPrograms = [...item.loadedPrograms];
|
|
119
|
+
if (item.isCyberdeck() && item.deckOrder.join() !== '0,1,2,3')
|
|
120
|
+
out.deckOrder = item.deckOrder;
|
|
117
121
|
return out;
|
|
118
122
|
}
|
|
119
123
|
/** Mirrors ItemFactory.createItemFromJson (synchronously), then lays
|
|
@@ -151,6 +155,10 @@ export function restoreItem(json) {
|
|
|
151
155
|
item.takeDeckDamage(json.deckDamage);
|
|
152
156
|
if (json.droneDamage)
|
|
153
157
|
item.takeDroneDamage(json.droneDamage);
|
|
158
|
+
if (json.loadedPrograms)
|
|
159
|
+
item.loadedPrograms = [...json.loadedPrograms];
|
|
160
|
+
if (json.deckOrder)
|
|
161
|
+
item.configureDeck(json.deckOrder);
|
|
154
162
|
return item;
|
|
155
163
|
}
|
|
156
164
|
export function serializeEquipment(eq) {
|