![]() |
Routines |
| Prev: 61165 | Up: Map | Next: 61498 |
|
Used by the routine at Action_Take.
Describe, and sometimes change, the one thing the player is examining.
|
||||
| Action_ExamineItem | 61180 | LD HL,59410 | Jump to Action_ExamineItem_Next unless the player named Mara's body. | |
| 61183 | CALL Parser_AdvanceToSeparator | |||
| 61186 | JR NZ,Action_ExamineItem_Next | |||
| 61188 | LD A,10 | Stop if object 10 (the sword) is already carried, or if the player is holding 6 things. | ||
| 61190 | CALL Handler_AlreadyCarrying | |||
| 61193 | LD BC,13118 | Put object 51 (the glowing rock) in room 62 (A Rock Wall). | ||
| 61196 | CALL UpdateObjectLocation | |||
| 61199 | LD B,10 | Jump back to Handler_PickUpItem to pick the object up. | ||
| 61201 | JP Handler_PickUpItem | |||
| Action_ExamineItem_Next | 61204 | LD HL,59412 | Jump to Action_ExamineItem_RopeOverhang unless the player named the witch. | |
| 61207 | CALL Parser_AdvanceToSeparator | |||
| 61210 | JR NZ,Action_ExamineItem_RopeOverhang | |||
| 61212 | LD HL,59135 | Call Parser_SkipToken to skip to the object named by this phrase. | ||
| 61215 | CALL Parser_SkipToken | |||
| 61218 | CALL Handler_AlreadyCarrying | Call Handler_AlreadyCarrying to stop if that object is already carried, or if six things are already held. | ||
| 61221 | JP Handler_PickUpItem | Jump back to Handler_PickUpItem to pick the object up. | ||
| Action_ExamineItem_RopeOverhang | 61224 | LD HL,59414 | Jump to Action_ExamineItem_SilverCoin unless the player named the rope on the overhang. | |
| 61227 | CALL Parser_AdvanceToSeparator | |||
| 61230 | JR NZ,Action_ExamineItem_SilverCoin | |||
| 61232 | LD A,0 | Stop if object 0 (the food) is already carried, or if the player is holding 6 things. | ||
| 61234 | CALL Handler_AlreadyCarrying | |||
| 61237 | JP Handler_PickUpItem | Jump back to Handler_PickUpItem to pick the object up. | ||
| Action_ExamineItem_SilverCoin | 61240 | LD HL,59416 | Jump to Action_ExamineItem_Bow unless the player named the blacksmith. | |
| 61243 | CALL Parser_AdvanceToSeparator | |||
| 61246 | JR NZ,Action_ExamineItem_Bow | |||
| 61248 | LD A,2 | Stop if object 2 (the silver coin) is already carried, or if the player is holding 6 things. | ||
| 61250 | CALL Handler_AlreadyCarrying | |||
| 61253 | JP Handler_PickUpItem | Jump back to Handler_PickUpItem to pick the object up. | ||
| Action_ExamineItem_Bow | 61256 | LD HL,59421 | Jump to Action_ExamineItem_Arrows unless the player named the blacksmith. | |
| 61259 | CALL Parser_AdvanceToSeparator | |||
| 61262 | JR NZ,Action_ExamineItem_Arrows | |||
| 61264 | LD A,3 | Stop if object 3 (the bow) is already carried, or if the player is holding 6 things. | ||
| 61266 | CALL Handler_AlreadyCarrying | |||
| 61269 | JP Handler_PickUpItem | Jump back to Handler_PickUpItem to pick the object up. | ||
| Action_ExamineItem_Arrows | 61272 | LD HL,59423 | Jump to Action_ExamineItem_Furnace unless the player named the dead blacksmith. | |
| 61275 | CALL Parser_AdvanceToSeparator | |||
| 61278 | JR NZ,Action_ExamineItem_Furnace | |||
| 61280 | LD A,4 | Stop if object 4 (the arrows) is already carried, or if the player is holding 6 things. | ||
| 61282 | CALL Handler_AlreadyCarrying | |||
| 61285 | JP Handler_PickUpItem | Jump back to Handler_PickUpItem to pick the object up. | ||
| Action_ExamineItem_Furnace | 61288 | LD HL,59425 | Jump to Action_ExamineItem_Continue unless the player named the furnace. | |
| 61291 | CALL Parser_AdvanceToSeparator | |||
| 61294 | JR NZ,Action_ExamineItem_Continue | |||
| 61296 | LD HL,59119 | Call Parser_SkipToken to skip to the object named by this phrase. | ||
| 61299 | CALL Parser_SkipToken | |||
| 61302 | CALL Handler_AlreadyCarrying | Call Handler_AlreadyCarrying to stop if that object is already carried, or if six things are already held. | ||
| 61305 | JP Handler_PickUpItem | Jump back to Handler_PickUpItem to pick the object up. | ||
| Action_ExamineItem_Continue | 61308 | JR Action_ExamineItem_Zarn | Carry on with the next object. | |
| Action_ExamineItem_Zarn | 61310 | LD HL,59429 | Jump to Action_ExamineItem_PrincessMara unless the player named Zarn. | |
| 61313 | CALL Parser_AdvanceToSeparator | |||
| 61316 | JR NZ,Action_ExamineItem_PrincessMara | |||
| 61318 | LD A,68 | Stop if object 68 (the log) is already carried, or if the player is holding 6 things. | ||
| 61320 | CALL Handler_AlreadyCarrying | |||
| 61323 | LD A,69 | Destroy object 69 (the log bridge). | ||
| 61325 | CALL Handler_DestroyItem | |||
| 61328 | LD A,70 | Destroy object 70 (the log bridge). | ||
| 61330 | CALL Handler_DestroyItem | |||
| 61333 | LD BC,4373 | Put object 17 (the chasm) in room 21 (The Western Edge of a Chasm). | ||
| 61336 | CALL UpdateObjectLocation | |||
| 61339 | LD BC,4630 | Put object 18 (the chasm) in room 22 (The Eastern Edge of a Chasm). | ||
| 61342 | CALL UpdateObjectLocation | |||
| 61345 | XOR A | Jump back to Handler_PickUpItem to pick the object up. | ||
| 61346 | LD (59828),A | |||
| 61349 | LD (59835),A | |||
| 61352 | LD B,68 | |||
| 61354 | JP Handler_PickUpItem | |||
| Action_ExamineItem_PrincessMara | 61357 | LD HL,59431 | Jump to Action_ExamineItem_OldMan unless the player named Princess Mara. | |
| 61360 | CALL Parser_AdvanceToSeparator | |||
| 61363 | JR NZ,Action_ExamineItem_OldMan | |||
| 61365 | LD A,9 | Stop if object 9 (the horn) is already carried, or if the player is holding 6 things. | ||
| 61367 | CALL Handler_AlreadyCarrying | |||
| 61370 | JP Handler_PickUpItem | Jump back to Handler_PickUpItem to pick the object up. | ||
| Action_ExamineItem_OldMan | 61373 | LD HL,59433 | Jump to Action_ExamineItem_Key unless the player named the old man. | |
| 61376 | CALL Parser_AdvanceToSeparator | |||
| 61379 | JR NZ,Action_ExamineItem_Key | |||
| 61381 | LD HL,59142 | Call Parser_SkipToken to skip to the object named by this phrase. | ||
| 61384 | CALL Parser_SkipToken | |||
| 61387 | CALL IsObjectCarried | Jump to Action_ExamineItem_TakeChest when the object is not being carried. | ||
| 61390 | JR NZ,Action_ExamineItem_TakeChest | |||
| 61392 | LD E,15 | Jump back to Handler_PrintCarrying to finish the carrying sentence. | ||
| 61394 | JP Handler_PrintCarrying | |||
| Action_ExamineItem_TakeChest | 61397 | CALL Handler_InventoryFull | Call Handler_InventoryFull to refuse the object when six things are already carried. | |
| 61400 | LD A,E | Jump to Action_ExamineItem_PickUp when the value 15 matches. | ||
| 61401 | CP 15 | |||
| 61403 | JR Z,Action_ExamineItem_PickUp | |||
| 61405 | LD BC,3342 | Replace object 13 (the open chest) with object 14 (the empty chest). | ||
| 61408 | CALL TransformItem | |||
| Action_ExamineItem_PickUp | 61411 | LD B,15 | Jump back to Handler_PickUpItem to pick the object up. | |
| 61413 | JP Handler_PickUpItem | |||
| Action_ExamineItem_Key | 61416 | LD HL,59439 | Jump to Action_ExamineItem_DeadSpider unless the player named the key. | |
| 61419 | CALL Parser_AdvanceToSeparator | |||
| 61422 | JR NZ,Action_ExamineItem_DeadSpider | |||
| 61424 | LD A,16 | Stop if object 16 (the key) is already carried, or if the player is holding 6 things. | ||
| 61426 | CALL Handler_AlreadyCarrying | |||
| 61429 | JP Handler_PickUpItem | Jump back to Handler_PickUpItem to pick the object up. | ||
| Action_ExamineItem_DeadSpider | 61432 | LD HL,59441 | Jump to Action_ExamineItem_TakeRingOff unless the player named the dead spider. | |
| 61435 | CALL Parser_AdvanceToSeparator | |||
| 61438 | JR NZ,Action_ExamineItem_TakeRingOff | |||
|
Reply with "They are not removable.".
|
||||
| 61440 | LD HL,56419 | Print "They are not removable." and return to the game loop. | ||
| 61443 | JP PrintResponse | |||
| Action_ExamineItem_TakeRingOff | 61446 | LD HL,59443 | Jump to Action_ExamineItem_Demons unless the player named taking the ring off. | |
| 61449 | CALL Parser_AdvanceToSeparator | |||
| 61452 | JR NZ,Action_ExamineItem_Demons | |||
| 61454 | JP Response_PleaseRephraseThat_GameLoop | Jump back to Response_PleaseRephraseThat_GameLoop to ask for a rephrase. | ||
| Action_ExamineItem_Demons | 61457 | LD HL,59427 | Jump to Action_ExamineItem_YouCant unless the player named the demons. | |
| 61460 | CALL Parser_AdvanceToSeparator | |||
| 61463 | JR NZ,Action_ExamineItem_YouCant | |||
| 61465 | LD A,(47771) | Jump to Action_ExamineItem_YouCant when the player is in room 72 (Inside the Volcano). | ||
| 61468 | CP 72 | |||
| 61470 | JR Z,Action_ExamineItem_YouCant | |||
| 61472 | LD A,8 | Stop if object 8 (the rope) is already carried, or if the player is holding 6 things. | ||
| 61474 | CALL Handler_AlreadyCarrying | |||
| 61477 | LD A,35 | Jump to Action_ExamineItem_TakeRope if object 35 (the rope on the overhang) is not here. | ||
| 61479 | CALL IsObjectInCurrentRoom | |||
| 61482 | JR NZ,Action_ExamineItem_TakeRope | |||
| 61484 | LD BC,8994 | Replace object 35 (the rope on the overhang) with object 34 (the rock overhang). | ||
| 61487 | CALL TransformItem | |||
| Action_ExamineItem_TakeRope | 61490 | LD B,8 | Jump back to Handler_PickUpItem to pick the object up. | |
| 61492 | JP Handler_PickUpItem | |||
| Action_ExamineItem_YouCant | 61495 | JP Response_YouCant_GameLoop | Tell the player the command is impossible. | |
| Prev: 61165 | Up: Map | Next: 61498 |