![]() |
Routines |
| Prev: 36822 | Up: Map | Next: 36916 |
|
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 |