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 |