![]() |
Routines |
| Prev: F1D9 | Up: Map | Next: F1FE |
|
|
||||
|
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 |