Prev: F259 Up: Map Next: F293
F26C: 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 F26C LD HL,$E3B6 Call CheckItemGroupPresent with Data_ItemGroup_Ox.
F26F CALL CheckItemGroupPresent
F272 CP $54 Jump to Response_ItIsntTied if the item present is "A dead ox".
F274 JP Z,Response_ItIsntTied
F277 CP $52 Jump to FreeDeadOx if the item present is not "A wild ox,tethered to the pen by a length of rope".
F279 JR NZ,FreeDeadOx
Bad luck!
F27B LD HL,$E9B2 Switch GameOver onto the stack so the next return actions a "game over".
F27E EX (SP),HL
Print "Now free,the ox becomes enraged and impales you on its horns.".
Print "O.K.".
F27F LD HL,$D778 HL=Messaging_OxBecomesEnraged.
F282 JP PrintStringAndNewline_Duplicate Jump to PrintStringAndNewline_Duplicate.
Change the dead ox state!
FreeDeadOx F285 LD BC,$5354 Call TransformItem to transform item 53 ("A dead ox,tethered by a piece of rope") into item 54 ("A dead ox").
F288 CALL TransformItem
F28B LD A,$51 Call Handler_UpdateItemEventCurrentRoom with item 51: "A piece of rope".
F28D CALL Handler_UpdateItemEventCurrentRoom
F290 JP Response_OK_Duplicate Jump to Response_OK_Duplicate.
Prev: F259 Up: Map Next: F293