@maka/maka-cli 5.48.0 → 5.50.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/game/sideQuest/commands/attack.js +20 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js +9 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/bypass-command.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js +9 -8
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.d.ts +5 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js +27 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/give.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/give.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +43 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +6 -24
- package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/loot.d.ts +21 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/loot.js +93 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/loot.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.d.ts +5 -15
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.js +36 -132
- package/bundle/typescript/src/commands/game/sideQuest/commands/map.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.d.ts +32 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +313 -17
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/note.d.ts +25 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/note.js +57 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/note.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +20 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js +9 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/talk.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/talk.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/room-factory.js +1 -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 +13 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +66 -9
- 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 +37 -1
- 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 +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +59 -6
- package/bundle/typescript/src/commands/game/sideQuest/game.js +250 -49
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/headless.js +42 -2
- package/bundle/typescript/src/commands/game/sideQuest/headless.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +9 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +63 -3
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +40 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +49 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.d.ts +5 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js +24 -6
- package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/room.d.ts +85 -2
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js +182 -2
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +4 -4
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +17 -7
- package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +17 -13
- package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +32 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/puzzle-seed.d.ts +2 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/seed/room-seed.d.ts +5 -1
- package/bundle/typescript/src/commands/game/sideQuest/ui.d.ts +3 -0
- package/bundle/typescript/src/commands/game/sideQuest/ui.js +17 -11
- package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.d.ts +9 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +87 -8
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/map-view.d.ts +70 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/map-view.js +289 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/map-view.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +34 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.d.ts +7 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +9 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/prefs.d.ts +4 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/prefs.js +44 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/prefs.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/range.d.ts +22 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/range.js +69 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/range.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.d.ts +186 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.js +742 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.d.ts +34 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js +524 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js +13 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.d.ts +273 -3
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +890 -24
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +5 -0
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/tools/ai/ai.class.d.ts +15 -0
- package/bundle/typescript/src/tools/ai/ai.class.js +20 -0
- package/bundle/typescript/src/tools/ai/ai.class.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import { shellsInRoom } from '../utilities/planes.js';
|
|
|
6
6
|
import { gridIconBlock } from '../utilities/grid-view.js';
|
|
7
7
|
import { hint } from '../utilities/hints.js';
|
|
8
8
|
import { BULLET } from '../utilities/log-style.js';
|
|
9
|
-
import { spotsActive, whoIsWhereLine, highlightSpots, highlightActors
|
|
9
|
+
import { spotsActive, whoIsWhereLine, highlightSpots, highlightActors } from '../utilities/spots.js';
|
|
10
10
|
import { rollPool, formatRoll } from '../utilities/dice.js';
|
|
11
11
|
export class LookCommand extends Command {
|
|
12
12
|
static verb = 'look';
|
|
@@ -158,29 +158,11 @@ export class LookCommand extends Command {
|
|
|
158
158
|
description += `\n\n${shellList}`;
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
-
//
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
// backroom door lived at the back corner).
|
|
167
|
-
const from = exitSpot(room, direction);
|
|
168
|
-
const fromNote = from ? ` -- from the ${from}` : '';
|
|
169
|
-
if (typeof exit === 'string') {
|
|
170
|
-
return `${BULLET}${direction}: ${exit}${fromNote}`;
|
|
171
|
-
}
|
|
172
|
-
else if (exit instanceof Door) {
|
|
173
|
-
const targetRoom = exit.getOtherSideToName(room);
|
|
174
|
-
const lockedStr = exit.checkIfLocked() ? ' (locked)' : '';
|
|
175
|
-
return `${BULLET}${direction}: ${targetRoom}${lockedStr}${fromNote}`;
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
return `${BULLET}${direction}: Unknown`;
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
if (exits.length > 0) {
|
|
182
|
-
description += `\n\nExits:\n${exits?.join('\n')}`;
|
|
183
|
-
}
|
|
161
|
+
// NO EXITS BLOCK (player note 2026-08-25: "now when looking, remove
|
|
162
|
+
// Exits"). Every "look" ended in a list of ways out, which the
|
|
163
|
+
// docked minimap and "map" both already draw -- three copies of the
|
|
164
|
+
// same information, and the longest one buried the part of the
|
|
165
|
+
// prose that actually described the room.
|
|
184
166
|
return description;
|
|
185
167
|
}
|
|
186
168
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"look.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/look.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"look.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/look.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Command, ICommand } from './command.js';
|
|
2
|
+
/**
|
|
3
|
+
* "loot <body>" -- stripping the dead (player ruling 2026-08-25: a
|
|
4
|
+
* killed actor leaves a BODY where it fell, holding everything it
|
|
5
|
+
* carried, and the gear comes off it rather than spraying across the
|
|
6
|
+
* room's floor).
|
|
7
|
+
*
|
|
8
|
+
* Looting is HANDS-ON: you have to be standing next to the body, not
|
|
9
|
+
* across the room, which is the whole reason the fallen keep a cell of
|
|
10
|
+
* their own. A body picked clean is carried off -- nothing is left to
|
|
11
|
+
* mark a square nobody has any further business with.
|
|
12
|
+
*/
|
|
13
|
+
export declare class LootCommand extends Command implements ICommand {
|
|
14
|
+
protected static verb: string;
|
|
15
|
+
protected static description: string;
|
|
16
|
+
execute(args?: string[]): Promise<string>;
|
|
17
|
+
private fuzzyBody;
|
|
18
|
+
/** Bare "loot" takes the closest body -- usually the one you just
|
|
19
|
+
* dropped, which is the only one you meant. */
|
|
20
|
+
private nearestBody;
|
|
21
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Command } from './command.js';
|
|
2
|
+
import { hint } from '../utilities/hints.js';
|
|
3
|
+
import { fuzzyPickName } from '../utilities/fuzzy-match.js';
|
|
4
|
+
import { actorCell } from '../utilities/spots.js';
|
|
5
|
+
/**
|
|
6
|
+
* "loot <body>" -- stripping the dead (player ruling 2026-08-25: a
|
|
7
|
+
* killed actor leaves a BODY where it fell, holding everything it
|
|
8
|
+
* carried, and the gear comes off it rather than spraying across the
|
|
9
|
+
* room's floor).
|
|
10
|
+
*
|
|
11
|
+
* Looting is HANDS-ON: you have to be standing next to the body, not
|
|
12
|
+
* across the room, which is the whole reason the fallen keep a cell of
|
|
13
|
+
* their own. A body picked clean is carried off -- nothing is left to
|
|
14
|
+
* mark a square nobody has any further business with.
|
|
15
|
+
*/
|
|
16
|
+
export class LootCommand extends Command {
|
|
17
|
+
static verb = 'loot';
|
|
18
|
+
static description = 'Strip a body of what it was carrying: "loot Brick", or bare "loot" for the nearest one. You have to be standing next to it. A body picked clean is left behind for good.';
|
|
19
|
+
async execute(args = []) {
|
|
20
|
+
const actor = this.actor;
|
|
21
|
+
const room = actor.currentLocation;
|
|
22
|
+
if (!room)
|
|
23
|
+
return "You're nowhere. This is a bug.";
|
|
24
|
+
if (actor.plane !== 'meat') {
|
|
25
|
+
return `Bodies are a meat-world problem -- your present form has no hands for it.`;
|
|
26
|
+
}
|
|
27
|
+
if (room.bodies.length === 0) {
|
|
28
|
+
return `There's nothing here to strip.`;
|
|
29
|
+
}
|
|
30
|
+
const query = args.join(' ').trim();
|
|
31
|
+
const body = query
|
|
32
|
+
? room.bodies.find(b => b.name.toLowerCase() === query.toLowerCase())
|
|
33
|
+
?? this.fuzzyBody(room.bodies, query)
|
|
34
|
+
: this.nearestBody(room.bodies);
|
|
35
|
+
if (!body) {
|
|
36
|
+
return `No "${query}" lying here. Bodies: ${room.bodies.map(b => b.name).join(', ')}.`;
|
|
37
|
+
}
|
|
38
|
+
// ADJACENCY, in cells -- the point of bodies having a position.
|
|
39
|
+
// A circulating looter (no seat of their own) is "anywhere in the
|
|
40
|
+
// room" by the old compat rule, so they simply reach: refusing them
|
|
41
|
+
// would strand anyone the spatial layer hasn't positioned.
|
|
42
|
+
const mine = actorCell(room, actor);
|
|
43
|
+
if (mine) {
|
|
44
|
+
const gap = Math.max(Math.abs(mine.x - body.cell.x), Math.abs(mine.y - body.cell.y));
|
|
45
|
+
if (mine.z !== body.cell.z || gap > 1) {
|
|
46
|
+
return `${body.name}'s body is out of reach from here -- get next to it first.`;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const items = body.inventory.getAllItems();
|
|
50
|
+
if (items.length === 0) {
|
|
51
|
+
room.removeBody(body.name);
|
|
52
|
+
return `${body.name} has nothing left worth taking.`;
|
|
53
|
+
}
|
|
54
|
+
// Bound items come off a corpse too: `transferable:false` is a
|
|
55
|
+
// living owner's refusal to hand something over, and stripping a
|
|
56
|
+
// body is not a trade (same reasoning as Room.layOutBody).
|
|
57
|
+
const taken = [];
|
|
58
|
+
for (const item of items) {
|
|
59
|
+
body.inventory.removeItem(item.name);
|
|
60
|
+
actor.inventory.addItem(item);
|
|
61
|
+
taken.push(item.name);
|
|
62
|
+
}
|
|
63
|
+
if (taken.length === 0) {
|
|
64
|
+
return `There's nothing on ${body.name} you can carry.`;
|
|
65
|
+
}
|
|
66
|
+
// Picked clean: the body has served its purpose and goes.
|
|
67
|
+
const left = body.inventory.getAllItems().length;
|
|
68
|
+
if (left === 0)
|
|
69
|
+
room.removeBody(body.name);
|
|
70
|
+
actor.performAction('strips', `${body.name}'s body`);
|
|
71
|
+
this.scene.updateInventory(actor.inventory);
|
|
72
|
+
this.scene.updateExits(room);
|
|
73
|
+
this.logger.write(`LootCommand: ${actor.name} took ${taken.join(', ')} from ${body.name} in ${room.name}.`);
|
|
74
|
+
const tail = left === 0
|
|
75
|
+
? ` You leave the body where it lies, picked clean.`
|
|
76
|
+
: `${hint(` (${left} more on the body.)`)}`;
|
|
77
|
+
return `You go through ${body.name}'s body and come up with: ${taken.join(', ')}.${tail}`;
|
|
78
|
+
}
|
|
79
|
+
fuzzyBody(bodies, query) {
|
|
80
|
+
const picked = fuzzyPickName(query, bodies.map(b => b.name));
|
|
81
|
+
return picked ? bodies.find(b => b.name === picked) : undefined;
|
|
82
|
+
}
|
|
83
|
+
/** Bare "loot" takes the closest body -- usually the one you just
|
|
84
|
+
* dropped, which is the only one you meant. */
|
|
85
|
+
nearestBody(bodies) {
|
|
86
|
+
const mine = actorCell(this.actor.currentLocation, this.actor);
|
|
87
|
+
if (!mine)
|
|
88
|
+
return bodies[0];
|
|
89
|
+
return [...bodies].sort((a, b) => (Math.max(Math.abs(mine.x - a.cell.x), Math.abs(mine.y - a.cell.y)))
|
|
90
|
+
- (Math.max(Math.abs(mine.x - b.cell.x), Math.abs(mine.y - b.cell.y))))[0];
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=loot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loot.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/loot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,14 @@
|
|
|
1
1
|
import { Command, ICommand } from './command.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
3
|
+
* The on-demand EXITS list. Registered as both "map" and "exits", and
|
|
4
|
+
* as of 2026-08-25 that second name is the honest one: the drawn maps
|
|
5
|
+
* are permanently docked beside the log (game.ts), so this prints only
|
|
6
|
+
* where you can go, with each way out carrying its lock state.
|
|
7
7
|
*/
|
|
8
8
|
export declare class MapCommand extends Command implements ICommand {
|
|
9
9
|
protected static verb: string;
|
|
10
10
|
protected static description: string;
|
|
11
|
-
execute(
|
|
12
|
-
/** Cardinal layout deltas; up/down and anything unmapped become
|
|
13
|
-
* annotation lines instead of cells. */
|
|
14
|
-
private static readonly DELTAS;
|
|
15
|
-
/**
|
|
16
|
-
* Lays the scene's room graph onto a 2D grid by BFS from HERE and
|
|
17
|
-
* draws it with box-drawing characters. Collisions (two rooms
|
|
18
|
-
* competing for a cell) and non-cardinal links degrade to annotation
|
|
19
|
-
* lines -- a wrong map is worse than a short one.
|
|
20
|
-
*/
|
|
21
|
-
private minimap;
|
|
11
|
+
execute(args?: string[]): Promise<string>;
|
|
22
12
|
/**
|
|
23
13
|
* Every room in the scene as a grid icon. ● = a live host node
|
|
24
14
|
* (ice and paydata country), · = thin grid (an overlay you can
|
|
@@ -1,22 +1,33 @@
|
|
|
1
1
|
import { Command } from './command.js';
|
|
2
|
-
import { hint } from '../utilities/hints.js';
|
|
3
2
|
import { Door } from '../models/door.js';
|
|
4
3
|
import { isWatched, camerasLive } from '../utilities/surveillance.js';
|
|
5
4
|
import { capitalCase } from 'change-case';
|
|
5
|
+
import { getPref, setPref } from '../utilities/prefs.js';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* The on-demand EXITS list. Registered as both "map" and "exits", and
|
|
8
|
+
* as of 2026-08-25 that second name is the honest one: the drawn maps
|
|
9
|
+
* are permanently docked beside the log (game.ts), so this prints only
|
|
10
|
+
* where you can go, with each way out carrying its lock state.
|
|
11
11
|
*/
|
|
12
12
|
export class MapCommand extends Command {
|
|
13
13
|
static verb = 'map';
|
|
14
14
|
static description = 'Where you are and every way out, with lock states. Jacked in, it lights THE GRID instead: every room as an icon -- host nodes bright, thin grid dim, air-gapped hosts dark -- because a persona jumps anywhere by name, no exits needed.';
|
|
15
|
-
async execute(
|
|
15
|
+
async execute(args = []) {
|
|
16
16
|
const room = this.actor.currentLocation;
|
|
17
17
|
if (!room) {
|
|
18
18
|
return "You're nowhere. This is a bug.";
|
|
19
19
|
}
|
|
20
|
+
const sub = (args[0] ?? '').toLowerCase();
|
|
21
|
+
// "map overlay": toggle the persistent icon minimap (map-overlay
|
|
22
|
+
// wave 2026-08-24) -- preference sticks across sessions.
|
|
23
|
+
if (sub === 'overlay') {
|
|
24
|
+
const on = !getPref('mapOverlay', true);
|
|
25
|
+
setPref('mapOverlay', on);
|
|
26
|
+
this.game?.updateExits(room);
|
|
27
|
+
if (!on)
|
|
28
|
+
this.game?.hideMapOverlay();
|
|
29
|
+
return on ? `The overlay flickers on -- icons in the corner of your eye.` : `The overlay winks out.`;
|
|
30
|
+
}
|
|
20
31
|
// THE GRID VIEW (RAW p.217-218/235; player ruling 2026-08-23):
|
|
21
32
|
// jacked in, exits are furniture -- icons and hosts are visible
|
|
22
33
|
// from anywhere (only silence and air gaps hide anything), and
|
|
@@ -24,20 +35,20 @@ export class MapCommand extends Command {
|
|
|
24
35
|
if (this.actor.plane === 'matrix') {
|
|
25
36
|
return this.gridMap(room);
|
|
26
37
|
}
|
|
38
|
+
// EXITS, AND NOTHING ELSE (player ruling 2026-08-25: "for now, only
|
|
39
|
+
// print the exits, the rest is just clutter"). This command grew a
|
|
40
|
+
// drawn district map and then a drawn room layout on top of its
|
|
41
|
+
// list -- and then the spatial wave put BOTH of those on screen
|
|
42
|
+
// permanently, docked beside the log. Printing them again on demand
|
|
43
|
+
// was three copies of the same picture pushing the one thing you
|
|
44
|
+
// actually typed "map" for off the top of the panel. The pictures
|
|
45
|
+
// live in the docked boxes now (game.ts updateExits); this is the
|
|
46
|
+
// text answer to "where can I go".
|
|
27
47
|
const lines = [`=== ${room.name.toUpperCase()} ===`];
|
|
28
48
|
if (room.exits.size === 0) {
|
|
29
49
|
lines.push('There are no exits here.');
|
|
30
50
|
return lines.join('\n');
|
|
31
51
|
}
|
|
32
|
-
// THE MINIMAP (player request 2026-08-24): the room graph laid out
|
|
33
|
-
// spatially -- ▣ marks you, ✕ marks a locked or spell-sealed way,
|
|
34
|
-
// ▲/▼ flag up/down exits. Box-drawing only (no emoji -- blessed's
|
|
35
|
-
// width tables, see the ui.ts patch saga). The textual exits list
|
|
36
|
-
// below stays as the detail view.
|
|
37
|
-
const mini = this.minimap(room);
|
|
38
|
-
if (mini.length > 0) {
|
|
39
|
-
lines.push(...mini, '');
|
|
40
|
-
}
|
|
41
52
|
lines.push('Exits:');
|
|
42
53
|
for (const [direction, exit] of room.exits.entries()) {
|
|
43
54
|
if (exit instanceof Door) {
|
|
@@ -49,124 +60,8 @@ export class MapCommand extends Command {
|
|
|
49
60
|
lines.push(` • ${capitalCase(direction)}: ${exit}`);
|
|
50
61
|
}
|
|
51
62
|
}
|
|
52
|
-
const barriers = room.getPuzzleTargets();
|
|
53
|
-
if (barriers.length > 0) {
|
|
54
|
-
lines.push('');
|
|
55
|
-
for (const barrier of barriers) {
|
|
56
|
-
lines.push(barrier.direction
|
|
57
|
-
? `A barrier blocks the way ${barrier.direction}.${hint(` ("search" for a closer look.)`)}`
|
|
58
|
-
: `There's a barrier here.${hint(` ("search" for a closer look.)`)}`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
63
|
return lines.join('\n');
|
|
62
64
|
}
|
|
63
|
-
/** Cardinal layout deltas; up/down and anything unmapped become
|
|
64
|
-
* annotation lines instead of cells. */
|
|
65
|
-
static DELTAS = {
|
|
66
|
-
north: [0, -1], south: [0, 1], east: [1, 0], west: [-1, 0],
|
|
67
|
-
northeast: [1, -1], northwest: [-1, -1], southeast: [1, 1], southwest: [-1, 1],
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* Lays the scene's room graph onto a 2D grid by BFS from HERE and
|
|
71
|
-
* draws it with box-drawing characters. Collisions (two rooms
|
|
72
|
-
* competing for a cell) and non-cardinal links degrade to annotation
|
|
73
|
-
* lines -- a wrong map is worse than a short one.
|
|
74
|
-
*/
|
|
75
|
-
minimap(here) {
|
|
76
|
-
const allRooms = this.rooms ?? {};
|
|
77
|
-
if (Object.keys(allRooms).length < 2)
|
|
78
|
-
return [];
|
|
79
|
-
const posByRoom = new Map();
|
|
80
|
-
const roomAt = new Map();
|
|
81
|
-
const notes = [];
|
|
82
|
-
const links = [];
|
|
83
|
-
const seenLink = new Set();
|
|
84
|
-
posByRoom.set(here, { x: 0, y: 0 });
|
|
85
|
-
roomAt.set('0,0', here);
|
|
86
|
-
const queue = [here];
|
|
87
|
-
while (queue.length > 0) {
|
|
88
|
-
const r = queue.shift();
|
|
89
|
-
const p = posByRoom.get(r);
|
|
90
|
-
for (const [dirRaw, exit] of r.exits.entries()) {
|
|
91
|
-
const dir = String(dirRaw).toLowerCase();
|
|
92
|
-
const target = exit instanceof Door ? exit.getOtherSide(r) : allRooms[exit];
|
|
93
|
-
if (!target)
|
|
94
|
-
continue;
|
|
95
|
-
const locked = exit instanceof Door && exit.checkIfLocked();
|
|
96
|
-
const sealed = !!this.scene.barrierSealing(r, dir);
|
|
97
|
-
const d = MapCommand.DELTAS[dir];
|
|
98
|
-
if (!d) {
|
|
99
|
-
// up/down (and any exotic direction): a marker line.
|
|
100
|
-
notes.push(`${dir === 'up' ? '▲' : dir === 'down' ? '▼' : '•'} ${capitalCase(dir)}: ${target.name}${locked || sealed ? ' ✕' : ''} -- from ${r === here ? 'here' : r.name}`);
|
|
101
|
-
continue;
|
|
102
|
-
}
|
|
103
|
-
if (!posByRoom.has(target)) {
|
|
104
|
-
const cand = { x: p.x + d[0], y: p.y + d[1] };
|
|
105
|
-
const key = `${cand.x},${cand.y}`;
|
|
106
|
-
if (!roomAt.has(key)) {
|
|
107
|
-
posByRoom.set(target, cand);
|
|
108
|
-
roomAt.set(key, target);
|
|
109
|
-
queue.push(target);
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
notes.push(`• ${target.name} lies ${dir} of ${r.name} (off-grid)`);
|
|
113
|
-
continue;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
const q = posByRoom.get(target);
|
|
117
|
-
const linkKey = [Math.min(p.x, q.x), Math.min(p.y, q.y), Math.max(p.x, q.x), Math.max(p.y, q.y)].join(',');
|
|
118
|
-
if (!seenLink.has(linkKey)) {
|
|
119
|
-
seenLink.add(linkKey);
|
|
120
|
-
links.push({ ax: p.x, ay: p.y, bx: q.x, by: q.y, blocked: locked || sealed });
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
const cells = [...posByRoom.entries()];
|
|
125
|
-
const xs = cells.map(([, p]) => p.x);
|
|
126
|
-
const ys = cells.map(([, p]) => p.y);
|
|
127
|
-
const minX = Math.min(...xs), maxX = Math.max(...xs);
|
|
128
|
-
const minY = Math.min(...ys), maxY = Math.max(...ys);
|
|
129
|
-
const LABEL = 9;
|
|
130
|
-
const CELL = LABEL + 3; // "[▣........]"
|
|
131
|
-
const GAP = 3; // horizontal connector width
|
|
132
|
-
const hLink = (x, y) => links.find(l => ((l.ax === x && l.bx === x + 1) || (l.bx === x && l.ax === x + 1)) && l.ay === y && l.by === y);
|
|
133
|
-
const vLink = (x, y) => links.find(l => ((l.ay === y && l.by === y + 1) || (l.by === y && l.ay === y + 1)) && l.ax === x && l.bx === x);
|
|
134
|
-
const out = [];
|
|
135
|
-
for (let y = minY; y <= maxY; y++) {
|
|
136
|
-
let row = '';
|
|
137
|
-
for (let x = minX; x <= maxX; x++) {
|
|
138
|
-
const r = roomAt.get(`${x},${y}`);
|
|
139
|
-
if (r) {
|
|
140
|
-
const hasUp = [...r.exits.keys()].some(dd => String(dd).toLowerCase() === 'up');
|
|
141
|
-
const hasDown = [...r.exits.keys()].some(dd => String(dd).toLowerCase() === 'down');
|
|
142
|
-
const tag = `${hasUp ? '▲' : ''}${hasDown ? '▼' : ''}`;
|
|
143
|
-
const label = (r.name.length > LABEL - tag.length ? r.name.slice(0, LABEL - tag.length - 1) + '…' : r.name).padEnd(LABEL - tag.length);
|
|
144
|
-
row += r === here ? `[{inverse}▣${label}${tag}{/inverse}]` : `[ ${label}${tag}]`;
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
row += ' '.repeat(CELL);
|
|
148
|
-
}
|
|
149
|
-
if (x < maxX) {
|
|
150
|
-
const l = hLink(x, y);
|
|
151
|
-
row += l ? (l.blocked ? '─✕─' : '───') : ' '.repeat(GAP);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
out.push(row.trimEnd());
|
|
155
|
-
if (y < maxY) {
|
|
156
|
-
let conn = '';
|
|
157
|
-
for (let x = minX; x <= maxX; x++) {
|
|
158
|
-
const l = vLink(x, y);
|
|
159
|
-
const mid = Math.floor(CELL / 2);
|
|
160
|
-
conn += l ? ' '.repeat(mid) + (l.blocked ? '✕' : '│') + ' '.repeat(CELL - mid - 1) : ' '.repeat(CELL);
|
|
161
|
-
if (x < maxX)
|
|
162
|
-
conn += ' '.repeat(GAP);
|
|
163
|
-
}
|
|
164
|
-
if (conn.trim().length > 0)
|
|
165
|
-
out.push(conn.trimEnd());
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
return [...out, ...notes];
|
|
169
|
-
}
|
|
170
65
|
/**
|
|
171
66
|
* Every room in the scene as a grid icon. ● = a live host node
|
|
172
67
|
* (ice and paydata country), · = thin grid (an overlay you can
|
|
@@ -189,7 +84,16 @@ export class MapCommand extends Command {
|
|
|
189
84
|
: 'thin grid';
|
|
190
85
|
// Surveillance read (surveillance.ts): where the eyes are, and
|
|
191
86
|
// whose they still are.
|
|
192
|
-
|
|
87
|
+
// ◎, not the eye pictograph. These grid rows are long enough to
|
|
88
|
+
// WRAP, and a wrapped line carrying an astral-plane pictograph
|
|
89
|
+
// comes apart: ui.ts's charWidth/filler patch keeps the emoji
|
|
90
|
+
// aligned in a normal line, but the wrap point lands between the
|
|
91
|
+
// glyph and its filler cell and smartCSR then interleaves the
|
|
92
|
+
// remainder ("-- dark without" rendering as "--edarklwvthout",
|
|
93
|
+
// playtest 2026-08-25). ◎ is a BMP dingbat the terminal draws
|
|
94
|
+
// narrow, and it's the same mark grid-view.ts already uses for a
|
|
95
|
+
// camera cluster.
|
|
96
|
+
const eyes = isWatched(r) ? (camerasLive(allRooms, r) ? ' ◎ eyes live' : ' ◎ eyes looped') : '';
|
|
193
97
|
const marks = [];
|
|
194
98
|
if (r === here)
|
|
195
99
|
marks.push('YOU');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/map.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/map.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,10 @@ import { Command, ICommand } from './command.js';
|
|
|
10
10
|
* clean (Phase 2; v1 refuses spot moves mid-exchange like go.ts does
|
|
11
11
|
* room moves).
|
|
12
12
|
*
|
|
13
|
-
* "move" and "approach" alias walk. A Direction argument
|
|
14
|
-
*
|
|
15
|
-
* direction wins, documented here
|
|
13
|
+
* "move" and "approach" alias walk. A Direction argument is a STEP
|
|
14
|
+
* across this room's grid ("move south 2"), never a room change -- on a
|
|
15
|
+
* name collision the direction wins, documented here. "go" is the only
|
|
16
|
+
* verb that leaves a room.
|
|
16
17
|
*/
|
|
17
18
|
export declare class MoveCommand extends Command implements ICommand {
|
|
18
19
|
protected static verb: string;
|
|
@@ -20,6 +21,34 @@ export declare class MoveCommand extends Command implements ICommand {
|
|
|
20
21
|
/** Which movement mode this registration answers to (see subclasses). */
|
|
21
22
|
protected mode(): 'walk' | 'run' | 'sprint';
|
|
22
23
|
execute(args?: string[]): Promise<string>;
|
|
24
|
+
/**
|
|
25
|
+
* "move south 2" -- a tactical step across the room's own grid, as
|
|
26
|
+
* opposed to crossing to a named place. Stops at whatever it runs
|
|
27
|
+
* into and says so; mid-exchange it's refused like any other
|
|
28
|
+
* crossing. The step sets Player.atCell (the exact square) and
|
|
29
|
+
* re-derives atSpot from it, so every interaction gate keeps working
|
|
30
|
+
* off the place you now stand beside.
|
|
31
|
+
*/
|
|
32
|
+
private stepAcross;
|
|
33
|
+
/** Closes the last few paces to someone already at your own spot --
|
|
34
|
+
* you end up beside them rather than merely in the same zone. */
|
|
35
|
+
private crossToActor;
|
|
36
|
+
/**
|
|
37
|
+
* "move to north door" / "move to the east exit" / "move to door".
|
|
38
|
+
* Matches a direction word anywhere in the phrase, and accepts a bare
|
|
39
|
+
* doorway word when the room has exactly one way out to be confused
|
|
40
|
+
* about. Returns the Direction, or undefined when nothing matches.
|
|
41
|
+
*/
|
|
42
|
+
private static readonly DOORISH;
|
|
43
|
+
private resolveDoorTarget;
|
|
44
|
+
/** Walks to a doorway's own cell -- the threshold when it's open, the
|
|
45
|
+
* cell it's reached from when it's shut (a locked door is solid). */
|
|
46
|
+
private crossToDoorway;
|
|
47
|
+
/** "move to Mr. Krow" when Mr. Krow is face-down on the floor. */
|
|
48
|
+
private resolveBodyTarget;
|
|
49
|
+
/** Walks to a body's square (or the nearest standing room beside it)
|
|
50
|
+
* and re-derives which place that counts as. */
|
|
51
|
+
private crossToBody;
|
|
23
52
|
/**
|
|
24
53
|
* "move to Brick": fuzzy-resolves the words as a person in this room
|
|
25
54
|
* (same matcher call.ts uses for names). Only people the actor can
|