Prev: F26C Up: Map Next: F2BA
F293: Process: Free Roman
Used by the routine at Process_FreeRope.
The player wants to free the captive Roman, check which version of the Roman is in the current room.
Process_FreeRoman F293 LD HL,$E341 Call CheckItemGroupPresent with Data_ItemGroup_Roman.
F296 CALL CheckItemGroupPresent
Check if he's alive...
F299 CP $0B Jump to FreeRoman if the item present is "The captured Roman".
F29B JR Z,FreeRoman
If he's dead and untied, print "He isn't tied.".
F29D CP $55 Jump to Response_HeIsntTied if the item present is not "The body of the Roman".
F29F JP NZ,Response_HeIsntTied
He's dead and tied, so allow him to be untied.
Change the dead Roman state!
F2A2 LD BC,$550C Call TransformItem to transform item 55 ("The body of the Roman") into item 0C ("The body of the Roman").
F2A5 CALL TransformItem
F2A8 LD A,$51 Call Handler_UpdateItemEventCurrentRoom with item 51: "A piece of rope".
F2AA CALL Handler_UpdateItemEventCurrentRoom
F2AD JP Response_OK_Duplicate Jump to Response_OK_Duplicate.
Untie the very much alive Roman who is understandably a bit annoyed about being captured in the first place.
Bad luck!
FreeRoman F2B0 LD HL,$E9B2 Switch GameOver onto the stack so the next return actions a "game over".
F2B3 EX (SP),HL
F2B4 LD HL,$D7B6 HL=Messaging_YouReleaseHim.
F2B7 JP PrintStringAndNewline_Duplicate Jump to PrintStringAndNewline_Duplicate.
Prev: F26C Up: Map Next: F2BA