@maka/maka-cli 5.51.0 → 5.52.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/augmentations.d.ts +61 -0
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +222 -1
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.d.ts +4 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js +35 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js +32 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.d.ts +11 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +183 -13
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js +30 -10
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.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/go.js +18 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/install.js +45 -9
- package/bundle/typescript/src/commands/game/sideQuest/commands/install.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/inv.d.ts +0 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js +43 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/note.d.ts +20 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/note.js +34 -10
- package/bundle/typescript/src/commands/game/sideQuest/commands/note.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +17 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sin.d.ts +21 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js +94 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js +52 -30
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/use.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/use.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.d.ts +0 -8
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +41 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.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 +26 -5
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +20 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +95 -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 +24 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +63 -15
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js +18 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +7 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.d.ts +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.js +4 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +14 -4
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +219 -86
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +18 -4
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +14 -4
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.d.ts +18 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +23 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.d.ts +9 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.js +11 -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 +4 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.d.ts +13 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.js +19 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.d.ts +20 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +141 -5
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.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.52.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.",
|
|
@@ -24,8 +24,69 @@ export interface IAugmentation {
|
|
|
24
24
|
wakeLine: string;
|
|
25
25
|
/** Keys this piece cannot coexist with (checked both directions). */
|
|
26
26
|
excludes?: string[];
|
|
27
|
+
/**
|
|
28
|
+
* The dice this piece moves, by pool -- the ONLY place a bonus is
|
|
29
|
+
* declared (Player.augBonus sums these over what's installed, so new
|
|
30
|
+
* chrome is data, not another switch arm). Reflexes are the one
|
|
31
|
+
* exception: the wired tiers don't stack, and augBonus still resolves
|
|
32
|
+
* that family by hand.
|
|
33
|
+
*/
|
|
34
|
+
bonuses?: Partial<Record<AugBonusKind, number>>;
|
|
35
|
+
page?: string;
|
|
36
|
+
/** The book's Availability rating for this piece. */
|
|
37
|
+
avail?: number;
|
|
38
|
+
/** The book's availability suffix: Restricted / Forbidden. */
|
|
39
|
+
legality?: 'R' | 'F';
|
|
40
|
+
/** The book's nuyen price at standard grade. */
|
|
41
|
+
canonCost?: number;
|
|
42
|
+
/** The book's Essence cost, when it differs from the game's. */
|
|
43
|
+
canonEssence?: number;
|
|
27
44
|
}
|
|
45
|
+
/** Every pool chrome can move (cf. Player.augBonus, qualityBonus). */
|
|
46
|
+
export type AugBonusKind = 'initiative' | 'defense' | 'attack' | 'firearms' | 'soak' | 'unarmed-damage' | 'perception' | 'matrix' | 'piloting' | 'social' | 'sneak' | 'athletics' | 'healing' | 'wound-ignore';
|
|
28
47
|
export declare const AUGMENTATIONS: IAugmentation[];
|
|
29
48
|
export declare function getAug(key: string): IAugmentation | undefined;
|
|
30
49
|
/** Loose name lookup: exact key/name first, then substring either way. */
|
|
31
50
|
export declare function findAug(query: string): IAugmentation | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* The same chrome, cut to a better tolerance. Grade changes only what
|
|
53
|
+
* the surgery COSTS you -- essence and nuyen -- never what the 'ware
|
|
54
|
+
* does, which is why IAugmentation carries no grade and augBonus never
|
|
55
|
+
* asks. Player request 2026-08-25, made twice: "let's look at grades of
|
|
56
|
+
* implants/augmentations."
|
|
57
|
+
*
|
|
58
|
+
* Multipliers are the p.451 'WARE GRADES table, verified against the
|
|
59
|
+
* rulebook: used x1.25 ess / -4 avail / x0.75 cost; alphaware x0.8 /
|
|
60
|
+
* +2 / x1.2; deltaware x0.5 / +8 / x2.5. Standard is the baseline the
|
|
61
|
+
* catalog above is priced at.
|
|
62
|
+
*
|
|
63
|
+
* Betaware (x0.7 ess / +4 avail / x1.5 cost) is confirmed against the
|
|
64
|
+
* printed p.451 table too -- it was carried here as an interpolation
|
|
65
|
+
* until the gear chapter was read straight out of the rulebook.
|
|
66
|
+
*/
|
|
67
|
+
export type AugGrade = 'used' | 'standard' | 'alphaware' | 'betaware' | 'deltaware';
|
|
68
|
+
export interface IWareGrade {
|
|
69
|
+
grade: AugGrade;
|
|
70
|
+
/** Multiplies the catalog's essence cost. */
|
|
71
|
+
essenceMult: number;
|
|
72
|
+
/** Multiplies the catalog's nuyen price. */
|
|
73
|
+
costMult: number;
|
|
74
|
+
/** Canon availability shift -- carried for the clinics that gate on
|
|
75
|
+
* it; the street clinic gates on `streetLegal` instead. */
|
|
76
|
+
availMod: number;
|
|
77
|
+
/** false = no back-alley doc cuts this; it needs a dedicated
|
|
78
|
+
* beta/delta clinic (p.451, and Missions FAQ p.11 for delta). */
|
|
79
|
+
streetLegal: boolean;
|
|
80
|
+
blurb: string;
|
|
81
|
+
}
|
|
82
|
+
export declare const WARE_GRADES: IWareGrade[];
|
|
83
|
+
export declare function getGrade(grade?: string): IWareGrade | undefined;
|
|
84
|
+
export declare const STANDARD_GRADE: IWareGrade;
|
|
85
|
+
/**
|
|
86
|
+
* A catalog entry priced at a grade. Essence keeps TWO decimals on
|
|
87
|
+
* purpose: at one decimal 0.1 x 0.8 rounds back to 0.1 and alphaware on
|
|
88
|
+
* cheap 'ware would buy literally nothing.
|
|
89
|
+
*/
|
|
90
|
+
export declare function gradedAug(aug: IAugmentation, grade: IWareGrade): IAugmentation;
|
|
91
|
+
/** Essence for humans: 6 reads "6.0", 5.92 reads "5.92". */
|
|
92
|
+
export declare function formatEssence(n: number): string;
|
|
@@ -7,6 +7,8 @@ export const AUGMENTATIONS = [
|
|
|
7
7
|
cost: 1000,
|
|
8
8
|
effect: '+1 die on every Matrix pool (a hard line beats any trode net)',
|
|
9
9
|
wakeLine: 'A cool port sits behind your ear. The Matrix feels one thought closer.',
|
|
10
|
+
bonuses: { matrix: 1 },
|
|
11
|
+
page: 'p.452', avail: 2, canonCost: 1000,
|
|
10
12
|
},
|
|
11
13
|
{
|
|
12
14
|
key: 'smartlink',
|
|
@@ -16,6 +18,8 @@ export const AUGMENTATIONS = [
|
|
|
16
18
|
cost: 4000,
|
|
17
19
|
effect: '+2 dice with a drawn firearm (the crosshair lives in your eye)',
|
|
18
20
|
wakeLine: 'You look at the far wall and a targeting reticle looks back.',
|
|
21
|
+
bonuses: { firearms: 2 },
|
|
22
|
+
page: 'p.454', avail: 8, legality: 'R', canonCost: 4000,
|
|
19
23
|
},
|
|
20
24
|
{
|
|
21
25
|
key: 'cybereyes',
|
|
@@ -25,15 +29,19 @@ export const AUGMENTATIONS = [
|
|
|
25
29
|
cost: 5000,
|
|
26
30
|
effect: '+2 dice on perception tests (low-light, thermographic, flare comp)',
|
|
27
31
|
wakeLine: 'The dark peels back. You will never see the world the old way again -- literally.',
|
|
32
|
+
bonuses: { perception: 2 },
|
|
33
|
+
page: 'p.454', avail: 6, canonCost: 6000, canonEssence: 0.3,
|
|
28
34
|
},
|
|
29
35
|
{
|
|
30
36
|
key: 'bone-lacing',
|
|
31
|
-
name: 'Bone Lacing',
|
|
37
|
+
name: 'Bone Lacing (Aluminum)',
|
|
32
38
|
kind: 'cyberware',
|
|
33
39
|
essence: 1.0,
|
|
34
40
|
cost: 6000,
|
|
35
41
|
effect: '+2 unarmed damage, +1 soak (your skeleton is the weapon now)',
|
|
36
42
|
wakeLine: 'Everything aches at the marrow. You knock a knuckle on the table and dent it.',
|
|
43
|
+
bonuses: { soak: 1, 'unarmed-damage': 2 },
|
|
44
|
+
page: 'p.455', avail: 12, legality: 'R', canonCost: 18000,
|
|
37
45
|
},
|
|
38
46
|
{
|
|
39
47
|
key: 'dermal-plating',
|
|
@@ -43,6 +51,8 @@ export const AUGMENTATIONS = [
|
|
|
43
51
|
cost: 7000,
|
|
44
52
|
effect: '+2 soak (armor that never comes off)',
|
|
45
53
|
wakeLine: 'Your skin sits heavier, ridged under the surface like something geological.',
|
|
54
|
+
bonuses: { soak: 2 },
|
|
55
|
+
page: 'p.456', avail: 12, legality: 'R', canonCost: 9000,
|
|
46
56
|
},
|
|
47
57
|
{
|
|
48
58
|
key: 'muscle-toner',
|
|
@@ -52,6 +62,8 @@ export const AUGMENTATIONS = [
|
|
|
52
62
|
cost: 9000,
|
|
53
63
|
effect: '+1 die on every meat-plane attack (vat-grown fast-twitch fiber)',
|
|
54
64
|
wakeLine: 'Your hands move a half-beat before you finish deciding to move them.',
|
|
65
|
+
bonuses: { attack: 1 },
|
|
66
|
+
page: 'p.460', avail: 20, legality: 'R', canonCost: 128000,
|
|
55
67
|
},
|
|
56
68
|
{
|
|
57
69
|
key: 'pain-editor',
|
|
@@ -61,6 +73,7 @@ export const AUGMENTATIONS = [
|
|
|
61
73
|
cost: 10000,
|
|
62
74
|
effect: 'ignore the first -1 of wound modifiers (the hurt arrives as a memo)',
|
|
63
75
|
wakeLine: 'The incision should hurt. It reads instead like a report about someone else.',
|
|
76
|
+
page: 'p.461', avail: 18, legality: 'F', canonCost: 48000,
|
|
64
77
|
},
|
|
65
78
|
{
|
|
66
79
|
key: 'control-rig',
|
|
@@ -70,6 +83,8 @@ export const AUGMENTATIONS = [
|
|
|
70
83
|
cost: 12000,
|
|
71
84
|
effect: '+2 dice piloting drones (the machine becomes a limb)',
|
|
72
85
|
wakeLine: 'Somewhere in your skull a new sense is waiting for wings to wear.',
|
|
86
|
+
bonuses: { piloting: 2 },
|
|
87
|
+
page: 'p.456', avail: 5, legality: 'R', canonCost: 43000,
|
|
73
88
|
},
|
|
74
89
|
{
|
|
75
90
|
key: 'wired-reflexes-1',
|
|
@@ -79,6 +94,8 @@ export const AUGMENTATIONS = [
|
|
|
79
94
|
cost: 8000,
|
|
80
95
|
effect: '+1 initiative die, +1 defense die',
|
|
81
96
|
wakeLine: 'You wake with lightning under your skin. The room moves like it\'s wading through syrup.',
|
|
97
|
+
bonuses: { initiative: 1, defense: 1 },
|
|
98
|
+
page: 'p.456', avail: 8, legality: 'R', canonCost: 39000,
|
|
82
99
|
excludes: ['synaptic-booster'],
|
|
83
100
|
},
|
|
84
101
|
{
|
|
@@ -89,6 +106,8 @@ export const AUGMENTATIONS = [
|
|
|
89
106
|
cost: 18000,
|
|
90
107
|
effect: '+2 initiative dice, +2 defense dice (supersedes Wired Reflexes I)',
|
|
91
108
|
wakeLine: 'The world drops into slow motion and stays there. Doors take forever to finish opening.',
|
|
109
|
+
bonuses: { initiative: 2, defense: 2 },
|
|
110
|
+
page: 'p.456', avail: 12, legality: 'R', canonCost: 149000,
|
|
92
111
|
excludes: ['synaptic-booster'],
|
|
93
112
|
},
|
|
94
113
|
{
|
|
@@ -99,6 +118,7 @@ export const AUGMENTATIONS = [
|
|
|
99
118
|
cost: 12000,
|
|
100
119
|
effect: 'stay awake twice as long before sleep-deprivation fatigue bites (healing rest unaffected)',
|
|
101
120
|
wakeLine: 'You wake from the surgery already rested. Nights are optional now -- the district never noticed you needed them.',
|
|
121
|
+
page: 'p.461', avail: 6, canonCost: 12000, canonEssence: 0.1,
|
|
102
122
|
},
|
|
103
123
|
{
|
|
104
124
|
key: 'synaptic-booster',
|
|
@@ -108,8 +128,160 @@ export const AUGMENTATIONS = [
|
|
|
108
128
|
cost: 16000,
|
|
109
129
|
effect: '+1 initiative die, +1 defense die -- bioware: a fraction of the essence, twice the price',
|
|
110
130
|
wakeLine: 'No metal, no ports -- just nerves rebuilt to a faster spec. You feel exactly like yourself, sooner.',
|
|
131
|
+
bonuses: { initiative: 1, defense: 1 },
|
|
132
|
+
page: 'p.461', avail: 6, legality: 'R', canonCost: 95000,
|
|
111
133
|
excludes: ['wired-reflexes-1', 'wired-reflexes-2'],
|
|
112
134
|
},
|
|
135
|
+
// ---- Sensory chrome (p.453-454) ----
|
|
136
|
+
{
|
|
137
|
+
key: 'cyberears',
|
|
138
|
+
name: 'Cyberears',
|
|
139
|
+
kind: 'cyberware',
|
|
140
|
+
essence: 0.3,
|
|
141
|
+
cost: 4000,
|
|
142
|
+
effect: '+1 die on perception (spatial recognizer, and a damper that saves your hearing)',
|
|
143
|
+
wakeLine: 'The room gains depth you never noticed: a fan two doors down, someone breathing above you.',
|
|
144
|
+
bonuses: { perception: 1 },
|
|
145
|
+
page: 'p.454', avail: 6, canonCost: 4500,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
key: 'ultrasound-sensor',
|
|
149
|
+
name: 'Ultrasound Sensor',
|
|
150
|
+
kind: 'cyberware',
|
|
151
|
+
essence: 0.25,
|
|
152
|
+
cost: 9000,
|
|
153
|
+
effect: '+2 dice on perception -- sound paints what smoke, darkness, and cover hide',
|
|
154
|
+
wakeLine: 'You close your eyes and the room is still there, drawn in echoes.',
|
|
155
|
+
bonuses: { perception: 2 },
|
|
156
|
+
page: 'p.453', avail: 10, canonCost: 24000,
|
|
157
|
+
},
|
|
158
|
+
// ---- Speed and strength (p.456, p.460) ----
|
|
159
|
+
{
|
|
160
|
+
key: 'reaction-enhancers-2',
|
|
161
|
+
name: 'Reaction Enhancers II',
|
|
162
|
+
kind: 'cyberware',
|
|
163
|
+
essence: 0.6,
|
|
164
|
+
cost: 9000,
|
|
165
|
+
effect: '+2 defense dice (nerve boosters that answer before you do)',
|
|
166
|
+
wakeLine: 'Someone tosses you a chip and your hand has it before your eyes find it.',
|
|
167
|
+
bonuses: { defense: 2 },
|
|
168
|
+
page: 'p.456', avail: 10, legality: 'R', canonCost: 26000,
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
key: 'muscle-augmentation-2',
|
|
172
|
+
name: 'Muscle Augmentation II',
|
|
173
|
+
kind: 'bioware',
|
|
174
|
+
essence: 0.4,
|
|
175
|
+
cost: 11000,
|
|
176
|
+
effect: '+1 die on meat-plane attacks, +2 on athletics (grown strength, not bolted-on)',
|
|
177
|
+
wakeLine: 'Your arms sit heavier on the table, and the table complains first.',
|
|
178
|
+
bonuses: { attack: 1, athletics: 2 },
|
|
179
|
+
page: 'p.460', avail: 10, legality: 'R', canonCost: 62000,
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
key: 'synthacardium-2',
|
|
183
|
+
name: 'Synthacardium II',
|
|
184
|
+
kind: 'bioware',
|
|
185
|
+
essence: 0.2,
|
|
186
|
+
cost: 8000,
|
|
187
|
+
effect: '+2 dice on athletics (a heart cultured for the long run)',
|
|
188
|
+
wakeLine: 'You take the clinic stairs two at a time and arrive without a breath out of place.',
|
|
189
|
+
bonuses: { athletics: 2 },
|
|
190
|
+
page: 'p.460', avail: 8, canonCost: 60000,
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
key: 'wired-reflexes-3',
|
|
194
|
+
name: 'Wired Reflexes III',
|
|
195
|
+
kind: 'cyberware',
|
|
196
|
+
essence: 5.0,
|
|
197
|
+
cost: 40000,
|
|
198
|
+
effect: '+3 initiative dice, +3 defense dice (supersedes the lower tiers -- and costs most of your soul)',
|
|
199
|
+
wakeLine: 'The world stops pretending to move. You have never been this fast, and never had this little of yourself left.',
|
|
200
|
+
bonuses: { initiative: 3, defense: 3 },
|
|
201
|
+
excludes: ['synaptic-booster'],
|
|
202
|
+
page: 'p.456', avail: 20, legality: 'R', canonCost: 217000,
|
|
203
|
+
},
|
|
204
|
+
// ---- Skin, bone, and blood (p.455, p.460) ----
|
|
205
|
+
{
|
|
206
|
+
key: 'bone-lacing-titanium',
|
|
207
|
+
name: 'Bone Lacing (Titanium)',
|
|
208
|
+
kind: 'cyberware',
|
|
209
|
+
essence: 1.5,
|
|
210
|
+
cost: 12000,
|
|
211
|
+
effect: '+3 unarmed damage, +2 soak (the expensive skeleton -- supersedes aluminum lacing)',
|
|
212
|
+
wakeLine: 'You are heavier by the weight of a small engine, and everything you touch knows it.',
|
|
213
|
+
bonuses: { soak: 2, 'unarmed-damage': 3 },
|
|
214
|
+
excludes: ['bone-lacing'],
|
|
215
|
+
page: 'p.455', avail: 16, legality: 'R', canonCost: 30000,
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
key: 'orthoskin-2',
|
|
219
|
+
name: 'Orthoskin II',
|
|
220
|
+
kind: 'bioware',
|
|
221
|
+
essence: 0.5,
|
|
222
|
+
cost: 6000,
|
|
223
|
+
effect: '+1 soak, and no plating shows in a scan (grown armor, worn under the skin)',
|
|
224
|
+
wakeLine: 'Your skin looks exactly the same. A knife would disagree.',
|
|
225
|
+
bonuses: { soak: 1 },
|
|
226
|
+
page: 'p.460', avail: 8, legality: 'R', canonCost: 12000,
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
key: 'platelet-factories',
|
|
230
|
+
name: 'Platelet Factories',
|
|
231
|
+
kind: 'bioware',
|
|
232
|
+
essence: 0.2,
|
|
233
|
+
cost: 7000,
|
|
234
|
+
effect: '+2 dice healing, +1 soak (wounds close while you are still standing in them)',
|
|
235
|
+
wakeLine: 'The surgical cut is already a pink line. Your blood has learned to be in a hurry.',
|
|
236
|
+
bonuses: { healing: 2, soak: 1 },
|
|
237
|
+
page: 'p.460', avail: 12, canonCost: 17000,
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
key: 'suprathyroid-gland',
|
|
241
|
+
name: 'Suprathyroid Gland',
|
|
242
|
+
kind: 'bioware',
|
|
243
|
+
essence: 0.7,
|
|
244
|
+
cost: 20000,
|
|
245
|
+
effect: '+1 attack, +1 soak, +2 athletics -- the whole body runs hot, and eats like it',
|
|
246
|
+
wakeLine: 'You wake ravenous and burning, a body idling at a speed it was never issued.',
|
|
247
|
+
bonuses: { attack: 1, soak: 1, athletics: 2 },
|
|
248
|
+
page: 'p.460', avail: 20, legality: 'R', canonCost: 140000,
|
|
249
|
+
},
|
|
250
|
+
// ---- Cultured bioware: the head (p.461) ----
|
|
251
|
+
{
|
|
252
|
+
key: 'cerebral-booster-2',
|
|
253
|
+
name: 'Cerebral Booster II',
|
|
254
|
+
kind: 'bioware',
|
|
255
|
+
essence: 0.4,
|
|
256
|
+
cost: 13000,
|
|
257
|
+
effect: '+2 dice on every Matrix pool (more brain, cultured to fit your skull)',
|
|
258
|
+
wakeLine: 'Thoughts arrive already finished. You catch yourself solving things you had not started.',
|
|
259
|
+
bonuses: { matrix: 2 },
|
|
260
|
+
page: 'p.461', avail: 12, canonCost: 63000,
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
key: 'damage-compensator-3',
|
|
264
|
+
name: 'Damage Compensator (Rating 3)',
|
|
265
|
+
kind: 'bioware',
|
|
266
|
+
essence: 0.3,
|
|
267
|
+
cost: 6000,
|
|
268
|
+
effect: 'ignore 3 boxes of damage when figuring wound modifiers (the pain arrives, the penalty does not)',
|
|
269
|
+
wakeLine: 'Cut-offs sit in your nerves now, filing the first three screams under "later".',
|
|
270
|
+
bonuses: { 'wound-ignore': 3 },
|
|
271
|
+
page: 'p.461', avail: 9, legality: 'F', canonCost: 6000,
|
|
272
|
+
},
|
|
273
|
+
// ---- The face (p.460) ----
|
|
274
|
+
{
|
|
275
|
+
key: 'tailored-pheromones-2',
|
|
276
|
+
name: 'Tailored Pheromones II',
|
|
277
|
+
kind: 'bioware',
|
|
278
|
+
essence: 0.4,
|
|
279
|
+
cost: 11000,
|
|
280
|
+
effect: '+2 dice on social work -- people like you and cannot say why',
|
|
281
|
+
wakeLine: 'Nothing about you looks different. The room warms to you anyway.',
|
|
282
|
+
bonuses: { social: 2 },
|
|
283
|
+
page: 'p.460', avail: 8, legality: 'R', canonCost: 62000,
|
|
284
|
+
},
|
|
113
285
|
];
|
|
114
286
|
export function getAug(key) {
|
|
115
287
|
return AUGMENTATIONS.find(a => a.key === key);
|
|
@@ -122,4 +294,53 @@ export function findAug(query) {
|
|
|
122
294
|
return (AUGMENTATIONS.find(a => a.key === q || a.name.toLowerCase() === q) ??
|
|
123
295
|
AUGMENTATIONS.find(a => a.name.toLowerCase().includes(q) || q.includes(a.name.toLowerCase())));
|
|
124
296
|
}
|
|
297
|
+
export const WARE_GRADES = [
|
|
298
|
+
{
|
|
299
|
+
grade: 'used', essenceMult: 1.25, costMult: 0.75, availMod: -4, streetLegal: true,
|
|
300
|
+
blurb: 'pulled from someone who stopped needing it -- cheap, and it takes more of you',
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
grade: 'standard', essenceMult: 1, costMult: 1, availMod: 0, streetLegal: true,
|
|
304
|
+
blurb: 'factory spec, off the shelf',
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
grade: 'alphaware', essenceMult: 0.8, costMult: 1.2, availMod: 2, streetLegal: true,
|
|
308
|
+
blurb: 'fitted to your tissue -- keeps a little more of you intact',
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
grade: 'betaware', essenceMult: 0.7, costMult: 1.5, availMod: 4, streetLegal: false,
|
|
312
|
+
blurb: 'clinic-grade work, and a clinic to match',
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
grade: 'deltaware', essenceMult: 0.5, costMult: 2.5, availMod: 8, streetLegal: false,
|
|
316
|
+
blurb: 'corp-lab chrome; half the toll, and they do not advertise',
|
|
317
|
+
},
|
|
318
|
+
];
|
|
319
|
+
export function getGrade(grade) {
|
|
320
|
+
if (!grade)
|
|
321
|
+
return undefined;
|
|
322
|
+
const q = grade.trim().toLowerCase();
|
|
323
|
+
return WARE_GRADES.find(g => g.grade === q)
|
|
324
|
+
?? WARE_GRADES.find(g => g.grade.startsWith(q) && q.length >= 4);
|
|
325
|
+
}
|
|
326
|
+
export const STANDARD_GRADE = WARE_GRADES.find(g => g.grade === 'standard');
|
|
327
|
+
/**
|
|
328
|
+
* A catalog entry priced at a grade. Essence keeps TWO decimals on
|
|
329
|
+
* purpose: at one decimal 0.1 x 0.8 rounds back to 0.1 and alphaware on
|
|
330
|
+
* cheap 'ware would buy literally nothing.
|
|
331
|
+
*/
|
|
332
|
+
export function gradedAug(aug, grade) {
|
|
333
|
+
if (grade.grade === 'standard')
|
|
334
|
+
return aug;
|
|
335
|
+
return {
|
|
336
|
+
...aug,
|
|
337
|
+
essence: Math.round(aug.essence * grade.essenceMult * 100) / 100,
|
|
338
|
+
cost: Math.ceil(aug.cost * grade.costMult),
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
/** Essence for humans: 6 reads "6.0", 5.92 reads "5.92". */
|
|
342
|
+
export function formatEssence(n) {
|
|
343
|
+
const two = n.toFixed(2);
|
|
344
|
+
return two.endsWith('0') ? n.toFixed(1) : two;
|
|
345
|
+
}
|
|
125
346
|
//# sourceMappingURL=augmentations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"augmentations.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/augmentations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"augmentations.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/augmentations.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,7 +100,7 @@ export class AskCommand extends Command {
|
|
|
100
100
|
// The two rolls (see header). Loyalty is the book's own bonus dice.
|
|
101
101
|
const network = rollPool(Math.max(1, contact.connection + target.intuition));
|
|
102
102
|
const negotiation = actor.skillRating('negotiation');
|
|
103
|
-
const ask = rollPool(Math.max(1, actor.charisma + (negotiation > 0 ? negotiation : -1) + contact.loyalty + actor.consumeLiquidCourage() + actor.woundModifier - actor.sustainingPenalty));
|
|
103
|
+
const ask = rollPool(Math.max(1, actor.charisma + (negotiation > 0 ? negotiation : -1) + contact.loyalty + actor.consumeLiquidCourage() + actor.augBonus('social') + actor.woundModifier - actor.sustainingPenalty));
|
|
104
104
|
const tier = Math.min(network.hits, ask.hits);
|
|
105
105
|
const facts = this.buildIntel(topic, tier);
|
|
106
106
|
this.actor.performAction('quietly asks', `${target.name} about ${topic}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/ask.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/ask.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export class BluffCommand extends BypassCommand {
|
|
|
37
37
|
// Public Awareness cuts AGAINST a con -- a face people can place is
|
|
38
38
|
// a face that can't claim to be someone else (capped at -2).
|
|
39
39
|
const fame = Math.min(2, this.actor.publicAwareness);
|
|
40
|
-
const pool = Math.max(1, this.actor.charisma + (skill > 0 ? skill : -1) + this.actor.consumeLiquidCourage() + this.actor.consumeFirstImpression() - fame + this.actor.woundModifier - this.actor.sustainingPenalty);
|
|
40
|
+
const pool = Math.max(1, this.actor.charisma + (skill > 0 ? skill : -1) + this.actor.consumeLiquidCourage() + this.actor.consumeFirstImpression() + this.actor.augBonus('social') - fame + this.actor.woundModifier - this.actor.sustainingPenalty);
|
|
41
41
|
const roll = rollPool(pool);
|
|
42
42
|
if (this.scene.isHumanControlled(this.actor)) {
|
|
43
43
|
this.logger.meta(`Con: ${formatRoll(roll)} (2+ to sell it)`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bluff.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/bluff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,OAAO,YAAa,SAAQ,aAAa;IACnC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,MAAM,CAAC,WAAW,GAAG,+LAA+L,CAAC;IACrN,UAAU,GAAqB,KAAK,CAAC;IACrC,QAAQ,GAAG,OAAO,CAAC;IACnB,eAAe,GAAG,oCAAoC,CAAC;IAEjE,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,qEAAqE;QACrE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,uGAAuG,CAAC;QACjH,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,qFAAqF,CAAC;QAC/F,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,6GAA6G,CAAC;QACvH,CAAC;QACD,sEAAsE;QACtE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,gBAAgB;QAC9B,qEAAqE;QACrE,kEAAkE;QAClE,WAAW;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,uEAAuE;QACvE,oEAAoE;QACpE,6DAA6D;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"bluff.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/bluff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,OAAO,YAAa,SAAQ,aAAa;IACnC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,MAAM,CAAC,WAAW,GAAG,+LAA+L,CAAC;IACrN,UAAU,GAAqB,KAAK,CAAC;IACrC,QAAQ,GAAG,OAAO,CAAC;IACnB,eAAe,GAAG,oCAAoC,CAAC;IAEjE,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,qEAAqE;QACrE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,uGAAuG,CAAC;QACjH,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,qFAAqF,CAAC;QAC/F,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,6GAA6G,CAAC;QACvH,CAAC;QACD,sEAAsE;QACtE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,gBAAgB;QAC9B,qEAAqE;QACrE,kEAAkE;QAClE,WAAW;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,uEAAuE;QACvE,oEAAoE;QACpE,6DAA6D;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACpP,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IACxB,CAAC"}
|
|
@@ -12,5 +12,9 @@ export declare class BuyCommand extends Command implements ICommand {
|
|
|
12
12
|
protected static description: string;
|
|
13
13
|
execute(args?: string[]): Promise<string>;
|
|
14
14
|
private browse;
|
|
15
|
+
/** Is what they asked for inside a present contact's TRADE (the same
|
|
16
|
+
* domain list their AI is briefed on in npc.ts)? Returns the item
|
|
17
|
+
* and who can order it, so the refusal can name both. */
|
|
18
|
+
private orderableFrom;
|
|
15
19
|
private purchase;
|
|
16
20
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command } from './command.js';
|
|
2
2
|
import { hint } from '../utilities/hints.js';
|
|
3
3
|
import { priceOf, vendorsInRoom, waresOf, shelfNote } from '../utilities/commerce.js';
|
|
4
|
+
import { findCatalogItem, ROLE_DOMAINS } from '../utilities/catalog.js';
|
|
4
5
|
/**
|
|
5
6
|
* Diegetic shopping: "browse" (or bare "buy") in a vendor's room reads
|
|
6
7
|
* their shelves with live prices; "buy <item>" slides the nuyen across
|
|
@@ -46,11 +47,45 @@ export class BuyCommand extends Command {
|
|
|
46
47
|
this.logger.write(`BuyCommand: ${this.actor.name} browsed in ${room.name}.`);
|
|
47
48
|
return lines.join('\n');
|
|
48
49
|
}
|
|
50
|
+
/** Is what they asked for inside a present contact's TRADE (the same
|
|
51
|
+
* domain list their AI is briefed on in npc.ts)? Returns the item
|
|
52
|
+
* and who can order it, so the refusal can name both. */
|
|
53
|
+
orderableFrom(wanted, vendors) {
|
|
54
|
+
const listed = findCatalogItem(wanted);
|
|
55
|
+
if (!listed)
|
|
56
|
+
return undefined;
|
|
57
|
+
// Anyone in the room with a trade counts -- vendors first (they're
|
|
58
|
+
// already at the counter), then any other contact standing here.
|
|
59
|
+
const candidates = [
|
|
60
|
+
...vendors,
|
|
61
|
+
...this.scene.getActorsInRoom(this.actor.currentLocation).filter(a => a !== this.actor),
|
|
62
|
+
];
|
|
63
|
+
for (const who of candidates) {
|
|
64
|
+
const role = this.game?.contacts.get(who.name)?.role;
|
|
65
|
+
const domains = role ? ROLE_DOMAINS[role] : undefined;
|
|
66
|
+
if (domains?.includes(listed.category))
|
|
67
|
+
return { item: listed, from: who.name };
|
|
68
|
+
}
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
49
71
|
purchase(wanted, vendors) {
|
|
50
72
|
const actor = this.actor;
|
|
51
73
|
const room = actor.currentLocation;
|
|
52
74
|
const item = room.inventory.getItem(wanted) ?? undefined;
|
|
53
75
|
if (!item) {
|
|
76
|
+
// NOT ON THE SHELF IS NOT THE SAME AS NOT AVAILABLE (playtest
|
|
77
|
+
// 2026-08-25). Ratchet quoted a Meta Link at its exact list price
|
|
78
|
+
// off his own trade catalog -- entirely correct, that IS his
|
|
79
|
+
// trade -- and "buy metalink" answered with a flat "not here".
|
|
80
|
+
// The runner had a price, a willing contact in the room, and no
|
|
81
|
+
// path. Shelf stock is bought; a contact's trade is ORDERED, and
|
|
82
|
+
// the refusal has to say which of the two this is. Actionable, so
|
|
83
|
+
// never behind the hints toggle.
|
|
84
|
+
const orderable = this.orderableFrom(wanted, vendors);
|
|
85
|
+
if (orderable) {
|
|
86
|
+
return `The ${orderable.item.name} isn't on the shelf -- that's ${orderable.from}'s network, not their counter.`
|
|
87
|
+
+ ` Put the order through: "source ${orderable.item.name.toLowerCase()} from ${orderable.from}".`;
|
|
88
|
+
}
|
|
54
89
|
return `No "${wanted}" on any shelf here. "browse" to see what's actually for sale.`;
|
|
55
90
|
}
|
|
56
91
|
const vendor = vendors.find(v => v.name === item.owner);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buy.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/buy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"buy.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/buy.ts"],"names":[],"mappings":"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"}
|
|
@@ -175,7 +175,16 @@ export class CallCommand extends Command {
|
|
|
175
175
|
if (target === this.actor) {
|
|
176
176
|
return "You can't call yourself.";
|
|
177
177
|
}
|
|
178
|
-
|
|
178
|
+
// YOUR OWN CREW RIDE THE BOND, NOT THE GRID (player note 2026-08-25:
|
|
179
|
+
// "I should be able to call Fetch and Grifter"). A companion is
|
|
180
|
+
// already wired to you -- the deck telemetry, the rigger feed, the
|
|
181
|
+
// summoning link, the crew channel is what every "[link]" line comes
|
|
182
|
+
// down. Demanding they carry a commlink on top of that was the
|
|
183
|
+
// wrong question, and it refused outright: hired crew spawn without
|
|
184
|
+
// one, so calling the runner you're paying failed while calling a
|
|
185
|
+
// stranger in a bar worked.
|
|
186
|
+
const onTheBond = !!this.game?.companions?.some(c => c.npc === target);
|
|
187
|
+
if (!onTheBond && !this.hasCommlink(target)) {
|
|
179
188
|
return `You don't get through -- ${target.name} doesn't seem to have a commlink.`;
|
|
180
189
|
}
|
|
181
190
|
if (target.runningSilent) {
|
|
@@ -411,7 +420,28 @@ export class CallCommand extends Command {
|
|
|
411
420
|
}
|
|
412
421
|
catch (err) {
|
|
413
422
|
const e = err;
|
|
414
|
-
|
|
423
|
+
// The party line is a LIVE-PLAYER fan-out (sideQuest.partyPage);
|
|
424
|
+
// hired NPC crew aren't riders on it, so a full table of them
|
|
425
|
+
// still comes back empty. Saying "fill a seat first" to someone
|
|
426
|
+
// who just hired two runners is simply wrong -- name who's
|
|
427
|
+
// actually on the bond and how to reach them (player note
|
|
428
|
+
// 2026-08-25).
|
|
429
|
+
const onBond = (this.game?.companions ?? [])
|
|
430
|
+
.filter(c => c.kind === 'ally' && !c.npc.isIncapacitated())
|
|
431
|
+
.map(c => c.npc.name);
|
|
432
|
+
// The cure is NOT a hint. It was one, and with hints off this
|
|
433
|
+
// refusal became a flat dead end -- the player hit it twice in a
|
|
434
|
+
// row and wrote "I still can't call my crew, how am I supposed to
|
|
435
|
+
// talk to them in other rooms" while `call Jax` would have worked
|
|
436
|
+
// the whole time. hints.ts's own rule: actionable refusals name
|
|
437
|
+
// the way out and stay on always.
|
|
438
|
+
if (onBond.length > 0) {
|
|
439
|
+
return `No other runners are on the party line -- that's for live players.`
|
|
440
|
+
+ ` Your own crew ride your bond instead: ${onBond.join(', ')}.`
|
|
441
|
+
+ ` "call ${onBond[0]}" raises them directly, wherever they are.`;
|
|
442
|
+
}
|
|
443
|
+
return `The party line is dead air (${e.reason ?? e.message ?? 'no answer'}).`
|
|
444
|
+
+ ` "crew" shows your table -- fill a seat first.`;
|
|
415
445
|
}
|
|
416
446
|
}
|
|
417
447
|
/** Open the crew channel to a street player -- the SAME mechanic as
|