@maka/maka-cli 5.122.0 → 5.123.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/deploy/ubuntu.sub.cmd.js +12 -8
- package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.d.ts +15 -0
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js +12 -0
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.d.ts +10 -0
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +40 -14
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +33 -10
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +155 -72
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js +15 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.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/cast.js +33 -33
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js +5 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +6 -6
- 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/hop.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hop.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.d.ts +20 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +9 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js +7 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +3 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.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 +3 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +10 -10
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +24 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +95 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +45 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.js +119 -8
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.d.ts +53 -0
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.js +86 -0
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +8 -2
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +215 -18
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +548 -117
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +3 -2
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +96 -4
- package/bundle/typescript/src/commands/game/sideQuest/qualities.js +290 -11
- package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/skill-groups.d.ts +11 -1
- package/bundle/typescript/src/commands/game/sideQuest/skill-groups.js +13 -1
- package/bundle/typescript/src/commands/game/sideQuest/skill-groups.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/skills.d.ts +17 -0
- package/bundle/typescript/src/commands/game/sideQuest/skills.js +23 -0
- package/bundle/typescript/src/commands/game/sideQuest/skills.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/spells.d.ts +76 -3
- package/bundle/typescript/src/commands/game/sideQuest/spells.js +48 -21
- package/bundle/typescript/src/commands/game/sideQuest/spells.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +90 -82
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +277 -10
- 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 +121 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +342 -18
- 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 +65 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js +74 -7
- package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.d.ts +248 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.js +38 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js +1 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/perception.js +1 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/perception.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +5 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +5 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js +22 -12
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +1 -2
- 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 +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js +20 -0
- 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 +31 -0
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/login.js +19 -1
- package/bundle/typescript/src/commands/login.js.map +1 -1
- package/bundle/typescript/src/commands/logout.js +16 -1
- package/bundle/typescript/src/commands/logout.js.map +1 -1
- package/bundle/typescript/src/tools/guarded-file/guarded-file.class.d.ts +59 -0
- package/bundle/typescript/src/tools/guarded-file/guarded-file.class.js +120 -0
- package/bundle/typescript/src/tools/guarded-file/guarded-file.class.js.map +1 -0
- package/bundle/typescript/src/tools/mpi/mpi.class.d.ts +16 -0
- package/bundle/typescript/src/tools/mpi/mpi.class.js +25 -7
- package/bundle/typescript/src/tools/mpi/mpi.class.js.map +1 -1
- package/package.json +1 -1
|
@@ -13,6 +13,18 @@
|
|
|
13
13
|
* real hook and says so in its comment. Karma values are RAW (p.73-74
|
|
14
14
|
* summary tables) throughout.
|
|
15
15
|
*/
|
|
16
|
+
import type { ICatalogEffect, ICatalogChoice } from './utilities/effects.js';
|
|
17
|
+
/**
|
|
18
|
+
* A pick a quality requires -- THE SHARED ONE, re-exported under the name
|
|
19
|
+
* this file and the web already use.
|
|
20
|
+
*
|
|
21
|
+
* It moved to utilities/effects.ts on 2026-09-04: a choice is not a
|
|
22
|
+
* quality's idea. A Hardwire is an AUGMENTATION that gives +2 to a
|
|
23
|
+
* chosen skill and asks exactly the same question, and a declaration
|
|
24
|
+
* that lives on IQuality means the picker gets rebuilt for chrome, then
|
|
25
|
+
* again for spells. See ICatalogChoice for the full note.
|
|
26
|
+
*/
|
|
27
|
+
export type IQualityChoice = ICatalogChoice;
|
|
16
28
|
export interface IQuality {
|
|
17
29
|
key: string;
|
|
18
30
|
name: string;
|
|
@@ -61,6 +73,87 @@ export interface IQuality {
|
|
|
61
73
|
* the pick the same way.
|
|
62
74
|
*/
|
|
63
75
|
requiresQuality?: string;
|
|
76
|
+
/**
|
|
77
|
+
* WHAT THE ENGINE WOULD NEED before this quality does anything
|
|
78
|
+
* (user, 2026-09-04: "tag the ones that have no game engine
|
|
79
|
+
* mechanic, so we can focus on what would work today").
|
|
80
|
+
*
|
|
81
|
+
* ABSENT MEANS IT WORKS TODAY -- either it declares `effects` that a
|
|
82
|
+
* pool reads, or it has bespoke code of its own. Present means the
|
|
83
|
+
* quality is currently sold for karma and delivers nothing, and the
|
|
84
|
+
* string names the missing seat rather than just flagging it, so the
|
|
85
|
+
* list doubles as the backlog. Distinct from `retired`, which is
|
|
86
|
+
* about a quality nobody may BUY any more; an inert quality is on
|
|
87
|
+
* sale and honest about being unfinished.
|
|
88
|
+
*
|
|
89
|
+
* NOT PLAYER-FACING. THE PRESENCE OF THIS FIELD IS; THE STRING IS NOT.
|
|
90
|
+
* It is written for whoever will build the missing seat -- "no craving
|
|
91
|
+
* clock and no withdrawal state", "specializations are not modelled" --
|
|
92
|
+
* and a player reading that learns nothing they can act on. A surface
|
|
93
|
+
* warning a player off an inert quality should say so in its own
|
|
94
|
+
* words and use `name` and `effect`, which ARE written for them.
|
|
95
|
+
*
|
|
96
|
+
* Flagged because it nearly went the other way: the web was about to
|
|
97
|
+
* render this string verbatim under each quality in the picker
|
|
98
|
+
* (2026-09-04). Two audiences, one field, and the engineering half is
|
|
99
|
+
* the one that would have shipped.
|
|
100
|
+
*/
|
|
101
|
+
inert?: string;
|
|
102
|
+
/**
|
|
103
|
+
* WHICH KIND OF MECHANIC THIS IS (user, 2026-09-04: "do a pass on
|
|
104
|
+
* all qualities, and put them into like-categories").
|
|
105
|
+
*
|
|
106
|
+
* Required, so a quality cannot be added without someone deciding
|
|
107
|
+
* what shape its rule has. The families are about the MECHANIC, not
|
|
108
|
+
* about whether this engine runs it yet -- which is the point: a
|
|
109
|
+
* `pool` quality carrying no `effects` is a visible gap, where the
|
|
110
|
+
* same quality filed as "narrative" would be a gap nobody could see.
|
|
111
|
+
*
|
|
112
|
+
* 'pool' flat dice on something the engine already rolls
|
|
113
|
+
* 'attribute' moves a stored attribute, once, at install
|
|
114
|
+
* 'ceiling' moves a maximum -- what you MAY buy, not what you have
|
|
115
|
+
* 'limit' moves an Inherent limit (Physical/Mental/Social)
|
|
116
|
+
* 'substitution' a different attribute or skill stands in on a named test
|
|
117
|
+
* 'threshold' changes a threshold, or what counts as a hit or a glitch
|
|
118
|
+
* 'engine-rule' has its own bespoke implementation, not expressible as dice
|
|
119
|
+
* 'condition' needs a persistent state this engine does not keep
|
|
120
|
+
* 'narrative' canon gives it no dice at all -- fiction and GM adjudication
|
|
121
|
+
*/
|
|
122
|
+
family: 'pool' | 'attribute' | 'ceiling' | 'limit' | 'substitution' | 'threshold' | 'engine-rule' | 'condition' | 'narrative';
|
|
123
|
+
/**
|
|
124
|
+
* The pick this quality cannot work without (see IQualityChoice).
|
|
125
|
+
* A quality carrying this one is not finished at purchase: chargen
|
|
126
|
+
* must ask, and the answer must be stored, or it does nothing.
|
|
127
|
+
*/
|
|
128
|
+
choice?: IQualityChoice;
|
|
129
|
+
/**
|
|
130
|
+
* A quality that cannot be held alongside this one. Canon states the
|
|
131
|
+
* Lucky / Exceptional Attribute pair outright (p.65-66: "either ...
|
|
132
|
+
* not both"), because both spend the same idea on the same sheet.
|
|
133
|
+
*/
|
|
134
|
+
excludesQuality?: string;
|
|
135
|
+
/**
|
|
136
|
+
* WHAT IT DOES, as data (2026-09-04, "put real stats into them").
|
|
137
|
+
*
|
|
138
|
+
* The same vocabulary gear and chrome already speak, so a quality
|
|
139
|
+
* that adds +2 to a pool declares it exactly the way a smartlink
|
|
140
|
+
* does, and the catalog can print a quality's mechanics instead of
|
|
141
|
+
* only its prose. Player.qualityBonus reads these, and a rated
|
|
142
|
+
* quality multiplies by the rating held when the effect says
|
|
143
|
+
* `scaleBy: 'rating'`.
|
|
144
|
+
*
|
|
145
|
+
* ABSENT IS A REAL ANSWER, and the common one. Most of SR5's
|
|
146
|
+
* qualities do not resolve to a flat pool modifier -- Home Ground
|
|
147
|
+
* picks a domain, Indomitable picks a limit, Guts resists fear,
|
|
148
|
+
* Sensitive System doubles Essence loss -- and several are already
|
|
149
|
+
* implemented as their own rule rather than as dice (First
|
|
150
|
+
* Impression is consumed once per job, the SINner tax cuts a payout,
|
|
151
|
+
* Gremlins changes what counts as a glitch). Those carry NO entry on
|
|
152
|
+
* purpose: an effect nothing reads is a stat block that lies, and an
|
|
153
|
+
* effect duplicating a rule implemented elsewhere would double it.
|
|
154
|
+
* `effect` above stays the human sentence in every case.
|
|
155
|
+
*/
|
|
156
|
+
effects?: ICatalogEffect[];
|
|
64
157
|
}
|
|
65
158
|
/** Everyone starts character creation with 25 karma (SR5e p.71). */
|
|
66
159
|
export declare const CREATION_KARMA = 25;
|
|
@@ -71,14 +164,13 @@ export declare const QUALITIES: IQuality[];
|
|
|
71
164
|
* here for the day its seat exists.
|
|
72
165
|
*/
|
|
73
166
|
export declare const RETIRED_QUALITIES: IQuality[];
|
|
74
|
-
/**
|
|
75
|
-
* A saved or offered key, resolved: the old fixed "<key>-1" entries
|
|
76
|
-
* (every rated quality shipped as Rating 1 only) read as key + rating 1.
|
|
77
|
-
*/
|
|
78
167
|
export declare function resolveQualityKey(key: string): {
|
|
79
168
|
key: string;
|
|
80
169
|
rating: number;
|
|
170
|
+
pick?: string;
|
|
81
171
|
};
|
|
172
|
+
/** Every legacy slug that resolves to a key plus a pick, for tests and tooling. */
|
|
173
|
+
export declare const LEGACY_CHOICE_SLUGS: string[];
|
|
82
174
|
export declare function getQuality(key?: string): IQuality | undefined;
|
|
83
175
|
/** What a quality costs (or refunds) at the rating given: per-rating for rated entries. */
|
|
84
176
|
export declare function qualityKarma(q: IQuality, rating?: number): number;
|