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 |