Prev: 61498 Up: Map Next: 61840
61509: Handler: Not Carrying It
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