Prev: 8C9B Up: Map Next: 8CF1
8CA6: 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 8CA6 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.
8CA9 CALL ConditionSuppressTheMessage Call ConditionSuppressTheMessage. If the message is held back, the object is not put down.
8CAC LD IX,($B708) Read *B708.
8CB0 LD A,(IX+$01) Read where this object is from the object record.
8CB3 CP $12 Jump to Action_Putdown_DropTheObject if where this object is is not 12.
8CB5 JR NZ,Action_Putdown_DropTheObject
8CB7 LD IX,$C366 Point IX at $12 - "Rope".
Action_Putdown_DropTheObject 8CBB PUSH IX Read *Pointer_CurrentCharacter.
8CBD LD IX,($B70C)
8CC1 LD A,(IX+$01) Read where the character is.
8CC4 POP IX Put the object where the character is, and return unless it is a fluid.
8CC6 LD (IX+$01),A
8CC9 BIT 1,(IX+$07)
8CCD RET Z
8CCE LD (IX+$10),$00 Clear the object's location.
8CD2 LD HL,$B142 Point at the message "[0x00] evaporate(s|d|ing|es)[0x15]" (B142).
8CD5 LD DE,$0008 Step the pointer on by 08 bytes.
8CD8 ADD IX,DE
8CDA PUSH IX Save the name pointer and call PrintMessage to print the message.
8CDC CALL PrintMessage
8CDF RET Return.
Reached through the action lists of $1F - "Goblins Cache", $21 - "Large Cupboard", $25 - "Wooden Chest" and $29 - "Wooden Boat" for action 14, dispatched by TriggerAction.
8CE0 LD A,($B6E8) Read *CurrentObject.
8CE3 LD HL,$B6E9 Point HL at the second object.
8CE6 CALL ConditionIsTheObjectCarried_1 Call ConditionIsTheObjectCarried_1 to test whether the object is inside the second object.
8CE9 LD HL,$AFB5 Point at "[0x07] is not in[0x09]" (AFB5) and jump back to PrintMessage if ConditionIsTheObjectCarried_1 found the object is not inside the second object.
8CEC JP NZ,PrintMessage
8CEF JR Action_Pickup_0 Jump to Action_Pickup_0 to locate object.
Prev: 8C9B Up: Map Next: 8CF1