![]() |
Routines |
| Prev: 59928 | Up: Map | Next: 60060 |
|
|
|||||||||||||||||||||
|
Select the "Oh No" head sprite.
The routine at DrawMonsterSprite handles which monster to display.
|
|||||||||||||||||||||
| Animate_Falling | 59971 | LD A,25 | A=sprite ID 25.
|
||||||||||||||||||
|
Set the co-ordinates for where to draw.
|
|||||||||||||||||||||
| 59973 | LD BC,(53837) | BC=*Active_MonsterXPosition/Active_MonsterYPosition. | |||||||||||||||||||
| 59977 | CALL DrawMonsterSprite | Call DrawMonsterSprite. | |||||||||||||||||||
|
Again, set the co-ordinates for where to draw.
|
|||||||||||||||||||||
| 59980 | LD BC,(53837) | BC=*Active_MonsterXPosition/Active_MonsterYPosition. | |||||||||||||||||||
| 59984 | INC B | Increment the Y position by two to draw the lower section of the monsters body. | |||||||||||||||||||
| 59985 | INC B | ||||||||||||||||||||
|
The routine at DrawMonsterSprite handles which monster to display.
|
|||||||||||||||||||||
| 59986 | LD A,35 | A=sprite ID 35.
|
|||||||||||||||||||
| 59988 | CALL DrawMonsterSprite | Call DrawMonsterSprite. | |||||||||||||||||||
|
Apply gravity.
|
|||||||||||||||||||||
| 59991 | CALL Handler_IncrementMonsterYPosition | Call Handler_IncrementMonsterYPosition. | |||||||||||||||||||
| 59994 | CP 18 | Jump to Animate_HitTheFloor if monster Y position is equal to 18. | |||||||||||||||||||
| 59996 | JR Z,Animate_HitTheFloor | ||||||||||||||||||||
| 59998 | LD A,(53835) | Decrease *Active_MonsterActionCountdown by one. | |||||||||||||||||||
| 60001 | DEC A | ||||||||||||||||||||
| 60002 | LD (53835),A | ||||||||||||||||||||
| 60005 | CP 18 | Return if *Active_MonsterActionCountdown is higher than 18. | |||||||||||||||||||
| 60007 | RET NC | ||||||||||||||||||||
| 60008 | CALL Handler_IncrementMonsterYPosition | Call Handler_IncrementMonsterYPosition. | |||||||||||||||||||
| 60011 | CP 18 | Return if A is not equal to 18. | |||||||||||||||||||
| 60013 | RET NZ | ||||||||||||||||||||
|
Monster is now at ground level.
|
|||||||||||||||||||||
| Animate_HitTheFloor | 60014 | LD A,18 | Write 18 to *Active_MonsterYPosition. | ||||||||||||||||||
| 60016 | LD (53838),A | ||||||||||||||||||||
| 60019 | LD A,12 | Write 12 to *Active_MonsterActionCountdown. | |||||||||||||||||||
| 60021 | LD (53835),A | ||||||||||||||||||||
| 60024 | XOR A | Set *Flag_MonsterClimbing to "not climbing" (0). | |||||||||||||||||||
| 60025 | LD (53830),A | ||||||||||||||||||||
| 60028 | LD A,(53828) | Jump to HitTheFloor_Finished if *JumpTable_Pointer is not equal to 32. | |||||||||||||||||||
| 60031 | CP 32 | ||||||||||||||||||||
| 60033 | JR NZ,HitTheFloor_Finished | ||||||||||||||||||||
| 60035 | LD A,33 | A=33. | |||||||||||||||||||
| 60037 | JP Action_JumpTable | Jump to Action_JumpTable. | |||||||||||||||||||
|
The monster still has energy, so finish this animation sequence.
|
|||||||||||||||||||||
| HitTheFloor_Finished | 60040 | LD A,9 | Write 9 to *JumpTable_Pointer. | ||||||||||||||||||
| 60042 | LD (53828),A | ||||||||||||||||||||
| 60045 | LD IY,53828 | IY=JumpTable_Pointer. | |||||||||||||||||||
|
Take off four hit points from the monsters energy.
|
|||||||||||||||||||||
| 60049 | LD A,4 | A=4. | |||||||||||||||||||
| 60051 | CALL Handler_DecreaseEnergy | Call Handler_DecreaseEnergy. | |||||||||||||||||||
|
Make the splat sound.
|
|||||||||||||||||||||
| 60054 | LD A,5 | Write melody ID 5 to *MelodyID. | |||||||||||||||||||
| 60056 | LD (65421),A | ||||||||||||||||||||
| 60059 | RET | Return. | |||||||||||||||||||
| Prev: 59928 | Up: Map | Next: 60060 |