fix: ensure procedural guardian names are unique across floors
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m20s

- Modified generateGuardianName() in guardian-encounters.ts to add a cycleOffset (floor/50) that shifts prefix selection for the same elements at different 100-floor ranges
- For multi-element names, also shift the title by cycleOffset to further reduce collision chance
- Added regression test guardian-names-unique.test.ts with 7 test cases covering:
  * Previously colliding floors (170/370 crystal, 200/230 exotic convergence, 210/240 astral convergence)
  * All static guardian floors (10-240) uniqueness
  * All procedural guardian floors (250-490) uniqueness
  * Full range (10-490) uniqueness
  * Determinism check
  * Title format validation

Fixes #376
This commit is contained in:
2026-06-12 10:05:27 +02:00
parent 7e0e9b9f7c
commit b68cc948a3
5 changed files with 93 additions and 4 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
# Circular Dependencies
Generated: 2026-06-12T07:05:52.901Z
Generated: 2026-06-12T07:45:32.728Z
Found: 4 circular chain(s) — these MUST be fixed before modifying involved files.
1. 1) data/guardian-encounters.ts > data/guardian-procedural.ts