![]() |
Routines |
| Prev: E8D7 | Up: Map | Next: E9FD |
|
Used by the routine at Handle_Weapon_Pickup.
Deals with a weapon that is in a different room from Sabreman (see Handle_Weapon_Pickup). Bit 0 of the flags is set, so that the weapon is drawn without an old image to erase when Sabreman comes back. If the weapon falls it moves down through the rooms below until it gets to one that has a floor, and it is put at the y position 9E with its counter cleared.
|
||||||||
| Handle_Distant_Weapon | E9DF | SET 0,(IX+$07) | Set bit 0 of the flags. | |||||
| E9E3 | BIT 2,(IX+$07) | Jump to Handle_Distant_Weapon_Find_Floor if the weapon is falling. | ||||||
| E9E7 | JR NZ,Handle_Distant_Weapon_Find_Floor | |||||||
| E9E9 | RET | Return. | ||||||
| Handle_Distant_Weapon_Next_Room | E9EA | INC (IX+$04) | Move the weapon to the room below. | |||||
| Handle_Distant_Weapon_Find_Floor | E9ED | CALL Read_World_Map | Read the world map entry of the room that the weapon is in. The flags of the room are returned in E. | |||||
| E9F0 | BIT 4,E | Jump back to Handle_Distant_Weapon_Next_Room if the room has no floor. | ||||||
| E9F2 | JR Z,Handle_Distant_Weapon_Next_Room | |||||||
| E9F4 | LD (IX+$03),$9E | Set the y position of the weapon to 9E. | ||||||
| E9F8 | LD (IX+$06),$00 | Clear the counter in byte 06. | ||||||
| E9FC | RET | Return. | ||||||
| Prev: E8D7 | Up: Map | Next: E9FD |