Prev: 62552 Up: Map Next: 62649
62601: Process: Drop Amulet
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