Prev: 981F Up: Map Next: 994E
98AF: Handle Boss destruction. Boss semi/full destroyed
Used by the routine at 981F.
98AF LD DE,$000A Set DE to the points obtained
98B2 CALL $9A27 Increment score
98B5 CALL $CE67 Recompute boss health
98B8 LD (IX+$12),$01 Set boss type semidestroyed - boss speed 1
98BC LD A,$0F
98BE LD ($A092),A
98C1 LD HL,$92F2 Set address for semidestroyed boss graphic data
98C4 LD (IX+$04),L
98C7 LD (IX+$05),H
98CA LD A,(IX+$00) Set A093 the x-position of Boss
98CD LD ($A093),A
98D0 LD A,(IX+$01) Set A095 the y-position of Boss
98D3 LD ($A095),A
98D6 LD A,(IX+$13) Set A097 the boss status
98D9 LD ($A097),A
98DC INC (IX+$13) Incremetnt boss status
98DF LD A,(IX+$13) if boss status equals $02?
98E2 CP $02
98E4 JP NZ,$990A Jump forward if not and explode
convert Boss to an escape Pod
98E7 CALL $CDA2 Configure escape pod
98EA LD (IX+$16),E Set address for graphic data
98ED LD (IX+$17),D
98F0 LD (IX+$15),$00 Set bubble type
98F4 LD (IX+$0A),L Set address for the offset animation table
98F7 LD (IX+$0B),H
98FA LD (IX+$0E),$03 Set width of sprite
98FE LD (IX+$0F),$10 Set height of sprite
9902 LD (IX+$09),$0C Set enemy type (POD)
9906 LD (IX+$14),$08 Set health for enemy
generate explosions
990A PUSH IX Save IX
990C LD B,$05 Set B to the number of explosions to generate
990E PUSH BC Save BC
990F CALL $D858 Check for an avaliable slot into Enemy configuration buffer to configure the explosion
9912 CALL $97FD Configure explosion
9915 CALL $A375 Set random bubble type
9918 AND $01
991A LD (IX+$15),A
991D LD A,($A097) check Boss status
9920 OR A
9921 JP NZ,$9928 Jump forward if Boss was wounded
9924 LD (IX+$15),$FF Set to no bubble if Boss was in good health
9928 LD (IX+$0C),$01 Set explosion visible
992C CALL $A375 Set A to a random number between $00-$1F
992F AND $1F
9931 LD L,A Set x-position of explosion based on x-position of Boss and random generated number
9932 LD A,($A093)
9935 ADD A,L
9936 LD (IX+$00),A
9939 CALL $A375 Set A to a random number between $00-$1F
993C AND $1F
993E LD L,A Set y-position of explosion based on y-position of Boss and random generated number
993F LD A,($A095)
9942 ADD A,L
9943 AND $F8
9945 LD (IX+$01),A
9948 POP BC Restore BC
9949 DJNZ $990E Jump back and configure new explosion
994B POP IX Restore IX
994D RET
Prev: 981F Up: Map Next: 994E