![]()  | 
Routines | 
| Prev: 62552 | Up: Map | Next: 62649 | 
| 
 | 
||||
| 
 
The player wants to drop the amulet, check which version of it is in the players inventory/ current room.
 
 | 
||||
| Process_DropAmulet | 62601 | LD HL,58278 | Call CheckItemGroupPresent with Data_ItemGroup_Amulet. | |
| 62604 | CALL CheckItemGroupPresent | |||
| 62607 | CALL IsPlayerCarryingItem | Call IsPlayerCarryingItem. | ||
| 62610 | LD A,E | Jump to DropItem if E is equal to item 75: "An amulet". | ||
| 62611 | CP 75 | |||
| 62613 | JP Z,DropItem | |||
| 
 
Change the amulet state!
 
 | 
||||
| 62616 | LD BC,19531 | Call TransformItem to transform item 76 ("An amulet (worn)") into item 75 ("An amulet"). | ||
| 62619 | CALL TransformItem | |||
| 
 
Change the vale state!
 
 | 
||||
| 62622 | LD BC,10793 | Call TransformItem to transform item 42 ("The vale is strangely silent") into item 41 ("A multitude of shadow-like demons"). | ||
| 62625 | CALL TransformItem | |||
| 62628 | XOR A | Write 0 to *59349. | ||
| 62629 | LD (59349),A | |||
| 62632 | LD E,75 | Call DropItem with item 75: "An amulet". | ||
| 62634 | CALL DropItem | |||
| 62637 | LD A,(42947) | Return if *CurrentRoom is not equal to room 32: The Vale Of Whispers. | ||
| 62640 | CP 32 | |||
| 62642 | RET NZ | |||
| 
 
Print "A multitude of shadow-like
demons produce a whispering
cacophony so intense,that you
cannot go further South.".
 
 | 
||||
| 62643 | LD HL,46240 | HL=Messaging_MultitudeOfShadowDemons. | ||
| 62646 | JP PrintStringAndNewline_Duplicate | Jump to PrintStringAndNewline_Duplicate. | ||
| Prev: 62552 | Up: Map | Next: 62649 |