Prev: 7B63 Up: Map Next: 7B9E
7B78: Set the action's options from its pattern's flags
Used by the routines at PARSE_ACTION and WOULD_WORK.
Four flags, from PATTERN_FLAGS. NEEDS_LIGHT: the action needs light at all -- set for every hands-on action, TAKE, OPEN, EXAMINE, LOOK and INVENTORY among them, which DO_ACTION refuses in the dark ("i see nothing here."), where the rest can still be done to what the actor carries. TARGET_IS_PLACE: the first object is a place, not a thing -- ENTER and GO INTO. INSTRUMENT_IS_PLACE: the same for the second object, set by no action in the game. PATTERN_OPTION: TAKE OFF, FOLLOW and JUMP ONTO, used by the object matching at NEXT_INSTRUMENT and not yet worked out.
PATTERN_OPTIONS 7B78 LD A,(FLAGS_LAST_WORDS) NEEDS_LIGHT: needs light
7B7B AND $40
7B7D LD (NEEDS_LIGHT),A
7B80 LD A,(FLAGS_FIRST_WORDS) PATTERN_OPTION
7B83 LD B,A
7B84 AND $01
7B86 LD (PATTERN_OPTION),A
7B89 LD A,B TARGET_IS_PLACE: the first object is a place
7B8A AND $80
7B8C JR Z,PATTERN_OPTIONS_0
7B8E LD A,$01
PATTERN_OPTIONS_0 7B90 LD (TARGET_IS_PLACE),A
7B93 LD A,B INSTRUMENT_IS_PLACE: the second is
7B94 AND $40
7B96 JR Z,PATTERN_OPTIONS_1
7B98 LD A,$01
PATTERN_OPTIONS_1 7B9A LD (INSTRUMENT_IS_PLACE),A
7B9D RET
Prev: 7B63 Up: Map Next: 7B9E