![]() |
Routines |
| Prev: 8FD6 | Up: Map | Next: 9034 |
|
Throws the current object at the second object. Reached through the action table at ActionTable, dispatched by Turn_RunTheHandlerIfPresent.
|
||||
| Action_ThrowAt | 8FF5 | CALL Action_AddTheObjectMass | Call Action_AddTheObjectMass to add the object's mass. | |
| 8FF8 | LD HL,$9171 | Point HL at the attack handler. | ||
| 8FFB | LD A,$0F | The second object is taken from B70A, with 0F in A. | ||
| 8FFD | LD IX,($B70A) | Read *B70A. | ||
| 9001 | BIT 6,(IX+$07) | Jump to Action_ThrowAt_HandTheObjectOver if the object is an animal. | ||
| 9005 | JR NZ,Action_ThrowAt_HandTheObjectOver | |||
| 9007 | LD HL,$92ED | Point HL at action: Use The Other Object. | ||
| 900A | LD A,$0B | Set the current action to 0B. | ||
| Action_ThrowAt_HandTheObjectOver | 900C | LD ($B6E7),A | Update *CurrentAction. | |
| 900F | CALL ActionHandAnObjectOver | Call ActionHandAnObjectOver to hand the object from one character to another. | ||
| 9012 | LD A,$2A | Write 2A (throw) to *CurrentAction. | ||
| 9014 | LD ($B6E7),A | |||
| 9017 | LD A,($B6FA) | Read *B6FA. | ||
| 901A | CP $01 | Return if the message gate is not 01. | ||
| 901C | RET NZ | |||
| 901D | LD IX,($B708) | Read *B708. | ||
| 9021 | LD (IX+$01),$FF | Mark where this object is as unset. | ||
| 9025 | LD A,$0F | Write 0F (attack) to *CurrentAction. | ||
| 9027 | LD ($B6E7),A | |||
| 902A | LD A,($B6E8) | Read *CurrentObject. | ||
| 902D | JP Turn_WakeAnAnimal | Jump to Turn_WakeAnAnimal to start the object's special-object script if it is an animal and not broken. | ||
| 9030 | LD (IX+$01),$FF | Mark where this object is as unset. | ||
| Prev: 8FD6 | Up: Map | Next: 9034 |