![]()  | 
Routines | 
| Prev: 61913 | Up: Map | Next: 61950 | 
| 
 | 
||||
| 
 
The player wants to take the sword from the stone slab, check which version of the sword is in the current room.
 
 | 
||||
| Process_TakeSwordFromSlab | 61919 | LD HL,58258 | Call CheckItemGroupPresent with Data_ItemGroup_Sword. | |
| 61922 | CALL CheckItemGroupPresent | |||
| 
 
This entry point is used by the routine at Process_GetSword.
 
Handle checking if the player is already carrying the sword.
 
 | 
||||
| GetSword | 61925 | 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.
 
 | 
||||
| 61928 | LD A,B | Jump to NoSwordOnSlab if the version of the sword is not "A shimmering stone slab with a sword laying upon it". | ||
| 61929 | CP 89 | |||
| 61931 | JR NZ,NoSwordOnSlab | |||
| 
 
Let the player pick up the sword.
 
Change the sword state!
 
 | 
||||
| 61933 | LD BC,22872 | Call TransformItem to transform item 89 ("A shimmering stone slab with a sword laying upon it") into item 88 ("A stone slab"). | ||
| 61936 | CALL TransformItem | |||
| 61939 | LD B,57 | Jump to Handler_PickUpItem with item 57: "A sword". | ||
| 61941 | JP Handler_PickUpItem | |||
| 
 
The sword isn't on the slab! Respond with this.
 
Print "It is not on the slab.".
 
 | 
||||
| NoSwordOnSlab | 61944 | LD HL,54554 | HL=Messaging_ItIsNotOnTheSlab. | |
| 61947 | JP PrintStringAndNewline_Duplicate | Jump to PrintStringAndNewline_Duplicate. | ||
| Prev: 61913 | Up: Map | Next: 61950 |