Prev: 90EB Up: Map Next: 9138
910E: Action: Open Or Close
Opens or closes the current object. Reached through the action lists of $01 - "Heavy Rock Door", $05 - "Round Green Door", $08 - "Red Door", $0A - "Goblins Back Door", $13 - "Barrel", $1E - "Trap Door", $20 - "Heavy Curtain", $21 - "Large Cupboard" and $25 - "Wooden Chest" for action 10, dispatched by TriggerAction.
ActionOpenOrClose 910E CALL Action_ReadTheObjectLockFlag Call Action_ReadTheObjectLockFlag to read the object's lock flag.
9111 JP NZ,Message_NameFromThisRecord Jump to Message_NameFromThisRecord to say so if Action_ReadTheObjectLockFlag found the object locked (80) or already open (85).
If the message is held back, the object is not opened or closed.
9114 CALL ConditionSuppressTheMessage Call ConditionSuppressTheMessage. If the message is held back, the object is not opened or closed.
This entry point is used by the routines at Action_TalkTo and ActionBurn.
ActionOpenOrClose_0 9117 SET 5,(IX+$07) Mark the object open.
911B LD A,(IX+$00) Read the copy count from the object record.
911E DEC A Return unless this object has one copy.
911F RET NZ
9120 LD A,($B6E8) Read *CurrentObject.
Count the objects being held.
9123 CALL ObjectCount Call ObjectCount to count the visible objects.
9126 AND A Return if ObjectCount counted nothing inside the current object.
9127 RET Z
9128 LD A,($B6E8) Read *CurrentObject.
912B CALL TableListWhatIsHere Call TableListWhatIsHere to list what is here.
912E RET C Return if TableListWhatIsHere set the carry flag.
912F LD B,(IX+$10) Read the location from the object record.
9132 LD A,($B6E8) Read *CurrentObject.
9135 JP Message_ListWithASeparator Jump to Message_ListWithASeparator to list what is here.
Prev: 90EB Up: Map Next: 9138