Prev: E51B Up: Map Next: E570
E556: Release Sabreman
Used by the routine at Handle_Carrying_Eagle.
Makes the eagle let go of Sabreman. Bit 6 of the redraw flags of Sabreman is set, and when Handle_Carried_Sabreman sees that bit it makes him tumble.
If bit 7 of the redraw flags of Sabreman is set (he has been hit while he was being carried) bit 7 is reset and the eagle is destroyed (see Destroy_Creature). Otherwise the eagle becomes the type 30 and flies away upwards, with a y velocity of F0.
The handler of the eagle also comes here when Sabreman is not being carried.
Input
IX Object record of the eagle
Release_Sabreman E556 LD A,($8F29) Fetch the redraw flags of Sabreman.
E559 OR %01000000 Set bit 6.
E55B BIT 7,A Test bit 7.
E55D RES 7,A Reset bit 7.
E55F LD ($8F29),A Store the redraw flags of Sabreman.
E562 JP NZ,Destroy_Creature Jump to Destroy_Creature to destroy the eagle if bit 7 was set.
E565 LD (IX+$00),$30 Change the eagle into a flying eagle.
E569 LD (IX+$09),$F0 Set the y velocity to F0.
E56D JP Update_Object_Sprite Jump to Update_Object_Sprite.
Prev: E51B Up: Map Next: E570