Prev: 35995 Up: Map Next: 36081
36006: Action: Put Down
Puts the current object down in this place. A fluid that is dropped evaporates. Reached through the action table at ActionTable, dispatched by Turn_RunTheHandlerIfPresent.
Refuse the verb when the object is not carried.
Action_Putdown 36006 CALL Action_RefuseIfNotCarried Call Action_RefuseIfNotCarried to refuse the verb when the object is not carried.
If the message is held back, the object is not put down.
36009 CALL ConditionSuppressTheMessage Call ConditionSuppressTheMessage. If the message is held back, the object is not put down.
36012 LD IX,(46856) Read *46856.
36016 LD A,(IX+1) Read where this object is from the object record.
36019 CP 18 Jump to Action_Putdown_DropTheObject if where this object is is not 18.
36021 JR NZ,Action_Putdown_DropTheObject
36023 LD IX,50022 Point IX at 18 - "Rope".
Action_Putdown_DropTheObject 36027 PUSH IX Read *Pointer_CurrentCharacter.
36029 LD IX,(46860)
36033 LD A,(IX+1) Read where the character is.
36036 POP IX Put the object where the character is, and return unless it is a fluid.
36038 LD (IX+1),A
36041 BIT 1,(IX+7)
36045 RET Z
36046 LD (IX+16),0 Clear the object's location.
36050 LD HL,45378 Point at the message "[0x00] evaporate(s|d|ing|es)[0x15]" (45378).
36053 LD DE,8 Step the pointer on by 8 bytes.
36056 ADD IX,DE
36058 PUSH IX Save the name pointer and call PrintMessage to print the message.
36060 CALL PrintMessage
36063 RET Return.
Reached through the action lists of 31 - "Goblins Cache", 33 - "Large Cupboard", 37 - "Wooden Chest" and 41 - "Wooden Boat" for action 20, dispatched by TriggerAction.
36064 LD A,(46824) Read *CurrentObject.
36067 LD HL,46825 Point HL at the second object.
36070 CALL ConditionIsTheObjectCarried_1 Call ConditionIsTheObjectCarried_1 to test whether the object is inside the second object.
36073 LD HL,44981 Point at "[0x07] is not in[0x09]" (44981) and jump back to PrintMessage if ConditionIsTheObjectCarried_1 found the object is not inside the second object.
36076 JP NZ,PrintMessage
36079 JR Action_Pickup_0 Jump to Action_Pickup_0 to locate object.
Prev: 35995 Up: Map Next: 36081