![]()  | 
Routines | 
| Prev: EEDF | Up: Map | Next: EF32 | 
| 
 
This event handles the water snake.
 
 | 
||||
| 
 
Print "
A long water snake
slithers toward you...".
 
 | 
||||
| Event_WaterSnake | EEFC | LD HL,$D821 | HL=D821. | |
| EEFF | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
| EF02 | LD A,$04 | Call GenerateRandomNumber with a maximum value of 04. | ||
| EF04 | CALL GenerateRandomNumber | |||
| EF07 | JR NZ,Event_WaterSnake_Safe_1 | Jump to Event_WaterSnake_Safe_1 if the random generator returns a non-zero response. | ||
| 
 
Bad luck #1!
 
Print "It suddenly strikes at you...".
 
 | 
||||
| EF09 | LD HL,$D84C | HL=D84C. | ||
| EF0C | CALL PausePrintStringAndScroll | Call PausePrintStringAndScroll. | ||
| EF0F | LD A,$14 | Call GenerateRandomNumber with a maximum value of 14. | ||
| EF11 | CALL GenerateRandomNumber | |||
| EF14 | JR NZ,Event_WaterSnake_Safe_2 | Jump to Event_WaterSnake_Safe_2 if the random generator returns a non-zero response. | ||
| 
 
Bad luck #2!
 
 | 
||||
| EF16 | LD HL,$EDD7 | Switch GameOver onto the stack so the next return actions a "game over". | ||
| EF19 | EX (SP),HL | |||
| 
 
Print "The venomous fangs sink
into you.".
 
 | 
||||
| EF1A | LD HL,$D86A | HL=D86A. | ||
| EF1D | JR WaterSnake_PrintAndReturn | Jump to WaterSnake_PrintAndReturn. | ||
| 
 
Handle that the water snake just doesn't mess with you.
 
Print "It regards you for a moment,
then slips away.".
 
 | 
||||
| Event_WaterSnake_Safe_1 | EF1F | LD HL,$D8AA | HL=D8AA. | |
| EF22 | JR WaterSnake_Safe_Continue | Jump to WaterSnake_Safe_Continue. | ||
| 
 
Handle that the water snake has terrible eyesight.
 
Print "But it misses and slips away.".
 
 | 
||||
| Event_WaterSnake_Safe_2 | EF24 | LD HL,$D88C | HL=D88C. | |
| WaterSnake_Safe_Continue | EF27 | PUSH HL | Stash HL on the stack. | |
| EF28 | LD A,$86 | A=86 (event ID: 06). | ||
| EF2A | CALL Handler_DestroyItemEvent | Call Handler_DestroyItemEvent. | ||
| EF2D | POP HL | Restore HL from the stack. | ||
| WaterSnake_PrintAndReturn | EF2E | CALL PausePrintStringAndScroll | Call PausePrintStringAndScroll. | |
| EF31 | RET | Return. | ||
| Prev: EEDF | Up: Map | Next: EF32 |