Prev: C31E Up: Map Next: C345
C32D: Parser: Validate Two Direct Objects
Used by the routines at Action_Give, Action_Kill and Action_Tie.
Accept a command that names one or two objects, and reject the rest.
Output
F The carry flag is set when the command is malformed
Parser_ValidateTwoDirectObjects C32D CALL Parser_ValidateDirectObject Return if the words after the verb are not valid for this command.
C330 RET C
C331 CP $01 Jump to ValidateTwoDirectObjects unless exactly one object was named.
C333 JR NZ,ValidateTwoDirectObjects
Only one object was named.
C335 CALL Response_PleaseBeMoreSpecific Call Response_PleaseBeMoreSpecific.
C338 SCF Set the carry flag to reject the command.
C339 RET Return.
There are two or more valid direct objects in the user input.
ValidateTwoDirectObjects C33A CP $03 Jump to ValidateTwoDirectObjects_TooMany when three or more objects were named.
C33C JR NC,ValidateTwoDirectObjects_TooMany
C33E AND A Clear the carry flag; exactly two objects were named.
C33F RET Return.
Too many objects were named.
ValidateTwoDirectObjects_TooMany C340 CALL Response_PleaseRephraseThat Call Response_PleaseRephraseThat.
C343 SCF Set the carry flag to reject the command.
C344 RET Return.
Prev: C31E Up: Map Next: C345