Prev: A8F9 Up: Map Next: A924
A90D: 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 A90D LD E,(IX+$01) Fetch the phrase number (the operand) from *IX+01 into E.
A910 PUSH IX Stash IX on the stack.
A912 LD IX,$B83D Point IX at the phrase-pointer table at Table_PhrasePointers.
A916 CALL GetTableEntry Call GetTableEntry to fetch the address of the phrase from the table into HL.
A919 CALL MatchPhraseTokens Call MatchPhraseTokens to match the player's command against that phrase.
A91C POP IX Restore the script pointer from the stack.
A91E CALL RunScript_InvertConditionResult Call RunScript_InvertConditionResult so the condition succeeds when the command does not match.
A921 JP RunScript_SkipCondition_TwoBytes Jump to RunScript_SkipCondition_TwoBytes.
Prev: A8F9 Up: Map Next: A924