Prev: F1D9 Up: Map Next: F1FE
F1DF: Process: Take Sword From Slab
The player wants to take the sword from the stone slab, check which version of the sword is in the current room.
Process_TakeSwordFromSlab F1DF LD HL,$E392 Call CheckItemGroupPresent with Data_ItemGroup_Sword.
F1E2 CALL CheckItemGroupPresent
This entry point is used by the routine at Process_GetSword.
Handle checking if the player is already carrying the sword.
GetSword F1E5 CALL Check_PlayerInventory Call Check_PlayerInventory.
Check if the sword item in the room is the one where the sword is laying on the stone slab.
F1E8 LD A,B Jump to NoSwordOnSlab if the version of the sword is not "A shimmering stone slab with a sword laying upon it".
F1E9 CP $59
F1EB JR NZ,NoSwordOnSlab
Let the player pick up the sword.
Change the sword state!
F1ED LD BC,$5958 Call TransformItem to transform item 59 ("A shimmering stone slab with a sword laying upon it") into item 58 ("A stone slab").
F1F0 CALL TransformItem
F1F3 LD B,$39 Jump to Handler_PickUpItem with item 39: "A sword".
F1F5 JP Handler_PickUpItem
The sword isn't on the slab! Respond with this.
Print "It is not on the slab.".
NoSwordOnSlab F1F8 LD HL,$D51A HL=Messaging_ItIsNotOnTheSlab.
F1FB JP PrintStringAndNewline_Duplicate Jump to PrintStringAndNewline_Duplicate.
Prev: F1D9 Up: Map Next: F1FE