| Routines

63779: Make MR CREAK ask the birth year question if appropriate

Used by the routine at 31282. Makes MR CREAK ask the birth year question if (a) he hasn't asked it yet this lesson, and (b) ERIC hasn't opened the safe yet.
Input
A | 0 (MR ROCKITT), 1 (MR WITHIT), or 2 (MR CREAK)
63779 | LD B,A | Save the teacher identifier in B for now
63780 | LD HL,31258 | Point HL at MR ROCKITT's question/answer data table (ready for the return to the calling routine)
63783 | CP 2 | Are we dealing with MR CREAK?
63785 | JR Z,63790 | Jump if so
63787 | LD A,B | Restore the teacher identifier (0-2) to A
63788 | AND A | Set the zero flag if we're dealing with MR ROCKITT
63789 | RET |
We're dealing with MR CREAK, so we need to determine whether he should ask the birth year question.
63790 | LD A,(32746) | Collect the game mode indicator from 32746
63793 | CP 3 | Has ERIC already opened the safe?
63795 | JR NC,63787 | Jump if so
63797 | AND A | Are we in demo mode?
63798 | JR Z,63787 | Jump if so
63800 | LD A,(32730) | Has MR CREAK already asked the birth year question this lesson?
63803 | AND A
63804 | JR NZ,63787 | Jump if so
MR CREAK hasn't asked the birth year question yet. Make him do so now.
63806 | POP DE | Drop the return address from the stack; we'll be re-entering the calling routine at a different point
63807 | INC A | Set 32730 to 1, indicating that MR CREAK has asked the birth year question this period
63808 | LD (32730),A
63811 | LD A,(32666) | Copy the identifier of CREAK's birth year battle into the 'Q' spot in 'It was the BATTLE OF Q'
63814 | LD (61687),A
63817 | LD HL,61665 | 61665: '{Please Sir - I cannot tell a lie . . }It was the BATTLE OF Q'
63820 | LD (43371),HL | Place this message address into bytes 107 and 108 of EINSTEIN's buffer
63823 | LD DE,61741 | 61741='WHAT HAPPENED IN THE YEAR THAT I WAS BORN'
63826 | JP 31433 | Re-enter the calling routine to make MR CREAK ask the birth year question