Prev: 62041 Up: Map Next: 62099
62060: Process: Free Ox
Used by the routine at Process_FreeRope.
The player wants to free the ox, check which version of the ox is in the current room.
Process_FreeOx 62060 LD HL,58294 Call CheckItemGroupPresent with Data_ItemGroup_Ox.
62063 CALL CheckItemGroupPresent
62066 CP 84 Jump to Response_ItIsntTied if the item present is "A dead ox".
62068 JP Z,Response_ItIsntTied
62071 CP 82 Jump to FreeDeadOx if the item present is not "A wild ox,tethered to the pen by a length of rope".
62073 JR NZ,FreeDeadOx
Bad luck!
62075 LD HL,59826 Switch GameOver onto the stack so the next return actions a "game over".
62078 EX (SP),HL
Print "Now free,the ox becomes enraged and impales you on its horns.".
Print "O.K.".
62079 LD HL,55160 HL=Messaging_OxBecomesEnraged.
62082 JP PrintStringAndNewline_Duplicate Jump to PrintStringAndNewline_Duplicate.
Change the dead ox state!
FreeDeadOx 62085 LD BC,21332 Call TransformItem to transform item 83 ("A dead ox,tethered by a piece of rope") into item 84 ("A dead ox").
62088 CALL TransformItem
62091 LD A,81 Call Handler_UpdateItemEventCurrentRoom with item 81: "A piece of rope".
62093 CALL Handler_UpdateItemEventCurrentRoom
62096 JP Response_OK_Duplicate Jump to Response_OK_Duplicate.
Prev: 62041 Up: Map Next: 62099