@maka/maka-cli 5.167.0 → 5.170.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/archetypes.js +238 -146
- package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js +27 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/climb.js +21 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +7 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +54 -11
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +381 -255
- package/bundle/typescript/src/commands/game/sideQuest/game.js +10 -0
- package/bundle/typescript/src/commands/game/sideQuest/headless.js +8 -4
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +7 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js +34 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/climb-state.js +51 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-intrusion.js +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/npc-combat-brain.js +10 -6
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js +41 -10
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +31 -0
- package/package.json +1 -1
|
@@ -5,53 +5,95 @@ import { augFor } from './utilities/catalog.js';
|
|
|
5
5
|
import { creationSplit, getQuality, qualityKarma, CREATION_KARMA, KARMA_CARRYOVER_MAX, KARMA_TO_NUYEN_MAX, KARMA_NUYEN_RATE, HELD_NUYEN_MAX } from './qualities.js';
|
|
6
6
|
import { catalogGearDef, catalogRowFor } from './utilities/catalog.js';
|
|
7
7
|
export const ARCHETYPES = [
|
|
8
|
+
// EVERY SPREAD BELOW IS A COMPLETE PRIORITY BUILD (user, 2026-09-11:
|
|
9
|
+
// "when a user chooses a premade archetype, they shouldn't need to
|
|
10
|
+
// figure out what's wrong with it -- it should just work"). Read each
|
|
11
|
+
// against its row on SR5 p.65: attribute points spent exactly, the
|
|
12
|
+
// skills column's individual points AND group points spent exactly
|
|
13
|
+
// (skillGroups), the metatype column's special points spent exactly
|
|
14
|
+
// (Edge above 2, Magic/Resonance above the Magic column's offer), the
|
|
15
|
+
// kit within Resources plus converted karma with no more than the
|
|
16
|
+
// 5,000 a runner may hold left over (p.94), essence above zero, and
|
|
17
|
+
// nothing the site's validator refuses. archetype-priorities.test.ts
|
|
18
|
+
// pins the arithmetic; maka-cli.com's chargen-archetypes suite runs the
|
|
19
|
+
// real validator over every one. Human special points: A 9, B 7, C 5,
|
|
20
|
+
// D 3, E 1. Attribute points: A 24, B 20, C 16. Skills: A 46/10,
|
|
21
|
+
// B 36/5, C 28/2, E 18/0.
|
|
8
22
|
{
|
|
9
|
-
//
|
|
10
|
-
//
|
|
23
|
+
// The generalist. Metatype C's five special points have exactly one
|
|
24
|
+
// home on a mundane human, and it is Edge 7 (p.65-66: unspent
|
|
25
|
+
// special points are lost).
|
|
11
26
|
name: 'Runner',
|
|
12
27
|
priorities: { metatype: 'C', attributes: 'A', magic: 'E', skills: 'B', resources: 'D' },
|
|
13
28
|
description: 'The balanced default: decent at everything, spectacular at nothing.',
|
|
14
|
-
combat: { body: 4, agility: 4, reaction: 4, combatSkill: 3, strength: 4, willpower: 4, logic: 4, intuition: 4, charisma: 4, edge:
|
|
15
|
-
|
|
29
|
+
combat: { body: 4, agility: 4, reaction: 4, combatSkill: 3, strength: 4, willpower: 4, logic: 4, intuition: 4, charisma: 4, edge: 7, magic: 0,
|
|
30
|
+
// Firearms 3 and Athletics 2 are the B column's five group points;
|
|
31
|
+
// the 36 individual points buy the rest.
|
|
32
|
+
skills: { automatics: 3, pistols: 3, longarms: 3, gymnastics: 2, running: 2, swimming: 2, blades: 3, unarmed: 4, sneaking: 4, perception: 5, hacking: 2, locksmith: 3, negotiation: 4, con: 2, etiquette: 2, 'first-aid': 3, intimidation: 2, computer: 2 } },
|
|
33
|
+
skillGroups: { firearms: 3, athletics: 2 },
|
|
16
34
|
// Nothing owed and nothing exotic -- the generalist spends the ledger
|
|
17
|
-
// on noticing things and shrugging off wounds.
|
|
35
|
+
// on noticing things and shrugging off wounds. Ledger 25 - 8 = 17 ->
|
|
36
|
+
// 7 karma + 20,000 nuyen; Resources D 50,000 + 20,000 = 70,000.
|
|
18
37
|
qualities: ['perceptive', 'quick-healer'],
|
|
38
|
+
// The Synaptic Booster IS the reflex 'ware: Reaction Enhancers cannot
|
|
39
|
+
// sit beside it (p.455: "incompatible with all other enhancements to
|
|
40
|
+
// Reaction"; p.461), and the pair shipped together until 2026-09-11.
|
|
41
|
+
// A Synthacardium takes the vacated slot -- the generalist runs.
|
|
19
42
|
augs: [
|
|
20
|
-
'datajack', 'smartlink', '
|
|
43
|
+
'datajack', 'smartlink', 'synaptic-booster', 'synthacardium-1',
|
|
21
44
|
'bone-lacing', 'orthoskin-2', 'cyberears'
|
|
22
45
|
],
|
|
23
46
|
gearSlugs: [
|
|
24
47
|
'ares-predator-v', 'quick-draw-holster', 'spare-clip', 'regular-ammo',
|
|
25
|
-
'gel-rounds', 'defiance-t-250', 'ares-alpha', 'apds', 'armor-jacket', '
|
|
26
|
-
'erika-elite', 'fake-sin-4', 'fake-license-4', 'medkit-
|
|
27
|
-
'stim-patch', 'ear-buds', 'glasses', 'microtransceiver', 'lockpick-set',
|
|
48
|
+
'gel-rounds', 'defiance-t-250', 'ares-alpha', 'apds', 'armor-jacket', 'armored-pants',
|
|
49
|
+
'combat-boots', 'helmet', 'erika-elite', 'fake-sin-4', 'fake-license-4', 'medkit-6',
|
|
50
|
+
'trauma-patch', 'stim-patch', 'ear-buds', 'glasses', 'microtransceiver', 'lockpick-set',
|
|
28
51
|
'tool-kit', 'climbing-gear', 'stealth-rope', 'survival-kit',
|
|
29
52
|
'respirator-4', 'smoke-grenade', 'flash-bang', 'tag-eraser',
|
|
30
53
|
'white-noise-generator', 'mapsoft', 'credstick-silver'
|
|
31
54
|
],
|
|
32
55
|
},
|
|
33
56
|
{
|
|
57
|
+
// RE-LETTERED 2026-09-11 (user ruling): Metatype D and Resources C.
|
|
58
|
+
// At Metatype C a mundane human's only use for five special points
|
|
59
|
+
// was Edge 7; at D the three go to Edge 5 and the C buys the chrome
|
|
60
|
+
// and the arsenal a samurai is actually made of -- 140,000 against
|
|
61
|
+
// the 50,000 that used to stop at Wired Reflexes 1.
|
|
34
62
|
name: 'Street Samurai',
|
|
35
|
-
priorities: { metatype: '
|
|
63
|
+
priorities: { metatype: 'D', attributes: 'B', magic: 'E', skills: 'A', resources: 'C' },
|
|
36
64
|
description: 'Chrome and trigger discipline. Hits hard, soaks harder, thinks later.',
|
|
37
|
-
combat: { body: 5, agility: 5, reaction: 4, combatSkill: 5, strength: 4, willpower: 3, logic: 2, intuition: 3, charisma: 2, edge:
|
|
38
|
-
|
|
65
|
+
combat: { body: 5, agility: 5, reaction: 4, combatSkill: 5, strength: 4, willpower: 3, logic: 2, intuition: 3, charisma: 2, edge: 5, magic: 0,
|
|
66
|
+
// Firearms 6 and Close Combat 4 are the A column's ten group
|
|
67
|
+
// points; 46 individual points buy the rest.
|
|
68
|
+
skills: { automatics: 6, pistols: 6, longarms: 6, blades: 4, unarmed: 4, clubs: 4, gymnastics: 5, running: 4, swimming: 3, perception: 5, intimidation: 5, sneaking: 4, 'first-aid': 3, 'heavy-weapons': 4, 'throwing-weapons': 3, locksmith: 2, etiquette: 2, negotiation: 2, con: 2, computer: 2 } },
|
|
69
|
+
skillGroups: { firearms: 6, 'close-combat': 4 },
|
|
39
70
|
// Built to take a beating; the record says the beatings went both
|
|
40
|
-
// ways. Ledger 25 -
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
//
|
|
71
|
+
// ways. Ledger 25 - 26 + 10 = 9 -> 7 karma + 4,000 nuyen; Resources
|
|
72
|
+
// C 140,000 + 4,000 = 144,000.
|
|
73
|
+
qualities: ['toughness', 'high-pain-tolerance', 'quick-healer', 'natural-athlete', 'sinner-criminal'],
|
|
74
|
+
// Wired Reflexes 2 (3 essence) is the spine of the build; everything
|
|
75
|
+
// else is priced against the half-point of essence it leaves. Dermal
|
|
76
|
+
// plating went -- with WR2 it would have taken the last of the meat.
|
|
44
77
|
augs: [
|
|
45
|
-
'wired-reflexes-
|
|
46
|
-
'
|
|
78
|
+
'wired-reflexes-2', 'smartlink', 'bone-lacing', 'platelet-factories',
|
|
79
|
+
'cybereyes', 'vision-enhancement-2', 'muscle-toner-2', 'synthacardium-1'
|
|
47
80
|
],
|
|
48
81
|
gearSlugs: [
|
|
49
|
-
'ares-predator-v', 'quick-draw-holster', '
|
|
50
|
-
'
|
|
51
|
-
'
|
|
52
|
-
'
|
|
53
|
-
'
|
|
54
|
-
'
|
|
82
|
+
'ares-predator-v', 'quick-draw-holster', 'ares-alpha', 'ares-desert-strike',
|
|
83
|
+
'katana', 'combat-knife', 'monofilament-whip',
|
|
84
|
+
'spare-clip', 'spare-clip', 'spare-clip', 'spare-clip',
|
|
85
|
+
'regular-ammo', 'regular-ammo', 'regular-ammo', 'apds', 'apds', 'apds',
|
|
86
|
+
'explosive-rounds', 'explosive-rounds', 'gel-rounds',
|
|
87
|
+
'frag-grenade', 'frag-grenade', 'frag-grenade', 'he-grenade', 'he-grenade',
|
|
88
|
+
'smoke-grenade', 'smoke-grenade', 'flash-bang', 'flash-bang',
|
|
89
|
+
'lined-coat', 'armored-pants', 'combat-boots', 'full-helmet', 'forearm-guards',
|
|
90
|
+
'transys-avalon', 'agent-rating-4', 'fake-sin-4', 'fake-license-4',
|
|
91
|
+
'maglock-passkey-4', 'cellular-glove-molder-2', 'microtransceiver',
|
|
92
|
+
'white-noise-generator', 'ear-buds', 'glasses', 'goggles',
|
|
93
|
+
'thermographic-vision-mod', 'low-light-vision-mod', 'binoculars', 'laser-sight',
|
|
94
|
+
'survival-kit', 'medkit-6', 'trauma-patch', 'trauma-patch', 'trauma-patch',
|
|
95
|
+
'stim-patch', 'stim-patch', 'stim-patch', 'antidote-patch-4',
|
|
96
|
+
'sensor-array-4', 'mct-gun-turret', 'credstick-silver'
|
|
55
97
|
],
|
|
56
98
|
},
|
|
57
99
|
{
|
|
@@ -61,53 +103,62 @@ export const ARCHETYPES = [
|
|
|
61
103
|
name: 'Adept',
|
|
62
104
|
priorities: { metatype: 'D', attributes: 'B', magic: 'C', skills: 'A', resources: 'E' },
|
|
63
105
|
description: 'Magic as muscle: faster than chrome, no spells, no projection -- the body IS the focus.',
|
|
64
|
-
//
|
|
65
|
-
// (
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
skills: { blades: 6, unarmed:
|
|
106
|
+
// Magic C offers an adept 4; Metatype D's three special points buy
|
|
107
|
+
// Magic 6 (two) and Edge 3 (one). Magic 6 = 6 Power Points (p.308),
|
|
108
|
+
// spent to the last half-point: Improved Reflexes 2 (2.5) + Improved
|
|
109
|
+
// Ability (Combat) 2 (1.0) + Killing Hands (0.5) + Combat Sense 2
|
|
110
|
+
// (1.0) + Mystic Armor 2 (1.0).
|
|
111
|
+
combat: { body: 4, agility: 4, reaction: 4, combatSkill: 4, strength: 4, willpower: 4, logic: 2, intuition: 3, charisma: 3, edge: 3, magic: 6, adept: true,
|
|
112
|
+
adeptPowers: { 'improved-reflexes': 2, 'improved-ability-combat': 2, 'killing-hands': 1, 'combat-sense': 2, 'mystic-armor': 2 },
|
|
113
|
+
// Close Combat 6 and Athletics 4 are the ten group points.
|
|
114
|
+
skills: { blades: 6, unarmed: 6, clubs: 6, gymnastics: 4, running: 4, swimming: 4, sneaking: 6, perception: 5, assensing: 4, intimidation: 3, automatics: 3, pistols: 4, longarms: 2, 'throwing-weapons': 4, archery: 3, 'free-fall': 2, palming: 2, disguise: 2, tracking: 2, survival: 2, 'first-aid': 2 } },
|
|
115
|
+
skillGroups: { 'close-combat': 6, athletics: 4 },
|
|
73
116
|
// The body IS the focus -- and it rejects the sim the way it rejects
|
|
74
|
-
// chrome. Ledger 25 - 14 + 5 = 16 -> 7 karma + 18,000 nuyen
|
|
117
|
+
// chrome. Ledger 25 - 14 + 5 = 16 -> 7 karma + 18,000 nuyen;
|
|
118
|
+
// Resources E 6,000 + 18,000 = 24,000.
|
|
75
119
|
qualities: ['catlike', 'natural-athlete', 'simsense-vertigo'],
|
|
76
120
|
// The katana is the p.423 row (Acc 7, STR+3, AP -3); the bonded weapon
|
|
77
|
-
// focus rides beside it as the Force 1 row.
|
|
121
|
+
// focus rides beside it as the Force 1 row. Knives to throw and a
|
|
122
|
+
// crossbow for the skills the spread now carries.
|
|
78
123
|
gearSlugs: [
|
|
79
|
-
'katana', 'weapon-focus-1', 'qi-focus-1', 'combat-knife', '
|
|
80
|
-
'
|
|
81
|
-
'stim-patch', 'ear-buds', 'glasses', 'climbing-gear',
|
|
82
|
-
'gecko-tape-gloves', 'survival-kit', 'credstick-silver'
|
|
124
|
+
'katana', 'weapon-focus-1', 'qi-focus-1', 'combat-knife', 'throwing-knives',
|
|
125
|
+
'medium-crossbow', 'armor-jacket', 'combat-boots', 'fake-sin-2', 'meta-link',
|
|
126
|
+
'medkit-3', 'trauma-patch', 'stim-patch', 'ear-buds', 'glasses', 'climbing-gear',
|
|
127
|
+
'stealth-rope', 'gecko-tape-gloves', 'survival-kit', 'credstick-silver'
|
|
83
128
|
],
|
|
84
129
|
},
|
|
85
130
|
{
|
|
86
|
-
// THE MYSTIC ADEPT (
|
|
87
|
-
//
|
|
88
|
-
//
|
|
89
|
-
//
|
|
90
|
-
//
|
|
91
|
-
// with the adept.
|
|
131
|
+
// THE MYSTIC ADEPT (SR5 p.69-70): full Magic off the column, never
|
|
132
|
+
// split -- it prices the spellbook AND caps the Power Points, which
|
|
133
|
+
// are BOUGHT from the creation ledger at 5 karma each. Casts and
|
|
134
|
+
// summons like a mage, carries bought powers in the body, and NEVER
|
|
135
|
+
// astrally projects -- the one place the path sides with the adept.
|
|
92
136
|
name: 'Mystic Adept',
|
|
93
137
|
priorities: { metatype: 'D', attributes: 'C', magic: 'A', skills: 'B', resources: 'E' },
|
|
94
138
|
description: 'Spell in one hand, killing hands on the other -- both worlds, and the astral door stays shut.',
|
|
95
|
-
//
|
|
96
|
-
//
|
|
97
|
-
//
|
|
98
|
-
//
|
|
99
|
-
//
|
|
100
|
-
//
|
|
101
|
-
|
|
139
|
+
// Magic A offers 6, so Metatype D's three special points are Edge 5.
|
|
140
|
+
// Ledger: 25 - 8 (Focused Concentration 2) - 5 (mentor) - 10 (2 Power
|
|
141
|
+
// Points) + 10 (Astral Beacon) = 12 -> 7 karma + 10,000 nuyen;
|
|
142
|
+
// Resources E 6,000 + 10,000 = 16,000. The beacon is the price of
|
|
143
|
+
// burning on both planes: an astral signature that reads bright and
|
|
144
|
+
// lingers. Powers: Improved Reflexes 1 (1.5) + Killing Hands (0.5) =
|
|
145
|
+
// 2.0 -- the bought points, spent whole. Spells: Magic 6 allows 12;
|
|
146
|
+
// eight chosen, breadth over artillery.
|
|
147
|
+
combat: { body: 3, agility: 3, reaction: 3, combatSkill: 3, strength: 2, willpower: 4, logic: 3, intuition: 4, charisma: 2, edge: 5, magic: 6, adept: false, powerPoints: 2,
|
|
102
148
|
knownSpells: ['manabolt', 'stunbolt', 'fireball', 'heal', 'armor', 'invisibility', 'reflexes', 'barrier'],
|
|
103
149
|
adeptPowers: { 'improved-reflexes': 1, 'killing-hands': 1 },
|
|
104
|
-
|
|
150
|
+
// Sorcery 5 is the B column's five group points.
|
|
151
|
+
skills: { spellcasting: 5, counterspelling: 5, 'ritual-spellcasting': 5, assensing: 4, unarmed: 5, blades: 3, gymnastics: 3, running: 3, swimming: 2, perception: 4, sneaking: 4, pistols: 2, conjuring: 3, 'first-aid': 2, etiquette: 1 } },
|
|
152
|
+
skillGroups: { sorcery: 5 },
|
|
105
153
|
qualities: ['focused-concentration', 'mentor-spirit', 'astral-beacon'],
|
|
106
154
|
// Rating 2 (p.74, 4 karma a rating): a Force 2 working held free.
|
|
107
|
-
// The ledger above priced rating 1; each rating past it is 4 more.
|
|
108
155
|
qualityRatings: { 'focused-concentration': 2 },
|
|
156
|
+
// A qi focus (the adept half) and a spell focus (the mage half)
|
|
157
|
+
// where an 18,000 power focus used to sit -- that one alone was more
|
|
158
|
+
// than the whole Resources column.
|
|
109
159
|
gearSlugs: [
|
|
110
|
-
'
|
|
160
|
+
'qi-focus-1', 'spell-focus-1', 'reagents', 'sword', 'ares-light-fire-70', 'spare-clip',
|
|
161
|
+
'regular-ammo', 'armor-jacket', 'combat-boots', 'meta-link',
|
|
111
162
|
'medkit-3', 'trauma-patch', 'stim-patch', 'ear-buds', 'glasses',
|
|
112
163
|
'survival-kit', 'credstick-silver'
|
|
113
164
|
],
|
|
@@ -116,11 +167,14 @@ export const ARCHETYPES = [
|
|
|
116
167
|
name: 'Covert Ops',
|
|
117
168
|
priorities: { metatype: 'C', attributes: 'B', magic: 'E', skills: 'A', resources: 'D' },
|
|
118
169
|
description: 'In through the vents, out before the alarm. Locks are suggestions.',
|
|
119
|
-
|
|
120
|
-
|
|
170
|
+
// Metatype C's five special points: Edge 7.
|
|
171
|
+
combat: { body: 3, agility: 5, reaction: 4, combatSkill: 3, strength: 3, willpower: 2, logic: 3, intuition: 5, charisma: 3, edge: 7, magic: 0,
|
|
172
|
+
// Stealth 6 and Athletics 4 are the ten group points.
|
|
173
|
+
skills: { sneaking: 6, disguise: 6, palming: 6, gymnastics: 4, running: 4, swimming: 4, locksmith: 6, perception: 6, automatics: 3, pistols: 5, longarms: 3, unarmed: 4, con: 4, hacking: 4, 'escape-artist': 4, 'electronic-warfare': 2, hardware: 2, 'free-fall': 2, tracking: 1 } },
|
|
174
|
+
skillGroups: { stealth: 6, athletics: 4 },
|
|
121
175
|
// Quiet, charmed, and never quite off duty -- the paranoia that keeps
|
|
122
|
-
// you alive doesn't sleep either. Ledger 25 -
|
|
123
|
-
// +
|
|
176
|
+
// you alive doesn't sleep either. Ledger 25 - 24 + 15 = 16 -> 7 karma
|
|
177
|
+
// + 18,000 nuyen; Resources D 50,000 + 18,000 = 68,000.
|
|
124
178
|
qualities: ['catlike', 'lucky', 'innocuous', 'sinner-national', 'insomnia'],
|
|
125
179
|
// The picks, and a Sequencer that now rolls its rating against the
|
|
126
180
|
// lock's (pick.ts). "Locks are suggestions" has teeth.
|
|
@@ -143,15 +197,17 @@ export const ARCHETYPES = [
|
|
|
143
197
|
name: 'Face',
|
|
144
198
|
priorities: { metatype: 'C', attributes: 'B', magic: 'E', skills: 'A', resources: 'D' },
|
|
145
199
|
description: 'Talks the job open before anyone draws. Charm, luck, and just enough gun.',
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
//
|
|
150
|
-
//
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
//
|
|
200
|
+
// Metatype C's five special points: Edge 7 -- the description says
|
|
201
|
+
// LUCK, and now the sheet does too.
|
|
202
|
+
combat: { body: 3, agility: 3, reaction: 3, combatSkill: 3, strength: 2, willpower: 4, logic: 3, intuition: 4, charisma: 6, edge: 7, magic: 0,
|
|
203
|
+
// Influence 6 and Acting 4 are the ten group points: the Face
|
|
204
|
+
// blends SOCIALLY (p.138, etiquette as "a social version of Sneak")
|
|
205
|
+
// and DIRECTS the table (leadership, p.141).
|
|
206
|
+
skills: { etiquette: 6, negotiation: 6, leadership: 6, con: 4, impersonation: 4, performance: 4, perception: 5, automatics: 3, pistols: 5, longarms: 3, unarmed: 3, intimidation: 4, sneaking: 3, disguise: 3, palming: 2, computer: 3, hacking: 2, 'first-aid': 2, gymnastics: 2, running: 2, locksmith: 2, instruction: 2 } },
|
|
207
|
+
skillGroups: { influence: 6, acting: 4 },
|
|
208
|
+
// The tailored look that opens doors is exactly what witnesses
|
|
209
|
+
// describe to Knight Errant. Ledger 25 - 23 + 10 = 12 -> 7 karma +
|
|
210
|
+
// 10,000 nuyen; Resources D 50,000 + 10,000 = 60,000.
|
|
155
211
|
qualities: ['first-impression', 'lucky', 'distinctive-style', 'sinner-national'],
|
|
156
212
|
// The book's Face (p.119): the Avalon, Actioneer Business Clothes
|
|
157
213
|
// (Armor 8), and a Shopsoft on the link for the haggle.
|
|
@@ -169,14 +225,22 @@ export const ARCHETYPES = [
|
|
|
169
225
|
],
|
|
170
226
|
},
|
|
171
227
|
{
|
|
228
|
+
// RE-LETTERED 2026-09-11: Metatype C, Skills B. At Metatype B a
|
|
229
|
+
// mundane human holds seven special points and Edge tops out at 7 --
|
|
230
|
+
// two points could never be spent at all. The C's five are Edge 7,
|
|
231
|
+
// and the B on Skills is where a doctor's training goes.
|
|
172
232
|
name: 'Street Doc',
|
|
173
|
-
priorities: { metatype: '
|
|
233
|
+
priorities: { metatype: 'C', attributes: 'A', magic: 'E', skills: 'B', resources: 'D' },
|
|
174
234
|
description: 'Keeps the team breathing: brains, steady hands, and a bag full of trauma kits.',
|
|
175
|
-
combat: { body: 4, agility: 4, reaction: 4, combatSkill: 2, strength: 3, willpower: 4, logic: 6, intuition: 4, charisma: 3, edge:
|
|
176
|
-
|
|
235
|
+
combat: { body: 4, agility: 4, reaction: 4, combatSkill: 2, strength: 3, willpower: 4, logic: 6, intuition: 4, charisma: 3, edge: 7, magic: 0,
|
|
236
|
+
// Biotech 5 is the B column's five group points -- first aid,
|
|
237
|
+
// medicine and cybertechnology, the whole clinic.
|
|
238
|
+
skills: { cybertechnology: 5, 'first-aid': 5, medicine: 5, perception: 5, negotiation: 4, automatics: 2, pistols: 4, longarms: 2, unarmed: 3, hacking: 2, con: 2, computer: 3, etiquette: 3, hardware: 2, software: 2, running: 2 } },
|
|
239
|
+
skillGroups: { biotech: 5 },
|
|
177
240
|
// Brilliant hands that freeze when the shooting starts -- which is
|
|
178
241
|
// why they became the one who patches, not the one who charges.
|
|
179
|
-
// Ledger 25 -
|
|
242
|
+
// Ledger 25 - 22 + 12 = 15 -> 7 karma + 16,000 nuyen; Resources D
|
|
243
|
+
// 50,000 + 16,000 = 66,000.
|
|
180
244
|
qualities: ['quick-healer', 'analytical-mind', 'photographic-memory', 'resistance-pathogens-and-toxins', 'combat-paralysis'],
|
|
181
245
|
// The Rating 6 medkit is the kit that thinks (first-aid.ts).
|
|
182
246
|
augs: [
|
|
@@ -196,27 +260,29 @@ export const ARCHETYPES = [
|
|
|
196
260
|
name: 'Combat Mage',
|
|
197
261
|
priorities: { metatype: 'D', attributes: 'B', magic: 'A', skills: 'C', resources: 'E' },
|
|
198
262
|
description: 'Awakened artillery: manabolts through milspec armor, if the drain doesn\'t eat you first.',
|
|
199
|
-
// CHOSEN SPELLBOOK
|
|
200
|
-
//
|
|
201
|
-
//
|
|
202
|
-
|
|
263
|
+
// CHOSEN SPELLBOOK: Magic 6 knows up to 12 (p.300) and the artillery
|
|
264
|
+
// build takes all 12 -- every combat spell in the catalog plus the
|
|
265
|
+
// sustains that keep the caster standing. Magic A offers 6, so
|
|
266
|
+
// Metatype D's three special points are Edge 5.
|
|
267
|
+
combat: { body: 4, agility: 3, reaction: 3, combatSkill: 2, strength: 2, willpower: 5, logic: 4, intuition: 4, charisma: 3, edge: 5, magic: 6,
|
|
203
268
|
knownSpells: ['manabolt', 'stunbolt', 'powerbolt', 'fireball', 'lightning-bolt', 'ball-lightning', 'manaball', 'stunball', 'armor', 'heal', 'reflexes', 'barrier'],
|
|
204
|
-
|
|
269
|
+
// Firearms 2 is the C column's two group points.
|
|
270
|
+
skills: { automatics: 2, pistols: 2, longarms: 2, spellcasting: 6, counterspelling: 4, assensing: 4, conjuring: 4, perception: 4, 'ritual-spellcasting': 2, unarmed: 2, 'first-aid': 1, sneaking: 1 } },
|
|
271
|
+
skillGroups: { firearms: 2 },
|
|
205
272
|
// Drain taught them what pain is worth ignoring; the astral bleeds
|
|
206
|
-
// into their dreams and calls it rent. Ledger 25 -
|
|
207
|
-
// karma +
|
|
273
|
+
// into their dreams and calls it rent. Ledger 25 - 23 + 10 = 12 -> 7
|
|
274
|
+
// karma + 10,000 nuyen; Resources E 6,000 + 10,000 = 16,000.
|
|
208
275
|
qualities: ['high-pain-tolerance', 'focused-concentration', 'mentor-spirit', 'quick-healer', 'insomnia'],
|
|
209
276
|
// Rating 2 (p.74, 4 karma a rating): a Force 2 working held free.
|
|
210
|
-
// The ledger above priced rating 1; each rating past it is 4 more.
|
|
211
277
|
qualityRatings: { 'focused-concentration': 2 },
|
|
212
278
|
gearSlugs: [
|
|
213
279
|
// A formula for a spell they do NOT know: that is what a formula
|
|
214
|
-
// is for.
|
|
215
|
-
// the
|
|
280
|
+
// is for. The gun is unlicensed and the stim patch went -- 16,000
|
|
281
|
+
// is the whole column, and this kit spends it to the last 5.
|
|
216
282
|
'spell-focus-1', 'spell-formula-powerball', 'reagents', 'lodge-materials-3',
|
|
217
|
-
'armor-jacket', 'combat-boots', 'fake-sin-2',
|
|
283
|
+
'armor-jacket', 'combat-boots', 'fake-sin-2',
|
|
218
284
|
'meta-link', 'ares-light-fire-70', 'spare-clip', 'regular-ammo',
|
|
219
|
-
'medkit-3', 'trauma-patch', '
|
|
285
|
+
'medkit-3', 'trauma-patch', 'ear-buds', 'glasses',
|
|
220
286
|
'credstick-silver'
|
|
221
287
|
],
|
|
222
288
|
},
|
|
@@ -224,65 +290,71 @@ export const ARCHETYPES = [
|
|
|
224
290
|
name: 'Street Shaman',
|
|
225
291
|
priorities: { metatype: 'D', attributes: 'B', magic: 'C', skills: 'A', resources: 'E' },
|
|
226
292
|
description: 'Awakened the hard way: iron will, sharp instincts, spirits on speed dial.',
|
|
227
|
-
// CHOSEN SPELLBOOK
|
|
228
|
-
//
|
|
229
|
-
//
|
|
230
|
-
|
|
293
|
+
// CHOSEN SPELLBOOK: Magic 5 knows up to 10 (p.300) -- the mender's
|
|
294
|
+
// list: mercy settings, wards, and the heal that is the whole reason
|
|
295
|
+
// crews keep a shaman fed. Magic C offers a magician 3; Metatype D's
|
|
296
|
+
// three special points buy Magic 5 (two) and Edge 3 (one).
|
|
297
|
+
combat: { body: 3, agility: 2, reaction: 3, combatSkill: 2, strength: 2, willpower: 6, logic: 3, intuition: 5, charisma: 4, edge: 3, magic: 5,
|
|
231
298
|
knownSpells: ['stunbolt', 'manabolt', 'stunball', 'clout', 'heal', 'armor', 'invisibility', 'reflexes', 'manabarrier', 'barrier'],
|
|
232
|
-
|
|
299
|
+
// Conjuring 5, Influence 3 and Outdoors 2 are the A column's ten
|
|
300
|
+
// group points -- the book's three conjuring skills at 5 beside
|
|
301
|
+
// this engine's own `conjuring` at 6, the one summon.ts rolls.
|
|
302
|
+
skills: { summoning: 5, binding: 5, banishing: 5, etiquette: 3, negotiation: 3, leadership: 3, navigation: 2, tracking: 2, survival: 2, spellcasting: 6, conjuring: 6, counterspelling: 4, assensing: 5, perception: 5, 'ritual-spellcasting': 3, 'first-aid': 3, pistols: 2, sneaking: 3, unarmed: 3, intimidation: 2, gymnastics: 2, swimming: 2 } },
|
|
303
|
+
skillGroups: { conjuring: 5, influence: 3, outdoors: 2 },
|
|
233
304
|
// The spirits ARE the luck, and the flesh they favor knits fast --
|
|
234
305
|
// but nobody forgets the one draped in bones and braided wire.
|
|
235
|
-
// Ledger 25 - 15 + 5 = 15 -> 7 karma + 16,000 nuyen
|
|
306
|
+
// Ledger 25 - 15 + 5 = 15 -> 7 karma + 16,000 nuyen; Resources E
|
|
307
|
+
// 6,000 + 16,000 = 22,000.
|
|
236
308
|
qualities: ['lucky', 'quick-healer', 'distinctive-style'],
|
|
309
|
+
// A spirit focus for the summoner and a spell focus for the mender.
|
|
237
310
|
gearSlugs: [
|
|
238
|
-
'spirit-focus-1', 'lodge-materials-3', 'reagents', 'armor-jacket',
|
|
311
|
+
'spirit-focus-1', 'spell-focus-1', 'lodge-materials-3', 'reagents', 'armor-jacket',
|
|
239
312
|
'combat-boots', 'fake-sin-2', 'meta-link', 'ares-light-fire-70',
|
|
240
313
|
'spare-clip', 'regular-ammo', 'medkit-3', 'trauma-patch', 'stim-patch',
|
|
241
314
|
'ear-buds', 'glasses', 'survival-kit', 'credstick-silver'
|
|
242
315
|
],
|
|
243
316
|
},
|
|
244
317
|
{
|
|
245
|
-
// THE ASPECTED MAGICIAN
|
|
246
|
-
//
|
|
247
|
-
//
|
|
248
|
-
//
|
|
249
|
-
//
|
|
250
|
-
//
|
|
251
|
-
//
|
|
252
|
-
// aspects: Enchanter waits on alchemy (UNAVAILABLE_ASPECTS).
|
|
318
|
+
// THE ASPECTED MAGICIAN (user ask, 2026-09-03: "how about the
|
|
319
|
+
// aspected magician?"). aspects.ts, the Player.aspect field, the
|
|
320
|
+
// chargen path and the verb gates in summon.ts / cast.ts / dispel.ts
|
|
321
|
+
// had all been in the engine since 2026-09-02 -- there was simply no
|
|
322
|
+
// pregen carrying `aspect`. Two of them, because the engine honours
|
|
323
|
+
// exactly two aspects: Enchanter waits on alchemy
|
|
324
|
+
// (UNAVAILABLE_ASPECTS).
|
|
253
325
|
//
|
|
254
|
-
// Magic B on the Aspected row is Magic 5 (p.65, ASPECTED_PRIORITY)
|
|
255
|
-
// the
|
|
256
|
-
//
|
|
326
|
+
// Magic B on the Aspected row is Magic 5 (p.65, ASPECTED_PRIORITY),
|
|
327
|
+
// and the row grants the Sorcery group at 4 -- so the group is NOT in
|
|
328
|
+
// skillGroups (the Magic column pays for it) and its members are not
|
|
329
|
+
// bought with the E column's 18 points. Metatype C's five special
|
|
330
|
+
// points buy Magic 6 (one) and Edge 6 (four).
|
|
257
331
|
name: 'Sorcerer',
|
|
258
332
|
priorities: { metatype: 'C', attributes: 'A', magic: 'B', skills: 'E', resources: 'D' },
|
|
259
333
|
description: 'Spells and nothing else: no spirits will ever answer you, and the astral is a window you cannot climb through.',
|
|
260
|
-
combat: { body: 3, agility: 3, reaction: 3, combatSkill: 2, strength: 2, willpower: 6, logic: 5, intuition: 5, charisma: 5, edge:
|
|
334
|
+
combat: { body: 3, agility: 3, reaction: 3, combatSkill: 2, strength: 2, willpower: 6, logic: 5, intuition: 5, charisma: 5, edge: 6, magic: 6, aspect: 'sorcerer',
|
|
261
335
|
// Magic x 2 at creation (p.69), the same cap a full magician's
|
|
262
336
|
// spellbook uses -- an aspected caster is not a smaller caster.
|
|
263
|
-
knownSpells: ['manabolt', 'stunbolt', 'powerbolt', 'manaball', 'stunball', 'lightning-bolt', 'armor', 'heal', 'reflexes', 'barrier'],
|
|
337
|
+
knownSpells: ['manabolt', 'stunbolt', 'powerbolt', 'manaball', 'stunball', 'lightning-bolt', 'fireball', 'invisibility', 'armor', 'heal', 'reflexes', 'barrier'],
|
|
264
338
|
// Sorcery only. `conjuring` is absent on purpose and enforced twice
|
|
265
339
|
// over: the chargen payload check (forbiddenSkillsFor) and
|
|
266
340
|
// summon.ts's aspect gate.
|
|
267
341
|
skills: { spellcasting: 4, counterspelling: 4, 'ritual-spellcasting': 4, assensing: 4, perception: 4, negotiation: 3, unarmed: 3, gymnastics: 2, sneaking: 2 } },
|
|
268
342
|
// One art, held deeper than a generalist holds two -- and a mentor
|
|
269
343
|
// who never let them look at the other half.
|
|
270
|
-
// Ledger 25 -
|
|
344
|
+
// Ledger 25 - 17 = 8 -> 7 karma + 2,000 nuyen; Resources D 50,000 +
|
|
345
|
+
// 2,000 = 52,000.
|
|
271
346
|
qualities: ['focused-concentration', 'mentor-spirit'],
|
|
272
347
|
// Rating 3 (p.74, 4 karma a rating): the pure spellslinger holds a
|
|
273
348
|
// drain-neutral Force 3 working free -- Increase Reflexes, a barrier.
|
|
274
|
-
// The ledger above priced rating 1; each rating past it is 4 more.
|
|
275
349
|
qualityRatings: { 'focused-concentration': 3 },
|
|
276
350
|
gearSlugs: [
|
|
277
|
-
//
|
|
278
|
-
//
|
|
279
|
-
//
|
|
280
|
-
//
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
'
|
|
284
|
-
'spell-formula-heal', 'spell-formula-reflexes', 'reagents',
|
|
285
|
-
'lodge-materials-3', 'armor-jacket', 'combat-boots', 'fake-sin-4',
|
|
351
|
+
// Formulae for spells they have NOT learned (Ball Lightning, Mana
|
|
352
|
+
// Barrier) and the two Health formulae they worked from -- a mage
|
|
353
|
+
// owning the notation for a spell they already know is how they
|
|
354
|
+
// came to know it.
|
|
355
|
+
'spell-focus-1', 'power-focus-1', 'spell-formula-ball-lightning',
|
|
356
|
+
'spell-formula-manabarrier', 'spell-formula-heal', 'spell-formula-reflexes', 'reagents',
|
|
357
|
+
'lodge-materials-3', 'armor-jacket', 'armored-pants', 'combat-boots', 'fake-sin-4',
|
|
286
358
|
'fake-license-4', 'renraku-sensei', 'mage-sight-goggles', 'medkit-3',
|
|
287
359
|
'trauma-patch', 'stim-patch', 'ear-buds', 'glasses', 'microtransceiver',
|
|
288
360
|
'white-noise-generator', 'survival-kit', 'ares-light-fire-70',
|
|
@@ -292,21 +364,24 @@ export const ARCHETYPES = [
|
|
|
292
364
|
{
|
|
293
365
|
// The other half of the same coin. Charisma is the maxed attribute
|
|
294
366
|
// here rather than Willpower: summoning is a negotiation with
|
|
295
|
-
// something that does not want to be there.
|
|
367
|
+
// something that does not want to be there. Same special-point
|
|
368
|
+
// spend as the Sorcerer: Magic 6 and Edge 6.
|
|
296
369
|
name: 'Conjurer',
|
|
297
370
|
priorities: { metatype: 'C', attributes: 'A', magic: 'B', skills: 'E', resources: 'D' },
|
|
298
371
|
description: 'Spirits answer you and nothing else does -- no spells, no counterspelling, and the astral stays a window.',
|
|
299
|
-
combat: { body: 3, agility: 3, reaction: 3, combatSkill: 2, strength: 2, willpower: 5, logic: 5, intuition: 5, charisma: 6, edge:
|
|
372
|
+
combat: { body: 3, agility: 3, reaction: 3, combatSkill: 2, strength: 2, willpower: 5, logic: 5, intuition: 5, charisma: 6, edge: 6, magic: 6, aspect: 'conjurer',
|
|
300
373
|
// No spellbook at all: "they cannot perform any of the magical
|
|
301
374
|
// skills associated with the two groups they did not select"
|
|
302
375
|
// (p.69), and cast.ts refuses them by aspect, not by empty list.
|
|
376
|
+
// The Conjuring group at 4 is the Magic column's grant.
|
|
303
377
|
skills: { conjuring: 4, summoning: 4, binding: 4, banishing: 4, assensing: 5, perception: 5, negotiation: 4, unarmed: 2, sneaking: 2 } },
|
|
304
378
|
// The spirits like them, which is not the same as the spirits being
|
|
305
|
-
// safe
|
|
306
|
-
|
|
307
|
-
//
|
|
308
|
-
//
|
|
309
|
-
|
|
379
|
+
// safe -- and the luck they lend is the kind that notices. Focused
|
|
380
|
+
// Concentration went on 2026-09-11: p.74 gives it to "magic user
|
|
381
|
+
// characters that are able to cast spells and technomancers", and a
|
|
382
|
+
// Conjurer casts nothing. Ledger 25 - 19 = 6 -> 6 karma, nothing to
|
|
383
|
+
// convert; Resources D 50,000.
|
|
384
|
+
qualities: ['spirit-affinity', 'lucky'],
|
|
310
385
|
gearSlugs: [
|
|
311
386
|
'spirit-focus-1', 'power-focus-1', 'lodge-materials-3',
|
|
312
387
|
'reagents', 'transys-avalon', 'medkit-6',
|
|
@@ -321,14 +396,17 @@ export const ARCHETYPES = [
|
|
|
321
396
|
// firewall soak, thought-speed initiative, hacking hosts -- and the
|
|
322
397
|
// deck is the requisite: its quality feeds program damage and
|
|
323
398
|
// firewall, and its hardware track is what the ice chews on.
|
|
399
|
+
// Metatype D's three special points are Edge 5.
|
|
324
400
|
name: 'Decker',
|
|
325
401
|
priorities: { metatype: 'D', attributes: 'B', magic: 'E', skills: 'C', resources: 'A' },
|
|
326
402
|
description: 'A ghost in the grid: hosts crack, ice burns, maglocks open. Just don\'t get caught in meatspace.',
|
|
327
|
-
combat: { body: 4, agility: 2, reaction: 3, combatSkill: 2, strength: 2, willpower: 4, logic: 6, intuition: 5, charisma: 2, edge:
|
|
328
|
-
|
|
403
|
+
combat: { body: 4, agility: 2, reaction: 3, combatSkill: 2, strength: 2, willpower: 4, logic: 6, intuition: 5, charisma: 2, edge: 5, magic: 0,
|
|
404
|
+
// Electronics 2 is the C column's two group points.
|
|
405
|
+
skills: { computer: 2, hardware: 2, software: 2, hacking: 6, cybercombat: 2, perception: 4, locksmith: 3, sneaking: 3, automatics: 2, pistols: 2, longarms: 2, unarmed: 2, con: 2 } },
|
|
406
|
+
skillGroups: { electronics: 2 },
|
|
329
407
|
// Hosts are puzzles and hardware is clay -- meatspace gunfire is
|
|
330
|
-
// neither, and the freeze proves it. Ledger 25 -
|
|
331
|
-
// karma +
|
|
408
|
+
// neither, and the freeze proves it. Ledger 25 - 25 + 12 = 12 -> 7
|
|
409
|
+
// karma + 10,000 nuyen; Resources A 450,000 + 10,000 = 460,000.
|
|
332
410
|
qualities: ['analytical-mind', 'juryrigger', 'codeslinger', 'combat-paralysis'],
|
|
333
411
|
// Codeslinger names ONE Matrix action; the Rigger always made the
|
|
334
412
|
// quiet way in their own. Written as the pick rather than as the
|
|
@@ -350,7 +428,8 @@ export const ARCHETYPES = [
|
|
|
350
428
|
'hammer-program', 'decryption-program', 'agent-rating-4', 'trodes',
|
|
351
429
|
'sim-module', 'hermes-ikon', 'armor-jacket', 'combat-boots', 'fake-sin-4',
|
|
352
430
|
'fake-license-4', 'lockpick-set', 'sequencer-4', 'data-tap', 'tag-eraser',
|
|
353
|
-
'white-noise-generator', 'microtransceiver', '
|
|
431
|
+
'white-noise-generator', 'microtransceiver', 'laser-mic', 'biometric-reader',
|
|
432
|
+
'subvocal-mic', 'medkit-6', 'trauma-patch',
|
|
354
433
|
'stim-patch', 'ear-buds', 'glasses', 'ares-light-fire-70', 'spare-clip',
|
|
355
434
|
'regular-ammo', 'mapsoft', 'shopsoft', 'credstick-silver'
|
|
356
435
|
],
|
|
@@ -358,27 +437,30 @@ export const ARCHETYPES = [
|
|
|
358
437
|
{
|
|
359
438
|
// The living persona (see ICombatAttributes.resonance): no deck, no
|
|
360
439
|
// commlink -- and no hardware between their stun track and the ice.
|
|
440
|
+
// Resonance A offers 6, so Metatype D's three special points are
|
|
441
|
+
// Edge 5.
|
|
361
442
|
name: 'Technomancer',
|
|
362
443
|
priorities: { metatype: 'D', attributes: 'C', magic: 'A', skills: 'B', resources: 'E' },
|
|
363
444
|
description: 'The Matrix answers when they think at it. No deck to brick -- only a mind to burn.',
|
|
364
|
-
combat: { body: 2, agility: 2, reaction: 3, combatSkill: 2, strength: 2, willpower: 5, logic: 5, intuition: 3, charisma: 2, edge:
|
|
365
|
-
//
|
|
366
|
-
//
|
|
367
|
-
//
|
|
368
|
-
// persistence.ts carries the matching back-fill for characters
|
|
445
|
+
combat: { body: 2, agility: 2, reaction: 3, combatSkill: 2, strength: 2, willpower: 5, logic: 5, intuition: 3, charisma: 2, edge: 5, magic: 0, resonance: 6,
|
|
446
|
+
// Tasking 5 is the B column's five group points: the Resonance
|
|
447
|
+
// trio are three skills and the books test each by name (SR5
|
|
448
|
+
// p.250); persistence.ts carries the back-fill for characters
|
|
369
449
|
// created before `decompiling` existed.
|
|
370
|
-
skills: {
|
|
450
|
+
skills: { compiling: 5, decompiling: 5, registering: 5, hacking: 6, software: 6, perception: 5, sneaking: 4, con: 3, negotiation: 2, unarmed: 2, computer: 3, 'electronic-warfare': 2, cybercombat: 2, etiquette: 1 } },
|
|
451
|
+
skillGroups: { tasking: 5 },
|
|
371
452
|
// A corp lab noticed what they were before they did -- the file (and
|
|
372
453
|
// its 20% cut of everything) followed them into the shadows, and the
|
|
373
|
-
// taxman never stops collecting. Ledger 25 -
|
|
374
|
-
// +
|
|
454
|
+
// taxman never stops collecting. Ledger 25 - 30 + 15 = 10 -> 7 karma
|
|
455
|
+
// + 6,000 nuyen; Resources E 6,000 + 6,000 = 12,000.
|
|
375
456
|
qualities: ['analytical-mind', 'natural-hardening', 'prime-datahaven-membership', 'focused-concentration', 'sinner-corp'],
|
|
376
457
|
// Rating 2 (p.74, 4 karma a rating): a Level 2 complex form held
|
|
377
458
|
// free -- the quality covers a form exactly as it covers a spell.
|
|
378
|
-
// The ledger above priced rating 1; each rating past it is 4 more.
|
|
379
459
|
qualityRatings: { 'focused-concentration': 2 },
|
|
460
|
+
// A Rating 2 fake SIN: a corp SINner already has a real one, and the
|
|
461
|
+
// Rating 4 was nearly the whole column.
|
|
380
462
|
gearSlugs: [
|
|
381
|
-
'armor-jacket', 'combat-boots', 'fake-sin-
|
|
463
|
+
'armor-jacket', 'combat-boots', 'fake-sin-2', 'meta-link',
|
|
382
464
|
'microtransceiver', 'data-tap', 'micro-camera', 'stealth-tags',
|
|
383
465
|
'tag-eraser', 'white-noise-generator', 'medkit-3', 'trauma-patch',
|
|
384
466
|
'stim-patch', 'ear-buds', 'glasses', 'tool-kit', 'survival-kit', 'mapsoft',
|
|
@@ -389,23 +471,33 @@ export const ARCHETYPES = [
|
|
|
389
471
|
// The drone is the mechanic: "drone" launches the Fly-Spy for live
|
|
390
472
|
// recon of every adjacent room (see commands/drone.ts). Jumped-in
|
|
391
473
|
// drone rigging can build on this later.
|
|
474
|
+
//
|
|
475
|
+
// RE-LETTERED 2026-09-11 (user ruling): Metatype D and Resources C.
|
|
476
|
+
// Edge 5 from the three special points, and 140,000 for the hangar
|
|
477
|
+
// a rigger actually needs -- a Control Rig 2 and a drone for every
|
|
478
|
+
// job, every one of them light enough to carry without a garage
|
|
479
|
+
// (p.370: a Street lifestyle has none).
|
|
392
480
|
name: 'Rigger',
|
|
393
|
-
priorities: { metatype: '
|
|
481
|
+
priorities: { metatype: 'D', attributes: 'B', magic: 'E', skills: 'A', resources: 'C' },
|
|
394
482
|
description: 'Eyes everywhere: the Fly-Spy scouts the next room so your body never has to.',
|
|
395
|
-
combat: { body: 3, agility: 3, reaction: 5, combatSkill: 3, strength: 3, willpower: 3, logic: 5, intuition: 4, charisma: 2, edge:
|
|
396
|
-
|
|
483
|
+
combat: { body: 3, agility: 3, reaction: 5, combatSkill: 3, strength: 3, willpower: 3, logic: 5, intuition: 4, charisma: 2, edge: 5, magic: 0,
|
|
484
|
+
// Firearms 4, Engineering 3 and Electronics 3 are the ten group
|
|
485
|
+
// points; gunnery 6 is the drone-mounted gun.
|
|
486
|
+
skills: { automatics: 4, pistols: 4, longarms: 4, 'aeronautics-mechanic': 3, 'industrial-mechanic': 3, 'automotive-mechanic': 3, 'nautical-mechanic': 3, computer: 3, hardware: 3, software: 3, piloting: 6, gunnery: 6, hacking: 5, perception: 5, 'electronic-warfare': 4, locksmith: 4, navigation: 3, sneaking: 3, unarmed: 3, 'first-aid': 3, negotiation: 2, cybercombat: 2 } },
|
|
487
|
+
skillGroups: { firearms: 4, engineering: 3, electronics: 3 },
|
|
397
488
|
// Anything with a motor runs better under their hands; the drone
|
|
398
|
-
// feeds run all night, and so do they. Ledger 25 -
|
|
399
|
-
// karma +
|
|
489
|
+
// feeds run all night, and so do they. Ledger 25 - 21 + 10 = 14 -> 7
|
|
490
|
+
// karma + 14,000 nuyen; Resources C 140,000 + 14,000 = 154,000.
|
|
400
491
|
qualities: ['juryrigger', 'gearhead', 'insomnia'],
|
|
401
|
-
// The p.
|
|
492
|
+
// The p.452 Control Rig 2 (2 essence) where the Rating 1 used to sit.
|
|
402
493
|
augs: [
|
|
403
|
-
'control-rig', 'datajack', 'reaction-enhancers-1', 'cybereyes',
|
|
494
|
+
'control-rig-2', 'datajack', 'reaction-enhancers-1', 'cybereyes',
|
|
404
495
|
'vision-enhancement-1'
|
|
405
496
|
],
|
|
406
497
|
gearSlugs: [
|
|
407
|
-
'fly-spy', '
|
|
408
|
-
'
|
|
498
|
+
'fly-spy', 'ferret-rpd-5x', 'telestrian-shamus', 'cd-wolfhound',
|
|
499
|
+
'knight-errant-p5', 'ls-castle-guard', 'horizon-noizquito', 'sensor-array-4',
|
|
500
|
+
'autosoft-3', 'tool-kit', 'miniwelder', 'erika-elite', 'fake-sin-4', 'fake-license-4',
|
|
409
501
|
'armor-jacket', 'combat-boots', 'ares-light-fire-70', 'quick-draw-holster',
|
|
410
502
|
'spare-clip', 'regular-ammo', 'medkit-3', 'trauma-patch', 'stim-patch',
|
|
411
503
|
'ear-buds', 'glasses', 'microtransceiver', 'mapsoft', 'credstick-silver'
|