Prev: 927E Up: Map Next: 9327
9298: Check if Monty has collided with a nasty that can be removed with an item
Used by the routines at 940C, CD41 and CE1B.
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