Prev: 9B16 Up: Map Next: 9B6C
9B44: Does the action make sense?
Used by the routines at HANDLED and DO_ACTION.
No if the actor would be doing it to itself, as either object, or doing it to one object with itself; TARGET_IS_PLACE and INSTRUMENT_IS_PLACE waive the checks; they are options of the action's pattern (PATTERN_OPTIONS), TARGET_IS_PLACE set for ENTER and GO INTO, whose object is a place, and INSTRUMENT_IS_PLACE for nothing at all. An action with no object always makes sense.
Output
F Z if it makes no sense
SENSIBLE 9B44 LD A,(TARGET) No object: fine
9B47 INC A
9B48 JR NZ,SENSIBLE_0
9B4A INC A
9B4B RET
SENSIBLE_0 9B4C LD A,(TARGET_IS_PLACE) Unless TARGET_IS_PLACE is set: not to itself, and not an object with itself
9B4F AND A
9B50 JR NZ,SENSIBLE_1
9B52 LD HL,TARGET
9B55 LD A,(ACTING)
9B58 CP (HL)
9B59 RET Z
9B5A LD A,(INSTRUMENT)
9B5D CP (HL)
9B5E RET Z
SENSIBLE_1 9B5F LD A,(INSTRUMENT_IS_PLACE) Unless INSTRUMENT_IS_PLACE is set: the second object not itself either
9B62 AND A
9B63 RET NZ
9B64 LD A,(INSTRUMENT)
9B67 LD HL,ACTING
9B6A CP (HL)
9B6B RET
Prev: 9B16 Up: Map Next: 9B6C