# Moonmist (Infocom Release 9, serial 861022, Z-machine V3) - BLUE variant # VERIFIED COMPLETE SOLVE: won=True (best ending, win text), died=False # # Reproduce with the RNG-pinned replay harness (free, no API): # cd ~/src/zwalker # python3 scripts/replay_solve.py games/zcode/moonmist.z3 walkthroughs/moonmist_verified_win.txt --seeds 4 # => moonmist_verified_win.txt: VERIFIED 21/None at seed 1 | 86 cmds | died=False | won=True # # Moonmist is scoreless. It is a V3 "time" game (header flags1 bit 1): the # status-line globals hold the CLOCK, and the game's own source names them # exactly that way (misc.zil: GLOBAL SCORE starts at 19 = 7 p.m. and is the # HOURS counter; GLOBAL MOVES is the minutes, rolling the hour at 59). There # is no numeric score global at all, so no _SCORE_VAR_OVERRIDES entry is # possible - the "21" above is simply the 9 p.m. clock hour at the end. # Instead the game tracks three accomplishments (V-SCORE in verbs.zil): # TREASURE-FOUND, EVIDENCE-FOUND leading to an arrest (CONFESSED), and # FOUND-COSTUME. Only when all three are true does V-SCORE - which the # FINISH routine calls at the end - print "[Congratulations, Ms. Smith! # You've won the game!]", and that line is this walkthrough's WIN_TEXT: # it cannot appear in any lesser ending. # # Moonmist has FOUR mysteries in one: the favorite-color answer given to # the gate intercom at boot selects the variant. The boot questions (name, # title, color) are ordinary typed commands in this recording: push the # wyvern's eye, announce "ms. kate smith", confirm, answer "blue" (the # classic walkthrough default), confirm. Blue = the "painter" variation: # the hidden treasure is Lord Lionel's fossil skull and the ghost is the # artist Vivien Pentreath. # # Ending: the documented best one - all three accomplishments. After the # after-dinner tape of the late Sir Lionel starts the treasure hunt, the # clue trail (first clue under the punchbowl; Jack's three-riddle second # clue -> the starred words SUIT on the sitting-room sheet music, ARM on # the drawing-room tapestry maiden, OUR on the wine-cellar bottle -> # "suit armour"; third clue in the suit of armour -> "alarm ... clamour", # the bell) leads to the fossil skull inside the great bell on the # fighting deck. Searching the paint box in Vivien's bedroom then yields # her lens case, her tear-stained diary (the evidence: her revenge motive # over Deirdre's death), and the ghost's white gown and blonde wig with # Vivien's tawny hairs inside (ghost identified). Vivien bursts in; # arrested, she rushes at you, Bolitho grabs her, and she confesses to # attempted murder. After the authors' version of the crime, the game # prints the win line and its final RESTORE/RESTART/QUIT prompt, where # the recording ends. # # Why a pinned seed: the household's goal-movement is RNG-driven. Vivien # roams the castle hunting the treasure herself, and she intercepts "go # to" journeys ("...she gets in your way", "...she says hello") at # points that depend on the RNG stream, which is why the recording's # go-to retries and the moment she bursts into her bedroom during the # search line up with the seed-1 stream (seeds 3 and 5 also happen to # win with this list; the boot Q&A itself is deterministic). Mechanics # verified against the official ZIL source # (github.com/historicalsource/moonmist): colors.zil DO-VARIATION moves # the costume, blowgun, diary and lens box into VIVIEN-BOX and the skull # into the bell for PAINTER-C; people.zil VIVIEN-DIARY-F sets # EVIDENCE-FOUND; verbs.zil V-ARREST requires the right villain plus # evidence, and CONFESSION ends the game with WRAP-UP + FINISH once the # treasure and costume are already found. # #% WIN_TEXT: Congratulations, Ms\. Smith! You've won the game # # Generated by adaptive machine play over the GameWalker pathway (RNG # seed 1); replay-verified by scripts/replay_solve.py. push eye ms. kate smith yes blue yes in yes follow tamara follow tamara wait yes yes follow tamara follow tamara tamara, tell me about the ghost wait yes bolitho, tell me about the ghost yes wait yes yes yes n remove clothes take bath s dress for dinner go to dining room go to dining room wait until 7:54 yes yes take butler's note read note drop note sit down wait eat dinner wait wait wait z look under punchbowl read first clue z z jack, give me your clue read second clue examine desk take maid's note read maid's note drop maid's note examine piano take piece of music read piece of music go to drawing room go to drawing room examine tapestry go to new great hall examine suit of armor look in suit take third clue read third clue go to kitchen take lantern turn on lantern go to wine cellar examine rack take bottle examine bottle go to fighting deck examine bell take skull go to vivien's bedroom go to vivien's bedroom go to vivien's bedroom open box take small box search wooden box take diary search wooden box read diary examine wig arrest vivien yes