prosolis
2ce3e682ea
zones: stop the tools/backtrack path losing rooms and inventory
...
Review fallout from the locked-doors commit. Five defects, all in the
seams that commit opened:
backtrackFromDeadFork stepped to VisitedNodes[idx-1]. That slice is a
first-entry ordered *set*, not a path stack (see appendVisited), so once
a run has doubled back once the entry before CurrentNode can sit on a
different branch entirely — the party teleports across the map to a room
no edge connects. `!revisit` refuses exactly that move via
adjacentNodes; the autopilot has no business doing what the player is
forbidden from doing. Now routed through backtrackTarget, which also
refuses to fall back into a corridor whose only exit is the sealed fork:
the lock rolls are seeded per (run, edge), so walking back in gets the
same answer every time, forever.
The autopilot spent the player's thieves' tools *before* committing the
move, so an advanceZoneRunNode failure left them charged and then had
the caller's backtrack clear the fork they had just paid to open. The
tools are now reported by autoPickWithTools and only removed once the
party is actually through the door.
`sell all` never learned the new "tool" type and turned a €600 set into
€300 of loot — the same silent deletion Robbie was taught to avoid two
commits ago. It was already doing this to "key" quest tokens, so both
now sit with the special gear.
The shop's tools branch asked "is the reply a substring of Thieves'
Tools", which is true for a bare "s", for "to", and for an empty message
body — and it runs ahead of the consumable list, so a stray keystroke in
the Supplies view bought a set. isThievesToolsReply matches on the
item's own words instead.
Plus two cleanups in the same code: Robbie built his haul gifts by
calling consumableCache(tier, 1) in a loop when it already takes a
count, and the unlock flow read the whole inventory three times per
command.
2026-07-21 00:20:24 -07:00
..
2026-07-11 12:39:01 -07:00
2026-07-09 19:22:10 -07:00
2026-07-15 23:17:07 -07:00
2026-07-16 06:42:54 -07:00
2026-05-27 19:41:49 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 07:18:07 -07:00
2026-07-09 19:22:10 -07:00
2026-07-10 07:20:14 -07:00
2026-07-09 19:22:10 -07:00
2026-07-10 20:09:30 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 15:03:57 -07:00
2026-04-26 07:57:31 -07:00
2026-07-10 23:50:48 -07:00
2026-04-08 15:50:28 -07:00
2026-07-11 12:39:01 -07:00
2026-07-11 14:56:19 -07:00
2026-05-12 21:59:19 -07:00
2026-07-10 13:36:32 -07:00
2026-07-10 19:18:45 -07:00
2026-07-11 07:43:57 -07:00
2026-07-10 09:12:34 -07:00
2026-07-10 19:18:45 -07:00
2026-05-09 14:25:21 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 15:37:53 -07:00
2026-07-15 23:17:07 -07:00
2026-05-16 12:40:17 -07:00
2026-07-10 07:18:07 -07:00
2026-04-28 22:37:04 -07:00
2026-04-10 16:50:49 -07:00
2026-05-09 21:32:47 -07:00
2026-04-24 22:23:58 -07:00
2026-07-10 16:12:53 -07:00
2026-07-10 07:18:07 -07:00
2026-04-05 17:04:03 -07:00
2026-07-20 23:52:03 -07:00
2026-04-05 17:04:03 -07:00
2026-05-16 12:40:17 -07:00
2026-05-16 12:40:17 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 14:05:11 -07:00
2026-07-10 14:05:11 -07:00
2026-05-09 14:25:22 -07:00
2026-03-27 21:26:19 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 15:03:57 -07:00
2026-07-10 16:12:53 -07:00
2026-07-09 18:29:31 -07:00
2026-07-09 18:29:31 -07:00
2026-07-10 14:05:24 -07:00
2026-07-13 21:53:47 -07:00
2026-07-13 21:53:47 -07:00
2026-07-15 00:20:34 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 16:12:53 -07:00
2026-07-10 16:53:32 -07:00
2026-07-10 20:09:30 -07:00
2026-07-10 20:30:15 -07:00
2026-07-10 15:03:57 -07:00
2026-07-20 23:51:49 -07:00
2026-05-22 08:42:47 -07:00
2026-05-09 14:25:22 -07:00
2026-07-20 23:51:49 -07:00
2026-07-10 20:30:15 -07:00
2026-07-10 20:09:30 -07:00
2026-07-10 19:48:49 -07:00
2026-05-09 14:25:23 -07:00
2026-07-20 23:52:03 -07:00
2026-07-21 00:20:24 -07:00
2026-05-23 10:30:47 -07:00
2026-07-12 18:57:50 -07:00
2026-07-10 20:30:15 -07:00
2026-07-10 20:30:15 -07:00
2026-07-10 16:02:15 -07:00
2026-07-10 17:26:16 -07:00
2026-07-10 17:26:16 -07:00
2026-05-14 21:19:31 -07:00
2026-07-10 07:18:07 -07:00
2026-07-21 00:20:24 -07:00
2026-07-10 08:55:07 -07:00
2026-07-10 08:55:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 14:31:59 -07:00
2026-07-10 15:03:57 -07:00
2026-07-10 13:36:32 -07:00
2026-07-10 13:36:32 -07:00
2026-07-10 18:27:32 -07:00
2026-07-10 13:44:32 -07:00
2026-07-10 14:05:24 -07:00
2026-07-10 13:36:32 -07:00
2026-07-10 13:36:32 -07:00
2026-07-13 20:03:20 -07:00
2026-07-20 23:52:03 -07:00
2026-07-17 09:09:23 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 15:28:42 -07:00
2026-05-14 15:28:42 -07:00
2026-05-14 15:28:42 -07:00
2026-07-09 20:29:05 -07:00
2026-05-28 21:55:34 -07:00
2026-07-10 07:18:07 -07:00
2026-05-14 18:00:29 -07:00
2026-05-14 18:00:29 -07:00
2026-03-27 21:26:19 -07:00
2026-03-26 09:22:02 -07:00
2026-07-10 07:18:07 -07:00
2026-07-12 19:08:22 -07:00
2026-05-28 09:35:04 -07:00
2026-06-18 06:34:16 -07:00
2026-07-13 21:04:39 -07:00
2026-05-15 12:11:27 -07:00
2026-05-09 14:25:23 -07:00
2026-07-09 19:36:24 -07:00
2026-05-12 21:54:40 -07:00
2026-04-18 01:07:25 -07:00
2026-05-09 17:23:08 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:23 -07:00
2026-07-11 12:39:01 -07:00
2026-07-16 07:44:10 -07:00
2026-05-09 14:25:22 -07:00
2026-07-20 23:51:49 -07:00
2026-05-14 07:53:17 -07:00
2026-07-17 16:17:41 -07:00
2026-05-12 21:59:19 -07:00
2026-07-09 20:21:17 -07:00
2026-07-11 15:20:49 -07:00
2026-07-11 15:20:49 -07:00
2026-04-18 01:05:22 -07:00
2026-07-17 10:51:33 -07:00
2026-07-10 08:25:56 -07:00
2026-07-10 11:07:21 -07:00
2026-05-22 09:26:17 -07:00
2026-05-09 14:25:22 -07:00
2026-07-17 10:51:33 -07:00
2026-07-09 21:23:35 -07:00
2026-07-11 12:39:01 -07:00
2026-07-12 10:31:34 -07:00
2026-07-16 07:44:10 -07:00
2026-07-16 07:44:10 -07:00
2026-07-09 23:23:17 -07:00
2026-07-11 12:39:01 -07:00
2026-05-16 12:53:00 -07:00
2026-07-09 22:07:20 -07:00
2026-07-09 20:29:05 -07:00
2026-07-11 14:56:19 -07:00
2026-07-11 14:56:19 -07:00
2026-07-11 15:20:49 -07:00
2026-07-16 07:44:10 -07:00
2026-07-10 08:01:51 -07:00
2026-07-17 16:17:41 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 15:03:57 -07:00
2026-07-16 12:14:41 -07:00
2026-07-16 08:41:58 -07:00
2026-07-10 07:18:07 -07:00
2026-03-26 09:22:02 -07:00
2026-04-08 17:04:40 -07:00
2026-07-10 08:01:51 -07:00
2026-07-10 08:01:51 -07:00
2026-07-10 07:18:07 -07:00
2026-06-18 00:28:05 -07:00
2026-05-12 21:59:19 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-11 15:38:05 -07:00
2026-07-11 15:38:05 -07:00
2026-07-11 15:38:05 -07:00
2026-07-11 15:38:05 -07:00
2026-05-28 08:14:13 -07:00
2026-07-10 08:01:51 -07:00
2026-05-12 21:59:19 -07:00
2026-07-12 22:01:09 -07:00
2026-05-12 21:59:19 -07:00
2026-07-15 23:17:07 -07:00
2026-07-15 23:17:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-05-14 22:37:47 -07:00
2026-05-14 22:37:47 -07:00
2026-05-17 12:24:18 -07:00
2026-05-17 17:03:20 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 17:21:33 -07:00
2026-07-11 14:56:19 -07:00
2026-05-27 19:41:49 -07:00
2026-07-21 00:20:24 -07:00
2026-07-10 07:18:07 -07:00
2026-07-17 16:17:41 -07:00
2026-06-18 06:34:16 -07:00
2026-07-10 17:26:16 -07:00
2026-05-15 12:11:27 -07:00
2026-07-12 10:31:34 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 20:09:30 -07:00
2026-07-10 07:18:07 -07:00
2026-07-09 23:56:16 -07:00
2026-07-09 18:49:19 -07:00
2026-07-10 08:01:51 -07:00
2026-07-10 07:18:07 -07:00
2026-05-16 12:40:17 -07:00
2026-05-15 12:11:27 -07:00
2026-07-10 08:01:51 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:20:14 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-05-09 14:25:22 -07:00
2026-05-27 18:42:57 -07:00
2026-07-10 20:09:30 -07:00
2026-05-21 23:40:54 -07:00
2026-07-10 20:09:30 -07:00
2026-07-10 07:18:07 -07:00
2026-05-09 14:25:21 -07:00
2026-05-15 11:29:03 -07:00
2026-07-10 19:48:49 -07:00
2026-07-17 17:22:06 -07:00
2026-07-10 07:18:07 -07:00
2026-05-14 21:30:15 -07:00
2026-05-12 21:59:19 -07:00
2026-05-17 16:20:10 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 19:47:01 -07:00
2026-05-17 17:03:20 -07:00
2026-05-17 16:06:46 -07:00
2026-07-17 16:17:41 -07:00
2026-05-14 22:06:31 -07:00
2026-07-11 07:43:57 -07:00
2026-07-10 19:48:49 -07:00
2026-05-09 14:25:21 -07:00
2026-07-10 07:18:07 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-07-17 16:17:41 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-05-14 21:30:15 -07:00
2026-05-09 14:25:21 -07:00
2026-05-15 14:43:11 -07:00
2026-05-14 21:53:06 -07:00
2026-05-14 15:18:18 -07:00
2026-07-10 13:36:32 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 08:25:56 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 18:38:57 -07:00
2026-05-16 12:40:17 -07:00
2026-07-10 07:18:07 -07:00
2026-07-17 17:22:06 -07:00
2026-07-10 19:48:49 -07:00
2026-07-20 23:52:20 -07:00
2026-05-09 14:25:22 -07:00
2026-07-20 23:52:20 -07:00
2026-07-15 23:17:07 -07:00
2026-07-15 23:17:07 -07:00
2026-05-09 15:17:30 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-17 17:03:20 -07:00
2026-05-09 14:25:22 -07:00
2026-07-17 16:17:41 -07:00
2026-07-10 07:18:07 -07:00
2026-07-15 23:17:07 -07:00
2026-05-12 21:59:19 -07:00
2026-07-17 16:17:41 -07:00
2026-07-15 23:17:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-15 23:17:07 -07:00
2026-07-10 19:48:49 -07:00
2026-06-28 17:39:29 -07:00
2026-04-08 17:04:40 -07:00
2026-07-13 22:36:21 -07:00
2026-07-14 21:12:37 -07:00
2026-07-12 18:57:50 -07:00
2026-07-10 23:32:52 -07:00
2026-05-16 12:40:17 -07:00
2026-07-10 20:30:15 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 08:01:51 -07:00
2026-05-27 19:07:37 -07:00
2026-07-10 15:26:20 -07:00
2026-07-10 07:18:07 -07:00
2026-07-15 23:17:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-12 19:08:22 -07:00
2026-07-12 18:57:50 -07:00
2026-07-15 23:17:07 -07:00
2026-07-11 12:39:01 -07:00
2026-07-10 11:07:21 -07:00
2026-07-15 23:17:07 -07:00
2026-07-09 22:30:11 -07:00
2026-07-09 22:30:11 -07:00
2026-07-09 23:56:16 -07:00
2026-07-09 22:18:40 -07:00
2026-07-11 12:39:01 -07:00
2026-07-10 08:55:07 -07:00
2026-07-11 12:39:01 -07:00
2026-07-15 23:17:07 -07:00
2026-05-27 20:47:28 -07:00
2026-07-17 16:17:41 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-03-26 23:38:06 -07:00
2026-05-21 18:05:37 -07:00
2026-07-10 07:18:07 -07:00
2026-05-21 18:05:37 -07:00
2026-05-22 07:25:08 -07:00
2026-03-26 09:22:02 -07:00
2026-05-21 22:58:31 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-04-18 01:06:50 -07:00
2026-03-26 09:22:02 -07:00
2026-03-26 09:22:02 -07:00
2026-05-09 14:25:21 -07:00
2026-03-26 09:22:02 -07:00
2026-03-26 09:22:02 -07:00
2026-04-18 14:11:59 -07:00
2026-05-27 18:42:57 -07:00
2026-04-18 14:11:59 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-03-10 16:58:15 -07:00
2026-04-26 10:09:32 -07:00
2026-07-09 18:52:32 -07:00
2026-07-09 18:52:32 -07:00
2026-07-10 07:18:07 -07:00
2026-04-08 17:04:40 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-07-09 18:32:23 -07:00
2026-07-15 22:41:01 -07:00
2026-07-17 08:44:44 -07:00
2026-05-14 22:37:47 -07:00
2026-05-14 18:00:29 -07:00
2026-07-15 23:17:07 -07:00
2026-03-27 21:26:19 -07:00
2026-03-27 11:55:47 -07:00
2026-07-10 10:44:56 -07:00
2026-07-10 07:18:07 -07:00
2026-04-08 17:04:40 -07:00
2026-07-13 21:31:48 -07:00
2026-07-13 20:03:20 -07:00
2026-07-10 07:18:07 -07:00
2026-04-08 17:04:40 -07:00
2026-07-17 10:04:18 -07:00
2026-07-17 20:34:56 -07:00
2026-07-17 09:28:13 -07:00
2026-07-17 09:28:13 -07:00
2026-07-17 20:34:56 -07:00
2026-07-17 21:04:38 -07:00
2026-07-17 21:04:38 -07:00
2026-07-13 23:00:11 -07:00
2026-07-13 23:00:11 -07:00
2026-07-14 21:12:37 -07:00
2026-07-14 21:12:37 -07:00
2026-07-12 10:31:34 -07:00
2026-07-17 08:18:11 -07:00
2026-07-17 06:44:45 -07:00
2026-07-17 20:34:56 -07:00
2026-07-17 09:09:23 -07:00
2026-07-17 09:28:13 -07:00
2026-07-10 23:50:48 -07:00
2026-05-09 14:25:23 -07:00
2026-07-10 19:48:49 -07:00
2026-07-10 23:32:52 -07:00
2026-07-16 12:14:41 -07:00
2026-07-16 12:14:41 -07:00
2026-07-16 12:14:41 -07:00
2026-07-15 23:17:07 -07:00
2026-07-15 23:17:07 -07:00
2026-07-15 23:17:07 -07:00
2026-07-15 23:17:07 -07:00
2026-07-15 23:17:07 -07:00
2026-05-15 08:03:42 -07:00
2026-05-09 14:25:23 -07:00
2026-05-09 14:25:23 -07:00
2026-03-11 00:45:25 -07:00
2026-03-08 18:25:18 -07:00
2026-03-27 11:55:47 -07:00
2026-03-26 09:22:02 -07:00
2026-03-10 18:08:05 -07:00
2026-04-08 17:04:40 -07:00
2026-07-10 07:18:07 -07:00
2026-03-08 18:25:18 -07:00
2026-07-17 16:17:41 -07:00
2026-07-10 07:18:07 -07:00
2026-05-12 21:59:19 -07:00
2026-07-10 07:18:07 -07:00
2026-03-26 09:22:02 -07:00
2026-03-11 00:45:25 -07:00
2026-07-10 16:12:53 -07:00
2026-03-08 18:25:18 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-09 18:52:32 -07:00
2026-04-08 17:04:40 -07:00
2026-04-26 10:09:32 -07:00
2026-03-11 00:45:25 -07:00
2026-03-29 16:24:59 -07:00
2026-03-26 09:22:02 -07:00
2026-07-10 07:18:07 -07:00
2026-04-10 16:50:49 -07:00
2026-03-29 16:24:59 -07:00
2026-07-10 07:18:07 -07:00
2026-06-03 17:23:53 -07:00
2026-04-08 15:24:49 -07:00
2026-07-21 00:20:24 -07:00
2026-07-12 10:01:56 -07:00
2026-07-12 10:01:56 -07:00
2026-07-10 07:20:14 -07:00
2026-07-11 16:30:41 -07:00
2026-05-28 20:00:09 -07:00
2026-05-28 20:00:09 -07:00
2026-07-10 07:18:07 -07:00
2026-05-27 17:32:29 -07:00
2026-05-28 20:00:09 -07:00
2026-05-28 20:00:09 -07:00
2026-07-15 23:17:07 -07:00
2026-07-15 23:17:07 -07:00
2026-05-28 20:00:09 -07:00
2026-05-28 20:00:09 -07:00
2026-07-15 23:17:07 -07:00
2026-07-15 23:17:07 -07:00
2026-05-27 17:32:29 -07:00
2026-05-27 17:32:29 -07:00
2026-05-27 17:24:36 -07:00
2026-05-27 17:24:36 -07:00
2026-07-15 23:17:07 -07:00
2026-07-15 23:17:07 -07:00
2026-07-10 16:02:15 -07:00
2026-07-10 16:02:15 -07:00
2026-05-09 16:41:46 -07:00
2026-05-21 23:56:18 -07:00
2026-07-10 07:18:07 -07:00
2026-07-20 23:52:20 -07:00
2026-07-15 23:17:07 -07:00
2026-07-15 23:17:07 -07:00
2026-05-27 17:32:29 -07:00
2026-05-27 17:32:29 -07:00
2026-05-28 19:02:58 -07:00
2026-07-10 16:02:15 -07:00
2026-07-10 16:02:15 -07:00
2026-05-27 17:46:38 -07:00
2026-05-27 17:46:38 -07:00
2026-07-20 23:52:20 -07:00
2026-07-21 00:20:24 -07:00
2026-07-15 23:17:07 -07:00
2026-07-15 23:17:07 -07:00
2026-05-27 17:24:36 -07:00
2026-07-09 19:36:24 -07:00
2026-07-09 19:47:16 -07:00
2026-07-09 23:56:16 -07:00