Prev: 977F Up: Map Next: 97F4
97AD: Make the choices that differ from one game to the next
Used by the routine at START.
Called by START for every new game. One of HIDDEN_ROADS is picked at random and its exit wiped from the room, so a different way is shut each time until Elrond reads the curious map (ELROND_READS_MAP); and one of RIDDLES is picked for Gollum.
NEW_GAME_CHOICES 97AD SUB A The player acts; ROAD_OPEN cleared, which nothing ever sets again; no riddle asked yet (RIDDLE_ASKED)
97AE LD (ACTING),A
97B1 LD (ROAD_OPEN),A
97B4 LD (RIDDLE_ASKED),A
97B7 LD HL,PLAYER The player's record
97BA LD (ACTOR),HL
97BD LD A,$04 IY = one of HIDDEN_ROADS at random
97BF CALL RANDOM_POSITIVE
97C2 INC A
97C3 LD B,A
97C4 LD IY,$C808
97C8 LD DE,$0006
NEW_GAME_CHOICES_0 97CB ADD IY,DE
97CD DJNZ NEW_GAME_CHOICES_0
97CF LD ($A7D1),IY Kept in the operand of ELROND_READS_MAP's LD IY
97D3 LD L,(IY+$01) Wipe that exit: all three bytes zero, so no direction matches it
97D6 LD H,(IY+$02)
97D9 LD B,$03
NEW_GAME_CHOICES_1 97DB LD (HL),$00
97DD INC HL
97DE DJNZ NEW_GAME_CHOICES_1
97E0 LD A,$03 And one of RIDDLES at random, in RIDDLE
97E2 CALL RANDOM_POSITIVE
97E5 LD E,A
97E6 LD D,$00
97E8 SLA E
97EA SLA E
97EC LD HL,RIDDLES
97EF ADD HL,DE
97F0 LD (RIDDLE),HL
97F3 RET
Prev: 977F Up: Map Next: 97F4