Prev: 6A42 Up: Map Next: 6A98
6A73: Explode Robbie
Used by the routines at UpdateLeech, UpdateMidges and UpdateSlug.
A bug has touched Robbie. The bug explodes, and then so does Robbie: the position and state of Robbie are copied to the explosion object, and Robbie and the spray can are made inactive.
Input
IX Bug object
ExplodeRobbie 6A73 CALL ExplodeBug Explode the bug using ExplodeBug.
This entry point is used by the routine at SinkFlower.
ExplodeRobbie_Flower 6A76 PUSH IX Stash IX on the stack.
6A78 LD IX,$5EE4 IX=State_Explosion (the explosion object).
6A7C LD HL,$5E6C C=the state of Robbie from State_Robbie_Active.
6A7F LD C,(HL)
6A80 INC HL A=the X position of Robbie.
6A81 LD A,(HL)
6A82 LD (IX+$01),A Write it to the explosion object.
6A85 INC HL A=the Y position of Robbie.
6A86 LD A,(HL)
6A87 LD (IX+$02),A Write it to the explosion object.
6A8A LD A,C A=the old state of Robbie.
6A8B CALL StartExplosion Start the explosion using StartExplosion.
6A8E POP IX Restore IX from the stack.
6A90 XOR A Write 00 to State_Robbie_Active and State_SprayCan to make Robbie and the spray can inactive.
6A91 LD ($5E6C),A
6A94 LD ($5E74),A
6A97 RET Return.
Prev: 6A42 Up: Map Next: 6A98