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 the attack handler.
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: Use The Other Object.
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