![]()  | 
Routines | 
| Prev: F851 | Up: Map | Next: F91B | 
| 
 
Used by the routine at Action_Kill.
 
 | 
||||
| Action_Shooting | F8D9 | PUSH BC | Stash BC on the stack. | |
| 
 
Print "You take a shot....".
 
 | 
||||
| F8DA | LD HL,$E0EB | HL=E0EB. | ||
| F8DD | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
| F8E0 | LD A,$05 | A=05. | ||
| F8E2 | CALL GenerateRandomNumber | Call GenerateRandomNumber. | ||
| F8E5 | POP BC | Restore BC from the stack. | ||
| F8E6 | JR NZ,Action_Shooting_Success | Jump to Action_Shooting_Success if the random generator returns a non-zero response. | ||
| 
 
Print "Bad luck.
You missed.".
 
 | 
||||
| F8E8 | LD HL,$E122 | HL=E122. | ||
| F8EB | JP PausePrintStringAndScroll_Alias | Jump to PausePrintStringAndScroll_Alias. | ||
| Action_Shooting_Success | F8EE | LD A,B | A=B. | |
| F8EF | SUB $03 | A-=03. | ||
| F8F1 | RES 7,A | Reset bit 7 of A. | ||
| F8F3 | LD E,A | E=A. | ||
| F8F4 | LD D,$00 | D=00. | ||
| F8F6 | LD HL,$F904 | HL=F904. | ||
| F8F9 | ADD HL,DE | HL+=DE. | ||
| F8FA | LD C,(HL) | C=*HL. | ||
| F8FB | CALL TransformItem | Call TransformItem. | ||
| 
 
Print "Good shooting!
The pirate is dead.".
 
 | 
||||
| F8FE | LD HL,$E0FF | HL=E0FF. | ||
| F901 | JP PausePrintStringAndScroll_Alias | Jump to PausePrintStringAndScroll_Alias. | ||
| F904 | DEFB $23,$24,$25,$00,$00,$26 | |||
| 
 
This entry point is used by the routine at Action_Kill.
 
 | 
||||
| Action_Shooting_0 | F90A | LD HL,$EAA2 | Call MatchPhraseTokens with PhraseTokens_ParrotWithGun. | |
| F90D | CALL MatchPhraseTokens | |||
| F910 | JR NZ,Action_Shooting_1 | Jump to Action_Shooting_1 if the token isn't for the . | ||
| 
 
Print "It's already dead.".
 
 | 
||||
| F912 | LD HL,$E14B | HL=E14B. | ||
| F915 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
| Action_Shooting_1 | F918 | JP Response_YouCant_Duplicate | Jump to Response_YouCant_Duplicate. | |
| Prev: F851 | Up: Map | Next: F91B |