Prev: 9934 Up: Map Next: 99A0
9978: Add score when enemy destroyed
Used by the routine at shot_hit_sprite_enemy.
Input
IX Sprite data of shot
DE Points to add
add_points_from_enemy 9978 LD A,(other_flags) Flags
997B AND $60 If bit 5 or 6 set?
997D JR NZ,add_points_in_de Then just add score
997F LD HL,status_flags Flags
9982 LD A,(enemies_hit) Enemies destroyed
9985 INC A +1
9986 BIT 3,(HL) Check for chance stage
9988 JR NZ,add_points_from_enemy_0 Skip ahead if chance stage
998A LD (enemies_hit),A Save if not chance stage
add_points_from_enemy_0 998D ADD A,A x2
998E LD HL,score_table Score table
9991 RST $08 Add A to HL
9992 LD D,(HL) Get points (hundreds)
9993 INC HL Next address in table
9994 LD A,(HL) Get replacement number sprite type ($06 - $0B)
9995 LD (IX+$06),A Save in sprite data
9998 INC D 100 more
This entry point is used by the routines at shot_hit_sprite_enemy, shot_hit_center_enemy, shot_hit_mine_0 and shot_hit_laser_fence.
add_points_in_de 9999 EX DE,HL HL = points
999A CALL add_score Add score
999D JP handle_collisions_1 Jump back into collisions loop
Prev: 9934 Up: Map Next: 99A0