![]() |
Routines |
| Prev: EEED | Up: Map | Next: F03A |
|
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 |