Prev: F443 Up: Map Next: F481
F45D: Take: Parrot
Used by the routine at Validate_Take_Spear.
Was the player trying to take the parrot?
Validate_Take_Parrot F45D LD HL,$EA08 Call MatchPhraseTokens with PhraseTokens_Parrot.
F460 CALL MatchPhraseTokens
F463 JR NZ,Take_Invalid Jump to Take_Invalid if the token isn't for the parrot.
Which parrot is present?
F465 LD HL,$E8BC Call CheckActiveScenicEvents with Data_ItemGroup_Parrot.
F468 CALL CheckActiveScenicEvents
F46B CALL Take_IsPlayerHoldingItem Call Take_IsPlayerHoldingItem.
F46E LD A,B Copy the object ID back into A.
F46F CP $28 Compare A with "A dead parrot".
F471 JP Z,TakeItem Jump to TakeItem if this is "A dead parrot".
Bad luck!
F474 LD HL,$EDD7 Switch GameOver onto the stack so the next return actions a "game over".
F477 EX (SP),HL
Print "As you start to move, the parrot squawks... The pirate wakes and quickly shoots you.".
F478 LD HL,$DBCC HL=Messaging_ParrotSquawks.
F47B JP PrintStringAndNewline_Alias Jump to PrintStringAndNewline_Alias.
Nothing else is valid.
Take_Invalid F47E JP Response_YouCant_Duplicate Jump to Response_YouCant_Duplicate.
Prev: F443 Up: Map Next: F481