Prev: F946 Up: Map Next: F9E4
F999: Action: Eat
Action_Eat F999 CALL Parser_ValidateDirectObject Call Parser_ValidateDirectObject.
F99C RET C Return if the direct object is malformed.
F99D LD HL,$E9CC Call MatchPhraseTokens with PhraseTokens_Fish.
F9A0 CALL MatchPhraseTokens
F9A3 JR NZ,Action_Eat_1 Jump to Action_Eat_1 if the token isn't for the .
F9A5 LD HL,$E895 Call CheckActiveScenicEvents with Data_ItemGroup_Fish.
F9A8 CALL CheckActiveScenicEvents
F9AB LD B,A B=A.
F9AC PUSH BC Stash BC on the stack.
F9AD CALL CheckObjectInInventory Call CheckObjectInInventory.
F9B0 JR NZ,Action_Eat_0 Jump to Action_Eat_0 if A is not equal to 04.
F9B2 LD HL,$BC98 HL=Count_InventoryItems.
F9B5 DEC (HL) Decrease *HL by one.
Action_Eat_0 F9B6 POP BC Restore BC from the stack.
F9B7 LD A,B A=B.
F9B8 CALL Handler_DestroyItemEvent Call Handler_DestroyItemEvent.
Print "You eat the fish. It was quite tasty.".
F9BB LD HL,$E175 HL=E175.
F9BE JP PrintStringAndNewline_Alias Jump to PrintStringAndNewline_Alias.
Action_Eat_1 F9C1 LD HL,$E9D7 Call MatchPhraseTokens with PhraseTokens_Fruit.
F9C4 CALL MatchPhraseTokens
F9C7 JR NZ,Action_Eat_2 Jump to Action_Eat_2 if the token isn't for the .
Bad luck!
F9C9 LD HL,$EDD7 Switch GameOver onto the stack so the next return actions a "game over".
F9CC EX (SP),HL
Print "You start to eat the fruit. You suddenly feel very unwell. Too late,you realise that the fruit is poisonous.".
F9CD LD HL,$E19B HL=E19B.
F9D0 JP PrintStringAndNewline_Alias Jump to PrintStringAndNewline_Alias.
Action_Eat_2 F9D3 LD HL,$E9E5 Call MatchPhraseTokens with PhraseTokens_Coconut.
F9D6 CALL MatchPhraseTokens
F9D9 JR NZ,Action_Eat_3 Jump to Action_Eat_3 if the token isn't for the .
Print "No. You don't like coconut.".
F9DB LD HL,$E208 HL=E208.
F9DE JP PrintStringAndNewline_Alias Jump to PrintStringAndNewline_Alias.
Action_Eat_3 F9E1 JP Response_YouMustBeJoking Jump to Response_YouMustBeJoking.
Prev: F946 Up: Map Next: F9E4