#% MAX_SCORE: 400 # Enchanter (Infocom Release 29, serial 860820, Z-machine V3) # VERIFIED COMPLETE SOLVE: 400/400, won=True, died=False # # Reproduce with the RNG-pinned replay harness (free, no API): # cd ~/src/zwalker # python3 scripts/replay_solve.py games/zcode/enchanter.z3 walkthroughs/enchanter_verified_400.txt --seeds 3 # => enchanter_verified_400.txt: VERIFIED 400/400 at seed 1 | 206 cmds | died=False | won=True # # Ending: "The evil of Krill is ended this day... you have joined the Circle # of Enchanters." All 18 scoring events land on the timeline, matching the # ZIL point table (github.com/historicalsource/enchanter) exactly. # # Why a pinned seed: Enchanter runs on survival clocks and probabilistic # gates - thirst kills at turn 91 and hunger at 117 without supplies, the # bedraggled adventurer appears behind the mirror-hall glass at 15%/turn and # leaves at 25%/turn, he pilfers the map and pencil at 25%/item/turn, spell # memorization with a full head forgets a RANDOM spell, and sleeping # unprotected is robbed at 50%. The harness pins the interpreter RNG # (vm.rng.seed) so this 3-game-day command sequence threads every gate # deterministically at seed 1. # # Route (mechanics cross-checked against the official ZIL source): day 1 - # crone's rezrov scroll, bread+jug, frotz book, west gate, egg, dark-entry # gallery (ozmoo), deliberate Temple capture + ozmoo'd sacrifice for the # dagger, box rope -> MELBOR (permanent protection), exex scroll, library # gondar, bed sleep (damsel dream). Day 2 - bedpost vaxum scroll, north gate, # krebf the shredded zifmia scroll, mirror-hall wait-loop -> zifmia + vaxum # the adventurer, guarded door, map+pencil, Translucent Rooms (2 draws + # 2 erases trap the Unseen Terror and free the guncho scroll), sleep. Day 3 - # nitfol+exex turtle fetches the kulcad scroll, kulcad the Winding Stair # (the only valid kulcad target), izyuk flight, gondar dragon, cleesh # monster, guncho Krill. Zero deaths, zero Krill probes, 3 of 5 game days. # Generated by scripts/solve_enchanter_adaptive.py. se se ne s gnusto rezrov ne ne nw nw sw n open oven take bread and jug s ne se ne fill jug drink water frotz book learn rezrov learn rezrov sw se e e rezrov gate e n n u rezrov egg take egg d s s s s e drop book e move lighted portrait take black scroll w take book gnusto ozmoo learn ozmoo n n e e ozmoo me wait d open south cell door s take all n w w s cut rope with dagger open box take vellum scroll gnusto melbor learn melbor melbor me drop dagger s d open door n move block e take stained scroll gnusto exex eat bread w s u eat bread drink water e e n n n n examine tracks reach in hole gnusto gondar s s s s w w w u get in bed get up press button take gold leaf scroll gnusto vaxum learn rezrov d e e e n n n n n rezrov gate n take crumpled scroll e look under lily pad take damp scroll w s krebf shredded scroll gnusto zifmia gnusto cleesh learn zifmia learn vaxum drink water eat bread w wait wait wait wait zifmia adventurer vaxum adventurer e e drop egg point at door n take map and pencil inventory inventory s w s s s s s w w d d s e draw line from p to f erase line from p to f erase line from m to v draw line from m to p se take powerful scroll nw w n u u drop map and pencil drink water sleep learn gondar learn cleesh learn nitfol learn exex eat bread e e s se nitfol turtle turtle, follow me nw n e u exex turtle turtle, se. take scroll. nw wait wait wait wait take brittle scroll d w n n n e e kulcad stairs izyuk me e gondar dragon cleesh monster guncho krill