@maka/maka-cli 5.120.0 → 5.122.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.d.ts +72 -0
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +300 -61
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/aspects.js +11 -1
- package/bundle/typescript/src/commands/game/sideQuest/aspects.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +33 -0
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +85 -0
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js +31 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.d.ts +10 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js +17 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.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 +0 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js +39 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js +31 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/fit.d.ts +29 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/fit.js +85 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/fit.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.d.ts +16 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +273 -28
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js +4 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +16 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/mark.d.ts +19 -10
- package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js +43 -227
- package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +31 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pan.js +3 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pan.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.d.ts +34 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js +81 -12
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +5 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +5 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sell.js +4 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/sell.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js +4 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/stance.d.ts +10 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js +50 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/unequip.js +27 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/unequip.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +45 -1
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +3 -2
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +34 -41
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/repro-scene.js +4 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/repro-scene.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +44 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +47 -0
- package/bundle/typescript/src/commands/game/sideQuest/game.js +115 -11
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/headless-harness.d.ts +17 -0
- package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js +30 -2
- package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/device.d.ts +86 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/device.js +103 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/device.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/item.d.ts +140 -45
- package/bundle/typescript/src/commands/game/sideQuest/models/item.js +456 -104
- package/bundle/typescript/src/commands/game/sideQuest/models/item.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +2 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +7 -5
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +113 -4
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +289 -47
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +4 -0
- package/bundle/typescript/src/commands/game/sideQuest/qualities.js +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +9 -9
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +6 -6
- package/bundle/typescript/src/commands/game/sideQuest/types/repro.d.ts +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/repro.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +9 -2
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/device-seed.d.ts +17 -0
- package/bundle/typescript/src/commands/game/sideQuest/ui.js +23 -26
- package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/affordances.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/affordances.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/barrier-combat.d.ts +38 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/barrier-combat.js +67 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/barrier-combat.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +279 -4
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +221 -212
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.d.ts +48 -5
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +84 -17
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.d.ts +9 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.d.ts +6 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +52 -12
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.d.ts +32 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.js +33 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/condition-report.js +10 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/condition-report.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.d.ts +5 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.js +35 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js +3 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-intrusion.d.ts +121 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-intrusion.js +141 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-intrusion.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +11 -3
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.d.ts +93 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js +201 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/range.d.ts +19 -13
- package/bundle/typescript/src/commands/game/sideQuest/utilities/range.js +77 -34
- package/bundle/typescript/src/commands/game/sideQuest/utilities/range.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js +91 -9
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.d.ts +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +50 -3
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.d.ts +9 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js +28 -4
- package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +43 -3
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { PlayerEquipment } from '../types/player-equipment.js';
|
|
2
|
+
import type { WeaponSkill } from '../utilities/catalog-data.js';
|
|
2
3
|
import type { Grid } from '../utilities/grids.js';
|
|
3
4
|
import type { Host } from './host.js';
|
|
4
5
|
import { type Aspect } from '../aspects.js';
|
|
5
6
|
import { LifestyleChoices } from '../types/seed/lifestyle-seed.js';
|
|
6
7
|
import { Logger } from '../utilities/logger.js';
|
|
7
|
-
import { AugBonusKind } from '../augmentations.js';
|
|
8
|
+
import { AugBonusKind, IImplantWeapon } from '../augmentations.js';
|
|
8
9
|
import { Room } from './room.js';
|
|
9
10
|
import { Item } from './item.js';
|
|
10
11
|
import { Inventory } from './inventory.js';
|
|
@@ -20,6 +21,40 @@ export type FightStance = 'manual' | 'non-lethal' | 'lethal';
|
|
|
20
21
|
export declare const STANCE_CYCLE: FightStance[];
|
|
21
22
|
/** The old names, still accepted from saves and the stance command. */
|
|
22
23
|
export declare const STANCE_ALIASES: Record<string, FightStance>;
|
|
24
|
+
/**
|
|
25
|
+
* THE MATRIX HAS ITS OWN STANCE (mjmcee on uMQAhaAysgaKpWFkn,
|
|
26
|
+
* 2026-09-03): "I have a concept ... which leverages the combat stance
|
|
27
|
+
* in the meat world (Manual / Non-Lethal / Lethal) which I'd like to
|
|
28
|
+
* get into the matrix space. Toggling between default BF (Attack) or
|
|
29
|
+
* HotF (Sleaze) as TAB. Normal 'deck config <asdf>' still sets up the
|
|
30
|
+
* config."
|
|
31
|
+
*
|
|
32
|
+
* So Tab is PLANE-AWARE: in the meat it cycles the fight autopilot, on
|
|
33
|
+
* the Matrix it flips which of the book's two intrusion actions your
|
|
34
|
+
* next hack is. Two values, not three -- there is no "manual" here,
|
|
35
|
+
* because a Matrix intrusion is never automated; the stance picks the
|
|
36
|
+
* ACTION, it does not decide whether to act.
|
|
37
|
+
*
|
|
38
|
+
* BRUTE FORCE IS THE DEFAULT, per that directive. It reverses what the
|
|
39
|
+
* engine did before (both hack and mark defaulted to Sleaze), and it
|
|
40
|
+
* is the honest default for a stance you can see: the loud route is
|
|
41
|
+
* the one you should have to notice you are in.
|
|
42
|
+
*
|
|
43
|
+
* This is the DECK'S POSTURE, not its configuration -- "deck config"
|
|
44
|
+
* still assigns the Attack/Sleaze/DP/Firewall array (p.227), and the
|
|
45
|
+
* stance decides which of those two attributes your intrusion leans
|
|
46
|
+
* on. Both matter: a Sleaze stance on a deck configured for Attack is
|
|
47
|
+
* a quiet approach with a low ceiling.
|
|
48
|
+
*/
|
|
49
|
+
export type MatrixStance = 'attack' | 'sleaze';
|
|
50
|
+
export declare const MATRIX_STANCE_CYCLE: MatrixStance[];
|
|
51
|
+
/** What each stance is CALLED in the book -- printed everywhere the
|
|
52
|
+
* engine used to say "loud"/"quiet", so the vocabulary teaches the
|
|
53
|
+
* real action names (the whole point of uMQAhaAysgaKpWFkn). */
|
|
54
|
+
export declare const MATRIX_STANCE_ACTION: Record<MatrixStance, string>;
|
|
55
|
+
/** The words a player may type, including the engine's older ones. */
|
|
56
|
+
export declare const MATRIX_STANCE_ALIASES: Record<string, MatrixStance>;
|
|
57
|
+
export declare function normalizeMatrixStance(v: string | undefined): MatrixStance;
|
|
23
58
|
export declare function normalizeStance(v: string | undefined): FightStance;
|
|
24
59
|
export type Plane = 'meat' | 'matrix' | 'astral' | 'drone';
|
|
25
60
|
/** Meat and a jumped-in drone share the physical world. */
|
|
@@ -96,7 +131,7 @@ export type SimMode = 'cold' | 'hot';
|
|
|
96
131
|
* this not-yet-carried list; all three are now real and hooked, one per
|
|
97
132
|
* command file beside them.)
|
|
98
133
|
*/
|
|
99
|
-
export type SkillName = 'blades' | 'clubs' | 'unarmed' | 'gunnery' | 'astral-combat' | 'cybercombat' | 'sneaking' | 'perception' | 'palming' | 'escape-artist' | 'disguise' | 'hacking' | 'locksmith' | 'computer' | 'electronic-warfare' | 'hardware' | 'negotiation' | 'con' | 'intimidation' | 'etiquette' | 'leadership' | 'performance' | 'instruction' | 'first-aid' | 'medicine' | 'assensing' | 'spellcasting' | 'counterspelling' | 'piloting' | 'conjuring' | 'compiling' | 'decompiling' | 'registering' | 'software' | 'impersonation' | 'ritual-spellcasting' | 'gymnastics' | 'running' | 'swimming' | 'automatics' | 'pistols' | 'longarms' | 'banishing' | 'summoning' | 'binding' | 'cybertechnology' | 'alchemy' | 'disenchanting' | 'artificing' | 'aeronautics-mechanic' | 'industrial-mechanic' | 'automotive-mechanic' | 'nautical-mechanic' | 'navigation' | 'tracking' | 'survival' | 'archery' | 'free-fall';
|
|
134
|
+
export type SkillName = 'blades' | 'clubs' | 'unarmed' | 'gunnery' | 'astral-combat' | 'cybercombat' | 'sneaking' | 'perception' | 'palming' | 'escape-artist' | 'disguise' | 'hacking' | 'locksmith' | 'computer' | 'electronic-warfare' | 'hardware' | 'negotiation' | 'con' | 'intimidation' | 'etiquette' | 'leadership' | 'performance' | 'instruction' | 'first-aid' | 'medicine' | 'assensing' | 'spellcasting' | 'counterspelling' | 'piloting' | 'conjuring' | 'compiling' | 'decompiling' | 'registering' | 'software' | 'impersonation' | 'ritual-spellcasting' | 'gymnastics' | 'running' | 'swimming' | 'automatics' | 'pistols' | 'longarms' | 'banishing' | 'summoning' | 'binding' | 'cybertechnology' | 'alchemy' | 'disenchanting' | 'artificing' | 'aeronautics-mechanic' | 'industrial-mechanic' | 'automotive-mechanic' | 'nautical-mechanic' | 'navigation' | 'tracking' | 'survival' | 'archery' | 'free-fall' | 'heavy-weapons' | 'throwing-weapons' | 'exotic-melee' | 'exotic-ranged';
|
|
100
135
|
export declare const SKILL_NAMES: SkillName[];
|
|
101
136
|
/**
|
|
102
137
|
* Skills that fall back to the legacy `combatSkill` attribute when no
|
|
@@ -147,6 +182,7 @@ export declare function firearmSkillFor(weapon: {
|
|
|
147
182
|
name: string;
|
|
148
183
|
shape?: string;
|
|
149
184
|
category?: string;
|
|
185
|
+
weaponSkill?: WeaponSkill;
|
|
150
186
|
}): SkillName;
|
|
151
187
|
export interface ICombatAttributes {
|
|
152
188
|
body?: number;
|
|
@@ -293,6 +329,11 @@ export declare class Player extends AbstractPlayer {
|
|
|
293
329
|
private _autoStance;
|
|
294
330
|
get autoStance(): FightStance;
|
|
295
331
|
set autoStance(v: FightStance);
|
|
332
|
+
/** Which of the book's two intrusion actions the next hack uses
|
|
333
|
+
* (see MatrixStance). Sheet-visible, like its meat-world twin. */
|
|
334
|
+
private _matrixStance;
|
|
335
|
+
get matrixStance(): MatrixStance;
|
|
336
|
+
set matrixStance(v: MatrixStance);
|
|
296
337
|
grappledBy?: string;
|
|
297
338
|
grappleThreshold?: number;
|
|
298
339
|
grappling?: string;
|
|
@@ -763,6 +804,11 @@ export declare class Player extends AbstractPlayer {
|
|
|
763
804
|
* never a die, and a die is never a limit.
|
|
764
805
|
*/
|
|
765
806
|
smartlinkAccuracyBonus(weapon?: Item | null): number;
|
|
807
|
+
/**
|
|
808
|
+
* A LASER SIGHT's +1 Accuracy (p.432), built in or fitted -- and never
|
|
809
|
+
* cumulative with a smartlink: getAttackLimit takes the larger of the two.
|
|
810
|
+
*/
|
|
811
|
+
laserSightBonus(weapon?: Item | null): number;
|
|
766
812
|
get matrixTaken(): number;
|
|
767
813
|
get maxMatrixBoxes(): number;
|
|
768
814
|
/** Routes Matrix combat damage into the jacked-in deck's hardware track. */
|
|
@@ -826,6 +872,30 @@ export declare class Player extends AbstractPlayer {
|
|
|
826
872
|
*/
|
|
827
873
|
augGrades: Map<string, string>;
|
|
828
874
|
hasAug(key: string): boolean;
|
|
875
|
+
/**
|
|
876
|
+
* THE WEAPON BUILT INTO YOUR HANDS (core p.458, xHarA3TNgxZXtZwgp).
|
|
877
|
+
* Canon routes these through Unarmed Combat and the Physical limit,
|
|
878
|
+
* so they REPLACE the bare-fists profile rather than sitting in a
|
|
879
|
+
* hand slot -- see getWeaponProfile and utilities/combat-exchange.ts,
|
|
880
|
+
* the two places that compute a punch.
|
|
881
|
+
*
|
|
882
|
+
* A drawn weapon always wins: chrome in the palm does not stop you
|
|
883
|
+
* shooting. Mutually exclusive by row (excludes), so at most one is
|
|
884
|
+
* ever installed and the find is the answer rather than a contest.
|
|
885
|
+
*/
|
|
886
|
+
implantWeapon(): IImplantWeapon | undefined;
|
|
887
|
+
/**
|
|
888
|
+
* Jolts left in a shock hand. Ten per hand in the book, recharging
|
|
889
|
+
* one per ten seconds while plugged in -- there is no wall clock here
|
|
890
|
+
* for a hand to be plugged into, so the trickle is compressed to a
|
|
891
|
+
* refill on rest (commands/rest.ts). Session state: a fresh install
|
|
892
|
+
* arrives charged.
|
|
893
|
+
*/
|
|
894
|
+
implantCharges: number;
|
|
895
|
+
/** Spends one jolt. Returns what is left. */
|
|
896
|
+
spendImplantCharge(): number;
|
|
897
|
+
/** Back to full -- a rest, or the moment the chrome goes in. */
|
|
898
|
+
refillImplantCharges(): void;
|
|
829
899
|
/** Full essence points lost, rounded up -- the toll Magic/Resonance pay. */
|
|
830
900
|
get essenceBurn(): number;
|
|
831
901
|
/**
|
|
@@ -838,6 +908,23 @@ export declare class Player extends AbstractPlayer {
|
|
|
838
908
|
essence: number;
|
|
839
909
|
grade?: string;
|
|
840
910
|
}): void;
|
|
911
|
+
/** Every effect that applies right now, with the rating it scales by. */
|
|
912
|
+
private applyingEffects;
|
|
913
|
+
private sumEffects;
|
|
914
|
+
/**
|
|
915
|
+
* Dice the gear adds to a pool or a skill's tests (cf. augBonus,
|
|
916
|
+
* qualityBonus): `kind` is a pool kind or a SkillName; `only` names a
|
|
917
|
+
* narrowing an effect may carry ('haggle', 'silent', 'matrix-search').
|
|
918
|
+
*/
|
|
919
|
+
gearBonus(kind: string, opts?: {
|
|
920
|
+
only?: string;
|
|
921
|
+
}): number;
|
|
922
|
+
/** What the gear adds to a LIMIT (a Shopsoft's +1 Social on a haggle). */
|
|
923
|
+
gearLimit(kind: 'physical' | 'mental' | 'social' | 'accuracy', opts?: {
|
|
924
|
+
only?: string;
|
|
925
|
+
}): number;
|
|
926
|
+
/** A capability the gear grants (dni, smartlink, no-fog, low-light...), by key. */
|
|
927
|
+
hasCapability(key: string): boolean;
|
|
841
928
|
/**
|
|
842
929
|
* The single tap every pool reads chrome through. Wired Reflexes tiers
|
|
843
930
|
* don't stack -- the higher tier wins (II supersedes I) -- but the
|
|
@@ -1079,6 +1166,24 @@ export declare class Player extends AbstractPlayer {
|
|
|
1079
1166
|
static slotWord(group: keyof PlayerEquipment, slot: string): string;
|
|
1080
1167
|
/** True for the hand slots that hold a wielded weapon. */
|
|
1081
1168
|
static isWeaponSlot(group: keyof PlayerEquipment, slot: string): boolean;
|
|
1169
|
+
/**
|
|
1170
|
+
* WHERE A THING ACTUALLY IS RIGHT NOW, which for a weapon is not a
|
|
1171
|
+
* property of the slot (user report, 2026-09-03: "when looking at
|
|
1172
|
+
* equipment, and I have a Katana Holstered, I should not see Right
|
|
1173
|
+
* hand Katana (weapon hand) -- it's not in hand, it's in holster").
|
|
1174
|
+
*
|
|
1175
|
+
* SLOT_WORDS is static, so it can only ever say where a weapon lives
|
|
1176
|
+
* when drawn. The weapon slot is really two places -- the hand and the
|
|
1177
|
+
* holster -- and `weaponDrawn` is which one. Everything else in the
|
|
1178
|
+
* game already knew: the HUD prints "Holstered:", equip prints "You
|
|
1179
|
+
* slide it into your holster", and the equipment screen's own top line
|
|
1180
|
+
* prints HOLSTERED. Only the worn listing underneath still read the
|
|
1181
|
+
* static word, so one screen contradicted itself.
|
|
1182
|
+
*
|
|
1183
|
+
* Instance method, not static, precisely because the answer depends on
|
|
1184
|
+
* the actor rather than the slot.
|
|
1185
|
+
*/
|
|
1186
|
+
wornSlotWord(group: keyof PlayerEquipment, slot: string): string;
|
|
1082
1187
|
unequip(input: string): string;
|
|
1083
1188
|
/**
|
|
1084
1189
|
* The slot an ITEM wears in: the category decides (determineEquipmentSlot)
|
|
@@ -1223,7 +1328,11 @@ export declare class Player extends AbstractPlayer {
|
|
|
1223
1328
|
bonus: number;
|
|
1224
1329
|
}[];
|
|
1225
1330
|
ignored: Item[];
|
|
1331
|
+
bonusCapped: number;
|
|
1332
|
+
encumbrance: number;
|
|
1226
1333
|
};
|
|
1334
|
+
/** The p.169 encumbrance penalty on Agility and Reaction, as dice off those pools. */
|
|
1335
|
+
get encumbrancePenalty(): number;
|
|
1227
1336
|
getAttackPool(): number;
|
|
1228
1337
|
/**
|
|
1229
1338
|
* The subdual pool: bare-hands work regardless of what's in the other
|
|
@@ -1526,7 +1635,7 @@ export declare class Player extends AbstractPlayer {
|
|
|
1526
1635
|
set astralPerceiving(v: boolean);
|
|
1527
1636
|
sneaking: boolean;
|
|
1528
1637
|
riggedDrone?: Item;
|
|
1529
|
-
/** Whether the ridden drone carries a weapon mount (name
|
|
1638
|
+
/** Whether the ridden drone carries a weapon mount (its vehicle block, catalog v13; the name for generated frames). */
|
|
1530
1639
|
get droneArmed(): boolean;
|
|
1531
1640
|
dumpshockedUntil: number;
|
|
1532
1641
|
get dumpshocked(): boolean;
|
|
@@ -1539,7 +1648,7 @@ export declare class Player extends AbstractPlayer {
|
|
|
1539
1648
|
back: string;
|
|
1540
1649
|
};
|
|
1541
1650
|
socialMarks: Set<string>;
|
|
1542
|
-
/** The best Focus item on this actor, if any --
|
|
1651
|
+
/** The best Focus item on this actor, if any -- by Force (catalog v13: ratingValue). */
|
|
1543
1652
|
getBestFocus(): Item | undefined;
|
|
1544
1653
|
getMagicPool(): number;
|
|
1545
1654
|
/**
|