@maka/maka-cli 5.7.0 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/typescript/package.json +1 -1
- package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js +16 -31
- package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +6 -4
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js +3 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js +19 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/assense.js +3 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/assense.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js +35 -9
- package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js +31 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js +16 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.d.ts +7 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +118 -29
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.d.ts +33 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js +138 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equip.js +5 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/equip.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/give.js +5 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/give.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.d.ts +6 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +138 -19
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.d.ts +38 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js +178 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +14 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js +7 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hints.d.ts +10 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/hints.js +24 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/hints.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js +25 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +53 -8
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.js +3 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.d.ts +41 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +160 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/order.d.ts +19 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/order.js +152 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/order.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js +5 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/project.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/project.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +3 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +24 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sell.js +7 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sell.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sneak.js +3 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/sneak.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js +11 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js +24 -13
- package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/summon.d.ts +19 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/summon.js +113 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/summon.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/surrender.js +4 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/surrender.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +37 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/talk.js +6 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/talk.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/treat.js +5 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/treat.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js +9 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/work.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/work.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/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 +5 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/room-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.d.ts +11 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +138 -23
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +12 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +91 -0
- package/bundle/typescript/src/commands/game/sideQuest/game.js +501 -23
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/item.d.ts +2 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/item.js +3 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/item.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +44 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +349 -9
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +10 -2
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +36 -7
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.d.ts +2 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js +9 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/room.d.ts +13 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js +57 -4
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +28 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +172 -4
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +76 -20
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +157 -34
- 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/player-seed.d.ts +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/puzzle-seed.d.ts +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/room-seed.d.ts +6 -0
- package/bundle/typescript/src/commands/game/sideQuest/ui.js +81 -5
- package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.js +21 -5
- package/bundle/typescript/src/commands/game/sideQuest/utilities/auto-fight.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.d.ts +25 -3
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +128 -28
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.d.ts +7 -4
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.js +8 -5
- package/bundle/typescript/src/commands/game/sideQuest/utilities/dice.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grapple.d.ts +36 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grapple.js +57 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grapple.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/hints.d.ts +4 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/hints.js +55 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/hints.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/log-style.d.ts +14 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/log-style.js +15 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/log-style.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.d.ts +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.js +49 -4
- package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +31 -7
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.d.ts +121 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +315 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -0
- package/bundle/typescript/src/commands/ssl.js +10 -15
- package/bundle/typescript/src/commands/ssl.js.map +1 -1
- package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.tsx +3 -4
- package/bundle/typescript/src/tools/ssl/ssl.class.d.ts +8 -0
- package/bundle/typescript/src/tools/ssl/ssl.class.js +53 -0
- package/bundle/typescript/src/tools/ssl/ssl.class.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { Command } from './command.js';
|
|
2
|
+
import { hint } from '../utilities/hints.js';
|
|
3
|
+
import { rollPool, formatRoll } from '../utilities/dice.js';
|
|
4
|
+
import { fuzzyPickName } from '../utilities/fuzzy-match.js';
|
|
5
|
+
import { physicalLimit, heldBy, holding, releaseGrapple } from '../utilities/grapple.js';
|
|
6
|
+
import { spotOf, ensureAtSpot } from '../utilities/spots.js';
|
|
7
|
+
/**
|
|
8
|
+
* SUBDUING (SR5e p.195) -- "grapple"/"restrain"/"clinch": seize someone
|
|
9
|
+
* and hold them, dealing NO damage. The RAW shape, faithfully: a normal
|
|
10
|
+
* unarmed melee attack; on a hit, Strength + net hits must EXCEED the
|
|
11
|
+
* defender's Physical limit to immobilize. Held, they cannot move, flee,
|
|
12
|
+
* or fight (they count as prone against attacks: -2 defense, see
|
|
13
|
+
* Player.getDefensePool) until they win the escape test -- "struggle",
|
|
14
|
+
* Unarmed + Strength against the original net hits. The holder's hands
|
|
15
|
+
* are FULL: no attacking anyone else and no walking away without
|
|
16
|
+
* "release" (the maintain cost, p.195, translated to this engine).
|
|
17
|
+
* Built for the real session where a witness NPC kept bolting for the
|
|
18
|
+
* door faster than any conversation could hold them.
|
|
19
|
+
*/
|
|
20
|
+
export class GrappleCommand extends Command {
|
|
21
|
+
static verb = 'grapple';
|
|
22
|
+
static description = 'Seize and restrain someone (SR5e Subduing, p.195) -- no damage, they can\'t move or fight until they break free ("struggle"). "release" lets them go. Also: "restrain", "clinch".';
|
|
23
|
+
async execute(args = []) {
|
|
24
|
+
const actor = this.actor;
|
|
25
|
+
if (actor.plane !== 'meat') {
|
|
26
|
+
return `A hold takes real hands on a real body -- nothing to grab from here.`;
|
|
27
|
+
}
|
|
28
|
+
let words = [...(args ?? [])];
|
|
29
|
+
if (/^(the|a|an)$/i.test(words[0] ?? ''))
|
|
30
|
+
words = words.slice(1);
|
|
31
|
+
// Already holding someone: bare "grapple" (or naming them) releases;
|
|
32
|
+
// naming anyone else is refused -- hands are full.
|
|
33
|
+
const held = holding(actor, this.scene);
|
|
34
|
+
if (held) {
|
|
35
|
+
const query = words.join(' ').toLowerCase();
|
|
36
|
+
if (words.length === 0 || held.name.toLowerCase().includes(query)) {
|
|
37
|
+
return this.release(held);
|
|
38
|
+
}
|
|
39
|
+
return `Your hands are full holding ${held.name} -- "release" first.`;
|
|
40
|
+
}
|
|
41
|
+
if (words.length === 0) {
|
|
42
|
+
return `Grapple whom? Try: grapple <name>`;
|
|
43
|
+
}
|
|
44
|
+
const holder = heldBy(actor, this.scene);
|
|
45
|
+
if (holder) {
|
|
46
|
+
return `${holder.name} has YOU locked down -- "struggle" free before you grab anyone.`;
|
|
47
|
+
}
|
|
48
|
+
if (actor.inExchange || (actor === this.scene.getPlayer() && this.scene.isPlayerExchangeActive())) {
|
|
49
|
+
return `Lead is flying -- closing to grapple waits for the lull.`;
|
|
50
|
+
}
|
|
51
|
+
// Same fuzzy resolution the other combat verbs use.
|
|
52
|
+
const room = actor.currentLocation;
|
|
53
|
+
const candidates = this.scene.getActorsInRoom(room)
|
|
54
|
+
.filter(a => a !== actor && a.plane === 'meat' && actor.canPerceive(a));
|
|
55
|
+
const picked = fuzzyPickName(words.join(' '), candidates.map(a => a.name));
|
|
56
|
+
const target = picked ? candidates.find(a => a.name === picked) : undefined;
|
|
57
|
+
if (!target) {
|
|
58
|
+
return `You don't see "${words.join(' ')}" here to grab.`;
|
|
59
|
+
}
|
|
60
|
+
if (target.isIncapacitated()) {
|
|
61
|
+
return `${target.name} is already down -- nothing left to restrain.`;
|
|
62
|
+
}
|
|
63
|
+
if (target.grappledBy) {
|
|
64
|
+
const other = heldBy(target, this.scene);
|
|
65
|
+
if (other && other !== actor)
|
|
66
|
+
return `${target.name} is already locked in ${other.name}'s grip.`;
|
|
67
|
+
}
|
|
68
|
+
// "At" spots: a hold happens chest to chest -- walk over first (free
|
|
69
|
+
// out of combat, the ensureAtSpot convention).
|
|
70
|
+
const reach = ensureAtSpot(actor, spotOf(target));
|
|
71
|
+
if (reach.refusal)
|
|
72
|
+
return reach.refusal;
|
|
73
|
+
const crossNote = reach.line ? `${reach.line}\n` : '';
|
|
74
|
+
const isPlayer = actor === this.scene.getPlayer();
|
|
75
|
+
const lines = [];
|
|
76
|
+
const meta = [];
|
|
77
|
+
// Someone with their hands up doesn't resist a zip-tie: restraining a
|
|
78
|
+
// surrendered target is automatic and quiet (threshold 4 to wriggle
|
|
79
|
+
// out -- betraying a surrender is on them).
|
|
80
|
+
if (target.surrendered) {
|
|
81
|
+
target.grappledBy = actor.name;
|
|
82
|
+
target.grappleThreshold = 4;
|
|
83
|
+
actor.grappling = target.name;
|
|
84
|
+
actor.performAction('grapples', `${target.name}, restraining them without a fight`);
|
|
85
|
+
this.scene.updateStatus();
|
|
86
|
+
return `${crossNote}${target.name}'s hands are already up -- you take hold and lock them down without a fight. They're not going anywhere.${hint(` ("release" to let go.)`)}`;
|
|
87
|
+
}
|
|
88
|
+
// The RAW melee attack, opposed as usual.
|
|
89
|
+
const attackRoll = rollPool(Math.max(1, actor.getUnarmedAttackPool() + actor.consumeEdgeBoost()));
|
|
90
|
+
const defenseRoll = rollPool(Math.max(0, target.getDefensePool()));
|
|
91
|
+
meta.push(`Grapple -- Unarmed: ${formatRoll(attackRoll)}`);
|
|
92
|
+
meta.push(`${target.name} defense: ${formatRoll(defenseRoll)}`);
|
|
93
|
+
const net = attackRoll.hits - defenseRoll.hits;
|
|
94
|
+
// The lunge is a hostile act either way -- observers and the target's
|
|
95
|
+
// own AI react to it like an attack (see NPC.RESPOND_WORTHY_VERB).
|
|
96
|
+
if (net <= 0) {
|
|
97
|
+
actor.performAction('grapples', `at ${target.name} -- and comes up with air`);
|
|
98
|
+
this.finishMeta(isPlayer, meta, lines);
|
|
99
|
+
return `${crossNote}${lines.join('\n')}You lunge for ${target.name} -- they twist clear. Now they know exactly what you want.`;
|
|
100
|
+
}
|
|
101
|
+
// Strength + net hits must EXCEED the Physical limit (p.195).
|
|
102
|
+
const grip = actor.strength + net;
|
|
103
|
+
const limit = physicalLimit(target);
|
|
104
|
+
meta.push(`Hold: Strength ${actor.strength} + ${net} net = ${grip} vs Physical limit ${limit} (p.195)`);
|
|
105
|
+
this.finishMeta(isPlayer, meta, lines);
|
|
106
|
+
if (grip <= limit) {
|
|
107
|
+
actor.performAction('grapples', `${target.name} -- a grip, but not a hold; they wrench loose`);
|
|
108
|
+
return `${crossNote}${lines.join('\n')}You get hands on ${target.name}, but they're too solid to hold -- they wrench loose.`;
|
|
109
|
+
}
|
|
110
|
+
target.grappledBy = actor.name;
|
|
111
|
+
target.grappleThreshold = net;
|
|
112
|
+
actor.grappling = target.name;
|
|
113
|
+
actor.performAction('grapples', `${target.name} and locks them down -- held fast, unable to move`);
|
|
114
|
+
this.scene.addWorldEvent(`${actor.name} grappled and restrained ${target.name} in ${room.name}.`);
|
|
115
|
+
this.scene.updateStatus();
|
|
116
|
+
return `${crossNote}${lines.join('\n')}You seize ${target.name} and lock the hold -- HELD FAST, no damage done. They can't move, flee, or fight until they break your grip${isPlayer ? `, and your hands are full until you "release"` : ''}.${hint(` (They escape only by beating ${net} hits on Unarmed + Strength.)`)}`;
|
|
117
|
+
}
|
|
118
|
+
/** NPC actors keep roll anatomy inline for their AI history; the
|
|
119
|
+
* player's goes to the Mechanics ticker (readability pass). */
|
|
120
|
+
finishMeta(isPlayer, meta, lines) {
|
|
121
|
+
if (isPlayer) {
|
|
122
|
+
for (const m of meta)
|
|
123
|
+
this.logger.meta(m);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
lines.push(...meta.map(m => ` ${m}`), '');
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
release(held) {
|
|
130
|
+
releaseGrapple(held, this.actor);
|
|
131
|
+
this.actor.performAction('releases', `${held.name} from the hold`);
|
|
132
|
+
this.scene.updateStatus();
|
|
133
|
+
return `You let ${held.name} go and step back.`;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/** "release" as its own verb -- the natural word once someone is held. */
|
|
137
|
+
export class ReleaseCommand extends GrappleCommand {
|
|
138
|
+
static verb = 'release';
|
|
139
|
+
static description = 'Let go of someone you\'re grappling.';
|
|
140
|
+
async execute(_args = []) {
|
|
141
|
+
const held = holding(this.actor, this.scene);
|
|
142
|
+
if (!held)
|
|
143
|
+
return `You're not holding anyone.`;
|
|
144
|
+
return super.execute([]);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* The RAW escape (p.195): a Complex Action, Unarmed + Strength, threshold
|
|
149
|
+
* = the net hits that locked the hold.
|
|
150
|
+
*/
|
|
151
|
+
export class StruggleCommand extends Command {
|
|
152
|
+
static verb = 'struggle';
|
|
153
|
+
static description = 'Fight your way out of a grapple: Unarmed + Strength vs the hold (SR5e p.195).';
|
|
154
|
+
async execute(_args = []) {
|
|
155
|
+
const actor = this.actor;
|
|
156
|
+
const holder = heldBy(actor, this.scene);
|
|
157
|
+
if (!holder) {
|
|
158
|
+
return `Nobody's holding you.`;
|
|
159
|
+
}
|
|
160
|
+
const threshold = actor.grappleThreshold ?? 2;
|
|
161
|
+
const pool = Math.max(1, actor.strength + actor.skillRating('unarmed') + actor.woundModifier - actor.sustainingPenalty);
|
|
162
|
+
const roll = rollPool(pool);
|
|
163
|
+
const isPlayer = actor === this.scene.getPlayer();
|
|
164
|
+
const rollLine = `Escape -- Unarmed + Strength: ${formatRoll(roll)} (threshold ${threshold})`;
|
|
165
|
+
if (isPlayer)
|
|
166
|
+
this.logger.meta(rollLine);
|
|
167
|
+
const inline = isPlayer ? '' : ` ${rollLine}\n`;
|
|
168
|
+
if (roll.hits >= threshold) {
|
|
169
|
+
releaseGrapple(actor, holder);
|
|
170
|
+
actor.performAction('struggles free', `of ${holder.name}'s hold`);
|
|
171
|
+
this.scene.updateStatus();
|
|
172
|
+
return `${inline}You wrench yourself out of ${holder.name}'s grip -- FREE.`;
|
|
173
|
+
}
|
|
174
|
+
actor.performAction('struggles', `against ${holder.name}'s hold -- no give`);
|
|
175
|
+
return `${inline}You strain against ${holder.name}'s hold -- no give. Still locked down.`;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=grapple.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grapple.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/grapple.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BypassCommand } from './bypass-command.js';
|
|
2
|
+
import { hint } from '../utilities/hints.js';
|
|
2
3
|
import { rollPool, formatRoll } from '../utilities/dice.js';
|
|
3
4
|
import { Door } from '../models/door.js';
|
|
4
5
|
import { leaveMatrix, canReachHost } from '../utilities/planes.js';
|
|
@@ -46,7 +47,11 @@ export class HackCommand extends BypassCommand {
|
|
|
46
47
|
if (!success) {
|
|
47
48
|
const bite = rollPool(this.actor.getSoakPool());
|
|
48
49
|
const dealt = Math.max(0, 3 - bite.hits);
|
|
49
|
-
|
|
50
|
+
// The roll is ticker material; the bite is world (readability pass).
|
|
51
|
+
if (this.actor === this.scene.getPlayer()) {
|
|
52
|
+
this.logger.meta(`Firewall: ${formatRoll(bite)}`);
|
|
53
|
+
}
|
|
54
|
+
const lines = [`The host's defenses snap shut around your intrusion --`];
|
|
50
55
|
if (dealt > 0) {
|
|
51
56
|
// Same routing as ice hits: hardware eats it when there's
|
|
52
57
|
// hardware; a technomancer's living persona (and any hot-sim
|
|
@@ -83,7 +88,7 @@ export class HackCommand extends BypassCommand {
|
|
|
83
88
|
lines.push(` ${lockedDoors.length} maglock${lockedDoors.length === 1 ? '' : 's'} release${lockedDoors.length === 1 ? 's' : ''} in the MEAT world. The way is open, out there.`);
|
|
84
89
|
}
|
|
85
90
|
if (vaultedFiles.length > 0) {
|
|
86
|
-
lines.push(` {cyan-fg}The data vault unseals -- ${vaultedFiles.map(i => i.name).join(', ')} ${vaultedFiles.length === 1 ? '
|
|
91
|
+
lines.push(` {cyan-fg}The data vault unseals -- ${vaultedFiles.map(i => i.name).join(', ')} spill${vaultedFiles.length === 1 ? 's' : ''} into the open.${hint(` Yours to "take".`)}{/cyan-fg}`);
|
|
87
92
|
}
|
|
88
93
|
if (lockedDoors.length === 0 && vaultedFiles.length === 0) {
|
|
89
94
|
lines.push(` Nothing here is locked down, but the node's systems are yours to read.`);
|
|
@@ -140,10 +145,14 @@ export class HackCommand extends BypassCommand {
|
|
|
140
145
|
const defense = rollPool(target.getPanDefensePool());
|
|
141
146
|
actor.performAction('runs a PAN intrusion', target.name);
|
|
142
147
|
this.logger.write(`${actor.name} PAN-hacks ${target.name}: ${attack.hits} vs ${defense.hits} (silent=${target.runningSilent}).`);
|
|
148
|
+
// Dice anatomy to the Mechanics ticker (readability pass) --
|
|
149
|
+
// player-gated like every roll site: an NPC's probe isn't your dice.
|
|
150
|
+
if (actor === this.scene.getPlayer()) {
|
|
151
|
+
this.logger.meta(`PAN intrusion: ${formatRoll(attack)}`);
|
|
152
|
+
this.logger.meta(` their firewall: ${formatRoll(defense)}`);
|
|
153
|
+
}
|
|
143
154
|
const lines = [
|
|
144
155
|
`You reach into ${target.name}'s PAN${target.runningSilent ? ' -- or where it SHOULD be; they\'re running silent' : ''}:`,
|
|
145
|
-
` Intrusion: ${formatRoll(attack)}`,
|
|
146
|
-
` Firewall: ${formatRoll(defense)}`,
|
|
147
156
|
];
|
|
148
157
|
if (attack.hits <= defense.hits) {
|
|
149
158
|
lines.push(` The master ${master.name} slams the door -- and ${target.name}'s link just pinged them a probe warning.`);
|
|
@@ -191,7 +200,7 @@ export class HackCommand extends BypassCommand {
|
|
|
191
200
|
const pool = Math.max(1, this.actor.logic + this.actor.skillRating('hacking') + this.actor.qualityBonus('hacking') + this.actor.woundModifier - this.actor.sustainingPenalty);
|
|
192
201
|
const roll = rollPool(pool);
|
|
193
202
|
if (this.actor === this.scene.getPlayer()) {
|
|
194
|
-
this.logger.
|
|
203
|
+
this.logger.meta(`Hacking: ${formatRoll(roll)} (2+ to crack)`);
|
|
195
204
|
}
|
|
196
205
|
return roll.hits >= 2;
|
|
197
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hack.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/hack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"hack.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/hack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Command } from './command.js';
|
|
2
|
+
import { hint } from '../utilities/hints.js';
|
|
2
3
|
import { rollPool, formatRoll } from '../utilities/dice.js';
|
|
3
4
|
import { CALL_ICON, CALL_COLOR } from '../utilities/comm-style.js';
|
|
4
5
|
import { priceOf } from '../utilities/commerce.js';
|
|
6
|
+
import { sameSpot, spotOf, spotRefusal } from '../utilities/spots.js';
|
|
5
7
|
/**
|
|
6
8
|
* Negotiation's mechanic: haggle the job's payout, ONCE per job, over a
|
|
7
9
|
* live call with whoever's paying (the fixer, or the win condition's
|
|
@@ -29,6 +31,10 @@ export class HaggleCommand extends Command {
|
|
|
29
31
|
this.game.pendingSale = undefined;
|
|
30
32
|
return `The quote died when you walked away from the counter.`;
|
|
31
33
|
}
|
|
34
|
+
// "At" spots: counter business happens AT the counter.
|
|
35
|
+
if (!sameSpot(actor, fence)) {
|
|
36
|
+
return spotRefusal(fence.name, spotOf(fence));
|
|
37
|
+
}
|
|
32
38
|
if (sale.haggled) {
|
|
33
39
|
return `${fence.name} already moved once on the ${sale.itemName}. "The number's the number. Take it or keep walking it around."`;
|
|
34
40
|
}
|
|
@@ -67,7 +73,7 @@ export class HaggleCommand extends Command {
|
|
|
67
73
|
sale.price = Math.round((oldPrice + bump) / 5) * 5;
|
|
68
74
|
lines.push(` ${fence.name} sighs -- and the number moves: ${oldPrice} -> ${sale.price} nuyen.`);
|
|
69
75
|
}
|
|
70
|
-
lines.push(` ("sell ${sale.itemName.toLowerCase()}" to close at the standing offer.)`);
|
|
76
|
+
lines.push(hint(` ("sell ${sale.itemName.toLowerCase()}" to close at the standing offer.)`));
|
|
71
77
|
return lines.join('\n');
|
|
72
78
|
}
|
|
73
79
|
// A PENDING offer (hub flow: Johnson pitched, nothing accepted yet)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"haggle.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/haggle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"haggle.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/haggle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Command, ICommand } from './command.js';
|
|
2
|
+
/**
|
|
3
|
+
* "hints on|off" -- the coaching-line toggle (see utilities/hints.ts).
|
|
4
|
+
* Bare "hints" reports the state. The setting persists across sessions.
|
|
5
|
+
*/
|
|
6
|
+
export declare class HintsCommand extends Command implements ICommand {
|
|
7
|
+
protected static verb: string;
|
|
8
|
+
protected static description: string;
|
|
9
|
+
execute(args?: string[]): Promise<string>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Command } from './command.js';
|
|
2
|
+
import { hintsEnabled, setHints } from '../utilities/hints.js';
|
|
3
|
+
/**
|
|
4
|
+
* "hints on|off" -- the coaching-line toggle (see utilities/hints.ts).
|
|
5
|
+
* Bare "hints" reports the state. The setting persists across sessions.
|
|
6
|
+
*/
|
|
7
|
+
export class HintsCommand extends Command {
|
|
8
|
+
static verb = 'hints';
|
|
9
|
+
static description = 'Toggle the coaching hints (\'("look" to case who\'s where.)\' and kin): "hints off" for a quieter, veteran\'s game. Persists across sessions.';
|
|
10
|
+
async execute(args = []) {
|
|
11
|
+
const word = args[0]?.toLowerCase();
|
|
12
|
+
if (word === 'on' || word === 'off') {
|
|
13
|
+
setHints(word === 'on');
|
|
14
|
+
// The Game Log banner carries a hint-gated scroll tip -- re-stamp
|
|
15
|
+
// it so the toggle shows immediately, not on the next scene swap.
|
|
16
|
+
this.game?.refreshLogLabel();
|
|
17
|
+
return word === 'on'
|
|
18
|
+
? `Hints ON -- the game coaches as you go.`
|
|
19
|
+
: `Hints OFF -- you know what you're doing. ("hints on" brings them back.)`;
|
|
20
|
+
}
|
|
21
|
+
return `Hints are ${hintsEnabled() ? 'ON' : 'OFF'}. ("hints on" / "hints off" -- persists across sessions.)`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=hints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hints.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/hints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IAC7B,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,MAAM,CAAC,WAAW,GAAG,+IAA+I,CAAC;IAE/K,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACpC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACxB,kEAAkE;YAClE,kEAAkE;YAClE,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC;YAC7B,OAAO,IAAI,KAAK,IAAI;gBAClB,CAAC,CAAC,yCAAyC;gBAC3C,CAAC,CAAC,yEAAyE,CAAC;QAChF,CAAC;QACD,OAAO,aAAa,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,2DAA2D,CAAC;IAC/G,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command } from './command.js';
|
|
2
|
+
import { hint } from '../utilities/hints.js';
|
|
2
3
|
import { fuzzyPickName } from '../utilities/fuzzy-match.js';
|
|
3
4
|
export const METAMAGICS = [
|
|
4
5
|
// ------------------------- The Awakened -------------------------
|
|
@@ -91,7 +92,7 @@ export class InitiateCommand extends Command {
|
|
|
91
92
|
return [
|
|
92
93
|
`${flavor} ${ritualName} grade ${nextGrade}.`,
|
|
93
94
|
` ${pick.name}: ${pick.effect}. (${pick.page})`,
|
|
94
|
-
` Your ${isTechno ? 'resonance' : 'magic'} ceiling is now ${6 + nextGrade} ("advance" to climb toward it). (${cost} karma spent, ${actor.karma} left.)`,
|
|
95
|
+
` Your ${isTechno ? 'resonance' : 'magic'} ceiling is now ${6 + nextGrade}${hint(` ("advance" to climb toward it)`)}. (${cost} karma spent, ${actor.karma} left.)`,
|
|
95
96
|
].join('\n');
|
|
96
97
|
}
|
|
97
98
|
pathOpen(m, isTechno) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initiate.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/initiate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"initiate.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/initiate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command } from './command.js';
|
|
2
|
+
import { hint } from '../utilities/hints.js';
|
|
2
3
|
import { capitalCase } from 'change-case';
|
|
3
4
|
import { planeTintItemName } from '../utilities/planes.js';
|
|
4
5
|
/**
|
|
@@ -32,7 +33,7 @@ export class InventoryCommand extends Command {
|
|
|
32
33
|
lines.push(`Carrying: ${actor.currentWeight.toFixed(1)} / ${actor.maxCarryingWeight} kg (equipped gear included)`);
|
|
33
34
|
lines.push('');
|
|
34
35
|
if (itemLines.length === 0) {
|
|
35
|
-
lines.push(`Your pack is empty
|
|
36
|
+
lines.push(`Your pack is empty.${hint(` Whatever you're wearing or holding is under "equipment".`)}`);
|
|
36
37
|
}
|
|
37
38
|
else {
|
|
38
39
|
lines.push(...itemLines);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inv.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/inv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,OAAO,gBAAiB,SAAQ,OAAO;IACjC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,MAAM,CAAC,WAAW,GAAG,oEAAoE,CAAC;IAEpG,KAAK,CAAC,OAAO,CAAC,QAAkB,EAAE;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAa,CAAC,mBAAmB,CAAC,CAAC;QAE9C,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,mEAAmE;YACnE,6DAA6D;YAC7D,oDAAoD;YACpD,IAAI,IAAI,GAAG,OAAO,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvF,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;gBAC1D,IAAI,IAAI,KAAK,IAAI,CAAC,cAAc,IAAI,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC;gBAClE,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC;YACvC,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,SAAS,YAAY,KAAK,aAAa,EAAE,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,iBAAiB,8BAA8B,CAAC,CAAC;QACnH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"inv.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/inv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,OAAO,gBAAiB,SAAQ,OAAO;IACjC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,MAAM,CAAC,WAAW,GAAG,oEAAoE,CAAC;IAEpG,KAAK,CAAC,OAAO,CAAC,QAAkB,EAAE;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAa,CAAC,mBAAmB,CAAC,CAAC;QAE9C,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,mEAAmE;YACnE,6DAA6D;YAC7D,oDAAoD;YACpD,IAAI,IAAI,GAAG,OAAO,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvF,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;gBAC1D,IAAI,IAAI,KAAK,IAAI,CAAC,cAAc,IAAI,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC;gBAClE,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC;YACvC,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,SAAS,YAAY,KAAK,aAAa,EAAE,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,iBAAiB,8BAA8B,CAAC,CAAC;QACnH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,2DAA2D,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command } from './command.js';
|
|
2
|
+
import { hint } from '../utilities/hints.js';
|
|
2
3
|
import { enterDrone, leaveDrone } from '../utilities/planes.js';
|
|
3
4
|
import { fuzzyPickName } from '../utilities/fuzzy-match.js';
|
|
4
5
|
/**
|
|
@@ -13,7 +14,7 @@ import { fuzzyPickName } from '../utilities/fuzzy-match.js';
|
|
|
13
14
|
*/
|
|
14
15
|
export class JumpCommand extends Command {
|
|
15
16
|
static verb = 'jump';
|
|
16
|
-
static description = 'Jump INTO a
|
|
17
|
+
static description = 'Jump INTO a drone (control rig required): fly it, see through it, fight with its mount. A deployed frame is seized wherever it flies. "jump hot" for hot-sim; "jump" again returns to your body.';
|
|
17
18
|
async execute(args = []) {
|
|
18
19
|
const actor = this.actor;
|
|
19
20
|
// Already riding: this is the jump OUT.
|
|
@@ -33,7 +34,7 @@ export class JumpCommand extends Command {
|
|
|
33
34
|
}
|
|
34
35
|
const drones = actor.inventory.getAllItems().filter(i => i.isDrone());
|
|
35
36
|
if (drones.length === 0) {
|
|
36
|
-
return `Nothing to jump into -- no drone in your pack
|
|
37
|
+
return `Nothing to jump into -- no drone in your pack.${hint(` (Ratchet's Circuit Bazaar stocks airframes.)`)}`;
|
|
37
38
|
}
|
|
38
39
|
// "jump hot" / "jump <drone> hot": strip the mode word, pick the frame.
|
|
39
40
|
const words = args.map(w => w.toLowerCase());
|
|
@@ -53,8 +54,29 @@ export class JumpCommand extends Command {
|
|
|
53
54
|
if (drone.isWrecked) {
|
|
54
55
|
return `The ${drone.name} is a wreck -- bent rotors and dead boards jump nowhere. It repairs while you rest somewhere safe.`;
|
|
55
56
|
}
|
|
56
|
-
|
|
57
|
+
// Jumping into a DEPLOYED frame seizes it WHEREVER it flies (player
|
|
58
|
+
// request -- jumping in rides the link, not your hands): the
|
|
59
|
+
// dog-brain yields the stick and your presence snaps to the frame's
|
|
60
|
+
// position, not your body's. Only a frame mid-exchange refuses --
|
|
61
|
+
// combat holds live references to the shell.
|
|
62
|
+
let seizedRoom;
|
|
63
|
+
const flying = this.game?.companions.find(c => c.boundDevice === drone);
|
|
64
|
+
if (flying) {
|
|
65
|
+
if (flying.npc.inExchange) {
|
|
66
|
+
return `The ${drone.name} is fighting for its life -- the link can't seize a bucking frame mid-exchange. Let it settle first.`;
|
|
67
|
+
}
|
|
68
|
+
seizedRoom = flying.npc.currentLocation;
|
|
69
|
+
this.game.dismissCompanion(flying, 'jumped into -- dog-brain yields the stick');
|
|
70
|
+
}
|
|
71
|
+
this.logger.write(`JumpCommand: ${actor.name} jumping into ${drone.name} (${mode}-sim)${seizedRoom ? ` -- seizing the deployed frame in ${seizedRoom.name}` : ''}.`);
|
|
57
72
|
const lines = enterDrone(this.scene, actor, drone, mode);
|
|
73
|
+
if (seizedRoom && seizedRoom !== actor.currentLocation) {
|
|
74
|
+
actor.currentLocation = seizedRoom;
|
|
75
|
+
lines.push(`The dog-brain stands down as the link reaches across the district -- you snap into the frame where it already flies: ${seizedRoom.name}.`);
|
|
76
|
+
}
|
|
77
|
+
else if (flying) {
|
|
78
|
+
lines.push(`The dog-brain stands down -- the stick is yours.`);
|
|
79
|
+
}
|
|
58
80
|
this.scene.updateStatus();
|
|
59
81
|
return lines.join('\n');
|
|
60
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jump.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/jump.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"jump.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/jump.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command } from './command.js';
|
|
2
|
+
import { hint } from '../utilities/hints.js';
|
|
2
3
|
import { LIFESTYLE_TIERS } from '../utilities/commerce.js';
|
|
3
4
|
import { fuzzyPickName } from '../utilities/fuzzy-match.js';
|
|
4
5
|
/**
|
|
@@ -53,7 +54,7 @@ export class LifestyleCommand extends Command {
|
|
|
53
54
|
...(tier.restDice !== 0 ? [` Rest at home: ${tier.restDice > 0 ? '+' : ''}${tier.restDice} dice.`] : []),
|
|
54
55
|
...(tier.edgeBonus > 0 ? [` +${tier.edgeBonus} edge banked every job.`] : []),
|
|
55
56
|
...(tier.clearStunOnReturn ? [` Coming home clears your stun track entirely.`] : []),
|
|
56
|
-
` The place already reads different -- "look" around
|
|
57
|
+
hint(` The place already reads different -- "look" around.`),
|
|
57
58
|
].join('\n');
|
|
58
59
|
}
|
|
59
60
|
listTiers() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifestyle.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/lifestyle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lifestyle.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/lifestyle.ts"],"names":[],"mappings":"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"}
|