![]() |
Routines |
| Prev: 61498 | Up: Map | Next: 61840 |
|
Put the object in this room, with special cases for the log, the chest and the ring.
|
||||
| Handler_NotCarryingIt | 61509 | CALL IsObjectCarried | Jump to Handler_NotCarryingIt_DropHere when the object is being carried. | |
| 61512 | JR Z,Handler_NotCarryingIt_DropHere | |||
| 61514 | LD HL,48511 | Print "You're not carrying ". | ||
| 61517 | CALL PrintString | |||
| 61520 | LD A,E | Point at the plural-object list with this object. | ||
| 61521 | LD HL,61163 | |||
| 61524 | LD BC,2 | BC=0002. | ||
| 61527 | CPIR | Jump to Handler_NotCarryingIt_Next if the search found a match. | ||
| 61529 | JR Z,Handler_NotCarryingIt_Next | |||
|
Reply with "it.".
|
||||
| 61531 | LD HL,48379 | Print "it." and return to the game loop. | ||
| 61534 | JP PrintResponse | |||
|
Reply with "them.".
|
||||
| Handler_NotCarryingIt_Next | 61537 | LD HL,48383 | Print "them." and return to the game loop. | |
| 61540 | JP PrintResponse | |||
| Handler_NotCarryingIt_DropHere | 61543 | LD B,E | Call UpdateObjectLocation to drop the object in this room. | |
| 61544 | LD A,(47771) | |||
| 61547 | LD C,A | |||
| 61548 | CALL UpdateObjectLocation | |||
| 61551 | LD HL,47720 | Count one fewer thing carried, then print "O.K." and return to the game loop. | ||
| 61554 | DEC (HL) | |||
| 61555 | LD HL,48347 | |||
| 61558 | JP PrintResponse | |||
|
This entry point is used by the routine at Action_Drop.
|
||||
| Handler_NotCarryingIt_MarasBody | 61561 | LD HL,59410 | Jump to Handler_NotCarryingIt_Witch unless the player named Mara's body. | |
| 61564 | CALL Parser_AdvanceToSeparator | |||
| 61567 | JR NZ,Handler_NotCarryingIt_Witch | |||
| 61569 | LD A,51 | Destroy object 51 (the glowing rock). | ||
| 61571 | CALL Handler_DestroyItem | |||
| 61574 | LD A,10 | Jump back to Handler_NotCarryingIt to drop it in the ordinary way. | ||
| 61576 | JP Handler_NotCarryingIt | |||
| Handler_NotCarryingIt_Witch | 61579 | LD HL,59412 | Jump to Handler_NotCarryingIt_RopeOverhang unless the player named the witch. | |
| 61582 | CALL Parser_AdvanceToSeparator | |||
| 61585 | JR NZ,Handler_NotCarryingIt_RopeOverhang | |||
| 61587 | LD HL,59135 | Call Parser_SkipToken to skip to the object named by this phrase. | ||
| 61590 | CALL Parser_SkipToken | |||
| 61593 | JP Handler_NotCarryingIt | Jump back to Handler_NotCarryingIt to drop it in the ordinary way. | ||
| Handler_NotCarryingIt_RopeOverhang | 61596 | LD HL,59414 | Jump to Handler_NotCarryingIt_BlacksmithCoin unless the player named the rope on the overhang. | |
| 61599 | CALL Parser_AdvanceToSeparator | |||
| 61602 | JR NZ,Handler_NotCarryingIt_BlacksmithCoin | |||
| 61604 | LD A,0 | Jump back to Handler_NotCarryingIt to drop it in the ordinary way. | ||
| 61606 | JP Handler_NotCarryingIt | |||
| Handler_NotCarryingIt_BlacksmithCoin | 61609 | LD HL,59416 | Jump to Handler_NotCarryingIt_BlacksmithBow unless the player named the blacksmith. | |
| 61612 | CALL Parser_AdvanceToSeparator | |||
| 61615 | JR NZ,Handler_NotCarryingIt_BlacksmithBow | |||
| 61617 | LD A,2 | Jump back to Handler_NotCarryingIt to drop it in the ordinary way. | ||
| 61619 | JP Handler_NotCarryingIt | |||
| Handler_NotCarryingIt_BlacksmithBow | 61622 | LD HL,59421 | Jump to Handler_NotCarryingIt_DeadBlacksmith unless the player named the blacksmith. | |
| 61625 | CALL Parser_AdvanceToSeparator | |||
| 61628 | JR NZ,Handler_NotCarryingIt_DeadBlacksmith | |||
| 61630 | LD A,3 | Jump back to Handler_NotCarryingIt to drop it in the ordinary way. | ||
| 61632 | JP Handler_NotCarryingIt | |||
| Handler_NotCarryingIt_DeadBlacksmith | 61635 | LD HL,59423 | Jump to Handler_NotCarryingIt_Furnace unless the player named the dead blacksmith. | |
| 61638 | CALL Parser_AdvanceToSeparator | |||
| 61641 | JR NZ,Handler_NotCarryingIt_Furnace | |||
| 61643 | LD A,4 | Jump back to Handler_NotCarryingIt to drop it in the ordinary way. | ||
| 61645 | JP Handler_NotCarryingIt | |||
| Handler_NotCarryingIt_Furnace | 61648 | LD HL,59425 | Jump to Handler_NotCarryingIt_Demons unless the player named the furnace. | |
| 61651 | CALL Parser_AdvanceToSeparator | |||
| 61654 | JR NZ,Handler_NotCarryingIt_Demons | |||
| 61656 | LD A,67 | Jump to Handler_NotCarryingIt_DropRing if the player is not carrying object 67 (the ring being worn). | ||
| 61658 | CALL IsObjectCarried | |||
| 61661 | JR NZ,Handler_NotCarryingIt_DropRing | |||
| 61663 | LD BC,17159 | Replace object 67 (the ring being worn) with object 7 (the ring). | ||
| 61666 | CALL TransformItem | |||
| Handler_NotCarryingIt_DropRing | 61669 | LD A,7 | Jump back to Handler_NotCarryingIt to drop it in the ordinary way. | |
| 61671 | JP Handler_NotCarryingIt | |||
| Handler_NotCarryingIt_Demons | 61674 | LD HL,59427 | Jump to Handler_NotCarryingIt_Zarn unless the player named the demons. | |
| 61677 | CALL Parser_AdvanceToSeparator | |||
| 61680 | JR NZ,Handler_NotCarryingIt_Zarn | |||
| 61682 | LD A,8 | Jump back to Handler_NotCarryingIt to drop it in the ordinary way. | ||
| 61684 | JP Handler_NotCarryingIt | |||
| Handler_NotCarryingIt_Zarn | 61687 | LD HL,59429 | Jump to Handler_NotCarryingIt_Log unless the player named Zarn. | |
| 61690 | CALL Parser_AdvanceToSeparator | |||
| 61693 | JR NZ,Handler_NotCarryingIt_Log | |||
| 61695 | LD A,68 | Jump back to Handler_NotCarryingIt to drop it in the ordinary way. | ||
| 61697 | JP Handler_NotCarryingIt | |||
| Handler_NotCarryingIt_Log | 61700 | LD HL,59449 | Jump to Handler_NotCarryingIt_PrincessMara unless the player named Zarn. | |
| 61703 | CALL Parser_AdvanceToSeparator | |||
| 61706 | JR NZ,Handler_NotCarryingIt_PrincessMara | |||
| 61708 | LD A,68 | Jump to Handler_NotCarryingIt_CarryingLog when object 68 (the log) is here. | ||
| 61710 | CALL IsObjectInCurrentRoom | |||
| 61713 | JR Z,Handler_NotCarryingIt_CarryingLog | |||
|
Reply with "It already is!".
|
||||
| 61715 | LD HL,56459 | Print "It already is!" and return to the game loop. | ||
| 61718 | JP PrintResponse | |||
| Handler_NotCarryingIt_CarryingLog | 61721 | LD A,68 | Jump to Handler_NotCarryingIt_PlaceBridge if the player is not carrying object 68 (the log). | |
| 61723 | CALL IsObjectCarried | |||
| 61726 | JR NZ,Handler_NotCarryingIt_PlaceBridge | |||
| 61728 | LD HL,47720 | Count one fewer thing carried. | ||
| 61731 | DEC (HL) | |||
| Handler_NotCarryingIt_PlaceBridge | 61732 | LD A,68 | Destroy object 68 (the log). | |
| 61734 | CALL Handler_DestroyItem | |||
| 61737 | LD BC,17685 | Put object 69 (the log bridge) in room 21 (The Western Edge of a Chasm). | ||
| 61740 | CALL UpdateObjectLocation | |||
| 61743 | LD BC,17942 | Put object 70 (the log bridge) in room 22 (The Eastern Edge of a Chasm). | ||
| 61746 | CALL UpdateObjectLocation | |||
| 61749 | LD A,17 | Destroy object 17 (the chasm). | ||
| 61751 | CALL Handler_DestroyItem | |||
| 61754 | LD A,18 | Destroy object 18 (the chasm). | ||
| 61756 | CALL Handler_DestroyItem | |||
| 61759 | LD A,22 | Open the log bridge across the chasm, both ways. | ||
| 61761 | LD (59828),A | |||
| 61764 | LD A,21 | |||
| 61766 | LD (59835),A | |||
| 61769 | LD HL,56574 | Print "The log now spans the chasm, forming an effective bridge." and return to the game loop. | ||
| 61772 | JP PrintResponse | |||
| Handler_NotCarryingIt_PrincessMara | 61775 | LD HL,59431 | Jump to Handler_NotCarryingIt_OldMan unless the player named Princess Mara. | |
| 61778 | CALL Parser_AdvanceToSeparator | |||
| 61781 | JR NZ,Handler_NotCarryingIt_OldMan | |||
| 61783 | LD A,9 | Jump back to Handler_NotCarryingIt to drop it in the ordinary way. | ||
| 61785 | JP Handler_NotCarryingIt | |||
| Handler_NotCarryingIt_OldMan | 61788 | LD HL,59433 | Jump to Handler_NotCarryingIt_Key unless the player named the old man. | |
| 61791 | CALL Parser_AdvanceToSeparator | |||
| 61794 | JR NZ,Handler_NotCarryingIt_Key | |||
| 61796 | LD A,13 | Jump to Handler_NotCarryingIt_DropChest if the player is not carrying object 13 (the open chest). | ||
| 61798 | CALL IsObjectCarried | |||
| 61801 | JR NZ,Handler_NotCarryingIt_DropChest | |||
| 61803 | LD BC,3841 | Put object 15 (the Crystals of Vulcan) in the player's inventory. | ||
| 61806 | CALL UpdateObjectLocation | |||
| 61809 | LD BC,3342 | Replace object 13 (the open chest) with object 14 (the empty chest). | ||
| 61812 | CALL TransformItem | |||
| 61815 | LD HL,47720 | Count one more thing carried. | ||
| 61818 | INC (HL) | |||
| Handler_NotCarryingIt_DropChest | 61819 | LD A,15 | Jump back to Handler_NotCarryingIt to drop it in the ordinary way. | |
| 61821 | JP Handler_NotCarryingIt | |||
| Handler_NotCarryingIt_Key | 61824 | LD HL,59439 | Jump to Handler_NotCarryingIt_YouCant unless the player named the key. | |
| 61827 | CALL Parser_AdvanceToSeparator | |||
| 61830 | JR NZ,Handler_NotCarryingIt_YouCant | |||
| 61832 | LD A,16 | Jump back to Handler_NotCarryingIt to drop it in the ordinary way. | ||
| 61834 | JP Handler_NotCarryingIt | |||
| Handler_NotCarryingIt_YouCant | 61837 | JP Response_YouCant_GameLoop | Tell the player the command is impossible. | |
| Prev: 61498 | Up: Map | Next: 61840 |