@maka/maka-cli 5.6.0 → 5.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/typescript/package.json +2 -2
- package/bundle/typescript/src/commands/_index.d.ts +4 -0
- package/bundle/typescript/src/commands/_index.js +4 -0
- package/bundle/typescript/src/commands/_index.js.map +1 -1
- package/bundle/typescript/src/commands/debug.js +1 -7
- package/bundle/typescript/src/commands/debug.js.map +1 -1
- package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js +33 -32
- package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/env/_index.d.ts +3 -0
- package/bundle/typescript/src/commands/env/_index.js +4 -0
- package/bundle/typescript/src/commands/env/_index.js.map +1 -0
- package/bundle/typescript/src/commands/env/env.command.d.ts +3 -0
- package/bundle/typescript/src/commands/env/env.command.js +22 -0
- package/bundle/typescript/src/commands/env/env.command.js.map +1 -0
- package/bundle/typescript/src/commands/env/get.sub.cmd.d.ts +1 -0
- package/bundle/typescript/src/commands/env/get.sub.cmd.js +46 -0
- package/bundle/typescript/src/commands/env/get.sub.cmd.js.map +1 -0
- package/bundle/typescript/src/commands/env/prompt-for-env.d.ts +10 -0
- package/bundle/typescript/src/commands/env/prompt-for-env.js +27 -0
- package/bundle/typescript/src/commands/env/prompt-for-env.js.map +1 -0
- package/bundle/typescript/src/commands/env/set.sub.cmd.d.ts +1 -0
- package/bundle/typescript/src/commands/env/set.sub.cmd.js +59 -0
- package/bundle/typescript/src/commands/env/set.sub.cmd.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.d.ts +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +81 -2
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +31 -0
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +125 -0
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.d.ts +17 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js +113 -15
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/ask.d.ts +37 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js +197 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/assense.js +3 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/assense.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js +21 -11
- package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.d.ts +3 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js +13 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/brandish.js +7 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/brandish.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.d.ts +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js +97 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.d.ts +21 -10
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js +41 -27
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.d.ts +6 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js +54 -20
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.d.ts +35 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +306 -55
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.d.ts +33 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js +137 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.d.ts +13 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js +37 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/drink.d.ts +14 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/drink.js +15 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/drink.js.map +1 -0
- 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/drop.js +7 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/drop.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/eat.d.ts +14 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/eat.js +15 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/eat.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/edge.js +10 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/edge.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equip.js +3 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/equip.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/give.js +101 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/give.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.d.ts +6 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +67 -22
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +15 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js +58 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.d.ts +26 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +125 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/install.d.ts +21 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/install.js +125 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/install.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/jump.d.ts +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js +83 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.d.ts +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.js +76 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/lock.js +4 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/lock.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +7 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/order.d.ts +19 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/order.js +151 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/order.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/pay.d.ts +13 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/pay.js +39 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/pay.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js +5 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js +6 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.d.ts +21 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js +121 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +60 -12
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.js +27 -10
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +15 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sell.d.ts +17 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/sell.js +125 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/sell.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +36 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sneak.js +9 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sneak.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js +27 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/summon.d.ts +19 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/summon.js +112 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/summon.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/treat.d.ts +14 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/treat.js +67 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/treat.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js +7 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/use.d.ts +29 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/use.js +118 -11
- package/bundle/typescript/src/commands/game/sideQuest/commands/use.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/work.d.ts +15 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/work.js +68 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/work.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/item-factory.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/item-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.d.ts +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +132 -5
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.d.ts +6 -2
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js +10 -6
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +196 -0
- package/bundle/typescript/src/commands/game/sideQuest/game.js +828 -31
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/item.d.ts +28 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/item.js +111 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/item.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +33 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +232 -10
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +111 -5
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +432 -41
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.d.ts +6 -6
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js +38 -14
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/room.d.ts +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js +6 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +9 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +48 -8
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +44 -0
- package/bundle/typescript/src/commands/game/sideQuest/qualities.js +155 -0
- package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +274 -5
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/item-seed.d.ts +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/scene-seed.d.ts +17 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.d.ts +2 -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/ui.js +82 -8
- package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.d.ts +13 -6
- package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.js +28 -15
- package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.d.ts +15 -3
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +207 -34
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.d.ts +56 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js +144 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.d.ts +7 -4
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.js +8 -5
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/log-style.d.ts +14 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/log-style.js +15 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/log-style.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.d.ts +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.js +49 -4
- package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/outdoors.d.ts +10 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/outdoors.js +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/outdoors.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.d.ts +21 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +107 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/terminal-reset.d.ts +17 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/terminal-reset.js +23 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/terminal-reset.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +51 -15
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/remote/reconfig.sub.cmd.js +27 -1
- package/bundle/typescript/src/commands/remote/reconfig.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/run/run.command.js +1 -7
- package/bundle/typescript/src/commands/run/run.command.js.map +1 -1
- package/bundle/typescript/src/commands/ssl.js +10 -15
- package/bundle/typescript/src/commands/ssl.js.map +1 -1
- package/bundle/typescript/src/commands/testCmd/mocha.sub.cmd.js +1 -6
- package/bundle/typescript/src/commands/testCmd/mocha.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/generators/config.js +11 -10
- package/bundle/typescript/src/generators/config.js.map +1 -1
- package/bundle/typescript/src/templates/meteor/config/pm2.config.js +3 -3
- package/bundle/typescript/src/templates/meteor/project/gitignore +2 -1
- package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.tsx +3 -4
- package/bundle/typescript/src/tool.d.ts +2 -0
- package/bundle/typescript/src/tool.js +3 -0
- package/bundle/typescript/src/tool.js.map +1 -1
- package/bundle/typescript/src/tools/aws/aws.class.js +6 -4
- package/bundle/typescript/src/tools/aws/aws.class.js.map +1 -1
- package/bundle/typescript/src/tools/dotenvx/dotenvx.class.d.ts +24 -0
- package/bundle/typescript/src/tools/dotenvx/dotenvx.class.js +66 -0
- package/bundle/typescript/src/tools/dotenvx/dotenvx.class.js.map +1 -0
- package/bundle/typescript/src/tools/ssh/ssh.class.js +1 -1
- package/bundle/typescript/src/tools/ssh/ssh.class.js.map +1 -1
- package/bundle/typescript/src/tools/ssl/ssl.class.d.ts +8 -0
- package/bundle/typescript/src/tools/ssl/ssl.class.js +53 -0
- package/bundle/typescript/src/tools/ssl/ssl.class.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import blessed from 'blessed';
|
|
2
2
|
import { ISceneSeedJson } from './types/seed/scene-seed.js';
|
|
3
|
+
import { Item } from './models/item.js';
|
|
3
4
|
import { Player, Inventory, Room, Scene } from './models/_index.js';
|
|
5
|
+
import { ILifestyleTier } from './utilities/commerce.js';
|
|
6
|
+
import { NPC } from './models/npc.js';
|
|
4
7
|
import { AutoFight } from './utilities/auto-fight.js';
|
|
5
8
|
import { IMainGameConfig } from './ui.js';
|
|
6
9
|
import { PlayerEquipment } from './types/player-equipment.js';
|
|
@@ -13,6 +16,7 @@ export default class Game {
|
|
|
13
16
|
autoFight: AutoFight;
|
|
14
17
|
private _screen;
|
|
15
18
|
private _logBox;
|
|
19
|
+
private _metaBox;
|
|
16
20
|
private _statusBox;
|
|
17
21
|
private _inputBox;
|
|
18
22
|
private _useAi;
|
|
@@ -22,6 +26,165 @@ export default class Game {
|
|
|
22
26
|
private _hubScene?;
|
|
23
27
|
private _hubName;
|
|
24
28
|
get hasHub(): boolean;
|
|
29
|
+
/** The active job's name (seed name) -- notoriety incidents cite it. */
|
|
30
|
+
get currentJobName(): string | undefined;
|
|
31
|
+
contacts: Map<string, {
|
|
32
|
+
connection: number;
|
|
33
|
+
loyalty: number;
|
|
34
|
+
spent: number;
|
|
35
|
+
gigs: number;
|
|
36
|
+
asked: boolean;
|
|
37
|
+
}>;
|
|
38
|
+
/** How much juice the name carries, read off the role. */
|
|
39
|
+
static connectionFor(npc: {
|
|
40
|
+
name: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
}): number;
|
|
43
|
+
/**
|
|
44
|
+
* HOME TURF: the hub is where the runner LIVES -- everyone in the
|
|
45
|
+
* district already knows them (player request: "all NPCs there should
|
|
46
|
+
* already know them"). Called at hub capture: the whole meat-plane
|
|
47
|
+
* cast opens at Loyalty 1 ("knows your name"), so legwork works from
|
|
48
|
+
* day one and only run-scene faces are ever strangers. Depth is still
|
|
49
|
+
* earned -- trade, gigs, patronage -- exactly as before. Ice and
|
|
50
|
+
* spirits don't do noodles: non-meat actors stay off the roster.
|
|
51
|
+
*/
|
|
52
|
+
private seedHomeTurfContacts;
|
|
53
|
+
companions: {
|
|
54
|
+
npc: NPC;
|
|
55
|
+
kind: 'spirit' | 'agent' | 'drone' | 'ally';
|
|
56
|
+
services?: number;
|
|
57
|
+
force: number;
|
|
58
|
+
boundDevice?: Item;
|
|
59
|
+
}[];
|
|
60
|
+
private _pendingRedeploys;
|
|
61
|
+
/**
|
|
62
|
+
* The one correct runtime NPC spawn (mirrors scene-factory's seed
|
|
63
|
+
* path): construct with a scene-bound registry, add to the scene
|
|
64
|
+
* (names must be unique -- addActor throws), place via
|
|
65
|
+
* setCharacterLocation (the ONLY path that binds room observers), and
|
|
66
|
+
* hand it the scene for its AI context.
|
|
67
|
+
*/
|
|
68
|
+
spawnCompanionShell(opts: {
|
|
69
|
+
name: string;
|
|
70
|
+
description: string;
|
|
71
|
+
kind: 'spirit' | 'agent' | 'drone' | 'ally';
|
|
72
|
+
combat: Partial<import('./models/player.js').ICombatAttributes>;
|
|
73
|
+
room: Room;
|
|
74
|
+
plane: 'meat' | 'matrix' | 'astral';
|
|
75
|
+
force: number;
|
|
76
|
+
services?: number;
|
|
77
|
+
boundDevice?: Item;
|
|
78
|
+
}): NPC | null;
|
|
79
|
+
/**
|
|
80
|
+
* The autonomous-drone shell, shared by the deploy command and
|
|
81
|
+
* arrival re-shelling: the frame's dog-brain (Pilot = 2 + quality)
|
|
82
|
+
* stands in for every attribute it lacks (RAW p.269-271).
|
|
83
|
+
*/
|
|
84
|
+
private static readonly DRONE_CARGO_KG;
|
|
85
|
+
deployDroneShell(item: Item, room: Room): NPC | null;
|
|
86
|
+
/** Drops a companion's shell and its roster entry. */
|
|
87
|
+
dismissCompanion(entry: (typeof this.companions)[number], reason: string): void;
|
|
88
|
+
/**
|
|
89
|
+
* An actor left the world (Scene.removeActor). For a companion shell
|
|
90
|
+
* that DIED (not a deliberate dismissal -- those set deathClaimed
|
|
91
|
+
* first and prune themselves), settle the wreckage: a drone's frame is
|
|
92
|
+
* wrecked where it fell, an agent derezzes (the deck already ate the
|
|
93
|
+
* damage), a spirit is banished outright.
|
|
94
|
+
*/
|
|
95
|
+
onActorRemoved(name: string): void;
|
|
96
|
+
/**
|
|
97
|
+
* Spirits with no services left depart once no exchange holds them
|
|
98
|
+
* (called from CombatExchange.finishExchange): the bargain is spent.
|
|
99
|
+
*/
|
|
100
|
+
settleSpiritServices(): void;
|
|
101
|
+
private _pursuitTimer?;
|
|
102
|
+
private readonly _pursuitInFlight;
|
|
103
|
+
private static readonly PURSUIT_TICK_MS;
|
|
104
|
+
private startPursuitHeartbeat;
|
|
105
|
+
stopPursuitHeartbeat(): void;
|
|
106
|
+
spurCompanionPursuits(): void;
|
|
107
|
+
/** Pre-travel: every shell folds, each with its own goodbye. */
|
|
108
|
+
foldCompanionsForTravel(): string[];
|
|
109
|
+
/** Post-arrival: re-shell what was deployed when you left (drones). */
|
|
110
|
+
unfoldCompanionsOnArrival(): string[];
|
|
111
|
+
/**
|
|
112
|
+
* Records a real transaction with a hub NPC: first contact opens the
|
|
113
|
+
* relationship at Loyalty 1 (a safeguard -- the hub cast is pre-seeded
|
|
114
|
+
* by seedHomeTurfContacts); gigs raise it a point each (cap 6);
|
|
115
|
+
* cumulative spend raises it at each full 1,000 nuyen (cap 3).
|
|
116
|
+
* Returns a player-facing line when something changed, else null.
|
|
117
|
+
*/
|
|
118
|
+
touchContact(name: string, kind: 'trade' | 'gig', spent?: number): string | null;
|
|
119
|
+
pendingSale?: {
|
|
120
|
+
itemName: string;
|
|
121
|
+
price: number;
|
|
122
|
+
fence: string;
|
|
123
|
+
haggled: boolean;
|
|
124
|
+
};
|
|
125
|
+
lifestyleTier: string;
|
|
126
|
+
rentDebt: number;
|
|
127
|
+
/** The active lifestyle tier's row (falls back to Squatter). */
|
|
128
|
+
get lifestyle(): ILifestyleTier;
|
|
129
|
+
/**
|
|
130
|
+
* Makes the hideout LOOK like what the rent buys: the room's description
|
|
131
|
+
* follows the active tier (player request -- an upgraded lifestyle read
|
|
132
|
+
* as the same windowless squat). Called wherever the tier moves: the
|
|
133
|
+
* lifestyle command, and the shortfall slide in returnToHub.
|
|
134
|
+
*/
|
|
135
|
+
syncHomeToLifestyle(): void;
|
|
136
|
+
private static readonly RESTOCK_CATEGORIES;
|
|
137
|
+
private _restockSnapshot;
|
|
138
|
+
/** Captures every restockable shelf item's blueprint (hub capture time). */
|
|
139
|
+
private snapshotVendorStock;
|
|
140
|
+
/** Refills empty shelves from the snapshot; returns how many came back. */
|
|
141
|
+
private restockVendorShelves;
|
|
142
|
+
/** The fence moves merchandise: anything sold to a fence is sold ON. */
|
|
143
|
+
private fenceSellsOn;
|
|
144
|
+
gigAvailable?: {
|
|
145
|
+
from: string;
|
|
146
|
+
to: string;
|
|
147
|
+
itemName: string;
|
|
148
|
+
itemDescription: string;
|
|
149
|
+
pay: number;
|
|
150
|
+
brief: string;
|
|
151
|
+
};
|
|
152
|
+
activeGig?: {
|
|
153
|
+
from: string;
|
|
154
|
+
to: string;
|
|
155
|
+
itemName: string;
|
|
156
|
+
pay: number;
|
|
157
|
+
};
|
|
158
|
+
private _gigPool;
|
|
159
|
+
private _gigIndex;
|
|
160
|
+
/** Rotates the gig on offer (skipped while one is already in hand). */
|
|
161
|
+
private advanceGig;
|
|
162
|
+
/**
|
|
163
|
+
* WORK FROM A RELATIONSHIP (see commands/ask.ts): a contact puts THEIR
|
|
164
|
+
* errand on the table. Their seeded gigs get first claim -- spliced
|
|
165
|
+
* out of the rotating pool, so work handed to you personally never
|
|
166
|
+
* reappears on the ambient board -- and when the pool holds nothing of
|
|
167
|
+
* theirs, the relationship synthesizes one: a sealed parcel to another
|
|
168
|
+
* hub local, priced off Connection (their reach IS the stakes) with a
|
|
169
|
+
* Loyalty kicker. Loyalty 5+ pays the family rate (+25%). The offer
|
|
170
|
+
* lands as gigAvailable: the existing "work" pickup and "give"
|
|
171
|
+
* delivery handle the rest unchanged.
|
|
172
|
+
*/
|
|
173
|
+
offerGigFrom(contactName: string): {
|
|
174
|
+
from: string;
|
|
175
|
+
to: string;
|
|
176
|
+
itemName: string;
|
|
177
|
+
itemDescription: string;
|
|
178
|
+
pay: number;
|
|
179
|
+
brief: string;
|
|
180
|
+
familyRate: boolean;
|
|
181
|
+
} | null;
|
|
182
|
+
fencedCategories: Set<string>;
|
|
183
|
+
private _rumorPool;
|
|
184
|
+
private _rumorIndex;
|
|
185
|
+
activeRumor?: string;
|
|
186
|
+
/** Rotates to the next rumor and plants it where NPCs will hear it. */
|
|
187
|
+
private advanceRumor;
|
|
25
188
|
/** The persistent hideout room -- go.ts's walk-home trigger checks it. */
|
|
26
189
|
get homeRoom(): Room | undefined;
|
|
27
190
|
private _pendingRunSeed?;
|
|
@@ -62,6 +225,7 @@ export default class Game {
|
|
|
62
225
|
*/
|
|
63
226
|
private connectHomeRoom;
|
|
64
227
|
get logBox(): blessed.Widgets.BoxElement;
|
|
228
|
+
get metaBox(): blessed.Widgets.BoxElement;
|
|
65
229
|
get inputBox(): blessed.Widgets.TextboxElement;
|
|
66
230
|
init(options: IMainGameConfig, screen: blessed.Widgets.Screen): Promise<string>;
|
|
67
231
|
/**
|
|
@@ -114,6 +278,19 @@ export default class Game {
|
|
|
114
278
|
* start -- you rode there, you arrive AT the job).
|
|
115
279
|
*/
|
|
116
280
|
private activateRunScene;
|
|
281
|
+
/**
|
|
282
|
+
* The needs check at every job departure (SR5e p.56 / p.172, scaled to
|
|
283
|
+
* job-cycle "days"). Fed AND slept since the last departure: edge
|
|
284
|
+
* refills and you head out sharp. Skip either: edge stays at whatever's
|
|
285
|
+
* left. Keep skipping: escalating fatigue (1S, 2S, 3S... per cycle),
|
|
286
|
+
* resisted Body + Willpower, landing as LOCKED stun no recovery touches
|
|
287
|
+
* until the need is met (Player.healStun / markFed / markSlept). A
|
|
288
|
+
* Sleep Regulator (augmentations.ts) halves the effective sleep debt.
|
|
289
|
+
* Fatigue is capped one box short of a knockout -- RAW would drop you,
|
|
290
|
+
* but collapsing INSIDE the departure transition would strand the
|
|
291
|
+
* session between scenes; "running on fumes" carries the spirit.
|
|
292
|
+
*/
|
|
293
|
+
private applyDepartureNeeds;
|
|
117
294
|
/**
|
|
118
295
|
* "travel": takes the arranged transport to the pending job (see
|
|
119
296
|
* commands/travel.ts). The player arrives AT the run's start room --
|
|
@@ -126,6 +303,25 @@ export default class Game {
|
|
|
126
303
|
close(): Promise<void>;
|
|
127
304
|
private initInputBox;
|
|
128
305
|
private initLogBox;
|
|
306
|
+
/**
|
|
307
|
+
* Scroll the log to its tail -- unless the player has paged up to read
|
|
308
|
+
* history (followBottom off), in which case their place is left alone.
|
|
309
|
+
* Every "new line arrived" site goes through here.
|
|
310
|
+
*/
|
|
311
|
+
followLog(): void;
|
|
312
|
+
/**
|
|
313
|
+
* The MECHANICS column (readability pass, player request: the log was
|
|
314
|
+
* a "wall of text"): dice anatomy and resource arithmetic land here
|
|
315
|
+
* (via Logger.meta) instead of the world log, so the narrative stays
|
|
316
|
+
* prose. A full-height COLUMN beside the world log, not a bottom
|
|
317
|
+
* strip -- the first playtest's 3-row ticker scrolled combat rolls
|
|
318
|
+
* away faster than they could be read. De-emphasis is the BLUE border
|
|
319
|
+
* -- gray is banned (ANSI bright-black, illegible on stock dark
|
|
320
|
+
* palettes). Follow-only (no keys); the full interleaved record lives
|
|
321
|
+
* in session.log. Roll lines wrap at the column width -- fine in a
|
|
322
|
+
* tall column. NO mouse (see initInputBox): never arm mouse tracking.
|
|
323
|
+
*/
|
|
324
|
+
private initMetaBox;
|
|
129
325
|
/**
|
|
130
326
|
* The HUD: a fixed strip between the log and the input box for the
|
|
131
327
|
* important real-time state -- condition tracks, armed/link status,
|