WIP: in-flight combat/expedition/flavor changes

Bundle of uncommitted working-tree edits across combat engine, expedition
cycle, flavor pools, and TwinBee/zone narration. Includes new files:
combat_debug.go, dnd_boss_consumables.go, dnd_dex_floor.go, plus
CHANGES_24H.md and REBALANCE_NOTES.md scratch notes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
prosolis
2026-05-12 21:59:19 -07:00
parent 2b86f3df16
commit 4e412219f3
49 changed files with 1381 additions and 444 deletions

View File

@@ -48,7 +48,11 @@ func TestStandaloneHarvest_RoutesToZoneRun(t *testing.T) {
if raw == "" || raw == "{}" {
t.Errorf("expected harvest_nodes_json populated after standalone harvest, got %q", raw)
}
wantKey := "\"" + deriveLegacyNodeID(run.ZoneID, 0) + "\":"
// Phase G: the entry node id comes from the zone graph (e.g.
// "forest_shadows.entry"), not the legacy ".r1" derivation. Use the
// production helper so this stays in sync with whatever node id
// saveStandaloneHarvestNodes actually wrote.
wantKey := "\"" + harvestNodeIDFor(run) + "\":"
if !strings.Contains(raw, wantKey) {
t.Errorf("expected entry node %s in harvest table, got %q", wantKey, raw)
}