@maka/maka-cli 5.6.0 → 5.7.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 +17 -1
- 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 +79 -0
- 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 +193 -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 +10 -3
- 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 +12 -4
- 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 +277 -44
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
- 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 +4 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +15 -11
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +3 -3
- 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 +62 -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/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 +5 -2
- 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 +6 -2
- 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/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 +131 -4
- 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 +115 -0
- package/bundle/typescript/src/commands/game/sideQuest/game.js +464 -25
- 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.js +70 -7
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +109 -4
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +423 -39
- 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/scene.d.ts +9 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +41 -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 +50 -3
- 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 +25 -14
- package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +100 -10
- 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/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 +84 -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/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/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/package.json +2 -2
|
@@ -4,28 +4,73 @@ import { rollPool, formatRoll } from '../utilities/dice.js';
|
|
|
4
4
|
export class UseCommand extends Command {
|
|
5
5
|
static verb = 'use';
|
|
6
6
|
static description = 'Use an item. A Medical item (medkit, stim patch) heals your wounds and is consumed.';
|
|
7
|
+
/** Set by the eat/drink subclasses: what the verb is FOR. Lets "eat
|
|
8
|
+
* noodles" find the Bowl of Laksa -- a real session ordered noodles,
|
|
9
|
+
* got served the bowl, then couldn't eat it because "noodles" isn't
|
|
10
|
+
* the item's exact name. */
|
|
11
|
+
preferredCategory;
|
|
12
|
+
verbNoun = 'use';
|
|
7
13
|
async execute(args) {
|
|
8
14
|
return this.use(args);
|
|
9
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Resolution ladder: exact name -> unique substring of a carried item's
|
|
18
|
+
* name ("laksa" -> Bowl of Laksa) -> for eat/drink, whatever food/drink
|
|
19
|
+
* you're actually carrying (exactly one: that's what you meant; several:
|
|
20
|
+
* ask). Menu-speak ("eat noodles") shouldn't lose to item naming.
|
|
21
|
+
*/
|
|
22
|
+
resolveItem(itemName) {
|
|
23
|
+
const carried = this.actor.inventory.getAllItems();
|
|
24
|
+
if (itemName) {
|
|
25
|
+
const exact = this.actor.inventory.getItem(itemName);
|
|
26
|
+
if (exact)
|
|
27
|
+
return { item: exact };
|
|
28
|
+
const partial = carried.filter(i => i.name.toLowerCase().includes(itemName));
|
|
29
|
+
if (partial.length === 1)
|
|
30
|
+
return { item: partial[0] };
|
|
31
|
+
if (partial.length > 1) {
|
|
32
|
+
return { error: `Which one -- ${partial.map(i => i.name).join(', ')}?` };
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (this.preferredCategory) {
|
|
36
|
+
const ofKind = carried.filter(i => i.category === this.preferredCategory);
|
|
37
|
+
if (ofKind.length === 1)
|
|
38
|
+
return { item: ofKind[0] };
|
|
39
|
+
if (ofKind.length > 1) {
|
|
40
|
+
return { error: `You're carrying ${ofKind.map(i => i.name).join(' and ')} -- which?` };
|
|
41
|
+
}
|
|
42
|
+
return { error: itemName ? `No "${itemName}" in your pack -- and nothing else to ${this.verbNoun}, either.` : `Nothing in your pack to ${this.verbNoun}.` };
|
|
43
|
+
}
|
|
44
|
+
return { error: `You don't have the ${itemName} to use.` };
|
|
45
|
+
}
|
|
10
46
|
use(args) {
|
|
11
|
-
|
|
12
|
-
//
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return
|
|
47
|
+
// Using gear is hands-and-mouth work: the pack, the patches, and the
|
|
48
|
+
// noodles are all wherever the BODY is (a jumped-in drone "eating"
|
|
49
|
+
// would chew food streets away from its own rotors).
|
|
50
|
+
if (this.actor.plane !== 'meat') {
|
|
51
|
+
return this.actor.plane === 'drone'
|
|
52
|
+
? `The ${this.actor.riggedDrone?.name ?? 'drone'} doesn't have a mouth or hands -- your gear is with your body. "jump" back first.`
|
|
53
|
+
: `Your gear is with your body. Come back to it first.`;
|
|
16
54
|
}
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
if (!
|
|
20
|
-
this.logger.write(`UseCommand: ${
|
|
21
|
-
return `You don't have the ${itemName} to use.`;
|
|
55
|
+
const itemName = args.join(' ').toLowerCase();
|
|
56
|
+
const resolved = this.resolveItem(itemName);
|
|
57
|
+
if (!resolved.item) {
|
|
58
|
+
this.logger.write(`UseCommand: ${this.actor.name} attempted to ${this.verbNoun} "${itemName}" -- ${resolved.error}`);
|
|
59
|
+
return resolved.error ?? `You don't have the ${itemName} to use.`;
|
|
22
60
|
}
|
|
61
|
+
const itemToUse = resolved.item;
|
|
23
62
|
if (itemToUse.category === Category.Medical) {
|
|
24
63
|
return this.applyFirstAid(itemToUse);
|
|
25
64
|
}
|
|
26
65
|
if (itemToUse.category === Category.StimPatch) {
|
|
27
66
|
return this.applyStim(itemToUse);
|
|
28
67
|
}
|
|
68
|
+
if (itemToUse.category === Category.Food) {
|
|
69
|
+
return this.eat(itemToUse);
|
|
70
|
+
}
|
|
71
|
+
if (itemToUse.category === Category.Drink) {
|
|
72
|
+
return this.drink(itemToUse);
|
|
73
|
+
}
|
|
29
74
|
// If the item has a 'use' method, call it and use the return value in the response.
|
|
30
75
|
if (typeof itemToUse.use === 'function') {
|
|
31
76
|
const result = itemToUse.use();
|
|
@@ -64,7 +109,8 @@ export class UseCommand extends Command {
|
|
|
64
109
|
// much each hit actually closes (hits + 1 + quality below).
|
|
65
110
|
const quality = kit.qualityBonus;
|
|
66
111
|
const firstAid = this.actor.skillRating('first-aid');
|
|
67
|
-
|
|
112
|
+
// Quick Healer (p.77): +2 on every healing test made on or by you.
|
|
113
|
+
const roll = rollPool(Math.max(1, this.actor.logic + (firstAid > 0 ? firstAid : -1) + this.actor.qualityBonus('healing') + this.actor.woundModifier));
|
|
68
114
|
const healed = this.actor.healDamage(roll.hits + 1 + quality);
|
|
69
115
|
this.actor.inventory.removeItem(kit.name);
|
|
70
116
|
this.logger.write(`UseCommand: ${this.actor.name} used ${kit.name} and healed ${healed} boxes (${this.actor.damageTaken}/${this.actor.maxConditionBoxes}).`);
|
|
@@ -79,6 +125,67 @@ export class UseCommand extends Command {
|
|
|
79
125
|
` (The ${kit.name} is spent.)`,
|
|
80
126
|
].join('\n');
|
|
81
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Hot food is the slow, cheap, pleasant road to stun recovery -- the
|
|
130
|
+
* noodle-stand alternative to a stim's crash or a nap's downtime. Flat
|
|
131
|
+
* 2 + quality boxes, no roll, always worth what you paid. Eating while
|
|
132
|
+
* fine isn't refused (a good meal needs no justification); it just
|
|
133
|
+
* doesn't heal what isn't hurt.
|
|
134
|
+
*/
|
|
135
|
+
eat(food) {
|
|
136
|
+
if (this.actor.isIncapacitated()) {
|
|
137
|
+
return `You're past the help of a good meal.`;
|
|
138
|
+
}
|
|
139
|
+
// The meal counts (needs system, SR5e p.56/p.172): hunger resets,
|
|
140
|
+
// hunger-locked fatigue unlocks -- BEFORE the healing below, so the
|
|
141
|
+
// meal itself can start clearing the very boxes it just released.
|
|
142
|
+
this.actor.markFed();
|
|
143
|
+
const recovered = this.actor.healStun(2 + food.qualityBonus);
|
|
144
|
+
this.actor.inventory.removeItem(food.name);
|
|
145
|
+
this.actor.performAction('eats', food.name);
|
|
146
|
+
this.scene.addWorldEvent(`${this.actor.name} ate ${food.name}.`);
|
|
147
|
+
this.scene.updateInventory(this.scene.getPlayer().inventory);
|
|
148
|
+
this.scene.updateStatus();
|
|
149
|
+
this.logger.write(`UseCommand: ${this.actor.name} ate ${food.name}: +${recovered} stun (${this.actor.stunTaken}/${this.actor.maxStunBoxes}).`);
|
|
150
|
+
if (recovered > 0) {
|
|
151
|
+
return [
|
|
152
|
+
`You work through the ${food.name}, and the static drains out with the steam.`,
|
|
153
|
+
` ${recovered} stun recovered: ${this.actor.stunSummary()}`,
|
|
154
|
+
].join('\n');
|
|
155
|
+
}
|
|
156
|
+
return `You take your time with the ${food.name}. Nothing hurt, nothing healed -- just a good meal in a bad decade.`;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* A drink pours LIQUID COURAGE: +1 die on the next social roll
|
|
160
|
+
* (persuade, haggle, bluff -- they call consumeLiquidCourage). It
|
|
161
|
+
* doesn't stack; drinking on top of an unspent drink is just one too
|
|
162
|
+
* many, and costs a stun box.
|
|
163
|
+
*/
|
|
164
|
+
drink(drink) {
|
|
165
|
+
if (this.actor.isIncapacitated()) {
|
|
166
|
+
return `You're past drinking.`;
|
|
167
|
+
}
|
|
168
|
+
this.actor.inventory.removeItem(drink.name);
|
|
169
|
+
this.actor.performAction('drinks', drink.name);
|
|
170
|
+
this.scene.addWorldEvent(`${this.actor.name} had a ${drink.name}.`);
|
|
171
|
+
this.scene.updateInventory(this.scene.getPlayer().inventory);
|
|
172
|
+
if (this.actor.liquidCourage) {
|
|
173
|
+
this.actor.takeStun(1);
|
|
174
|
+
this.scene.updateStatus();
|
|
175
|
+
this.logger.write(`UseCommand: ${this.actor.name} drank ${drink.name} on a full tank: 1 stun.`);
|
|
176
|
+
return [
|
|
177
|
+
`The ${drink.name} goes down easier than the last one -- which is the warning sign.`,
|
|
178
|
+
` One too many: 1 stun: ${this.actor.stunSummary()} (the courage doesn't stack.)`,
|
|
179
|
+
].join('\n');
|
|
180
|
+
}
|
|
181
|
+
this.actor.liquidCourage = true;
|
|
182
|
+
this.scene.updateStatus();
|
|
183
|
+
this.logger.write(`UseCommand: ${this.actor.name} drank ${drink.name}: liquid courage armed.`);
|
|
184
|
+
return [
|
|
185
|
+
`The ${drink.name} burns pleasantly on the way down. The room's edges soften.`,
|
|
186
|
+
` Liquid courage: +1 die on your next social play (persuade, haggle, bluff).`,
|
|
187
|
+
].join('\n');
|
|
188
|
+
}
|
|
82
189
|
/**
|
|
83
190
|
* Stim patches are the STUN answer (spell drain fills stun; medkits only
|
|
84
191
|
* touch physical): same quality-scaled pool and consumable economy as a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,OAAO,UAAW,SAAQ,OAAO;IAC3B,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,MAAM,CAAC,WAAW,GAAG,qFAAqF,CAAC;IAErH,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/use.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Command, ICommand } from './command.js';
|
|
2
|
+
/**
|
|
3
|
+
* Side gigs -- the small-money faucet between runs: one favor is on offer
|
|
4
|
+
* at a time (rotating each homecoming, like the rumor -- see
|
|
5
|
+
* Game.advanceGig), always a delivery from one hub local to another.
|
|
6
|
+
* "work" with the giver present hands you the package and the terms;
|
|
7
|
+
* delivering it with plain "give <package> to <name>" pays out (the hook
|
|
8
|
+
* lives in give.ts). One gig in hand at a time, no penalty for sitting
|
|
9
|
+
* on it -- the district's patience is long, its pay short.
|
|
10
|
+
*/
|
|
11
|
+
export declare class WorkCommand extends Command implements ICommand {
|
|
12
|
+
protected static verb: string;
|
|
13
|
+
protected static description: string;
|
|
14
|
+
execute(_args?: string[]): Promise<string>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Command } from './command.js';
|
|
2
|
+
import { Item } from '../models/item.js';
|
|
3
|
+
import { Size, Category, Rating } from '../types/shared/item-enum.js';
|
|
4
|
+
/**
|
|
5
|
+
* Side gigs -- the small-money faucet between runs: one favor is on offer
|
|
6
|
+
* at a time (rotating each homecoming, like the rumor -- see
|
|
7
|
+
* Game.advanceGig), always a delivery from one hub local to another.
|
|
8
|
+
* "work" with the giver present hands you the package and the terms;
|
|
9
|
+
* delivering it with plain "give <package> to <name>" pays out (the hook
|
|
10
|
+
* lives in give.ts). One gig in hand at a time, no penalty for sitting
|
|
11
|
+
* on it -- the district's patience is long, its pay short.
|
|
12
|
+
*/
|
|
13
|
+
export class WorkCommand extends Command {
|
|
14
|
+
static verb = 'work';
|
|
15
|
+
static description = 'Ask a local for odd jobs. One small gig is on offer at a time -- take it with "work" in front of the giver, deliver with "give", get paid.';
|
|
16
|
+
async execute(_args = []) {
|
|
17
|
+
const actor = this.actor;
|
|
18
|
+
if (!this.game?.hasHub) {
|
|
19
|
+
return `Out here the only work is the job you're on.`;
|
|
20
|
+
}
|
|
21
|
+
if (actor.plane !== 'meat') {
|
|
22
|
+
return `Odd jobs need hands. Come back to your body.`;
|
|
23
|
+
}
|
|
24
|
+
const gig = this.game.activeGig;
|
|
25
|
+
if (gig) {
|
|
26
|
+
return actor.inventory.hasItem(gig.itemName)
|
|
27
|
+
? `You've got work: get the ${gig.itemName} to ${gig.to}. ${gig.pay} nuyen on delivery.`
|
|
28
|
+
: `You took ${gig.from}'s gig but the ${gig.itemName} isn't on you anymore -- find it, or that bridge stays burned this cycle.`;
|
|
29
|
+
}
|
|
30
|
+
const offer = this.game.gigAvailable;
|
|
31
|
+
if (!offer) {
|
|
32
|
+
return `Nobody's hiring for odd jobs right now. Finish a run -- the district's needs turn over with the streets.`;
|
|
33
|
+
}
|
|
34
|
+
const giver = this.scene.getActorsInRoom(actor.currentLocation)
|
|
35
|
+
.find(a => a.name === offer.from && !a.isIncapacitated());
|
|
36
|
+
if (!giver) {
|
|
37
|
+
return `Word is ${offer.from} needs a hand with something. Find them if you want the work.`;
|
|
38
|
+
}
|
|
39
|
+
// Hand over the package and the terms.
|
|
40
|
+
const parcel = new Item({
|
|
41
|
+
name: offer.itemName,
|
|
42
|
+
description: offer.itemDescription,
|
|
43
|
+
size: Size.Small, category: Category.Document,
|
|
44
|
+
shape: 'Parcel', color: 'Wrapped', texture: 'Taped',
|
|
45
|
+
rating: Rating.Common, weight: 0.5,
|
|
46
|
+
});
|
|
47
|
+
try {
|
|
48
|
+
actor.addInventory(parcel);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return `${giver.name} sizes up your overloaded pack and shakes their head. "Come back when you can actually carry it."`;
|
|
52
|
+
}
|
|
53
|
+
parcel.owner = actor.name;
|
|
54
|
+
this.game.activeGig = { from: offer.from, to: offer.to, itemName: offer.itemName, pay: offer.pay };
|
|
55
|
+
this.game.gigAvailable = undefined;
|
|
56
|
+
actor.performAction('takes a gig from', giver.name);
|
|
57
|
+
this.logger.write(`WorkCommand: ${actor.name} took gig "${offer.itemName}" (${offer.from} -> ${offer.to}, ${offer.pay}).`);
|
|
58
|
+
this.scene.addWorldEvent(`${actor.name} is running an errand for ${offer.from}.`);
|
|
59
|
+
void Promise.resolve(giver.hear(actor, `I'll take that job. [System note: you just handed ${actor.name} the ${offer.itemName} to deliver to ${offer.to} for ${offer.pay} nuyen. Say a brief in-character word about it.]`)).catch(err => {
|
|
60
|
+
this.logger.error(`${giver.name} failed to hear the gig: ${err}`);
|
|
61
|
+
});
|
|
62
|
+
return [
|
|
63
|
+
`${giver.name}: "${offer.brief}"`,
|
|
64
|
+
` The ${offer.itemName} changes hands. ${offer.pay} nuyen when it reaches ${offer.to} -- "give ${offer.itemName.toLowerCase()} to ${offer.to.toLowerCase()}".`,
|
|
65
|
+
].join('\n');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=work.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"work.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/work.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,8 @@ export class ItemFactory {
|
|
|
15
15
|
details: json.details,
|
|
16
16
|
satisfiesLifestyle: json.satisfiesLifestyle,
|
|
17
17
|
transferable: json.transferable,
|
|
18
|
-
plane: json.plane
|
|
18
|
+
plane: json.plane,
|
|
19
|
+
price: json.price
|
|
19
20
|
});
|
|
20
21
|
if (json.currencyAmount && item.isCurrencyCarrier()) {
|
|
21
22
|
item.addCurrency(json.currencyAmount);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-factory.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/factories/item-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,OAAO,WAAW;IACtB,KAAK,CAAC,kBAAkB,CAAC,IAAmB;QAC1C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACrB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"item-factory.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/factories/item-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,OAAO,WAAW;IACtB,KAAK,CAAC,kBAAkB,CAAC,IAAmB;QAC1C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACrB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -129,7 +129,7 @@ export interface ISceneDetails {
|
|
|
129
129
|
* Returns '' when no player is available.
|
|
130
130
|
*/
|
|
131
131
|
export declare function buildPlayerDossier(player?: Player): string;
|
|
132
|
-
export declare function buildSkeletonPrompt(tier: number, previousFixerName?: string, player?: Player, previousError?: string): string;
|
|
132
|
+
export declare function buildSkeletonPrompt(tier: number, previousFixerName?: string, player?: Player, previousError?: string, rumor?: string): string;
|
|
133
133
|
export declare function buildRoomsPrompt(skeleton: ISceneSkeleton, previousError?: string): string;
|
|
134
134
|
export declare function buildNpcsPrompt(skeleton: ISceneSkeleton, previousError?: string): string;
|
|
135
135
|
export declare function buildPuzzlesPrompt(skeleton: ISceneSkeleton, previousError?: string): string;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { SKILL_NAMES } from '../models/player.js';
|
|
2
|
+
import { AUGMENTATIONS } from '../augmentations.js';
|
|
3
|
+
import { isOutdoorsPlace } from '../utilities/outdoors.js';
|
|
2
4
|
/**
|
|
3
5
|
* CHUNKED scene generation (see SceneSeedGenerator.generate for the
|
|
4
6
|
* pipeline that drives this module). One monolithic whole-scene completion
|
|
@@ -73,6 +75,20 @@ export function buildPlayerDossier(player) {
|
|
|
73
75
|
if (a.logic >= 5 && !deck && !a.isTechnomancer()) {
|
|
74
76
|
caps.push(`Sharp technical mind (logic ${a.logic})`);
|
|
75
77
|
}
|
|
78
|
+
if (a.augmentations.size > 0) {
|
|
79
|
+
const ware = AUGMENTATIONS.filter(w => a.hasAug(w.key)).map(w => w.name).join(', ');
|
|
80
|
+
caps.push(`Chromed (essence ${a.essence.toFixed(1)}/6): ${ware} -- already installed, never place these as loot`);
|
|
81
|
+
}
|
|
82
|
+
// Reputation reaches the job before the runner does (SR5e p.367): let
|
|
83
|
+
// NPCs who'd plausibly have heard the name react to it.
|
|
84
|
+
if (a.streetCred > 0 || a.notoriety > 0) {
|
|
85
|
+
const repBits = [
|
|
86
|
+
a.streetCred > 0 ? `street cred ${a.streetCred} (a name that opens doors)` : '',
|
|
87
|
+
a.notoriety > 0 ? `notoriety ${a.notoriety} (stories follow them: ${a.notorietyReasons.length > 0 ? a.notorietyReasons.join('; ') : 'their record speaks for itself'})` : '',
|
|
88
|
+
a.publicAwareness > 0 ? `public awareness ${a.publicAwareness} (recognizable on the street)` : '',
|
|
89
|
+
].filter(Boolean).join('; ');
|
|
90
|
+
caps.push(`REPUTATION precedes them: ${repBits} -- let word-of-mouth color how NPCs receive this runner`);
|
|
91
|
+
}
|
|
76
92
|
if (caps.length === 0) {
|
|
77
93
|
caps.push('No magic, no resonance, no deck, no drone -- a mundane who solves problems with gear, grit, and gunfire');
|
|
78
94
|
}
|
|
@@ -118,7 +134,7 @@ function repairNote(previousError) {
|
|
|
118
134
|
? `\n\nYour previous attempt failed with this error -- fix it specifically and try again: ${previousError}`
|
|
119
135
|
: '';
|
|
120
136
|
}
|
|
121
|
-
export function buildSkeletonPrompt(tier, previousFixerName, player, previousError) {
|
|
137
|
+
export function buildSkeletonPrompt(tier, previousFixerName, player, previousError, rumor) {
|
|
122
138
|
// Tier 1 is the only fresh start (the launch menu's "Generate a new
|
|
123
139
|
// Run"); every Johnson-commissioned draft is tier 2+ and the runner
|
|
124
140
|
// arrives fully equipped -- authoring "starting" items there was pure
|
|
@@ -136,13 +152,23 @@ who commissioned the runner's last job and is lining up this one too. Reuse "${p
|
|
|
136
152
|
as this scene's fixer (same voice/personality); do not reintroduce them as a stranger.`
|
|
137
153
|
: '';
|
|
138
154
|
const dossier = buildPlayerDossier(player);
|
|
155
|
+
// The hub's active street rumor becomes the job's backdrop -- gossip
|
|
156
|
+
// the runner heard at the noodle stand pays off as foreshadowing when
|
|
157
|
+
// the next job turns out to be tangled in exactly that (see
|
|
158
|
+
// Game.advanceRumor).
|
|
159
|
+
const rumorBlock = rumor
|
|
160
|
+
? `\nSTREET RUMOR the runner has been hearing around their home district: "${rumor}"
|
|
161
|
+
Let this job CONNECT to the rumor -- as its cause, its consequence, or the truth behind it.
|
|
162
|
+
The connection should be discoverable in play (the fixer's briefing, an NPC's talk, a
|
|
163
|
+
document), not just implied by the title.`
|
|
164
|
+
: '';
|
|
139
165
|
return `
|
|
140
166
|
You are generating the STRUCTURE (skeleton) of a self-contained Shadowrun-flavored text
|
|
141
167
|
adventure "run". This is job #${tier} in an ongoing campaign -- scale stakes accordingly.
|
|
142
168
|
Prose comes later in separate passes: here, every "concept" is ONE tight sentence of intent,
|
|
143
169
|
and everything else is structure. Get the STRUCTURE exactly right -- every name is a
|
|
144
170
|
cross-reference other passes and the game engine will rely on verbatim.
|
|
145
|
-
${continuity}
|
|
171
|
+
${continuity}${rumorBlock}
|
|
146
172
|
${dossier ? `\n${dossier}\n` : ''}
|
|
147
173
|
${JSON_ONLY}
|
|
148
174
|
|
|
@@ -201,7 +227,12 @@ ${JSON_ONLY}
|
|
|
201
227
|
// ArmorClothing, Helmet, Hat, LegArmor, ArmArmor, Gloves, Commlink,
|
|
202
228
|
// Cyberdeck, Drone, Credstick, CurrencyContainer, Key, Trinket,
|
|
203
229
|
// Document, Datachip, Vice, Book, Tool, Clothing, Glasses, Boots,
|
|
204
|
-
// Medical, StimPatch, SpellFormula, Grimoire, Focus, Ammunition
|
|
230
|
+
// Medical, StimPatch, SpellFormula, Grimoire, Focus, Ammunition,
|
|
231
|
+
// Food, Drink (consumables -- hot food heals stun, drink is liquid
|
|
232
|
+
// courage; fine as dressing in bars/kitchens, never as prizes),
|
|
233
|
+
// Cyberware (RARE prize loot -- an uninstalled augmentation part.
|
|
234
|
+
// Its name must be one of: ${AUGMENTATIONS.map(a => a.name).join(', ')};
|
|
235
|
+
// never one the runner already has installed, never role "starting")
|
|
205
236
|
"room"?: string, "heldBy"?: string, // exactly one of these for roles winCondition/key/
|
|
206
237
|
// clue/loot; NEITHER for roles reward/starting
|
|
207
238
|
"plane"?: "meat"|"matrix", // "matrix" = paydata: only in a hasNode room, category
|
|
@@ -237,7 +268,10 @@ Hard structural rules (validated mechanically -- a violation is rejected):
|
|
|
237
268
|
- Every exits[].targetRoom, npcs[].startLocation, items[].room name a real rooms[].name;
|
|
238
269
|
every items[].heldBy names a real npcs[].name; every exits[].puzzle names a real
|
|
239
270
|
puzzles[].name; every keyRequired names a real items[].name with role "key".
|
|
240
|
-
- Exactly one room has isStartRoom true
|
|
271
|
+
- Exactly one room has isStartRoom true, and it must be OUTDOOR street-level ground -- a
|
|
272
|
+
street, alley, plaza, lot, dock, yard -- with a name/roomType that says so. The runner
|
|
273
|
+
arrives by cab at that curb and hails the ride home from the same spot; an indoor start
|
|
274
|
+
room breaks the transport fiction. Never lock the start room's only exits behind keys
|
|
241
275
|
placed beyond them: every key must be reachable WITHOUT passing through the door it opens.
|
|
242
276
|
- A "reachable": false room never connects to a reachable one, and nothing the player must
|
|
243
277
|
retrieve (winCondition item, keys, clues) is ever placed in one.
|
|
@@ -534,6 +568,47 @@ export function validateSkeleton(skeleton, player) {
|
|
|
534
568
|
*/
|
|
535
569
|
export function normalizeSkeleton(skeleton) {
|
|
536
570
|
const notes = [];
|
|
571
|
+
// CURBSIDE GUARANTEE: the taxi is the only road home from a run (no
|
|
572
|
+
// hideout door on runs), and it hails from outdoor ground -- so the
|
|
573
|
+
// START room, where the cab drops the runner, must pass the same
|
|
574
|
+
// outdoors test the dispatcher uses (utilities/outdoors.ts; a real
|
|
575
|
+
// session failed its job indoors and had no legal pickup anywhere).
|
|
576
|
+
// The prompt asks for an outdoor start; when the model builds an
|
|
577
|
+
// indoor one anyway, fix it mechanically instead of burning an AI
|
|
578
|
+
// round: inject a curb one door out and move the start flag onto it.
|
|
579
|
+
// Runs BEFORE validateSkeleton, so "exactly one start room" still
|
|
580
|
+
// holds, and before the rooms prose pass, so the curb gets real prose.
|
|
581
|
+
const start = (skeleton.rooms ?? []).find(r => r.isStartRoom);
|
|
582
|
+
if (start && !isOutdoorsPlace(start.name, start.roomType)) {
|
|
583
|
+
const OPPOSITE = { north: 'south', south: 'north', east: 'west', west: 'east', up: 'down', down: 'up' };
|
|
584
|
+
// Directions already spoken for on the start room's side: its own
|
|
585
|
+
// declared exits plus the auto-mirrored side of exits pointing at it.
|
|
586
|
+
const takenOnStart = new Set((start.exits ?? []).map(e => e.direction));
|
|
587
|
+
for (const room of skeleton.rooms) {
|
|
588
|
+
for (const exit of room.exits ?? []) {
|
|
589
|
+
if (exit.targetRoom === start.name)
|
|
590
|
+
takenOnStart.add(OPPOSITE[exit.direction] ?? exit.direction);
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
const fromCurb = ['north', 'east', 'west', 'south', 'up', 'down'].find(d => !takenOnStart.has(OPPOSITE[d]));
|
|
594
|
+
if (fromCurb) {
|
|
595
|
+
let curbName = 'Curbside Drop';
|
|
596
|
+
while (skeleton.rooms.some(r => r.name === curbName))
|
|
597
|
+
curbName = `Outer ${curbName}`;
|
|
598
|
+
skeleton.rooms.unshift({
|
|
599
|
+
name: curbName,
|
|
600
|
+
concept: `The rain-slick stretch of open street where the cab drops the runner, one door from ${start.name} -- neon runoff in the puddles, and the only curb a ride home can reach.`,
|
|
601
|
+
roomType: 'Street',
|
|
602
|
+
isStartRoom: true,
|
|
603
|
+
exits: [{ direction: fromCurb, targetRoom: start.name }],
|
|
604
|
+
});
|
|
605
|
+
start.isStartRoom = false;
|
|
606
|
+
notes.push(`normalized: start room "${start.name}" is indoors; injected outdoor "${curbName}" as the start (the cab needs a curb).`);
|
|
607
|
+
}
|
|
608
|
+
else {
|
|
609
|
+
notes.push(`normalized: start room "${start.name}" is indoors but every direction on it is taken -- could not inject a curb.`);
|
|
610
|
+
}
|
|
611
|
+
}
|
|
537
612
|
const doorRefs = new Map();
|
|
538
613
|
for (const room of skeleton.rooms ?? []) {
|
|
539
614
|
for (const exit of room.exits ?? []) {
|
|
@@ -547,6 +622,51 @@ export function normalizeSkeleton(skeleton) {
|
|
|
547
622
|
delete puzzle.room;
|
|
548
623
|
}
|
|
549
624
|
}
|
|
625
|
+
// REWARD-REFERENCE reconciliation. A rewardItem (a puzzle's, or the
|
|
626
|
+
// winCondition's) must point at an UNPLACED role-"reward" item, but
|
|
627
|
+
// models regularly point it at a placed loot/clue item instead -- and
|
|
628
|
+
// that mismatch is unfixable downstream: roles and placement come from
|
|
629
|
+
// the skeleton, so the items-repair pass regenerates the same fault
|
|
630
|
+
// verbatim every round (a real session burned its entire repair AND
|
|
631
|
+
// pipeline budget on exactly this, twice, and the job fell through).
|
|
632
|
+
// The fix is mechanical, so do it here instead of spending AI rounds:
|
|
633
|
+
// a misdeclared LOOT item becomes the reward it was meant to be
|
|
634
|
+
// (unplaced); a load-bearing item (clue/key/winCondition/starting --
|
|
635
|
+
// something the run needs placed) keeps its role and the dangling
|
|
636
|
+
// reward reference is dropped instead (door puzzles don't need one).
|
|
637
|
+
const itemByName = new Map(skeleton.items.map(i => [i.name, i]));
|
|
638
|
+
const loadBearing = new Set(['clue', 'key', 'winCondition', 'starting']);
|
|
639
|
+
for (const puzzle of skeleton.puzzles ?? []) {
|
|
640
|
+
if (!puzzle.rewardItem)
|
|
641
|
+
continue;
|
|
642
|
+
const item = itemByName.get(puzzle.rewardItem);
|
|
643
|
+
if (!item || item.role === 'reward')
|
|
644
|
+
continue;
|
|
645
|
+
if (loadBearing.has(item.role) || item.name === skeleton.winCondition?.item) {
|
|
646
|
+
notes.push(`normalized: puzzle "${puzzle.name}" claimed the ${item.role} item "${item.name}" as its reward; dropped the reward reference (the ${item.role} role is load-bearing).`);
|
|
647
|
+
delete puzzle.rewardItem;
|
|
648
|
+
}
|
|
649
|
+
else {
|
|
650
|
+
notes.push(`normalized: item "${item.name}" was a placed ${item.role} but is puzzle "${puzzle.name}"'s reward; converted to an unplaced reward.`);
|
|
651
|
+
item.role = 'reward';
|
|
652
|
+
delete item.room;
|
|
653
|
+
delete item.heldBy;
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
const wc = skeleton.winCondition;
|
|
657
|
+
const wcReward = wc?.rewardItem ? itemByName.get(wc.rewardItem) : undefined;
|
|
658
|
+
if (wc && wcReward && wcReward.role !== 'reward') {
|
|
659
|
+
if (loadBearing.has(wcReward.role) || wcReward.name === wc.item) {
|
|
660
|
+
notes.push(`normalized: winCondition claimed the ${wcReward.role} item "${wcReward.name}" as its reward; dropped the reward reference (the ${wcReward.role} role is load-bearing).`);
|
|
661
|
+
delete wc.rewardItem;
|
|
662
|
+
}
|
|
663
|
+
else {
|
|
664
|
+
notes.push(`normalized: item "${wcReward.name}" was a placed ${wcReward.role} but is the winCondition's reward; converted to an unplaced reward.`);
|
|
665
|
+
wcReward.role = 'reward';
|
|
666
|
+
delete wcReward.room;
|
|
667
|
+
delete wcReward.heldBy;
|
|
668
|
+
}
|
|
669
|
+
}
|
|
550
670
|
return notes;
|
|
551
671
|
}
|
|
552
672
|
/** Merges the skeleton's structure with the detail passes into a full seed. */
|
|
@@ -658,6 +778,13 @@ export function assembleScene(skeleton, details, playerName) {
|
|
|
658
778
|
* the pipeline with the error as feedback.
|
|
659
779
|
*/
|
|
660
780
|
export function classifyRepair(message) {
|
|
781
|
+
// Reward-item placement faults are SKELETON-owned: the items chunk only
|
|
782
|
+
// fills in details -- roles and room/heldBy come from the skeleton, so
|
|
783
|
+
// an items repair regenerates the same fault forever (a real session
|
|
784
|
+
// proved it three rounds straight). normalizeSkeleton() auto-fixes the
|
|
785
|
+
// common shapes; anything that still surfaces goes back to the skeleton.
|
|
786
|
+
if (/rewardItem .* already has|rewardItem and "winCondition\.item"/i.test(message))
|
|
787
|
+
return 'skeleton';
|
|
661
788
|
if (/no discoverable clue/i.test(message))
|
|
662
789
|
return 'items';
|
|
663
790
|
if (/startingItems|Win condition (item|rewardItem)|items\[/i.test(message))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-chunks.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/factories/scene-chunks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scene-chunks.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/factories/scene-chunks.ts"],"names":[],"mappings":"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"}
|