Routines |
Prev: 56658 | Up: Map | Next: 56713 |
Used by the routines at Handler_Bullets, Animate_Falling, Handler_Eating, Handler_Projectiles and Handler_CollisionMonsters.
|
||||||||||
Handler_DecreaseEnergy | 56684 | EX AF,AF' | Exchange the AF register with the shadow AF register. | |||||||
56685 | LD A,(IY+0) | Return if the monster state (*IY+0) is higher than 33 (includes the "explosion" and "human" states). If this is the case then the monster is already "game over". | ||||||||
56688 | CP 33 | |||||||||
56690 | RET NC | |||||||||
56691 | EX AF,AF' | Exchange the shadow AF register back to the normal AF register. | ||||||||
Keep decreasing the monsters energy by the number held in A.
|
||||||||||
Handler_DecreaseEnergy_Loop | 56692 | DEC (IY+12) | Decrease monster energy (*IY+12) by one. | |||||||
56695 | DEC A | Decrease A by one. | ||||||||
56696 | JR NZ,Handler_DecreaseEnergy_Loop | Jump to Handler_DecreaseEnergy_Loop until A is zero. | ||||||||
Is the monster still in-play?
|
||||||||||
56698 | LD A,(IY+12) | Return if *IY+12 is lower than 200. | ||||||||
56701 | CP 200 | |||||||||
56703 | RET C | |||||||||
If the monsters energy falls to less than 0 - their turn is over.
|
||||||||||
56704 | LD (IY+12),0 | Reset monsters energy to 0 (in *IY+12). | ||||||||
56708 | LD (IY+0),33 | Write 33 (explosion state) to the current monster state (*IY+0). | ||||||||
56712 | RET | Return. |
Prev: 56658 | Up: Map | Next: 56713 |