Prev: EFAD Up: Map Next: EFE8
EFBD: Take: Open Chest
Used by the routine at Validate_Take_Horn.
Was the player trying to take ... the open chest?
Validate_Take_OpenChest EFBD LD HL,$E829 Call Parser_AdvanceToSeparator with E829.
EFC0 CALL Parser_AdvanceToSeparator
EFC3 JR NZ,Validate_Take_Key Jump to Validate_Take_Key if the token isn't for the open chest.
EFC5 LD HL,$E706 Call Parser_SkipToken with E706.
EFC8 CALL Parser_SkipToken
EFCB CALL IsObjectCarried Call IsObjectCarried; jump to Validate_Take_OpenChest_NotHeld if not held.
EFCE JR NZ,Validate_Take_OpenChest_NotHeld
EFD0 LD E,$0F E=0F; jump to Take_IsPlayerHoldingItem_0.
EFD2 JP Take_IsPlayerHoldingItem_0
The player is not holding the open chest, so open it before picking it up.
Validate_Take_OpenChest_NotHeld EFD5 CALL Take_InventoryFull Call Take_InventoryFull.
EFD8 LD A,E Jump to Validate_Take_OpenChest_PickUp if E is 0F.
EFD9 CP $0F
EFDB JR Z,Validate_Take_OpenChest_PickUp
EFDD LD BC,$0D0E Call TransformItem to transform "An open chest containing the Crystals of Vulcan" into "An empty chest".
EFE0 CALL TransformItem
Pick up the open chest.
Validate_Take_OpenChest_PickUp EFE3 LD B,$0F B=0F; jump to TakeItem.
EFE5 JP TakeItem
Prev: EFAD Up: Map Next: EFE8