Prev: E9FD Up: Map Next: EA9C
EA7D: Handle Fire
Handler for the object types 70 and 71 the fire that is thrown by the torch (see Throw_Weapon). Bit 0 of the type and the attribute follow bit 0 of the tick counter, so the fire flickers between two frames and between red (42) and magenta (43). It moves in the same way as the other thrown weapons (see Move_Thrown_Weapon).
Input
IX Object record of the fire
Handle_Fire EA7D CALL StoreEntity Save the state of the fire.
EA80 LD A,($8ED6) Fetch the tick counter.
EA83 AND %00000001 Keep only bit 0.
EA85 LD B,A Store it in B.
EA86 LD A,(IX+$00) Fetch the type of the fire.
EA89 AND %11111110 Reset bit 0.
EA8B ADD A,B Add bit 0 of the tick counter.
EA8C LD (IX+$00),A Set the type of the fire.
EA8F LD A,($8ED6) Fetch the tick counter.
EA92 AND %00000001 Keep only bit 0.
EA94 ADD A,$42 Add 42.
EA96 LD (IX+$05),A Set the attribute of the fire.
EA99 JP Move_Thrown_Weapon Jump to Move_Thrown_Weapon to move the fire.
Prev: E9FD Up: Map Next: EA9C