Routines 
Prev: 24819  Up: Map  Next: 24914 


24832  LD L,8  Set Sam's main action timer (in byte 8 of his buffer) to 8  
24834  LD (HL),L  
24835  LD L,13  Byte 13 of Sam's buffer holds 0 if Sam has only just met Lana, or 1 otherwise  
24837  LD A,(HL)  
24838  AND A  Has Sam only just met Lana in his office?  
24839  JR NZ,24850  Jump if not  
24841  INC (HL)  Increment byte 13 of Sam's buffer so that we don't come here again  
24842  LD A,73  Message 73: 'I STARED AT THE LOVELY LANA...'  
24844  LD (32722),A  Store the message number at 32722 (so that we can check when it has been displayed)  
24847  JP 30154  Queue the message urgently  
While Lana is transfixing Sam, we count the policemen who have shown up at Sam's office so far and been immobilised.


24850  LD BC,512  B=2 (2 policemen), C=0 (will count the number of immobilised policemen)  
24853  LD D,222  Character 222 is the first policeman  
24855  LD E,9  Point DE at byte 9 of the policeman's buffer  
24857  INC C  Assume that this policeman is already immobilised  
24858  LD A,(DE)  A=MSB of the policeman's current primary command routine  
24859  CP 231  Is it the MSB of 59147 (RET)?  
24861  JR Z,24890  Jump if so (this policeman is already immobilised)  
24863  DEC C  Decrement C because this policeman is not yet immobilised  
24864  LD E,2  A=policeman's ycoordinate  
24866  LD A,(DE)  
24867  CP 19  Is the policeman on the third floor of a building?  
24869  JR NZ,24890  Jump to consider the next policeman if not  
24871  DEC E  E=1  
24872  LD A,(DE)  A=policeman's xcoordinate  
24873  CP 239  Consider the next policeman unless this one is in Sam's office  
24875  JR NC,24890  
24877  CP 224  
24879  JR C,24890  
24881  LD A,231  Place 59147 (RET) into bytes 8 and 9 of the policeman's buffer, thus immobilising him  
24883  LD E,9  
24885  LD (DE),A  
24886  LD A,11  
24888  DEC E  
24889  LD (DE),A  
24890  INC D  Point DE at the next policeman's buffer  
24891  DJNZ 24855  Jump back until both policemen have been checked  
Now C holds the number of policemen that have been immobilised in Sam's office.


24893  PUSH BC  Save the number of immobilised policemen briefly  
24894  CALL 30972  Check whether message 73 ('I STARED AT THE LOVELY LANA...') is still in the message queue  
24897  POP BC  Restore the number of immobilised policemen to C  
24898  RET Z  Return unless the entire message has been displayed  
24899  LD A,C  A=number of immobilised policemen  
24900  AND A  Is it at least one?  
24901  JR NZ,24914  Jump if so  
24903  LD HL,0  Set the number of bucks (stored at 32670) to 0  
24906  LD (32670),HL  
24909  LD A,75  Message 75: 'SHE FIRED'  
24911  JP 31445  Display the cutscene with this message, and then prepare to enter demo mode 
Prev: 24819  Up: Map  Next: 24914 