Prev: 43257 Up: Map Next: 43300
43277: Condition: Phrase Does Not Match
Succeeds when the player input does not match the indexed phrase.
Input
IX Pointer to the script entry (opcode, phrase index)
Output
F The zero flag is set when the phrase does not match
The operand selects a phrase from Table_PhrasePointers. Invert the match so the condition succeeds when the command does not match.
Condition_PhraseDoesNotMatch 43277 LD E,(IX+1) Fetch the phrase number (the operand) from *IX+1 into E.
43280 PUSH IX Stash IX on the stack.
43282 LD IX,47165 Point IX at the phrase-pointer table at Table_PhrasePointers.
43286 CALL GetTableEntry Call GetTableEntry to fetch the address of the phrase from the table into HL.
43289 CALL MatchPhraseTokens Call MatchPhraseTokens to match the player's command against that phrase.
43292 POP IX Restore the script pointer from the stack.
43294 CALL RunScript_InvertConditionResult Call RunScript_InvertConditionResult so the condition succeeds when the command does not match.
43297 JP RunScript_SkipCondition_TwoBytes Jump to RunScript_SkipCondition_TwoBytes.
Prev: 43257 Up: Map Next: 43300