Prev: 44522 Up: Map Next: 44664
44599: Handler: Missile Spawner
Draw the actor and step its type through 152-155 (every 8th frame) or 156-159 (every 4th frame). On reaching 155 or 159 it spawns a sideways missile. Types 155 and 159 only draw.
Input
IX Actor slot
Handler_MissileSpawner 44599 JP DrawCurrentActor_Draw Jump to DrawCurrentActor_Draw.
Animate types 152-155 every 8th frame, spawning the left missile when the type reaches 155.
Handler_MissileSpawner_AnimateLeft 44602 LD E,24 E=24.
44604 CALL TickThenExplode_TestJetman Call TickThenExplode_TestJetman.
44607 CALL C,TickThenExplode_KillJetman Call TickThenExplode_KillJetman if this actor is close enough.
44610 CALL DrawCurrentActor_Draw Call DrawCurrentActor_Draw.
Return unless this is every eighth frame.
44613 LD A,(24130) Fetch GameTimer.
44616 AND %00000111 Keep only bits 0-2.
44618 RET NZ Return if the result is not zero.
Step the type, then spawn a missile once it reaches 155.
44619 INC (IX+0) Increase the actor type by one.
44622 LD A,(IX+0) Fetch the actor type.
44625 AND %00000011 Keep only bits 0-1.
44627 CP 3 Call Handler_Missile_CopyTemplate if those bits are 3.
44629 CALL Z,Handler_Missile_CopyTemplate
44632 RET Return.
Animate types 156-159 every 4th frame, spawning the right missile when the type reaches 159.
Handler_MissileSpawner_AnimateRight 44633 LD E,24 E=24.
44635 CALL TickThenExplode_TestJetman Call TickThenExplode_TestJetman.
44638 CALL C,TickThenExplode_KillJetman Call TickThenExplode_KillJetman if this actor is close enough.
44641 CALL DrawCurrentActor_Draw Call DrawCurrentActor_Draw.
Return unless this is every fourth frame.
44644 LD A,(24130) Fetch GameTimer.
44647 AND %00000011 Keep only bits 0-1.
44649 RET NZ Return if the result is not zero.
Step the type, then spawn a missile once it reaches 159.
44650 INC (IX+0) Increase the actor type by one.
44653 LD A,(IX+0) Fetch the actor type.
44656 AND %00000011 Keep only bits 0-1.
44658 CP 3 Call Handler_Missile_CopyTemplate2 if those bits are 3.
44660 CALL Z,Handler_Missile_CopyTemplate2
44663 RET Return.
Prev: 44522 Up: Map Next: 44664