Prev: 50320 Up: Map Next: 50359
50335: Parser: Validate Two Direct Objects
Used by the routines at Action_Give, Action_Place, Action_Kill and Action_Insert.
Output
F The carry flag is set when the command is malformed
Parser_ValidateTwoDirectObjects 50335 CALL Parser_ValidateDirectObject Call Parser_ValidateDirectObject.
50338 RET C Return if there is no direct object in the user input (so the command is malformed).
A now contains the count of the number of valid direct objects.
50339 CP 1 Jump to ValidateTwoDirectObjects if the number of valid direct objects in the user input is not 1.
50341 JR NZ,ValidateTwoDirectObjects
There is only one valid direct objects in the user input and the command needs two...
Print "Please be more specific.".
50343 CALL Response_PleaseBeMoreSpecific Call Response_PleaseBeMoreSpecific.
50346 SCF Set the carry flag.
50347 RET Return.
There are two or more valid direct objects in the user input.
ValidateTwoDirectObjects 50348 CP 3 Jump to ValidateTwoDirectObjects_TooMany if the number of valid direct objects in the user input is greater than or equal to 3.
50350 JR NC,ValidateTwoDirectObjects_TooMany
50352 AND A Set zero flag.
50353 RET Return.
There are more than two valid direct objects in the user input.
Print "Please rephrase that.".
ValidateTwoDirectObjects_TooMany 50354 CALL Response_PleaseRephraseThat Call Response_PleaseRephraseThat.
50357 SCF Set the carry flag.
50358 RET Return.
View the equivalent code in Warlord.
Prev: 50320 Up: Map Next: 50359