Prev: C6AD Up: Map Next: C6E0
C6BD: A moving portcullis (type 9)
Rising, it climbs one unit a frame with a sound whose pitch follows its height, until it is more than 31 above the floor. Falling, it gets an extra unit of downward speed each frame on top of gravity, so it falls with twice the pull of anything else, and lands with a crash of noise. While it moves it has bit 7 of +$0D set, which passes the deadly mark (bit 6) to whatever it moves into: a falling portcullis kills. It stays still while the player is settling into the room.
Input
IX the portcullis's record
upd_9 C6BD CALL adj_m6_m12 draw 12 left and 6 down
C6C0 SET 7,(IX+$0D) deadly to what it moves into
C6C4 LD A,($5C14) wait while the player's +$0C counts down after entering the room
C6C7 AND $F0
C6C9 RET NZ
C6CA LD A,(IX+$0B) rising
C6CD AND A
C6CE JP P,move_portcullis_up
C6D1 DEC (IX+$0B) extra speed down, then gravity and move
C6D4 CALL dec_dZ_and_update_XYZ
C6D7 BIT 2,(IX+$0C) not landed yet
C6DB JR Z,set_wipe_and_draw_flags
C6DD CALL sound_portcullis_crash the crash: noise from bytes of the ROM chosen by the seed and the frame counter
Prev: C6AD Up: Map Next: C6E0