@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
|
@@ -182,7 +182,10 @@ ${JSON_ONLY}
|
|
|
182
182
|
"name": string, "concept": string, "roomType"?: string,
|
|
183
183
|
"isStartRoom"?: boolean, // EXACTLY ONE room
|
|
184
184
|
"reachable"?: boolean, // false ONLY for the fixer's remote room -- see FIXER below
|
|
185
|
-
"owner"?: string, // an NPC's name, if it's their room
|
|
185
|
+
"owner"?: string, // an NPC's name, if it's their room. USE THIS for any territorial or
|
|
186
|
+
// guarded space (a gang cache, a fixer's office, a shop): the room's
|
|
187
|
+
// goods become THEIRS, and the engine makes them contest theft --
|
|
188
|
+
// an unowned prize in a guarded vault walks out unchallenged.
|
|
186
189
|
"hasNode"?: boolean, // a live Matrix host: hackable from inside the Matrix; releases the
|
|
187
190
|
// room's maglocks AND unseals its matrix-plane files (the host is
|
|
188
191
|
// the vault). 1-2 rooms in corp/tech locations only. Ice NPCs and
|
|
@@ -307,8 +310,42 @@ For EVERY room in the skeleton, write evocative 2-3 sentence prose expanding its
|
|
|
307
310
|
gritty cyberpunk noir, concrete sensory detail, no mechanics talk and no spoilers (never
|
|
308
311
|
reveal passphrases, hidden items, or plot twists in a room description).
|
|
309
312
|
|
|
313
|
+
"At" SPOTS -- named places WITHIN a room the player can "move to":
|
|
314
|
+
- Give 2-4 "spots" ONLY where positioning matters (bars, markets, offices, warehouses --
|
|
315
|
+
social or large spaces). SKIP them for corridors, transit streets, and small
|
|
316
|
+
single-purpose rooms; most rooms should have none.
|
|
317
|
+
- Spot names are short concrete nouns ("bar", "booths", "loading dock", "desk") -- and
|
|
318
|
+
WEAVE each spot's name into that room's prose so the player can see it.
|
|
319
|
+
- Every room WITH spots must include one doorway spot (a name containing
|
|
320
|
+
door/entrance/entry/threshold/gate).
|
|
321
|
+
- At most ONE spot per spotted room may carry "tags": ["cover-partial"] (chest-high
|
|
322
|
+
cover) or ["cover-good"] (near-total concealment). Most need neither.
|
|
323
|
+
- "size": "small" | "medium" | "large" -- how far apart the spots stand.
|
|
324
|
+
- "npcSpots": station each npc whose startLocation is THIS room at the spot they'd
|
|
325
|
+
work from ({ "<npc name>": "<spot name>" }). Leave wanderers unstationed.
|
|
326
|
+
- Describe the SPACE ONLY -- never write PEOPLE or takeable goods into the prose.
|
|
327
|
+
People move, flee, fight, and die, and loot gets pocketed, but the description is
|
|
328
|
+
forever: a sentry written "blocking the way, arms crossed" reads absurd after he
|
|
329
|
+
ran (a real session). Presence is the engine's job -- "look" reports who stands
|
|
330
|
+
where live. The fixed stage (the spots, the architecture, the weather) is what
|
|
331
|
+
belongs in the prose.
|
|
332
|
+
- "itemSpots": anchor each item placed in THIS room to the spot it sits at
|
|
333
|
+
({ "<item name>": "<spot name>" }) -- a prize belongs at the guarded spot, not
|
|
334
|
+
floating in the doorway; loose scatter can stay unanchored.
|
|
335
|
+
- "exitSpots": which spot each exit leaves from ({ "<direction>": "<spot name>" }).
|
|
336
|
+
Give one to EVERY exit of a spotted room. An exit blocked by a barrier deserves its
|
|
337
|
+
OWN named spot -- a back gate is not the entrance; two gates are two spots -- so the
|
|
338
|
+
player always knows which gate is which.
|
|
339
|
+
- ONE STORY: the prose and the spot data must agree. When the prose mentions a
|
|
340
|
+
stationed NPC, place them AT their npcSpots spot and use that spot's exact name
|
|
341
|
+
("under the awning" only if stationed at "awning") -- never "near the entrance" for
|
|
342
|
+
someone stationed elsewhere. An NPC whose job is watching a barrier stands AT that
|
|
343
|
+
barrier's exit spot.
|
|
344
|
+
|
|
310
345
|
${JSON_ONLY}
|
|
311
|
-
[ { "name": string, "description": string, "roomType": string
|
|
346
|
+
[ { "name": string, "description": string, "roomType": string,
|
|
347
|
+
"size"?: string, "spots"?: [ { "name": string, "tags"?: string[] } ],
|
|
348
|
+
"npcSpots"?: { }, "itemSpots"?: { }, "exitSpots"?: { } } ]
|
|
312
349
|
One entry per skeleton room, "name" copied exactly.${repairNote(previousError)}
|
|
313
350
|
`.trim();
|
|
314
351
|
}
|
|
@@ -329,7 +366,7 @@ For EVERY npc in the skeleton, expand its "concept":
|
|
|
329
366
|
{ "body", "agility", "reaction", "combatSkill", "strength"?, "willpower"?, "logic"?,
|
|
330
367
|
"intuition"?, "charisma"?, "magic"?, "resonance"?, "adept"?,
|
|
331
368
|
"skills"?: { "firearms"?, "blades"?, "unarmed"?, "sneaking"?, "perception"?, "hacking"?,
|
|
332
|
-
"locksmith"?, "negotiation"?, "con"?, "intimidation"?, "assensing"? } }
|
|
369
|
+
"locksmith"?, "negotiation"?, "con"?, "intimidation"?, "etiquette"?, "assensing"?, "conjuring"? } }
|
|
333
370
|
"magic" 3-6 ONLY for a genuinely Awakened concept; "plane":"matrix" ice fights with
|
|
334
371
|
logic 4-7; give combat blocks to anyone the story expects in a firefight. "skills" is
|
|
335
372
|
optional flavor for defined concepts (a sharpshooter's "firearms": 6).
|
|
@@ -350,9 +387,11 @@ ${skeletonContext(skeleton)}
|
|
|
350
387
|
For EVERY puzzle in the skeleton, expand its "concept" (what the barrier physically is --
|
|
351
388
|
that's fixed, as is its bypassType):
|
|
352
389
|
- "riddle": what the player sees on approaching it, shown verbatim -- PLAIN and concrete,
|
|
353
|
-
never a cryptic riddle-poem.
|
|
354
|
-
what it
|
|
355
|
-
|
|
390
|
+
never a cryptic riddle-poem. Describe the barrier as a THING: what it is, how it's
|
|
391
|
+
secured, and what kind of credential it visibly expects (a keypad implies a code, an
|
|
392
|
+
intercom awaits a spoken phrase, a scrawled sign says "password"). Write NO people into
|
|
393
|
+
it -- no guards, no dialogue, no "they demand": anyone standing watch does their own
|
|
394
|
+
demanding in play, in their own voice. Never state the credential itself.
|
|
356
395
|
- "requiredPhrase": the exact credential -- ALL LOWERCASE, 2-5 plain words, no punctuation.
|
|
357
396
|
A concrete literal thing (a code, a passphrase, a name), never wordplay.
|
|
358
397
|
- "successMessage" / "failureMessage": one sentence each, in-fiction.
|
|
@@ -675,25 +714,92 @@ export function assembleScene(skeleton, details, playerName) {
|
|
|
675
714
|
const npcDetail = new Map(details.npcs.map(n => [n.name, n]));
|
|
676
715
|
const puzzleDetail = new Map(details.puzzles.map(p => [p.name, p]));
|
|
677
716
|
const itemDetail = new Map(details.items.map(i => [i.name, i]));
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
}
|
|
694
|
-
|
|
717
|
+
// "At" spots from the rooms pass, normalized before they touch the
|
|
718
|
+
// seed: valid cover tags only, at most 5 spots, and a spotted room
|
|
719
|
+
// ALWAYS has a doorway spot (the arrival/exit fallbacks key on the
|
|
720
|
+
// door-name heuristic -- inject one when the model forgot). Names are
|
|
721
|
+
// lowercased to match the hand-authored seed convention.
|
|
722
|
+
const VALID_SPOT_TAGS = new Set(['cover-partial', 'cover-good']);
|
|
723
|
+
const normalizeSpots = (detail) => {
|
|
724
|
+
let spots = (detail?.spots ?? [])
|
|
725
|
+
.filter(s => s && typeof s.name === 'string' && s.name.trim().length > 0)
|
|
726
|
+
.map(s => {
|
|
727
|
+
const tags = (s.tags ?? []).filter(t => VALID_SPOT_TAGS.has(t));
|
|
728
|
+
return { name: s.name.trim().toLowerCase(), ...(tags.length > 0 ? { tags } : {}) };
|
|
729
|
+
});
|
|
730
|
+
if (spots.length > 0 && !spots.some(s => /door|entrance|entry|threshold|gate/i.test(s.name))) {
|
|
731
|
+
spots = [{ name: 'door' }, ...spots];
|
|
732
|
+
}
|
|
733
|
+
// Cap AFTER the doorway injection so the door always survives it.
|
|
734
|
+
return spots.slice(0, 5);
|
|
735
|
+
};
|
|
736
|
+
const rooms = skeleton.rooms.map(room => {
|
|
737
|
+
const detail = roomDetail.get(room.name);
|
|
738
|
+
const spots = normalizeSpots(detail);
|
|
739
|
+
return {
|
|
740
|
+
name: room.name,
|
|
741
|
+
description: detail?.description ?? room.concept,
|
|
742
|
+
roomType: detail?.roomType ?? room.roomType ?? 'Generic',
|
|
743
|
+
isStartRoom: room.isStartRoom,
|
|
744
|
+
reachable: room.reachable,
|
|
745
|
+
hasNode: room.hasNode,
|
|
746
|
+
nodeAccess: room.nodeAccess,
|
|
747
|
+
warded: room.warded,
|
|
748
|
+
owner: room.owner,
|
|
749
|
+
size: detail?.size && ['small', 'medium', 'large'].includes(detail.size) ? detail.size : undefined,
|
|
750
|
+
spots: spots.length > 0 ? spots : undefined,
|
|
751
|
+
// Per-exit spots, honored only when the named spot survived
|
|
752
|
+
// normalization -- an invalid one falls back to the doorway-name
|
|
753
|
+
// heuristic (utilities/spots.ts exitSpot), never a phantom place.
|
|
754
|
+
exits: (room.exits ?? []).map(e => {
|
|
755
|
+
const declared = detail?.exitSpots?.[e.direction];
|
|
756
|
+
const spot = typeof declared === 'string' ? declared.trim().toLowerCase() : undefined;
|
|
757
|
+
return {
|
|
758
|
+
direction: e.direction,
|
|
759
|
+
targetRoom: e.targetRoom,
|
|
760
|
+
keyRequired: e.keyRequired,
|
|
761
|
+
puzzle: e.puzzle,
|
|
762
|
+
atSpot: spot && spots.some(s => s.name === spot) ? spot : undefined,
|
|
763
|
+
};
|
|
764
|
+
}),
|
|
765
|
+
};
|
|
766
|
+
});
|
|
767
|
+
// Stations: each rooms-pass entry may say which resident stands where.
|
|
768
|
+
// Honored only when the NPC really starts in that room AND the spot
|
|
769
|
+
// survived normalization -- anything else reads as unstationed
|
|
770
|
+
// (circulating), never as a phantom position.
|
|
771
|
+
const npcStation = new Map();
|
|
772
|
+
for (const rd of details.rooms) {
|
|
773
|
+
for (const [npcName, spot] of Object.entries(rd.npcSpots ?? {})) {
|
|
774
|
+
if (typeof spot === 'string' && spot.trim().length > 0) {
|
|
775
|
+
npcStation.set(npcName, { room: rd.name, spot: spot.trim().toLowerCase() });
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
// Item anchors, same validation shape as NPC stations: honored only
|
|
780
|
+
// when the item is really PLACED in that room and the spot survived
|
|
781
|
+
// normalization -- otherwise the item stays unanchored (reachable
|
|
782
|
+
// from anywhere, the compat default).
|
|
783
|
+
const skeletonItemRoom = new Map(skeleton.items.map(i => [i.name, i.room]));
|
|
784
|
+
const roomSpotsByName = new Map(rooms.map(r => [r.name, (r.spots ?? []).map(s => s.name)]));
|
|
785
|
+
const itemStation = new Map();
|
|
786
|
+
for (const rd of details.rooms) {
|
|
787
|
+
for (const [itemName, spot] of Object.entries(rd.itemSpots ?? {})) {
|
|
788
|
+
if (typeof spot !== 'string' || spot.trim().length === 0)
|
|
789
|
+
continue;
|
|
790
|
+
const normalized = spot.trim().toLowerCase();
|
|
791
|
+
if (skeletonItemRoom.get(itemName) === rd.name && (roomSpotsByName.get(rd.name) ?? []).includes(normalized)) {
|
|
792
|
+
itemStation.set(itemName, normalized);
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
}
|
|
695
796
|
const npcs = skeleton.npcs.map(npc => {
|
|
696
797
|
const detail = npcDetail.get(npc.name);
|
|
798
|
+
const station = npcStation.get(npc.name);
|
|
799
|
+
const roomSpots = (rooms.find(r => r.name === npc.startLocation)?.spots ?? []);
|
|
800
|
+
const startSpot = station && station.room === npc.startLocation && roomSpots.some(s => s.name === station.spot)
|
|
801
|
+
? station.spot
|
|
802
|
+
: undefined;
|
|
697
803
|
return {
|
|
698
804
|
plane: npc.plane,
|
|
699
805
|
description: detail?.description ?? npc.concept,
|
|
@@ -701,11 +807,18 @@ export function assembleScene(skeleton, details, playerName) {
|
|
|
701
807
|
player: {
|
|
702
808
|
name: npc.name,
|
|
703
809
|
startLocation: npc.startLocation,
|
|
810
|
+
startSpot,
|
|
704
811
|
lifestyleChoices: [],
|
|
705
812
|
combat: detail?.combat,
|
|
706
813
|
},
|
|
707
814
|
};
|
|
708
815
|
});
|
|
816
|
+
// A guarded room's goods belong to its owner -- deterministically,
|
|
817
|
+
// not by model compliance: a real generated run's Encrypted Blackmail
|
|
818
|
+
// File sat OWNERLESS in the Dragons' cache, so the stationed enforcer
|
|
819
|
+
// watched it get pocketed like weather (theft reactions key on
|
|
820
|
+
// item.owner -- see NPC.see).
|
|
821
|
+
const roomOwnerByName = new Map(skeleton.rooms.filter(r => r.owner).map(r => [r.name, r.owner]));
|
|
709
822
|
const toItemJson = (skel, placed) => {
|
|
710
823
|
const detail = itemDetail.get(skel.name);
|
|
711
824
|
return {
|
|
@@ -724,6 +837,8 @@ export function assembleScene(skeleton, details, playerName) {
|
|
|
724
837
|
plane: skel.plane,
|
|
725
838
|
room: placed ? skel.room : undefined,
|
|
726
839
|
heldBy: placed ? skel.heldBy : undefined,
|
|
840
|
+
owner: placed && skel.room ? roomOwnerByName.get(skel.room) : undefined,
|
|
841
|
+
atSpot: placed && skel.room ? itemStation.get(skel.name) : undefined,
|
|
727
842
|
};
|
|
728
843
|
};
|
|
729
844
|
const startingSkels = skeleton.items.filter(i => i.role === 'starting');
|
|
@@ -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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"}
|
|
@@ -59,6 +59,12 @@ Key Locations: ${json.rooms.map(r => r.name).join(', ')}
|
|
|
59
59
|
catch (err) {
|
|
60
60
|
throw new Error(`Failed to connect exit from "${roomJson.name}" to "${exit.targetRoom}" via "${exit.direction}": ${err.message}`);
|
|
61
61
|
}
|
|
62
|
+
// "At" spots: which spot this exit is used from (declaring side
|
|
63
|
+
// only -- the auto-created reverse exit falls back to the
|
|
64
|
+
// doorway-name heuristic in utilities/spots.ts exitSpot).
|
|
65
|
+
if (exit.atSpot) {
|
|
66
|
+
scene.getRoom(roomJson.name)?.exitSpots.set(exit.direction.toLowerCase(), exit.atSpot);
|
|
67
|
+
}
|
|
62
68
|
}
|
|
63
69
|
}
|
|
64
70
|
// Step 3: Add NPCs
|
|
@@ -72,6 +78,12 @@ Key Locations: ${json.rooms.map(r => r.name).join(', ')}
|
|
|
72
78
|
logger.write(`Adding ${npc?.name}`);
|
|
73
79
|
scene.addActor(npc);
|
|
74
80
|
scene.setCharacterLocation(npc, npcJson.player.startLocation);
|
|
81
|
+
// "At" spots: station the NPC AFTER placement -- the
|
|
82
|
+
// currentLocation setter clears atSpot on every room change, so
|
|
83
|
+
// the order here is load-bearing.
|
|
84
|
+
if (npcJson.player.startSpot) {
|
|
85
|
+
npc.atSpot = npcJson.player.startSpot;
|
|
86
|
+
}
|
|
75
87
|
npc.scene = scene;
|
|
76
88
|
if (useAi) {
|
|
77
89
|
await npc.ensureAIAppearance(sceneContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-factory.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/factories/scene-factory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"scene-factory.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/factories/scene-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import blessed from 'blessed';
|
|
2
2
|
import { ISceneSeedJson } from './types/seed/scene-seed.js';
|
|
3
|
+
import { Item } from './models/item.js';
|
|
3
4
|
import { Player, Inventory, Room, Scene } from './models/_index.js';
|
|
4
5
|
import { ILifestyleTier } from './utilities/commerce.js';
|
|
6
|
+
import { NPC } from './models/npc.js';
|
|
5
7
|
import { AutoFight } from './utilities/auto-fight.js';
|
|
6
8
|
import { IMainGameConfig } from './ui.js';
|
|
7
9
|
import { PlayerEquipment } from './types/player-equipment.js';
|
|
@@ -14,6 +16,9 @@ export default class Game {
|
|
|
14
16
|
autoFight: AutoFight;
|
|
15
17
|
private _screen;
|
|
16
18
|
private _logBox;
|
|
19
|
+
private _metaBox;
|
|
20
|
+
private _quitArmed;
|
|
21
|
+
private _escArmedAt;
|
|
17
22
|
private _statusBox;
|
|
18
23
|
private _inputBox;
|
|
19
24
|
private _useAi;
|
|
@@ -47,6 +52,64 @@ export default class Game {
|
|
|
47
52
|
* spirits don't do noodles: non-meat actors stay off the roster.
|
|
48
53
|
*/
|
|
49
54
|
private seedHomeTurfContacts;
|
|
55
|
+
companions: {
|
|
56
|
+
npc: NPC;
|
|
57
|
+
kind: 'spirit' | 'agent' | 'drone' | 'ally';
|
|
58
|
+
services?: number;
|
|
59
|
+
force: number;
|
|
60
|
+
boundDevice?: Item;
|
|
61
|
+
}[];
|
|
62
|
+
private _pendingRedeploys;
|
|
63
|
+
/**
|
|
64
|
+
* The one correct runtime NPC spawn (mirrors scene-factory's seed
|
|
65
|
+
* path): construct with a scene-bound registry, add to the scene
|
|
66
|
+
* (names must be unique -- addActor throws), place via
|
|
67
|
+
* setCharacterLocation (the ONLY path that binds room observers), and
|
|
68
|
+
* hand it the scene for its AI context.
|
|
69
|
+
*/
|
|
70
|
+
spawnCompanionShell(opts: {
|
|
71
|
+
name: string;
|
|
72
|
+
description: string;
|
|
73
|
+
kind: 'spirit' | 'agent' | 'drone' | 'ally';
|
|
74
|
+
combat: Partial<import('./models/player.js').ICombatAttributes>;
|
|
75
|
+
room: Room;
|
|
76
|
+
plane: 'meat' | 'matrix' | 'astral';
|
|
77
|
+
force: number;
|
|
78
|
+
services?: number;
|
|
79
|
+
boundDevice?: Item;
|
|
80
|
+
}): NPC | null;
|
|
81
|
+
/**
|
|
82
|
+
* The autonomous-drone shell, shared by the deploy command and
|
|
83
|
+
* arrival re-shelling: the frame's dog-brain (Pilot = 2 + quality)
|
|
84
|
+
* stands in for every attribute it lacks (RAW p.269-271).
|
|
85
|
+
*/
|
|
86
|
+
private static readonly DRONE_CARGO_KG;
|
|
87
|
+
deployDroneShell(item: Item, room: Room): NPC | null;
|
|
88
|
+
/** Drops a companion's shell and its roster entry. */
|
|
89
|
+
dismissCompanion(entry: (typeof this.companions)[number], reason: string): void;
|
|
90
|
+
/**
|
|
91
|
+
* An actor left the world (Scene.removeActor). For a companion shell
|
|
92
|
+
* that DIED (not a deliberate dismissal -- those set deathClaimed
|
|
93
|
+
* first and prune themselves), settle the wreckage: a drone's frame is
|
|
94
|
+
* wrecked where it fell, an agent derezzes (the deck already ate the
|
|
95
|
+
* damage), a spirit is banished outright.
|
|
96
|
+
*/
|
|
97
|
+
onActorRemoved(name: string): void;
|
|
98
|
+
/**
|
|
99
|
+
* Spirits with no services left depart once no exchange holds them
|
|
100
|
+
* (called from CombatExchange.finishExchange): the bargain is spent.
|
|
101
|
+
*/
|
|
102
|
+
settleSpiritServices(): void;
|
|
103
|
+
private _pursuitTimer?;
|
|
104
|
+
private readonly _pursuitInFlight;
|
|
105
|
+
private static readonly PURSUIT_TICK_MS;
|
|
106
|
+
private startPursuitHeartbeat;
|
|
107
|
+
stopPursuitHeartbeat(): void;
|
|
108
|
+
spurCompanionPursuits(): void;
|
|
109
|
+
/** Pre-travel: every shell folds, each with its own goodbye. */
|
|
110
|
+
foldCompanionsForTravel(): string[];
|
|
111
|
+
/** Post-arrival: re-shell what was deployed when you left (drones). */
|
|
112
|
+
unfoldCompanionsOnArrival(): string[];
|
|
50
113
|
/**
|
|
51
114
|
* Records a real transaction with a hub NPC: first contact opens the
|
|
52
115
|
* relationship at Loyalty 1 (a safeguard -- the hub cast is pre-seeded
|
|
@@ -164,6 +227,7 @@ export default class Game {
|
|
|
164
227
|
*/
|
|
165
228
|
private connectHomeRoom;
|
|
166
229
|
get logBox(): blessed.Widgets.BoxElement;
|
|
230
|
+
get metaBox(): blessed.Widgets.BoxElement;
|
|
167
231
|
get inputBox(): blessed.Widgets.TextboxElement;
|
|
168
232
|
init(options: IMainGameConfig, screen: blessed.Widgets.Screen): Promise<string>;
|
|
169
233
|
/**
|
|
@@ -241,6 +305,33 @@ export default class Game {
|
|
|
241
305
|
close(): Promise<void>;
|
|
242
306
|
private initInputBox;
|
|
243
307
|
private initLogBox;
|
|
308
|
+
/**
|
|
309
|
+
* The Game Log banner names WHERE you are in the campaign (player
|
|
310
|
+
* request): the hub by name at home, "JOB #n: <name>" on a run --
|
|
311
|
+
* plus the scroll state the label already carried.
|
|
312
|
+
*/
|
|
313
|
+
private buildLogLabel;
|
|
314
|
+
/** Re-stamps the banner after a scene change (init, run start, home). */
|
|
315
|
+
refreshLogLabel(): void;
|
|
316
|
+
/**
|
|
317
|
+
* Scroll the log to its tail -- unless the player has paged up to read
|
|
318
|
+
* history (followBottom off), in which case their place is left alone.
|
|
319
|
+
* Every "new line arrived" site goes through here.
|
|
320
|
+
*/
|
|
321
|
+
followLog(): void;
|
|
322
|
+
/**
|
|
323
|
+
* The MECHANICS column (readability pass, player request: the log was
|
|
324
|
+
* a "wall of text"): dice anatomy and resource arithmetic land here
|
|
325
|
+
* (via Logger.meta) instead of the world log, so the narrative stays
|
|
326
|
+
* prose. A full-height COLUMN beside the world log, not a bottom
|
|
327
|
+
* strip -- the first playtest's 3-row ticker scrolled combat rolls
|
|
328
|
+
* away faster than they could be read. De-emphasis is the BLUE border
|
|
329
|
+
* -- gray is banned (ANSI bright-black, illegible on stock dark
|
|
330
|
+
* palettes). Follow-only (no keys); the full interleaved record lives
|
|
331
|
+
* in session.log. Roll lines wrap at the column width -- fine in a
|
|
332
|
+
* tall column. NO mouse (see initInputBox): never arm mouse tracking.
|
|
333
|
+
*/
|
|
334
|
+
private initMetaBox;
|
|
244
335
|
/**
|
|
245
336
|
* The HUD: a fixed strip between the log and the input box for the
|
|
246
337
|
* important real-time state -- condition tracks, armed/link status,
|