![]()  | 
Routines | 
| Prev: F458 | Up: Map | Next: F4B9 | 
| 
 | 
||||
| 
 
The player wants to drop the amulet, check which version of it is in the players inventory/ current room.
 
 | 
||||
| Process_DropAmulet | F489 | LD HL,$E3A6 | Call CheckItemGroupPresent with Data_ItemGroup_Amulet. | |
| F48C | CALL CheckItemGroupPresent | |||
| F48F | CALL IsPlayerCarryingItem | Call IsPlayerCarryingItem. | ||
| F492 | LD A,E | Jump to DropItem if E is equal to item 4B: "An amulet". | ||
| F493 | CP $4B | |||
| F495 | JP Z,DropItem | |||
| 
 
Change the amulet state!
 
 | 
||||
| F498 | LD BC,$4C4B | Call TransformItem to transform item 4C ("An amulet (worn)") into item 4B ("An amulet"). | ||
| F49B | CALL TransformItem | |||
| 
 
Change the vale state!
 
 | 
||||
| F49E | LD BC,$2A29 | Call TransformItem to transform item 2A ("The vale is strangely silent") into item 29 ("A multitude of shadow-like demons"). | ||
| F4A1 | CALL TransformItem | |||
| F4A4 | XOR A | Write 00 to *E7D5. | ||
| F4A5 | LD ($E7D5),A | |||
| F4A8 | LD E,$4B | Call DropItem with item 4B: "An amulet". | ||
| F4AA | CALL DropItem | |||
| F4AD | LD A,($A7C3) | Return if *CurrentRoom is not equal to room 20: The Vale Of Whispers. | ||
| F4B0 | CP $20 | |||
| F4B2 | RET NZ | |||
| 
 
Print "A multitude of shadow-like
demons produce a whispering
cacophony so intense,that you
cannot go further South.".
 
 | 
||||
| F4B3 | LD HL,$B4A0 | HL=Messaging_MultitudeOfShadowDemons. | ||
| F4B6 | JP PrintStringAndNewline_Duplicate | Jump to PrintStringAndNewline_Duplicate. | ||
| Prev: F458 | Up: Map | Next: F4B9 |