![]() |
Routines |
| Prev: 927E | Up: Map | Next: 9327 |
| 9298 | LD HL,($5C7B) | Get the current position in HL (5C7B) | ||
| 929B | CALL $9228 | Was there a collision? | ||
| 929E | JR NZ,$92DF | Move forward if so. | ||
| 92A0 | LD HL,($5C7B) | Get the current position. | ||
| 92A3 | LD DE,$010A | Move forward one column and ten rows (?) | ||
| 92A6 | ADD HL,DE | |||
| 92A7 | CALL $9228 | Was there a collision? | ||
| 92AA | JR NZ,$92DF | Move forward if so. | ||
| 92AC | LD HL,($5C7B) | Get the current position. | ||
| 92AF | LD D,$F1 | Move back ten rows (?) | ||
| 92B1 | LD E,$00 | |||
| 92B3 | ADD HL,DE | |||
| 92B4 | CALL $9228 | Was there a collision? | ||
| 92B7 | JR NZ,$92DF | Move forward if so. | ||
| 92B9 | LD HL,($5C7B) | Get the current position. | ||
| 92BC | LD D,$F8 | Move back a row and a column (?) | ||
| 92BE | LD E,$FF | |||
| 92C0 | ADD HL,DE | |||
| 92C1 | CALL $9228 | Was there a collision? | ||
| 92C4 | JR NZ,$92DF | Jump if so. | ||
| 92C6 | LD HL,($5C7B) | Get the position. | ||
| 92C9 | LD D,$F8 | Move back a column and ten rows (?) | ||
| 92CB | LD E,$10 | |||
| 92CD | ADD HL,DE | |||
| 92CE | CALL $9228 | Was there a collision? | ||
| 92D1 | JR NZ,$92DF | Jump if so. | ||
| 92D3 | LD HL,($5C7B) | Get the position | ||
| 92D6 | LD D,$F1 | Move forward a column and back two rows (?) | ||
| 92D8 | LD E,$0F | |||
| 92DA | ADD HL,DE | |||
| 92DB | CALL $9228 | Was there a collision? | ||
| 92DE | RET Z | Return if no collision was found. | ||
|
Monty has touched a nasty, react appropriately
|
||||
| 92DF | LD IX,$8D52 | Point IX at the room flags. | ||
| 92E3 | BIT 3,(IX+$00) | Has Monty picked up the collectable (non-coal) item? | ||
| 92E7 | JP Z,$946E | No, so kill Monty. | ||
| 92EA | RES 3,(IX+$00) | Otherwise reset the collectable item flag, as it's had its one chance to be used. | ||
| 92EE | LD DE,$0031 | Beep without disabling interrupts | ||
| 92F1 | LD HL,$0376 | |||
| 92F4 | CALL $03B6 | |||
| 92F7 | CALL $9327 | |||
| 92FA | LD HL,$7780 | 7780 is the empty graphic. | ||
| 92FD | LD (IX+$01),L | Clear the data so it is no longer visible or active. | ||
| 9300 | LD (IX+$03),L | |||
| 9303 | LD (IX+$05),L | |||
| 9306 | LD (IX+$07),L | |||
| 9309 | LD (IX+$02),H | |||
| 930C | LD (IX+$04),H | |||
| 930F | LD (IX+$06),H | |||
| 9312 | LD (IX+$08),H | |||
| 9315 | LD A,($C54E) | Set the attribute to the first attribute used in the room's static data. (C54E) | ||
| 9318 | LD (IX+$09),A | |||
| 931B | PUSH IX | Remember IX. | ||
| 931D | CALL $8751 | Update the nasties on screen. | ||
| 9320 | POP IX | Restore IX. | ||
| 9322 | LD (IX+$00),$03 | Flag the nasty as being invisible. | ||
| 9326 | RET | Return. | ||
| Prev: 927E | Up: Map | Next: 9327 |