Prev: 36822 Up: Map Next: 36916
36853: Action: Throw At
Throws the current object at the second object. Reached through the action table at ActionTable, dispatched by Turn_RunTheHandlerIfPresent.
Action_ThrowAt 36853 CALL Action_AddTheObjectMass Call Action_AddTheObjectMass to add the object's mass.
36856 LD HL,37233 Point HL at Action_Attack.
36859 LD A,15 The second object is taken from 46858, with 15 in A.
36861 LD IX,(46858) Read *46858.
36865 BIT 6,(IX+7) Jump to Action_ThrowAt_HandTheObjectOver if the object is an animal.
36869 JR NZ,Action_ThrowAt_HandTheObjectOver
36871 LD HL,37613 Point HL at Action_UseTheOtherObject.
36874 LD A,11 Set the current action to 11.
Action_ThrowAt_HandTheObjectOver 36876 LD (46823),A Update *CurrentAction.
36879 CALL ActionHandAnObjectOver Call ActionHandAnObjectOver to hand the object from one character to another.
36882 LD A,42 Write 42 (throw) to *CurrentAction.
36884 LD (46823),A
36887 LD A,(46842) Read *46842.
36890 CP 1 Return if the message gate is not 1.
36892 RET NZ
36893 LD IX,(46856) Read *46856.
36897 LD (IX+1),255 Mark where this object is as unset.
36901 LD A,15 Write 15 (attack) to *CurrentAction.
36903 LD (46823),A
36906 LD A,(46824) Read *CurrentObject.
36909 JP Turn_WakeAnAnimal Jump to Turn_WakeAnAnimal to start the object's special-object script if it is an animal and not broken.
36912 LD (IX+1),255 Mark where this object is as unset.
Prev: 36822 Up: Map Next: 36916