Prev: EEED Up: Map Next: F03A
EEFC: Action: Examine Item
Used by the routine at Action_Take.
Describe, and sometimes change, the one thing the player is examining.
Action_ExamineItem EEFC LD HL,$E812 Jump to Action_ExamineItem_Next unless the player named Mara's body.
EEFF CALL Parser_AdvanceToSeparator
EF02 JR NZ,Action_ExamineItem_Next
EF04 LD A,$0A Stop if object 0A (the sword) is already carried, or if the player is holding 06 things.
EF06 CALL Handler_AlreadyCarrying
EF09 LD BC,$333E Put object 33 (the glowing rock) in room 3E (A Rock Wall).
EF0C CALL UpdateObjectLocation
EF0F LD B,$0A Jump back to Handler_PickUpItem to pick the object up.
EF11 JP Handler_PickUpItem
Action_ExamineItem_Next EF14 LD HL,$E814 Jump to Action_ExamineItem_RopeOverhang unless the player named the witch.
EF17 CALL Parser_AdvanceToSeparator
EF1A JR NZ,Action_ExamineItem_RopeOverhang
EF1C LD HL,$E6FF Call Parser_SkipToken to skip to the object named by this phrase.
EF1F CALL Parser_SkipToken
EF22 CALL Handler_AlreadyCarrying Call Handler_AlreadyCarrying to stop if that object is already carried, or if six things are already held.
EF25 JP Handler_PickUpItem Jump back to Handler_PickUpItem to pick the object up.
Action_ExamineItem_RopeOverhang EF28 LD HL,$E816 Jump to Action_ExamineItem_SilverCoin unless the player named the rope on the overhang.
EF2B CALL Parser_AdvanceToSeparator
EF2E JR NZ,Action_ExamineItem_SilverCoin
EF30 LD A,$00 Stop if object 00 (the food) is already carried, or if the player is holding 06 things.
EF32 CALL Handler_AlreadyCarrying
EF35 JP Handler_PickUpItem Jump back to Handler_PickUpItem to pick the object up.
Action_ExamineItem_SilverCoin EF38 LD HL,$E818 Jump to Action_ExamineItem_Bow unless the player named the blacksmith.
EF3B CALL Parser_AdvanceToSeparator
EF3E JR NZ,Action_ExamineItem_Bow
EF40 LD A,$02 Stop if object 02 (the silver coin) is already carried, or if the player is holding 06 things.
EF42 CALL Handler_AlreadyCarrying
EF45 JP Handler_PickUpItem Jump back to Handler_PickUpItem to pick the object up.
Action_ExamineItem_Bow EF48 LD HL,$E81D Jump to Action_ExamineItem_Arrows unless the player named the blacksmith.
EF4B CALL Parser_AdvanceToSeparator
EF4E JR NZ,Action_ExamineItem_Arrows
EF50 LD A,$03 Stop if object 03 (the bow) is already carried, or if the player is holding 06 things.
EF52 CALL Handler_AlreadyCarrying
EF55 JP Handler_PickUpItem Jump back to Handler_PickUpItem to pick the object up.
Action_ExamineItem_Arrows EF58 LD HL,$E81F Jump to Action_ExamineItem_Furnace unless the player named the dead blacksmith.
EF5B CALL Parser_AdvanceToSeparator
EF5E JR NZ,Action_ExamineItem_Furnace
EF60 LD A,$04 Stop if object 04 (the arrows) is already carried, or if the player is holding 06 things.
EF62 CALL Handler_AlreadyCarrying
EF65 JP Handler_PickUpItem Jump back to Handler_PickUpItem to pick the object up.
Action_ExamineItem_Furnace EF68 LD HL,$E821 Jump to Action_ExamineItem_Continue unless the player named the furnace.
EF6B CALL Parser_AdvanceToSeparator
EF6E JR NZ,Action_ExamineItem_Continue
EF70 LD HL,$E6EF Call Parser_SkipToken to skip to the object named by this phrase.
EF73 CALL Parser_SkipToken
EF76 CALL Handler_AlreadyCarrying Call Handler_AlreadyCarrying to stop if that object is already carried, or if six things are already held.
EF79 JP Handler_PickUpItem Jump back to Handler_PickUpItem to pick the object up.
Action_ExamineItem_Continue EF7C JR Action_ExamineItem_Zarn Carry on with the next object.
Action_ExamineItem_Zarn EF7E LD HL,$E825 Jump to Action_ExamineItem_PrincessMara unless the player named Zarn.
EF81 CALL Parser_AdvanceToSeparator
EF84 JR NZ,Action_ExamineItem_PrincessMara
EF86 LD A,$44 Stop if object 44 (the log) is already carried, or if the player is holding 06 things.
EF88 CALL Handler_AlreadyCarrying
EF8B LD A,$45 Destroy object 45 (the log bridge).
EF8D CALL Handler_DestroyItem
EF90 LD A,$46 Destroy object 46 (the log bridge).
EF92 CALL Handler_DestroyItem
EF95 LD BC,$1115 Put object 11 (the chasm) in room 15 (The Western Edge of a Chasm).
EF98 CALL UpdateObjectLocation
EF9B LD BC,$1216 Put object 12 (the chasm) in room 16 (The Eastern Edge of a Chasm).
EF9E CALL UpdateObjectLocation
EFA1 XOR A Jump back to Handler_PickUpItem to pick the object up.
EFA2 LD ($E9B4),A
EFA5 LD ($E9BB),A
EFA8 LD B,$44
EFAA JP Handler_PickUpItem
Action_ExamineItem_PrincessMara EFAD LD HL,$E827 Jump to Action_ExamineItem_OldMan unless the player named Princess Mara.
EFB0 CALL Parser_AdvanceToSeparator
EFB3 JR NZ,Action_ExamineItem_OldMan
EFB5 LD A,$09 Stop if object 09 (the horn) is already carried, or if the player is holding 06 things.
EFB7 CALL Handler_AlreadyCarrying
EFBA JP Handler_PickUpItem Jump back to Handler_PickUpItem to pick the object up.
Action_ExamineItem_OldMan EFBD LD HL,$E829 Jump to Action_ExamineItem_Key unless the player named the old man.
EFC0 CALL Parser_AdvanceToSeparator
EFC3 JR NZ,Action_ExamineItem_Key
EFC5 LD HL,$E706 Call Parser_SkipToken to skip to the object named by this phrase.
EFC8 CALL Parser_SkipToken
EFCB CALL IsObjectCarried Jump to Action_ExamineItem_TakeChest when the object is not being carried.
EFCE JR NZ,Action_ExamineItem_TakeChest
EFD0 LD E,$0F Jump back to Handler_PrintCarrying to finish the carrying sentence.
EFD2 JP Handler_PrintCarrying
Action_ExamineItem_TakeChest EFD5 CALL Handler_InventoryFull Call Handler_InventoryFull to refuse the object when six things are already carried.
EFD8 LD A,E Jump to Action_ExamineItem_PickUp when the value 0F matches.
EFD9 CP $0F
EFDB JR Z,Action_ExamineItem_PickUp
EFDD LD BC,$0D0E Replace object 0D (the open chest) with object 0E (the empty chest).
EFE0 CALL TransformItem
Action_ExamineItem_PickUp EFE3 LD B,$0F Jump back to Handler_PickUpItem to pick the object up.
EFE5 JP Handler_PickUpItem
Action_ExamineItem_Key EFE8 LD HL,$E82F Jump to Action_ExamineItem_DeadSpider unless the player named the key.
EFEB CALL Parser_AdvanceToSeparator
EFEE JR NZ,Action_ExamineItem_DeadSpider
EFF0 LD A,$10 Stop if object 10 (the key) is already carried, or if the player is holding 06 things.
EFF2 CALL Handler_AlreadyCarrying
EFF5 JP Handler_PickUpItem Jump back to Handler_PickUpItem to pick the object up.
Action_ExamineItem_DeadSpider EFF8 LD HL,$E831 Jump to Action_ExamineItem_TakeRingOff unless the player named the dead spider.
EFFB CALL Parser_AdvanceToSeparator
EFFE JR NZ,Action_ExamineItem_TakeRingOff
Reply with "They are not removable.".
F000 LD HL,$DC63 Print "They are not removable." and return to the game loop.
F003 JP PrintResponse
Action_ExamineItem_TakeRingOff F006 LD HL,$E833 Jump to Action_ExamineItem_Demons unless the player named taking the ring off.
F009 CALL Parser_AdvanceToSeparator
F00C JR NZ,Action_ExamineItem_Demons
F00E JP Response_PleaseRephraseThat_GameLoop Jump back to Response_PleaseRephraseThat_GameLoop to ask for a rephrase.
Action_ExamineItem_Demons F011 LD HL,$E823 Jump to Action_ExamineItem_YouCant unless the player named the demons.
F014 CALL Parser_AdvanceToSeparator
F017 JR NZ,Action_ExamineItem_YouCant
F019 LD A,($BA9B) Jump to Action_ExamineItem_YouCant when the player is in room 48 (Inside the Volcano).
F01C CP $48
F01E JR Z,Action_ExamineItem_YouCant
F020 LD A,$08 Stop if object 08 (the rope) is already carried, or if the player is holding 06 things.
F022 CALL Handler_AlreadyCarrying
F025 LD A,$23 Jump to Action_ExamineItem_TakeRope if object 23 (the rope on the overhang) is not here.
F027 CALL IsObjectInCurrentRoom
F02A JR NZ,Action_ExamineItem_TakeRope
F02C LD BC,$2322 Replace object 23 (the rope on the overhang) with object 22 (the rock overhang).
F02F CALL TransformItem
Action_ExamineItem_TakeRope F032 LD B,$08 Jump back to Handler_PickUpItem to pick the object up.
F034 JP Handler_PickUpItem
Action_ExamineItem_YouCant F037 JP Response_YouCant_GameLoop Tell the player the command is impossible.
Prev: EEED Up: Map Next: F03A