@maka/maka-cli 5.3.16 → 5.4.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/create.js +1 -1
- package/bundle/typescript/src/commands/create.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.d.ts +43 -0
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +131 -0
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/assense.d.ts +14 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/assense.js +79 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/assense.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/attack.d.ts +42 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js +224 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.d.ts +28 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js +101 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.d.ts +19 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js +149 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.d.ts +58 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +378 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/command-registry.d.ts +11 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/command-registry.js +8 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/command-registry.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/command.d.ts +6 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/command.js +4 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/command.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/drone.d.ts +15 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js +60 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/edge.d.ts +13 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/edge.js +31 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/edge.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/end-call.d.ts +6 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/end-call.js +27 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/end-call.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/equip.d.ts +4 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/equip.js +40 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/equip.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.d.ts +13 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js +43 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/give.js +7 -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 +11 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +115 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.d.ts +25 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +176 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/inv.d.ts +12 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js +39 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/jack.d.ts +17 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/jack.js +64 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/jack.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/kill.d.ts +10 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/kill.js +11 -33
- package/bundle/typescript/src/commands/game/sideQuest/commands/kill.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +35 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.d.ts +12 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.js +46 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/pan.d.ts +12 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/pan.js +55 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/pan.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.d.ts +9 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js +18 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/project.d.ts +19 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/project.js +54 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/project.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/read.js +6 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/read.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/reboot.d.ts +12 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/reboot.js +52 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/reboot.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/reload.d.ts +14 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/reload.js +40 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/reload.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.d.ts +15 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +59 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.js +23 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +20 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.d.ts +12 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +49 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/silent.d.ts +13 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js +50 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js +32 -11
- package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.d.ts +14 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js +65 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/stance.d.ts +12 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js +41 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/subdue.d.ts +21 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/subdue.js +43 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/subdue.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/surrender.d.ts +20 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/surrender.js +45 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/surrender.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.d.ts +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +80 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js +1 -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 +24 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/use.js +101 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/use.js.map +1 -1
- 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/npc-factory.js +7 -2
- package/bundle/typescript/src/commands/game/sideQuest/factories/npc-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/puzzle-factory.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/puzzle-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/room-factory.js +2 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/room-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.d.ts +8 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +138 -21
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.d.ts +119 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js +816 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +70 -9
- package/bundle/typescript/src/commands/game/sideQuest/game.js +403 -164
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/minigames/hack-minigame.d.ts +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/minigames/hack-minigame.js +101 -0
- package/bundle/typescript/src/commands/game/sideQuest/minigames/hack-minigame.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/minigames/lockpick-minigame.d.ts +15 -0
- package/bundle/typescript/src/commands/game/sideQuest/minigames/lockpick-minigame.js +95 -0
- package/bundle/typescript/src/commands/game/sideQuest/minigames/lockpick-minigame.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/door.d.ts +10 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/door.js +15 -2
- package/bundle/typescript/src/commands/game/sideQuest/models/door.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/inventory.d.ts +10 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/inventory.js +54 -4
- package/bundle/typescript/src/commands/game/sideQuest/models/inventory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/item.d.ts +41 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/item.js +106 -3
- package/bundle/typescript/src/commands/game/sideQuest/models/item.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +25 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +220 -47
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +213 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +525 -9
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.d.ts +75 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js +174 -6
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/room.d.ts +20 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js +39 -18
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +69 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +175 -2
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +80 -1
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +7 -2
- package/bundle/typescript/src/commands/game/sideQuest/types/player-equipment.d.ts +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/exit-seed.d.ts +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/item-seed.d.ts +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/npc-seed.d.ts +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/player-seed.d.ts +34 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/puzzle-seed.d.ts +15 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/room-seed.d.ts +3 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/scene-seed.d.ts +5 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/win-condition-seed.d.ts +15 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/win-condition-seed.js +2 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/win-condition-seed.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/abstracts.d.ts +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/abstracts.js +5 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/abstracts.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.d.ts +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.js +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/ui.d.ts +3 -0
- package/bundle/typescript/src/commands/game/sideQuest/ui.js +95 -5
- package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.d.ts +60 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.js +138 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.d.ts +143 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +328 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.d.ts +2 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.js +12 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/comm-style.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.d.ts +22 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.js +34 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.d.ts +36 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.js +92 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.d.ts +44 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +193 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pursuit.d.ts +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pursuit.js +36 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/pursuit.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +54 -7
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/set/global.sub.cmd.js +59 -5
- package/bundle/typescript/src/commands/set/global.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/tools/ai/ai.class.d.ts +35 -0
- package/bundle/typescript/src/tools/ai/ai.class.js +112 -0
- package/bundle/typescript/src/tools/ai/ai.class.js.map +1 -0
- package/bundle/typescript/src/tools/fsi/fsi.interfaces.d.ts +1 -0
- package/bundle/typescript/src/tools/fsi/fsi.interfaces.js.map +1 -1
- package/bundle/typescript/src/tools/https/https.class.d.ts +2 -1
- package/bundle/typescript/src/tools/https/https.class.js +43 -0
- package/bundle/typescript/src/tools/https/https.class.js.map +1 -1
- package/bundle/typescript/src/tools/https/https.interface.d.ts +8 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/models/room.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAK9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"room.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/models/room.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,15 @@ import { Logger } from '../utilities/logger.js';
|
|
|
3
3
|
import { Direction } from '../types/shared/direction-enum.js';
|
|
4
4
|
import Game from '../game.js';
|
|
5
5
|
import { AbstractScene } from '../types/shared/abstracts.js';
|
|
6
|
+
export interface ISceneWinCondition {
|
|
7
|
+
type: 'give' | 'possess';
|
|
8
|
+
item: string;
|
|
9
|
+
toNpc?: string;
|
|
10
|
+
rewardItem?: Item;
|
|
11
|
+
completionMessage: string;
|
|
12
|
+
/** Agreed pay in nuyen -- actually transferred on completion. */
|
|
13
|
+
payout?: number;
|
|
14
|
+
}
|
|
6
15
|
export interface ISceneConstructorConfig {
|
|
7
16
|
player: Player;
|
|
8
17
|
currency?: {
|
|
@@ -13,6 +22,7 @@ export interface ISceneConstructorConfig {
|
|
|
13
22
|
puzzles?: Puzzle[];
|
|
14
23
|
items?: Item[];
|
|
15
24
|
story: string;
|
|
25
|
+
winCondition?: ISceneWinCondition;
|
|
16
26
|
}
|
|
17
27
|
export declare class Scene extends AbstractScene {
|
|
18
28
|
story: string;
|
|
@@ -25,6 +35,10 @@ export declare class Scene extends AbstractScene {
|
|
|
25
35
|
protected rooms: Record<string, Room>;
|
|
26
36
|
private roomOwnership;
|
|
27
37
|
private itemOwnership;
|
|
38
|
+
private _worldEvents;
|
|
39
|
+
private readonly _maxWorldEvents;
|
|
40
|
+
private _winCondition?;
|
|
41
|
+
private _completed;
|
|
28
42
|
currency: {
|
|
29
43
|
type: string;
|
|
30
44
|
authorityRoomTags: string[];
|
|
@@ -32,6 +46,26 @@ export declare class Scene extends AbstractScene {
|
|
|
32
46
|
constructor(config: ISceneConstructorConfig);
|
|
33
47
|
initialize(game: Game): void;
|
|
34
48
|
updateExits(room: Room): void;
|
|
49
|
+
/**
|
|
50
|
+
* Refreshes the status box (condition monitor, call state). Needed as a
|
|
51
|
+
* Scene-level proxy because combat can be NPC-initiated -- the ui.ts
|
|
52
|
+
* input loop only refreshes status after a player-typed command, so an
|
|
53
|
+
* async NPC attack would otherwise leave stale damage on screen until
|
|
54
|
+
* the player's next keystroke. Optional-chained: harmless before the
|
|
55
|
+
* Game reference is wired (or under a partial test stub).
|
|
56
|
+
*/
|
|
57
|
+
updateStatus(): void;
|
|
58
|
+
private _playerExchangeActive;
|
|
59
|
+
beginPlayerExchange(): void;
|
|
60
|
+
endPlayerExchange(): void;
|
|
61
|
+
isPlayerExchangeActive(): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* CombatExchange.finishExchange() -> here -> the fight autopilot (see
|
|
64
|
+
* utilities/auto-fight.ts). Optional-chained like updateStatus: harmless
|
|
65
|
+
* before the Game reference is wired, or under a partial test stub, or
|
|
66
|
+
* for NPC-vs-NPC fights (the autopilot ignores those itself).
|
|
67
|
+
*/
|
|
68
|
+
notifyExchangeSettled(combatants: (Player | NPC)[]): void;
|
|
35
69
|
endGame(): Promise<void>;
|
|
36
70
|
isInitalized(): boolean;
|
|
37
71
|
updateInventory(playerInventory: Inventory): void;
|
|
@@ -53,6 +87,41 @@ export declare class Scene extends AbstractScene {
|
|
|
53
87
|
getCharacterLocation(character: Player | NPC): Room | undefined;
|
|
54
88
|
determineStartRoom(): Room;
|
|
55
89
|
getPlayer(): Player;
|
|
90
|
+
isCompleted(): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Set once synthesis has resolved the win condition's rewardItem (if any)
|
|
93
|
+
* to a real Item -- the constructor runs before items exist, so this
|
|
94
|
+
* can't be passed in up front.
|
|
95
|
+
*/
|
|
96
|
+
setWinCondition(condition: ISceneWinCondition): void;
|
|
97
|
+
getWinCondition(): ISceneWinCondition | undefined;
|
|
98
|
+
/**
|
|
99
|
+
* True when `actorName` is the recipient of a 'give' win condition (the
|
|
100
|
+
* job-giver the player needs to deliver to). Used to stop that same actor
|
|
101
|
+
* from completing their own job by autonomously taking the delivery item
|
|
102
|
+
* from their own room -- possession-based completion is meant to reward
|
|
103
|
+
* a genuine hand-off (the player's own give/call, or a *different* NPC
|
|
104
|
+
* helping out), not the job-giver picking up their own reward.
|
|
105
|
+
*/
|
|
106
|
+
isWinConditionTarget(actorName: string): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Checks whether `possessorName` now holding `itemName` satisfies this
|
|
109
|
+
* scene's win condition -- deliberately possession-based, not tied to a
|
|
110
|
+
* specific verb. For a 'give' condition, the player handing it over and
|
|
111
|
+
* an NPC grabbing it under their own initiative both count: if the target
|
|
112
|
+
* NPC ends up with what they wanted, the job is done either way. For a
|
|
113
|
+
* 'possess' condition (no delivery target -- just a macguffin the player
|
|
114
|
+
* needs to get their hands on), it's satisfied as soon as the player
|
|
115
|
+
* holds it. On a match, grants the optional reward, marks the scene
|
|
116
|
+
* completed, and announces it directly to the player's screen (not just
|
|
117
|
+
* via the calling command's own return value), since the trigger may be
|
|
118
|
+
* an NPC's autonomous action the player never typed themselves. Returns
|
|
119
|
+
* null if there's no win condition, it's already been met, or this
|
|
120
|
+
* doesn't satisfy it.
|
|
121
|
+
*/
|
|
122
|
+
checkWinCondition(itemName: string, possessorName: string): string | null;
|
|
123
|
+
addWorldEvent(event: string): void;
|
|
124
|
+
getWorldEventsSummary(): string;
|
|
56
125
|
getRooms(): Record<string, Room>;
|
|
57
126
|
listRooms(): string[];
|
|
58
127
|
getRoom(roomName: string): Room;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { Item } from './_index.js';
|
|
2
|
+
import { capitalCase } from 'change-case';
|
|
1
3
|
import { Logger } from '../utilities/logger.js';
|
|
2
|
-
import { Category } from '../types/shared/item-enum.js';
|
|
4
|
+
import { Category, Size, Rating } from '../types/shared/item-enum.js';
|
|
3
5
|
import { AbstractScene } from '../types/shared/abstracts.js';
|
|
4
6
|
export class Scene extends AbstractScene {
|
|
5
7
|
story;
|
|
@@ -12,6 +14,13 @@ export class Scene extends AbstractScene {
|
|
|
12
14
|
rooms = {};
|
|
13
15
|
roomOwnership = new Map(); // Room name → owner name
|
|
14
16
|
itemOwnership = new Map(); // Item name → owner name
|
|
17
|
+
// A world-wide "grapevine" of significant events, independent of the
|
|
18
|
+
// room-scoped see/hear event mesh -- lets NPCs react to things they
|
|
19
|
+
// never directly witnessed (a kill, a theft, a solved puzzle elsewhere).
|
|
20
|
+
_worldEvents = [];
|
|
21
|
+
_maxWorldEvents = 100;
|
|
22
|
+
_winCondition;
|
|
23
|
+
_completed = false;
|
|
15
24
|
currency;
|
|
16
25
|
constructor(config) {
|
|
17
26
|
super();
|
|
@@ -23,6 +32,7 @@ export class Scene extends AbstractScene {
|
|
|
23
32
|
authorityRoomTags: ['Bank'],
|
|
24
33
|
};
|
|
25
34
|
this.residenceTiers = config.residenceTiers ?? [];
|
|
35
|
+
this._winCondition = config.winCondition;
|
|
26
36
|
this.logger.write(`Scene initialized.`);
|
|
27
37
|
this.validateLifestyleSupport();
|
|
28
38
|
this.validatePuzzleRequirements(config.puzzles ?? [], config.items ?? []);
|
|
@@ -36,6 +46,42 @@ export class Scene extends AbstractScene {
|
|
|
36
46
|
updateExits(room) {
|
|
37
47
|
this.game.updateExits(room);
|
|
38
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Refreshes the status box (condition monitor, call state). Needed as a
|
|
51
|
+
* Scene-level proxy because combat can be NPC-initiated -- the ui.ts
|
|
52
|
+
* input loop only refreshes status after a player-typed command, so an
|
|
53
|
+
* async NPC attack would otherwise leave stale damage on screen until
|
|
54
|
+
* the player's next keystroke. Optional-chained: harmless before the
|
|
55
|
+
* Game reference is wired (or under a partial test stub).
|
|
56
|
+
*/
|
|
57
|
+
updateStatus() {
|
|
58
|
+
this.game?.updateStatus?.();
|
|
59
|
+
}
|
|
60
|
+
// True while a combat exchange INVOLVING THE PLAYER is mid-resolution
|
|
61
|
+
// (set/cleared by CombatExchange). The player can't "go" while lead is
|
|
62
|
+
// flying -- found via a real session where the player slipped out of the
|
|
63
|
+
// room between an NPC attack's narration beats, mid-exchange. Cleared
|
|
64
|
+
// BEFORE the between-exchanges pause, which stays the legitimate window
|
|
65
|
+
// to flee or heal. NPC-vs-NPC fights elsewhere never set this.
|
|
66
|
+
_playerExchangeActive = false;
|
|
67
|
+
beginPlayerExchange() {
|
|
68
|
+
this._playerExchangeActive = true;
|
|
69
|
+
}
|
|
70
|
+
endPlayerExchange() {
|
|
71
|
+
this._playerExchangeActive = false;
|
|
72
|
+
}
|
|
73
|
+
isPlayerExchangeActive() {
|
|
74
|
+
return this._playerExchangeActive;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* CombatExchange.finishExchange() -> here -> the fight autopilot (see
|
|
78
|
+
* utilities/auto-fight.ts). Optional-chained like updateStatus: harmless
|
|
79
|
+
* before the Game reference is wired, or under a partial test stub, or
|
|
80
|
+
* for NPC-vs-NPC fights (the autopilot ignores those itself).
|
|
81
|
+
*/
|
|
82
|
+
notifyExchangeSettled(combatants) {
|
|
83
|
+
this.game?.autoFight?.onExchangeSettled?.(combatants);
|
|
84
|
+
}
|
|
39
85
|
async endGame() {
|
|
40
86
|
await this.game.close();
|
|
41
87
|
}
|
|
@@ -43,7 +89,7 @@ export class Scene extends AbstractScene {
|
|
|
43
89
|
return this.game.initialized;
|
|
44
90
|
}
|
|
45
91
|
updateInventory(playerInventory) {
|
|
46
|
-
this.game.updateInventory(playerInventory);
|
|
92
|
+
this.game.updateInventory(playerInventory, capitalCase(this.getCurrencyType()));
|
|
47
93
|
}
|
|
48
94
|
setOwner(entity, owner) {
|
|
49
95
|
if ('addItem' in entity) {
|
|
@@ -104,6 +150,25 @@ export class Scene extends AbstractScene {
|
|
|
104
150
|
}
|
|
105
151
|
}
|
|
106
152
|
}
|
|
153
|
+
// Equipped gear falls too -- NPCs auto-equip their weapons/armor at
|
|
154
|
+
// synthesis (see scene-factory.ts), and a dead body's worn jacket and
|
|
155
|
+
// holstered pistol are exactly the loot a runner expects to strip.
|
|
156
|
+
// Without this, everything an NPC had equipped would silently vanish
|
|
157
|
+
// from the world on death.
|
|
158
|
+
if (room && actor.equipment) {
|
|
159
|
+
for (const group of Object.values(actor.equipment)) {
|
|
160
|
+
if (!group)
|
|
161
|
+
continue;
|
|
162
|
+
for (const [slot, item] of Object.entries(group)) {
|
|
163
|
+
if (item) {
|
|
164
|
+
room.inventory.addItem(item);
|
|
165
|
+
group[slot] = null;
|
|
166
|
+
this.logger.write(`${actor.name} dropped equipped ${item.name} into ${room.name} upon removal.`);
|
|
167
|
+
actor.performAction(`on death drops`, item.name);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
107
172
|
room.removeActor(actor);
|
|
108
173
|
this.actors.delete(name);
|
|
109
174
|
this.logger.write(`Removed actor: ${name}`);
|
|
@@ -202,6 +267,114 @@ export class Scene extends AbstractScene {
|
|
|
202
267
|
getPlayer() {
|
|
203
268
|
return this.player;
|
|
204
269
|
}
|
|
270
|
+
isCompleted() {
|
|
271
|
+
return this._completed;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Set once synthesis has resolved the win condition's rewardItem (if any)
|
|
275
|
+
* to a real Item -- the constructor runs before items exist, so this
|
|
276
|
+
* can't be passed in up front.
|
|
277
|
+
*/
|
|
278
|
+
setWinCondition(condition) {
|
|
279
|
+
this._winCondition = condition;
|
|
280
|
+
}
|
|
281
|
+
getWinCondition() {
|
|
282
|
+
return this._winCondition;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* True when `actorName` is the recipient of a 'give' win condition (the
|
|
286
|
+
* job-giver the player needs to deliver to). Used to stop that same actor
|
|
287
|
+
* from completing their own job by autonomously taking the delivery item
|
|
288
|
+
* from their own room -- possession-based completion is meant to reward
|
|
289
|
+
* a genuine hand-off (the player's own give/call, or a *different* NPC
|
|
290
|
+
* helping out), not the job-giver picking up their own reward.
|
|
291
|
+
*/
|
|
292
|
+
isWinConditionTarget(actorName) {
|
|
293
|
+
return this._winCondition?.type === 'give'
|
|
294
|
+
&& this._winCondition.toNpc?.toLowerCase() === actorName.toLowerCase();
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Checks whether `possessorName` now holding `itemName` satisfies this
|
|
298
|
+
* scene's win condition -- deliberately possession-based, not tied to a
|
|
299
|
+
* specific verb. For a 'give' condition, the player handing it over and
|
|
300
|
+
* an NPC grabbing it under their own initiative both count: if the target
|
|
301
|
+
* NPC ends up with what they wanted, the job is done either way. For a
|
|
302
|
+
* 'possess' condition (no delivery target -- just a macguffin the player
|
|
303
|
+
* needs to get their hands on), it's satisfied as soon as the player
|
|
304
|
+
* holds it. On a match, grants the optional reward, marks the scene
|
|
305
|
+
* completed, and announces it directly to the player's screen (not just
|
|
306
|
+
* via the calling command's own return value), since the trigger may be
|
|
307
|
+
* an NPC's autonomous action the player never typed themselves. Returns
|
|
308
|
+
* null if there's no win condition, it's already been met, or this
|
|
309
|
+
* doesn't satisfy it.
|
|
310
|
+
*/
|
|
311
|
+
checkWinCondition(itemName, possessorName) {
|
|
312
|
+
const condition = this._winCondition;
|
|
313
|
+
if (!condition || this._completed)
|
|
314
|
+
return null;
|
|
315
|
+
if (condition.item.toLowerCase() !== itemName.toLowerCase()) {
|
|
316
|
+
return null;
|
|
317
|
+
}
|
|
318
|
+
const satisfied = condition.type === 'give'
|
|
319
|
+
? condition.toNpc?.toLowerCase() === possessorName.toLowerCase()
|
|
320
|
+
: possessorName.toLowerCase() === this.player.name.toLowerCase();
|
|
321
|
+
if (!satisfied)
|
|
322
|
+
return null;
|
|
323
|
+
this._completed = true;
|
|
324
|
+
if (condition.rewardItem) {
|
|
325
|
+
this.player.addInventory(condition.rewardItem);
|
|
326
|
+
this.updateInventory(this.player.inventory);
|
|
327
|
+
}
|
|
328
|
+
// The agreed pay actually lands -- what the fixer promised (his AI
|
|
329
|
+
// prompt is told this exact figure, see npc.ts) is what gets paid.
|
|
330
|
+
// Payments accumulate on ONE certified credstick across jobs: minting
|
|
331
|
+
// a same-named stick per job would silently overwrite the previous one
|
|
332
|
+
// in the name-keyed inventory.
|
|
333
|
+
let paymentNote = '';
|
|
334
|
+
if (condition.payout && condition.payout > 0) {
|
|
335
|
+
const PAYSTICK_NAME = 'Certified Credstick (job payments)';
|
|
336
|
+
let paystick = this.player.inventory.getAllItems().find(i => i.name === PAYSTICK_NAME);
|
|
337
|
+
if (!paystick) {
|
|
338
|
+
paystick = new Item({
|
|
339
|
+
name: PAYSTICK_NAME,
|
|
340
|
+
description: 'A matte-black certified credstick. Every job that pays out lands here, clean.',
|
|
341
|
+
size: Size.Tiny, category: Category.Credstick,
|
|
342
|
+
shape: 'Rectangle', color: 'Matte Black', texture: 'Smooth',
|
|
343
|
+
rating: Rating.Standard, weight: 0.05, transferable: true,
|
|
344
|
+
});
|
|
345
|
+
try {
|
|
346
|
+
this.player.addInventory(paystick);
|
|
347
|
+
}
|
|
348
|
+
catch {
|
|
349
|
+
paystick = undefined; // over the carry cap somehow -- log, don't crash the win
|
|
350
|
+
this.logger.error(`Could not hand the player their payment credstick (carry weight).`);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
if (paystick) {
|
|
354
|
+
paystick.addCurrency(condition.payout);
|
|
355
|
+
this.updateInventory(this.player.inventory);
|
|
356
|
+
this.logger.write(`Job payout: ${condition.payout} nuyen credited to "${PAYSTICK_NAME}".`);
|
|
357
|
+
paymentNote = `\nPayment received: ${condition.payout}¥, certified. It's on your stick.`;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
this.addWorldEvent(`${possessorName} ended up with ${itemName} -- the job is done.`);
|
|
361
|
+
this.logger.write(`Scene win condition met: "${possessorName}" ended up with "${itemName}".`);
|
|
362
|
+
const banner = `${condition.completionMessage}${paymentNote}\n\n=== JOB COMPLETE ===\nType "continue" to take on a new, tougher job, or "quit" to stop here.`;
|
|
363
|
+
this.logger.logWithColor(banner, 'green');
|
|
364
|
+
return banner;
|
|
365
|
+
}
|
|
366
|
+
addWorldEvent(event) {
|
|
367
|
+
this._worldEvents.push(event);
|
|
368
|
+
if (this._worldEvents.length > this._maxWorldEvents) {
|
|
369
|
+
this._worldEvents.shift();
|
|
370
|
+
}
|
|
371
|
+
this.logger.write(`World event: ${event}`);
|
|
372
|
+
}
|
|
373
|
+
getWorldEventsSummary() {
|
|
374
|
+
if (this._worldEvents.length === 0)
|
|
375
|
+
return 'Nothing notable has happened elsewhere yet.';
|
|
376
|
+
return `Word on the street (things that happened elsewhere in the world):\n${this._worldEvents.map((e, i) => ` ${i + 1}. ${e}`).join('\n')}`;
|
|
377
|
+
}
|
|
205
378
|
getRooms() {
|
|
206
379
|
return this.rooms;
|
|
207
380
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/models/scene.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scene.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/models/scene.ts"],"names":[],"mappings":"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"}
|
|
@@ -236,6 +236,80 @@
|
|
|
236
236
|
"currencyAmount": 0,
|
|
237
237
|
"room": "Barrens Apartment"
|
|
238
238
|
},
|
|
239
|
+
{
|
|
240
|
+
"name": "Street Doc's Medkit",
|
|
241
|
+
"description": "A scuffed hard-shell first aid kit, restocked by someone who knows what gunshot wounds actually need.",
|
|
242
|
+
"size": "Small",
|
|
243
|
+
"category": "Medical",
|
|
244
|
+
"shape": "Rectangle",
|
|
245
|
+
"color": "White",
|
|
246
|
+
"texture": "Scuffed",
|
|
247
|
+
"rating": "Standard",
|
|
248
|
+
"weight": 1,
|
|
249
|
+
"room": "Redmond Safehouse"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"name": "Battered Grimoire",
|
|
253
|
+
"description": "A water-stained spellbook, its margins crowded with a dead mage's handwriting. The formulas for Manabolt, Heal, and Armor are still legible.",
|
|
254
|
+
"details": "The legible formulas: Manabolt (hurl raw mana at a target -- armor won't save them), Heal (knit your own wounds closed), Armor (a sustained protective weave). Every casting exacts drain from the caster.",
|
|
255
|
+
"size": "Small",
|
|
256
|
+
"category": "Grimoire",
|
|
257
|
+
"shape": "Book",
|
|
258
|
+
"color": "Faded Black",
|
|
259
|
+
"texture": "Water-Stained Leather",
|
|
260
|
+
"rating": "Common",
|
|
261
|
+
"weight": 1.5,
|
|
262
|
+
"room": "Barrens Apartment"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"name": "Spare Clip",
|
|
266
|
+
"description": "A boxy magazine of 10 rounds, factory-wrapped. Fits most street-caliber sidearms.",
|
|
267
|
+
"size": "Tiny",
|
|
268
|
+
"category": "Ammunition",
|
|
269
|
+
"shape": "Rectangle",
|
|
270
|
+
"color": "Gunmetal",
|
|
271
|
+
"texture": "Oiled Steel",
|
|
272
|
+
"rating": "Common",
|
|
273
|
+
"weight": 0.3,
|
|
274
|
+
"room": "Redmond Safehouse"
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"name": "Kamikaze Stim Patch",
|
|
278
|
+
"description": "A dermal patch in crinkled foil, the chem cocktail inside promising clarity now and a bill later.",
|
|
279
|
+
"size": "Tiny",
|
|
280
|
+
"category": "StimPatch",
|
|
281
|
+
"shape": "Square",
|
|
282
|
+
"color": "Warning Orange",
|
|
283
|
+
"texture": "Foil",
|
|
284
|
+
"rating": "Standard",
|
|
285
|
+
"weight": 0.05,
|
|
286
|
+
"room": "Redmond Safehouse"
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"name": "Jade Focus",
|
|
290
|
+
"description": "A worn jade pendant on a leather cord. It hums faintly against the skin, hungry to channel something.",
|
|
291
|
+
"size": "Tiny",
|
|
292
|
+
"category": "Focus",
|
|
293
|
+
"shape": "Pendant",
|
|
294
|
+
"color": "Jade Green",
|
|
295
|
+
"texture": "Polished Stone",
|
|
296
|
+
"rating": "Standard",
|
|
297
|
+
"weight": 0.1,
|
|
298
|
+
"room": "Redmond Safehouse"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"name": "Card Sharp's Notebook",
|
|
302
|
+
"description": "A battered notebook, pages soft with handling, filled with a card sharp's private notes on the Lucky Chummer's dealers.",
|
|
303
|
+
"size": "Small",
|
|
304
|
+
"category": "Book",
|
|
305
|
+
"shape": "Rectangle",
|
|
306
|
+
"color": "Brown",
|
|
307
|
+
"texture": "Worn Leather",
|
|
308
|
+
"rating": "Common",
|
|
309
|
+
"weight": 0.3,
|
|
310
|
+
"room": "Redmond Safehouse",
|
|
311
|
+
"details": "A recurring line is underlined twice: 'When the house won't give you an edge, you make your own -- stack the deck, and let them think it's luck.'"
|
|
312
|
+
},
|
|
239
313
|
{
|
|
240
314
|
"name": "Ares Light Fire 75",
|
|
241
315
|
"description": "A small, concealable pistol favored by shadowrunners on a budget.",
|
|
@@ -276,6 +350,11 @@
|
|
|
276
350
|
"hobbyTags": ["Gambling", "Card Tricks"],
|
|
277
351
|
"room": "Lucky Chummer"
|
|
278
352
|
}
|
|
279
|
-
]
|
|
353
|
+
],
|
|
354
|
+
"winCondition": {
|
|
355
|
+
"type": "possess",
|
|
356
|
+
"item": "Krow's Datachip",
|
|
357
|
+
"completionMessage": "The datachip is yours. Krow's grip on the Lucky Chummer just loosened -- whatever you do with it next, chummer, it's your move now."
|
|
358
|
+
}
|
|
280
359
|
}
|
|
281
360
|
|
|
@@ -300,7 +300,7 @@
|
|
|
300
300
|
"texture": "Worn Leather",
|
|
301
301
|
"rating": "Common",
|
|
302
302
|
"weight": 0.6,
|
|
303
|
-
"room": "
|
|
303
|
+
"room": "Obsidian Lounge",
|
|
304
304
|
"details": "A note in the margins reads: 'The city breathes through forgotten cracks — bricks that give way, alleys that lead nowhere... and doors with no handles. The urban key is awareness.'"
|
|
305
305
|
},
|
|
306
306
|
{
|
|
@@ -392,6 +392,11 @@
|
|
|
392
392
|
"hobbyTags": ["Urban Exploration", "Smuggling"],
|
|
393
393
|
"room": "Drowned Alley"
|
|
394
394
|
}
|
|
395
|
-
]
|
|
395
|
+
],
|
|
396
|
+
"winCondition": {
|
|
397
|
+
"type": "possess",
|
|
398
|
+
"item": "Encrypted Credstick",
|
|
399
|
+
"completionMessage": "The vault's contents are in your hands. Whatever blackmail material Rainwalker was hoarding, its leverage now belongs to whoever holds this credstick -- and that's you."
|
|
400
|
+
}
|
|
396
401
|
}
|
|
397
402
|
|
|
@@ -1,8 +1,42 @@
|
|
|
1
1
|
import { LifestyleChoice } from './lifestyle-seed.js';
|
|
2
2
|
import { IItemSeedJson } from './item-seed.js';
|
|
3
|
+
/**
|
|
4
|
+
* Optional Shadowrun-style combat attributes (see Player's combat fields
|
|
5
|
+
* for the defaults applied when omitted). Street-level runners sit around
|
|
6
|
+
* 3-4 in everything; a hardened enforcer 5-6; a soft civilian 1-2.
|
|
7
|
+
*/
|
|
8
|
+
export interface ICombatSeedJson {
|
|
9
|
+
body?: number;
|
|
10
|
+
agility?: number;
|
|
11
|
+
reaction?: number;
|
|
12
|
+
combatSkill?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Innate magical talent. Omit (or 0) for the mundane majority; 3-6 makes
|
|
15
|
+
* an Awakened mage/shaman who knows every spell without needing any
|
|
16
|
+
* formula or grimoire, casting from raw talent.
|
|
17
|
+
*/
|
|
18
|
+
magic?: number;
|
|
19
|
+
/** Melee/unarmed damage and carrying capacity. */
|
|
20
|
+
strength?: number;
|
|
21
|
+
/** Stun track size and drain resistance. */
|
|
22
|
+
willpower?: number;
|
|
23
|
+
/** First aid effectiveness and hacking. */
|
|
24
|
+
logic?: number;
|
|
25
|
+
/** Defense (half weight) and perception. */
|
|
26
|
+
intuition?: number;
|
|
27
|
+
/** Social presence. */
|
|
28
|
+
charisma?: number;
|
|
29
|
+
/** Luck pool, burned to push key strikes. */
|
|
30
|
+
edge?: number;
|
|
31
|
+
/** Technomancer talent: the Matrix with no deck, all Matrix damage as real stun. */
|
|
32
|
+
resonance?: number;
|
|
33
|
+
/** Physical adept: magic channeled into meat combat -- no spells, no projection. */
|
|
34
|
+
adept?: boolean;
|
|
35
|
+
}
|
|
3
36
|
export interface IPlayerSeedJson {
|
|
4
37
|
name: string;
|
|
5
38
|
startLocation: string;
|
|
6
39
|
lifestyleChoices: LifestyleChoice[];
|
|
7
40
|
startingItems?: IItemSeedJson[];
|
|
41
|
+
combat?: ICombatSeedJson;
|
|
8
42
|
}
|