Prev: A55F Up: Map Next: A5FB
A5CA: Event: Test The Open Flag
Tests whether the object is open and returns 05. The zero flag is set when the object is not open. The bytes after that return belong to later events.
Event_TestTheOpenFlag A5CA BIT 5,(IX+$07) Test whether the object is open.
A5CE LD A,$05 Take 05. The open test is left in the flags.
A5D0 RET Return.
If the message is held back, the container test is skipped.
A5D1 CALL ConditionSuppressTheMessage Call ConditionSuppressTheMessage. If the message is held back, the container test is skipped.
A5D4 LD HL,$C452 Point HL at the location byte at C452.
A5D7 LD A,($C12B) Return if the current location is not that object's location.
A5DA CP (HL)
A5DB RET NZ
A5DC LD HL,$B085 Point at the message "the vicious warg run around you and howls." (B085).
A5DF JP Turn_FinishTheSentence Jump back to Turn_FinishTheSentence to print "the vicious warg run around you and howls.".
Reached through the action list of $0C - "Large Trap Door" for action 00, dispatched by TriggerAction.
A5E2 LD A,($B6E8) Read *CurrentObject.
A5E5 CP $13 Return if the current object is not 13.
A5E7 RET NZ
A5E8 CALL Turn_GateTheMessage Call Turn_GateTheMessage to let the message through or hold it back.
A5EB LD IX,$C3EE Point IX at $13 - "Barrel".
A5EF LD A,(IX+$10) Read the object's location.
A5F2 CP $21 Return if "Barrel" is not at location 21 - "Forestriver".
A5F4 RET NZ
A5F5 LD A,$02 Write 02 to *CA85.
A5F7 LD ($CA85),A
A5FA RET Return.
Prev: A55F Up: Map Next: A5FB