@maka/maka-cli 5.64.0 → 5.65.1
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 +4 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.d.ts +29 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.js +165 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.d.ts +40 -13
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js +107 -25
- package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/breach.d.ts +11 -15
- package/bundle/typescript/src/commands/game/sideQuest/commands/breach.js +13 -16
- package/bundle/typescript/src/commands/game/sideQuest/commands/breach.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.d.ts +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js +30 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/buy.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.d.ts +40 -49
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js +121 -160
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.d.ts +7 -8
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +13 -13
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cover.d.ts +30 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/cover.js +65 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/cover.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/dispel.d.ts +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/dispel.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/dispel.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +25 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.d.ts +2 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/job-offer.js +9 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/job-offer.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/jobs.js +2 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/jobs.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +58 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.js +18 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.d.ts +2 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/pick.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/posture.d.ts +45 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/posture.js +115 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/posture.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.d.ts +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.js +80 -9
- package/bundle/typescript/src/commands/game/sideQuest/commands/say.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +35 -24
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +12 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/use.d.ts +17 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/use.js +158 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/use.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +15 -1
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.d.ts +82 -43
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +419 -263
- 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 +82 -84
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.d.ts +23 -4
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js +95 -79
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/seed-migration.d.ts +30 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/seed-migration.js +176 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/seed-migration.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +10 -0
- package/bundle/typescript/src/commands/game/sideQuest/game.js +21 -5
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/headless.js +24 -0
- package/bundle/typescript/src/commands/game/sideQuest/headless.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/_index.d.ts +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/_index.js +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/_index.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/device.d.ts +121 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/device.js +145 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/device.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/door.d.ts +27 -8
- package/bundle/typescript/src/commands/game/sideQuest/models/door.js +15 -10
- package/bundle/typescript/src/commands/game/sideQuest/models/door.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +81 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +138 -21
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +68 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +102 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/room.d.ts +72 -43
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js +82 -59
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +1 -4
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +0 -22
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +78 -109
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +4 -101
- package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +24 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/device-seed.d.ts +52 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/device-seed.js +2 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/device-seed.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/legacy-puzzle-seed.d.ts +63 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/legacy-puzzle-seed.js +2 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/legacy-puzzle-seed.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/player-seed.d.ts +6 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/room-seed.d.ts +4 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/scene-seed.d.ts +3 -2
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/abstracts.d.ts +2 -28
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/abstracts.js +1 -14
- package/bundle/typescript/src/commands/game/sideQuest/types/shared/abstracts.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/ui.js +24 -0
- package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/affordances.d.ts +55 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/affordances.js +36 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/affordances.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-review.d.ts +65 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-review.js +137 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-review.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog.d.ts +90 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog.js +103 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +37 -4
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/credentials.d.ts +26 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/credentials.js +48 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/credentials.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/devices.d.ts +23 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/devices.js +55 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/devices.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.d.ts +57 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.js +46 -3
- package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/log-style.d.ts +16 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/log-style.js +18 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/log-style.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +68 -38
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.d.ts +3 -3
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.js +3 -3
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.d.ts +36 -12
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +101 -27
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/use-target.d.ts +106 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/use-target.js +184 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/use-target.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +54 -5
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/maka.js +1 -1
- package/bundle/typescript/src/maka.js.map +1 -1
- package/bundle/typescript/src/tools/sdk-loader/relocate.d.ts +19 -2
- package/bundle/typescript/src/tools/sdk-loader/relocate.js +22 -2
- package/bundle/typescript/src/tools/sdk-loader/relocate.js.map +1 -1
- package/package.json +4 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/solve.d.ts +0 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js +0 -72
- package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/puzzle-factory.d.ts +0 -6
- package/bundle/typescript/src/commands/game/sideQuest/factories/puzzle-factory.js +0 -26
- package/bundle/typescript/src/commands/game/sideQuest/factories/puzzle-factory.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.d.ts +0 -152
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js +0 -393
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js.map +0 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/puzzle-seed.d.ts +0 -28
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/puzzle-seed.js +0 -2
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/puzzle-seed.js.map +0 -1
|
@@ -376,38 +376,27 @@ function serializeNpcOverlay(npc) {
|
|
|
376
376
|
};
|
|
377
377
|
}
|
|
378
378
|
/**
|
|
379
|
-
* Every
|
|
380
|
-
* door-attached), deduped by name, SOLVED ONES INCLUDED.
|
|
379
|
+
* Every device in the scene, deduped by name, OPEN ONES INCLUDED.
|
|
381
380
|
*
|
|
382
|
-
*
|
|
383
|
-
* "what can
|
|
384
|
-
*
|
|
385
|
-
* not represent progress
|
|
386
|
-
*
|
|
387
|
-
* flag was
|
|
388
|
-
* excluded by construction.
|
|
381
|
+
* The split this depends on -- Room.allDevices() for "what exists" vs
|
|
382
|
+
* openableDevices() for "what can I act on" -- is inherited from the
|
|
383
|
+
* puzzle era, where building a save from the ACTABLE list meant the
|
|
384
|
+
* save could not represent progress at all. Solve everything and the
|
|
385
|
+
* collector returned nothing, so an empty list hit the disk and the
|
|
386
|
+
* schema's flag was only ever written false, because a true one was
|
|
387
|
+
* excluded by construction. On reload a solved barrier came back and
|
|
388
|
+
* its reward could be claimed a second time.
|
|
389
389
|
*
|
|
390
|
-
*
|
|
391
|
-
* and
|
|
392
|
-
*
|
|
393
|
-
* rewardItem could be claimed a SECOND time. Terrain a solved puzzle
|
|
394
|
-
* had opened re-sealed too, since step 4.5 reads this same map.
|
|
395
|
-
*
|
|
396
|
-
* The restore side was broken symmetrically: a door saved UNLOCKED has
|
|
397
|
-
* its lock restored (step 2) before the flags are applied (step 4), so
|
|
398
|
-
* a door puzzle was invisible to the lookup exactly when it mattered.
|
|
399
|
-
*
|
|
400
|
-
* Room.allPuzzles() is the honest question for persistence -- "what
|
|
401
|
-
* puzzles EXIST here?" -- and leaves getPuzzleTargets() alone for the
|
|
402
|
-
* nine command-side callers that genuinely do want solved barriers
|
|
403
|
-
* hidden.
|
|
390
|
+
* The lesson survives the mechanic: saving asks "what EXISTS here?",
|
|
391
|
+
* and every command asks "what can I act on?". They are different
|
|
392
|
+
* questions and must not share an accessor.
|
|
404
393
|
*/
|
|
405
|
-
function
|
|
394
|
+
function collectDevices(scene) {
|
|
406
395
|
const out = new Map();
|
|
407
396
|
for (const room of Object.values(scene.getRooms())) {
|
|
408
|
-
for (const
|
|
409
|
-
if (!out.has(
|
|
410
|
-
out.set(
|
|
397
|
+
for (const device of room.allDevices()) {
|
|
398
|
+
if (!out.has(device.name))
|
|
399
|
+
out.set(device.name, device);
|
|
411
400
|
}
|
|
412
401
|
}
|
|
413
402
|
return out;
|
|
@@ -424,13 +413,18 @@ export function captureHubOverlay(scene, hubSeed, player, homeRoom) {
|
|
|
424
413
|
const deadActors = (hubSeed.npcs ?? [])
|
|
425
414
|
.map(n => n.player.name)
|
|
426
415
|
.filter(name => !scene.getActor(name));
|
|
427
|
-
const
|
|
428
|
-
.map(([name,
|
|
416
|
+
const devices = [...collectDevices(scene).entries()]
|
|
417
|
+
.map(([name, d]) => ({ name, open: d.isOpen() }));
|
|
418
|
+
// THE TOMBSTONE (see ISavedHub.puzzles): always [], never read here.
|
|
419
|
+
// Omitting it crashes v5.64.0's unguarded for-of on resume, and
|
|
420
|
+
// saves move between builds via the cloud mirror.
|
|
421
|
+
const puzzles = [];
|
|
429
422
|
const ownership = scene.exportOwnership();
|
|
430
423
|
return {
|
|
431
424
|
rooms,
|
|
432
425
|
npcs,
|
|
433
426
|
deadActors,
|
|
427
|
+
devices,
|
|
434
428
|
puzzles,
|
|
435
429
|
worldEvents: scene.worldEvents.slice(-40),
|
|
436
430
|
roomOwnership: ownership.rooms,
|
|
@@ -507,13 +501,49 @@ export function applyHubOverlay(scene, saved, player, homeRoom) {
|
|
|
507
501
|
replaceInventory(npc.inventory, overlay.inventory);
|
|
508
502
|
restoreEquipment(npc.equipment, overlay.equipment);
|
|
509
503
|
}
|
|
510
|
-
// 4.
|
|
511
|
-
// so a
|
|
512
|
-
const
|
|
513
|
-
for (const
|
|
514
|
-
const live =
|
|
504
|
+
// 4. Devices: the one flag -- door lock state was restored in step 2,
|
|
505
|
+
// so a door relocked after its device opened stays relocked.
|
|
506
|
+
const liveDevices = collectDevices(scene);
|
|
507
|
+
for (const d of saved.devices ?? []) {
|
|
508
|
+
const live = liveDevices.get(d.name);
|
|
515
509
|
if (live)
|
|
516
|
-
live.restoreState({
|
|
510
|
+
live.restoreState({ open: d.open });
|
|
511
|
+
}
|
|
512
|
+
// A SAVE WRITTEN BEFORE DEVICES EXISTED has no `devices` key at all,
|
|
513
|
+
// so every device would read shut -- while the door it holds stays
|
|
514
|
+
// UNLOCKED, because lock state is saved separately (step 2) and
|
|
515
|
+
// always was. That leaves a legacy save describing an open doorway
|
|
516
|
+
// still guarded by a barrier, which is the kind of small
|
|
517
|
+
// contradiction a player reads as a bug.
|
|
518
|
+
//
|
|
519
|
+
// The lock is the older, more reliable record, so derive from it
|
|
520
|
+
// rather than lose the fact: a device whose door is already open was
|
|
521
|
+
// opened. Deliberately NOT applied when `devices` is present -- then
|
|
522
|
+
// the save has spoken for itself and inferring over it would be a
|
|
523
|
+
// second source of truth.
|
|
524
|
+
if (saved.devices === undefined) {
|
|
525
|
+
// FIRST, the door lock -- covers a device that holds an exit.
|
|
526
|
+
for (const room of Object.values(scene.getRooms())) {
|
|
527
|
+
for (const device of room.allDevices()) {
|
|
528
|
+
if (!device.opensExit)
|
|
529
|
+
continue;
|
|
530
|
+
const exit = room.exits.get(device.opensExit);
|
|
531
|
+
if (exit instanceof Door && !exit.checkIfLocked()) {
|
|
532
|
+
device.restoreState({ open: true });
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
// THEN the old puzzles[] flag, which WINS -- it is strictly more
|
|
537
|
+
// information. The lock only speaks for a device with an
|
|
538
|
+
// opensExit; a ROOM-ANCHORED one (a safe) has no door to derive
|
|
539
|
+
// from and would otherwise restore shut however long ago it was
|
|
540
|
+
// cracked. Device names are puzzle names -- the migration carries
|
|
541
|
+
// `name` across unchanged -- so the mapping is direct.
|
|
542
|
+
for (const p of saved.puzzles ?? []) {
|
|
543
|
+
const live = liveDevices.get(p.name);
|
|
544
|
+
if (live && p.solved)
|
|
545
|
+
live.restoreState({ open: true });
|
|
546
|
+
}
|
|
517
547
|
}
|
|
518
548
|
// 4.5. ROOM GRIDS (spatial wave 2026-08-25): terrain-cleared is
|
|
519
549
|
// DERIVED, never its own saved field -- a puzzle already solved
|
|
@@ -522,9 +552,9 @@ export function applyHubOverlay(scene, saved, player, homeRoom) {
|
|
|
522
552
|
// majority of puzzles that never synthesized any.
|
|
523
553
|
for (const room of Object.values(scene.getRooms())) {
|
|
524
554
|
for (const hint of room.terrainHints) {
|
|
525
|
-
const
|
|
526
|
-
if (
|
|
527
|
-
room.clearTerrainFor(hint.
|
|
555
|
+
const device = liveDevices.get(hint.deviceName);
|
|
556
|
+
if (device?.isOpen())
|
|
557
|
+
room.clearTerrainFor(hint.deviceName);
|
|
528
558
|
}
|
|
529
559
|
}
|
|
530
560
|
// 5. The grapevine and the deeds.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/persistence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAGvC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,YAAY,GAEb,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;GAOG;AAEH,uEAAuE;AAEvE,MAAM,UAAU,QAAQ,CAAC,UAAkB;IACzC,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC;AAClG,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,UAAkB;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC;AAED;;uDAEuD;AACvD,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,UAAkB;IAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,IAAiB;IACjE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,GAAG,QAAQ,MAAM,CAAC;IAC9B,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACpD,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,EAAE,CAAC,MAAM,CAAC,GAAG,QAAQ,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAMD;qBACqB;AACrB,MAAM,UAAU,QAAQ,CAAC,QAAgB;IACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACrE,IAAI,MAAmB,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;QACpC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;AACP,CAAC;AAED,wEAAwE;AAExE;kEACkE;AAClE,SAAS,OAAO,CAAC,OAA+B,EAAE,KAAa;IAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;IACjE,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAU;IACtC,MAAM,GAAG,GAAe;QACtB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,OAAO,CAAC,IAAyC,EAAE,IAAI,CAAC,IAAI,CAAuB;QACzF,QAAQ,EAAE,OAAO,CAAC,QAA6C,EAAE,IAAI,CAAC,QAAQ,CAA2B;QACzG,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,OAAO,CAAC,MAA2C,EAAE,IAAI,CAAC,MAAM,CAAyB;QACjG,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,cAAc,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QACrG,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;IACF,mEAAmE;IACnE,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,iBAAiB;QAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnF,IAAI,IAAI,CAAC,MAAM;QAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;IACnC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC;QAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IAC1D,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;QAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC7D,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IAClF,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,SAAS;QAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAC9F,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;kDAEkD;AAClD,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC;QACpB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAyB,CAAC;QAC1C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAiC,CAAC;QAC1D,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAA6B,CAAC;QAClD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACtD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnD,IAAI,IAAI,CAAC,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACpC,IAAI,IAAI,CAAC,UAAU;QAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,WAAW;QAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,cAAc;QAAE,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,SAAS;QAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC;AAID,MAAM,UAAU,kBAAkB,CAAC,EAAkB;IACnD,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,IAAI,IAAI;gBAAE,GAAG,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC,IAAY,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;uDACuD;AACvD,MAAM,UAAU,gBAAgB,CAAC,EAAkB,EAAE,KAAsB;IACzE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,KAAqC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QACzD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAI,EAAoE,CAAC,QAAQ,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,mCAAmC,OAAO,cAAc,SAAS,CAAC,IAAI,iCAAiC,CAAC,CAAC;YACpI,SAAS;QACX,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAc,EAAE,KAAmB;IAClE,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC9C,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,yEAAyE;AAEzE,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,aAAa,EAAE,CAAC,CAAC,aAAa;QAC9B,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;QACjC,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,UAAU,EAAE;YACV,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW;YAClF,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;YAC5E,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;YAClF,KAAK,EAAE,CAAC,CAAC,KAAK;SACf;QACD,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,aAAa,EAAE,CAAC,CAAC,aAAa;QAC9B,MAAM,EAAE,EAAE,GAAI,CAAC,CAAC,MAAiC,EAAE;QACnD,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC;QACzC,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC;QACnC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC9C,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;QAC3B,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC7B,eAAe,EAAE,CAAC,CAAC,eAAe;QAClC,aAAa,EAAE,CAAC,CAAC,aAAa;QAC9B,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,KAAK,EAAE;YACL,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc;YAC9D,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW;YACxD,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY;SAC7D;QACD,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;QACvD,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,CAAe;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS;QAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;IAE1B,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;IAC1B,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;IAClC,mEAAmE;IACnE,oEAAoE;IACpE,iEAAiE;IACjE,qEAAqE;IACrE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,uBAAuB,CAAC,CAAC;YACjF,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,cAAc,CAAC;QAC/D,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;IAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;IAC7D,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;IAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;IAC7E,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;IAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;IACjE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;IAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;IACnE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;IAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;IACzE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;IAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;IACjE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;IAC7B,CAAC,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,EAAqB,CAAC;IAC9C,sEAAsE;IACtE,sEAAsE;IACtE,4DAA4D;IAC5D,oEAAoE;IACpE,oEAAoE;IACpE,qEAAqE;IACrE,kEAAkE;IAClE,qEAAqE;IACrE,MAAM,EAAE,GAAG,CAAC,CAAC,MAA4C,CAAC;IAC1D,IAAI,EAAE,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAClB,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IAC9B,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,gBAAgB;QAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;IAEtC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IACtC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;IAC1C,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IACtC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IACpC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;IAClC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;IACpC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;IAC5B,IAAI,CAAC,CAAC,aAAa;QAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;IACvD,IAAI,CAAC,CAAC,MAAM;QAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,mEAAmE;IACnE,oEAAoE;IACpE,gBAAgB;IAChB,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE;QAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAElE,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3C,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,wEAAwE;AAExE,SAAS,oBAAoB,CAAC,IAAU,EAAE,MAAc;IACtD,MAAM,SAAS,GAAmC,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACrD,IAAI,IAAI,YAAY,IAAI;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,cAAc,GAAwC,EAAE,CAAC;IAC/D,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3D,IAAI,KAAK,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;QAC1D,eAAe,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC1C,sDAAsD;QACtD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;YACnB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;SACxD,CAAC,CAAC;QACH,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS;QACT,cAAc;KACf,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAQ;IACnC,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE;QACrC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE;QAC5B,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;QACzD,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,cAAc,CAAC,KAAY;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;QACnD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAY,EAAE,OAAuB,EAAE,MAAc,EAAE,QAAc;IACrG,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAE7C,oEAAoE;IACpE,iEAAiE;IACjE,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS;SACzB,MAAM,CAAC,CAAC,CAAC,EAAY,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;SAC7E,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;SACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACjD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpD,qEAAqE;IACrE,gEAAgE;IAChE,kDAAkD;IAClD,MAAM,OAAO,GAAyB,EAAE,CAAC;IAEzC,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;IAE1C,OAAO;QACL,KAAK;QACL,IAAI;QACJ,UAAU;QACV,OAAO;QACP,OAAO;QACP,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACzC,aAAa,EAAE,SAAS,CAAC,KAAK;QAC9B,aAAa,EAAE,SAAS,CAAC,KAAK;QAC9B,IAAI,EAAE;YACJ,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;YAC9D,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;SAClF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAY,EAAE,KAAgB,EAAE,MAAc,EAAE,QAAc;IAC5F,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEpC,gEAAgE;IAChE,iDAAiD;IACjD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACpC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,qCAAqC;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,IAAI,0CAA0C,CAAC,CAAC;YAC/F,SAAS;QACX,CAAC;QACD,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACxD,iEAAiE;QACjE,sDAAsD;QACtD,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,SAAS;gBAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAChE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAsB,CAAC,CAAC;YACzD,IAAI,IAAI,YAAY,IAAI;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1D,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI;gBAAE,SAAS;YAC1C,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC7B,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,IAAI,0CAA0C,CAAC,CAAC;YAC9F,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,eAAe,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC;gBACH,KAAK,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,IAAI,sBAAsB,OAAO,CAAC,IAAI,6BAA6B,CAAC,CAAC;YACtH,CAAC;QACH,CAAC;QACD,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACtC,IAAI,OAAO,CAAC,SAAS;YAAE,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACnD,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,sEAAsE;IACtE,gEAAgE;IAChE,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI;YAAE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,qEAAqE;IACrE,mEAAmE;IACnE,gEAAgE;IAChE,mEAAmE;IACnE,yDAAyD;IACzD,yCAAyC;IACzC,EAAE;IACF,iEAAiE;IACjE,qEAAqE;IACrE,qEAAqE;IACrE,kEAAkE;IAClE,0BAA0B;IAC1B,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,8DAA8D;QAC9D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACnD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,SAAS;oBAAE,SAAS;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAsB,CAAC,CAAC;gBAC3D,IAAI,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;oBAClD,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QACD,iEAAiE;QACjE,yDAAyD;QACzD,gEAAgE;QAChE,gEAAgE;QAChE,kEAAkE;QAClE,uDAAuD;QACvD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM;gBAAE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,gEAAgE;IAChE,kEAAkE;IAClE,8DAA8D;IAC9D,kDAAkD;IAClD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,MAAM,EAAE,MAAM,EAAE;gBAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5C,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAEjE,4CAA4C;IAC5C,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC"}
|
|
@@ -61,8 +61,8 @@ export interface ITerrainRegion {
|
|
|
61
61
|
id: string;
|
|
62
62
|
label: string;
|
|
63
63
|
/** The puzzle whose solve/bypass clears this region (solve.ts /
|
|
64
|
-
*
|
|
65
|
-
|
|
64
|
+
* utilities/devices.ts calls Room.clearTerrainFor(deviceName)). */
|
|
65
|
+
deviceName: string;
|
|
66
66
|
cells: GridCoord[];
|
|
67
67
|
cleared: boolean;
|
|
68
68
|
cover: 'partial' | 'good';
|
|
@@ -122,7 +122,7 @@ export interface IGridSynthesisLevel {
|
|
|
122
122
|
kind: 'catwalk' | 'balcony' | 'mezzanine';
|
|
123
123
|
}
|
|
124
124
|
export interface IGridSynthesisTerrainHint {
|
|
125
|
-
|
|
125
|
+
deviceName: string;
|
|
126
126
|
label: string;
|
|
127
127
|
guards: {
|
|
128
128
|
kind: 'exit';
|
|
@@ -582,7 +582,7 @@ export function synthesizeGrid(input) {
|
|
|
582
582
|
for (let round = 0; round < 3 && !sealed; round++) {
|
|
583
583
|
blocked = growBlob(grid, guarded, primaryEntry, cap, ground);
|
|
584
584
|
const region = {
|
|
585
|
-
id: `terrain:${hint.
|
|
585
|
+
id: `terrain:${hint.deviceName}`, label: hint.label, deviceName: hint.deviceName,
|
|
586
586
|
cells: blocked, cleared: false, cover, blocking: true,
|
|
587
587
|
};
|
|
588
588
|
grid.terrain.set(region.id, region);
|
|
@@ -596,12 +596,12 @@ export function synthesizeGrid(input) {
|
|
|
596
596
|
break;
|
|
597
597
|
}
|
|
598
598
|
const finalRegion = {
|
|
599
|
-
id: `terrain:${hint.
|
|
599
|
+
id: `terrain:${hint.deviceName}`, label: hint.label, deviceName: hint.deviceName,
|
|
600
600
|
cells: blocked, cleared: false, cover, blocking: sealed,
|
|
601
601
|
};
|
|
602
602
|
grid.terrain.set(finalRegion.id, finalRegion);
|
|
603
603
|
if (!sealed) {
|
|
604
|
-
console.error(`[room-grid] "${input.roomName}": terrain "${hint.
|
|
604
|
+
console.error(`[room-grid] "${input.roomName}": terrain "${hint.deviceName}" could not seal the guarded cell -- degraded to cover-only scenery.`);
|
|
605
605
|
}
|
|
606
606
|
}
|
|
607
607
|
return grid;
|
|
@@ -190,6 +190,31 @@ export declare function routeForMove(room: Room, mover: Player, toSpot: string):
|
|
|
190
190
|
squeezed: boolean;
|
|
191
191
|
};
|
|
192
192
|
export declare function spotDistanceMeters(room: Room, from: string, to: string): number;
|
|
193
|
+
/**
|
|
194
|
+
* Is this actor actually IN cover right now?
|
|
195
|
+
*
|
|
196
|
+
* True only while they are still standing where they took it (see
|
|
197
|
+
* Player.coverAtSpot). TAKE COVER is a Simple Action, SR5e p.166, and
|
|
198
|
+
* the +2/+4 on the Defense Test (p.190) is the defender's for having
|
|
199
|
+
* spent it -- so merely standing near a crate is not cover, and
|
|
200
|
+
* stepping away from one ends it without anything having to notice.
|
|
201
|
+
*/
|
|
202
|
+
export declare function isInCover(actor: Player): boolean;
|
|
203
|
+
/** Take cover where this actor stands. Callers check availability
|
|
204
|
+
* first (see coverAvailableFor) -- this only records the choice. */
|
|
205
|
+
export declare function takeCoverHere(actor: Player): void;
|
|
206
|
+
/**
|
|
207
|
+
* What cover this actor's own position offers, if any -- the tagged
|
|
208
|
+
* rating of the spot they stand at. Terrain occluders between two
|
|
209
|
+
* particular cells are a per-shot fact and belong to the exchange (see
|
|
210
|
+
* combat-exchange.ts); this is the "is there anything here to get
|
|
211
|
+
* behind at all" question TAKE COVER has to answer before it can be
|
|
212
|
+
* spent.
|
|
213
|
+
*/
|
|
214
|
+
export declare function coverAvailableFor(actor: Player): 'partial' | 'good' | undefined;
|
|
215
|
+
/** Every place in this room that offers something to get behind --
|
|
216
|
+
* so a refusal can name where the cover actually is. */
|
|
217
|
+
export declare function coverSpotsIn(room: Room): string[];
|
|
193
218
|
/** Cover between two spots (see room-grid.ts coverBetween) -- honors a
|
|
194
219
|
* cover-tagged DEFENDER spot first (the same check combat-exchange.ts
|
|
195
220
|
* makes), falling back to a terrain occluder on the line between. */
|
|
@@ -222,15 +247,14 @@ export declare function reseatOpenFloor(room: Room, mover: Player): boolean;
|
|
|
222
247
|
/** Which terrain region is sealing the route from `from` to `to`, and
|
|
223
248
|
* the Puzzle that clears it (for the bypass verb) -- undefined when
|
|
224
249
|
* the room has no grid, or (a synthesis edge case) a region blocks
|
|
225
|
-
* the path but its
|
|
250
|
+
* the path but its device can no longer be found. */
|
|
226
251
|
export declare function blockingRegion(room: Room, from: string, to: string): {
|
|
227
252
|
region: ITerrainRegion;
|
|
228
|
-
|
|
253
|
+
device: import('../models/device.js').Device;
|
|
229
254
|
} | undefined;
|
|
230
255
|
/** One refusal voice for a terrain-blocked crossing -- always names
|
|
231
|
-
* the obstacle AND the
|
|
232
|
-
|
|
233
|
-
export declare function terrainRefusal(region: ITerrainRegion, targetLabel: string, puzzle?: import('../models/puzzle.js').Puzzle): string;
|
|
256
|
+
* the obstacle AND the verbs that actually work it. */
|
|
257
|
+
export declare function terrainRefusal(region: ITerrainRegion, targetLabel: string, device?: import('../models/device.js').Device): string;
|
|
234
258
|
/**
|
|
235
259
|
* The same voice, for a LOCKED DOOR rather than blocking terrain
|
|
236
260
|
* (blocker 2026-08-27, "the barrier isn't allowing me to
|
|
@@ -241,14 +265,14 @@ export declare function terrainRefusal(region: ITerrainRegion, targetLabel: stri
|
|
|
241
265
|
* lock was workable, or how.
|
|
242
266
|
*
|
|
243
267
|
* Returns a TAIL to append (leading space), or '' when there is
|
|
244
|
-
* genuinely nothing to name: a plain
|
|
245
|
-
*
|
|
246
|
-
* Solved and prerequisite-blocked barriers stay quiet too -- the first
|
|
247
|
-
* cannot be the reason the door is shut, and the second is a story
|
|
248
|
-
* beat that should not be short-circuited into a to-do.
|
|
268
|
+
* genuinely nothing to name: a plain keyed door has no device, and
|
|
269
|
+
* inventing a route would mislead worse than silence.
|
|
249
270
|
*/
|
|
250
|
-
export declare function lockedRouteHint(door: {
|
|
251
|
-
|
|
271
|
+
export declare function lockedRouteHint(room: Room, direction: Direction, door: {
|
|
272
|
+
heldBy?: {
|
|
273
|
+
device: string;
|
|
274
|
+
room: string;
|
|
275
|
+
};
|
|
252
276
|
}): string;
|
|
253
277
|
/**
|
|
254
278
|
* WHAT KIND OF WAY THROUGH a spot's name describes, or undefined when
|
|
@@ -307,12 +307,34 @@ export function doorwayBlocker(room, direction, mover) {
|
|
|
307
307
|
/** Hostility is what turns a body into a barricade: someone trading
|
|
308
308
|
* blows (with anyone) or already surrendered-but-armed stands their
|
|
309
309
|
* ground. Everyone else has no reason not to shuffle over. */
|
|
310
|
+
/**
|
|
311
|
+
* Does this body HOLD the doorway, or merely occupy it?
|
|
312
|
+
*
|
|
313
|
+
* Two ways to hold it, and they mean different things:
|
|
314
|
+
* - mid-exchange: a live fight already has you planted.
|
|
315
|
+
* - `guarding`: someone deliberately standing there -- a doorman, a
|
|
316
|
+
* picket, someone told to hold that door (player note 2026-08-27:
|
|
317
|
+
* "NPCs can be barriers -- can't move through them"). Set on the
|
|
318
|
+
* actor rather than as a direction, because the geometry already
|
|
319
|
+
* knows WHICH doorway: doorwayOccupants reads the exit cell and its
|
|
320
|
+
* approach. A `guarding: Direction` would state the same fact twice
|
|
321
|
+
* and let the two disagree.
|
|
322
|
+
*
|
|
323
|
+
* Both are cancelled by surrender, for the same reason: a doorman who
|
|
324
|
+
* has been beaten stops holding the door exactly as a fighter does.
|
|
325
|
+
*
|
|
326
|
+
* The flag is read structurally (as with allyOf above) so this file
|
|
327
|
+
* does not have to wait on the actor-side work that sets it; an actor
|
|
328
|
+
* without the property simply never guards, which is today's
|
|
329
|
+
* behaviour.
|
|
330
|
+
*/
|
|
310
331
|
function holdsGround(other, mover) {
|
|
311
332
|
if (other.isIncapacitated())
|
|
312
333
|
return false; // the fallen never block
|
|
313
334
|
if (other.allyOf === mover.name)
|
|
314
335
|
return false;
|
|
315
|
-
|
|
336
|
+
const guarding = other.guarding === true;
|
|
337
|
+
return (other.inExchange || guarding) && !other.surrendered;
|
|
316
338
|
}
|
|
317
339
|
/**
|
|
318
340
|
* Move a non-hostile body off an exit so the way opens, returning their
|
|
@@ -738,6 +760,48 @@ export function spotDistanceMeters(room, from, to) {
|
|
|
738
760
|
return 0;
|
|
739
761
|
return distanceMeters(a, b);
|
|
740
762
|
}
|
|
763
|
+
/**
|
|
764
|
+
* Is this actor actually IN cover right now?
|
|
765
|
+
*
|
|
766
|
+
* True only while they are still standing where they took it (see
|
|
767
|
+
* Player.coverAtSpot). TAKE COVER is a Simple Action, SR5e p.166, and
|
|
768
|
+
* the +2/+4 on the Defense Test (p.190) is the defender's for having
|
|
769
|
+
* spent it -- so merely standing near a crate is not cover, and
|
|
770
|
+
* stepping away from one ends it without anything having to notice.
|
|
771
|
+
*/
|
|
772
|
+
export function isInCover(actor) {
|
|
773
|
+
return actor.coverAtSpot !== undefined && actor.coverAtSpot === (spotOf(actor) ?? '');
|
|
774
|
+
}
|
|
775
|
+
/** Take cover where this actor stands. Callers check availability
|
|
776
|
+
* first (see coverAvailableFor) -- this only records the choice. */
|
|
777
|
+
export function takeCoverHere(actor) {
|
|
778
|
+
actor.coverAtSpot = spotOf(actor) ?? '';
|
|
779
|
+
}
|
|
780
|
+
/**
|
|
781
|
+
* What cover this actor's own position offers, if any -- the tagged
|
|
782
|
+
* rating of the spot they stand at. Terrain occluders between two
|
|
783
|
+
* particular cells are a per-shot fact and belong to the exchange (see
|
|
784
|
+
* combat-exchange.ts); this is the "is there anything here to get
|
|
785
|
+
* behind at all" question TAKE COVER has to answer before it can be
|
|
786
|
+
* spent.
|
|
787
|
+
*/
|
|
788
|
+
export function coverAvailableFor(actor) {
|
|
789
|
+
const room = actor.currentLocation;
|
|
790
|
+
const mine = spotOf(actor);
|
|
791
|
+
if (!room || !mine)
|
|
792
|
+
return undefined;
|
|
793
|
+
const tagged = (room.spots ?? []).find(s => s.name === mine)?.tags?.find(t => t.startsWith('cover'));
|
|
794
|
+
if (!tagged)
|
|
795
|
+
return undefined;
|
|
796
|
+
return tagged === 'cover-good' ? 'good' : 'partial';
|
|
797
|
+
}
|
|
798
|
+
/** Every place in this room that offers something to get behind --
|
|
799
|
+
* so a refusal can name where the cover actually is. */
|
|
800
|
+
export function coverSpotsIn(room) {
|
|
801
|
+
return (room.spots ?? [])
|
|
802
|
+
.filter(s => (s.tags ?? []).some(t => t.startsWith('cover')))
|
|
803
|
+
.map(s => s.name);
|
|
804
|
+
}
|
|
741
805
|
/** Cover between two spots (see room-grid.ts coverBetween) -- honors a
|
|
742
806
|
* cover-tagged DEFENDER spot first (the same check combat-exchange.ts
|
|
743
807
|
* makes), falling back to a terrain occluder on the line between. */
|
|
@@ -830,7 +894,7 @@ export function reseatOpenFloor(room, mover) {
|
|
|
830
894
|
/** Which terrain region is sealing the route from `from` to `to`, and
|
|
831
895
|
* the Puzzle that clears it (for the bypass verb) -- undefined when
|
|
832
896
|
* the room has no grid, or (a synthesis edge case) a region blocks
|
|
833
|
-
* the path but its
|
|
897
|
+
* the path but its device can no longer be found. */
|
|
834
898
|
export function blockingRegion(room, from, to) {
|
|
835
899
|
const grid = room.ensureGrid();
|
|
836
900
|
const a = grid?.spotCells.get(from);
|
|
@@ -840,16 +904,18 @@ export function blockingRegion(room, from, to) {
|
|
|
840
904
|
const region = blockingRegionFor(grid, a, b);
|
|
841
905
|
if (!region)
|
|
842
906
|
return undefined;
|
|
843
|
-
const
|
|
844
|
-
return
|
|
907
|
+
const device = room.openableDevices().find(d => d.name === region.deviceName);
|
|
908
|
+
return device ? { region, device } : undefined;
|
|
845
909
|
}
|
|
846
910
|
/** One refusal voice for a terrain-blocked crossing -- always names
|
|
847
|
-
* the obstacle AND the
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
const
|
|
851
|
-
|
|
852
|
-
|
|
911
|
+
* the obstacle AND the verbs that actually work it. */
|
|
912
|
+
export function terrainRefusal(region, targetLabel, device) {
|
|
913
|
+
const verbs = device?.verbs() ?? [];
|
|
914
|
+
const routes = verbs.length > 0
|
|
915
|
+
? verbs.map(v => `"${v}"`).join(' or ')
|
|
916
|
+
: '"use" it';
|
|
917
|
+
const named = device ? ` (${device.name})` : '';
|
|
918
|
+
return `The ${region.label}${named} seals the way to the ${targetLabel} -- ${routes} to clear it.`;
|
|
853
919
|
}
|
|
854
920
|
/**
|
|
855
921
|
* The same voice, for a LOCKED DOOR rather than blocking terrain
|
|
@@ -861,23 +927,31 @@ export function terrainRefusal(region, targetLabel, puzzle) {
|
|
|
861
927
|
* lock was workable, or how.
|
|
862
928
|
*
|
|
863
929
|
* Returns a TAIL to append (leading space), or '' when there is
|
|
864
|
-
* genuinely nothing to name: a plain
|
|
865
|
-
*
|
|
866
|
-
* Solved and prerequisite-blocked barriers stay quiet too -- the first
|
|
867
|
-
* cannot be the reason the door is shut, and the second is a story
|
|
868
|
-
* beat that should not be short-circuited into a to-do.
|
|
930
|
+
* genuinely nothing to name: a plain keyed door has no device, and
|
|
931
|
+
* inventing a route would mislead worse than silence.
|
|
869
932
|
*/
|
|
870
|
-
export function lockedRouteHint(door) {
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
933
|
+
export function lockedRouteHint(room, direction, door) {
|
|
934
|
+
// THE DEVICE IS IN THIS ROOM: name it and the verbs that work it.
|
|
935
|
+
const here = room.deviceOpening(direction);
|
|
936
|
+
if (here) {
|
|
937
|
+
const routes = here.verbs().map(v => `"${v}"`).join(' or ');
|
|
938
|
+
const code = here.code ? `, or "use ${here.name.toLowerCase()} <the code>"` : '';
|
|
939
|
+
return ` ${here.name} holds it -- ${routes}${code}.`;
|
|
940
|
+
}
|
|
941
|
+
// THE DEVICE IS SOMEWHERE ELSE. A Door is ONE object filed in BOTH
|
|
942
|
+
// rooms' exits maps, so the grate's release can be in the room above
|
|
943
|
+
// while you are standing below it. Without this the player gets "the
|
|
944
|
+
// way up is locked" and nothing to act on -- the dead-end refusal
|
|
945
|
+
// this codebase has spent four waves removing.
|
|
946
|
+
//
|
|
947
|
+
// Read off the back-reference the wiring wrote (Door.heldBy), NOT by
|
|
948
|
+
// searching every room's devices: that would be a second source of
|
|
949
|
+
// truth free to disagree with the lock, computed on every failed move.
|
|
950
|
+
if (door.heldBy) {
|
|
951
|
+
return ` It's barred from ${door.heldBy.room} -- ${door.heldBy.device} is over there, not here.`;
|
|
952
|
+
}
|
|
953
|
+
// A plain keyed door has no device and no route to invent.
|
|
954
|
+
return '';
|
|
881
955
|
}
|
|
882
956
|
export function doorwayKindOf(spotName) {
|
|
883
957
|
if (/stair|\bsteps?\b|ladder|hatch|shaft|chute|\bramp\b|\blift\b|elevator|escalator/i.test(spotName))
|
|
@@ -1030,7 +1104,7 @@ export function ensureAtSpot(actor, targetSpot) {
|
|
|
1030
1104
|
if (room.ensureGrid() && !pathBetweenSpots(room, mine, targetSpot)) {
|
|
1031
1105
|
const blocked = blockingRegion(room, mine, targetSpot);
|
|
1032
1106
|
if (blocked)
|
|
1033
|
-
return { refusal: terrainRefusal(blocked.region, targetSpot, blocked.
|
|
1107
|
+
return { refusal: terrainRefusal(blocked.region, targetSpot, blocked.device) };
|
|
1034
1108
|
}
|
|
1035
1109
|
if (actor.inExchange) {
|
|
1036
1110
|
return { refusal: `That's over at the ${targetSpot} -- and you're mid-exchange. Crossing open floor now means eating lead.` };
|