Prev: 7B36 Up: Map Next: 7BB5
7B8B: Drop item
This drops the hero's first held item then moves the second item into the first slot.
Used by the routine at process_player_input_fire.
Return if no items are held.
drop_item 7B8B LD A,($8215) Fetch the first held item
7B8E CP $FF Is the item item_NONE? ($FF)
7B90 RET Z Return if so - there are no items to drop
If dropping the uniform reset the hero's sprite.
7B91 CP $06 Does A contain item_UNIFORM? (6)
7B93 JP NZ,drop_item_0 Jump if not
7B96 LD HL,$CE2E Set the hero's sprite definition pointer to sprite_prisoner to remove the guard's uniform
7B99 LD ($8015),HL
drop_item_0 7B9C PUSH AF Save item
Shuffle items down.
7B9D LD HL,$8216 Point HL at the second held item
7BA0 LD A,(HL) Fetch its value
7BA1 LD (HL),$FF Set it to item_NONE
7BA3 DEC HL Now point to the first held item
7BA4 LD (HL),A Store the fetched item there
Redraw the items.
7BA5 CALL draw_all_items Draw held items
7BA8 LD BC,$3040 Play the "drop item" sound
7BAB CALL play_speaker
7BAE CALL choose_game_window_attributes Choose game window attributes
7BB1 CALL set_game_window_attributes Set game window attributes
7BB4 POP AF Restore item
FALL THROUGH into drop_item_tail.
Prev: 7B36 Up: Map Next: 7BB5