Routines |
Prev: B436 | Up: Map | Next: B4D3 |
Used by the routine at B372.
|
||||
B456 | LD A,($A014) | Set A the energy level of the weapon | ||
B459 | CP $04 | Jump forward if energy level less than 4 | ||
B45B | JP C,$B47D | |||
B45E | LD B,$04 | Set B the number of spray bullets | ||
B460 | LD HL,$B436 | Set HL to the address point for data configuration of spray projectiles | ||
B463 | LD A,($A014) | Jump forward if energy level is 4 | ||
B466 | CP $04 | |||
B468 | JP Z,$B46D | |||
B46B | LD B,$08 | If energy level is 5 then the number of bullets to fire is 8 | ||
B46D | PUSH BC | Save BC and HL | ||
B46E | PUSH HL | |||
B46F | CALL $B506 | Configure weapon sound and check for weapon free slot | ||
B472 | CALL $B5A5 | Create a new projectile for spray | ||
B475 | POP HL | Restore HL | ||
B476 | CALL $B4D3 | Configure spray weapon projectile based on HL data pointer | ||
B479 | POP BC | Restore BC | ||
B47A | DJNZ $B46D | Jump until all the spray projectiles configured | ||
B47C | RET | |||
create spray projectiles based on energy level
|
||||
B47D | CALL $B5A5 | Create a new projectile for spray | ||
B480 | LD (IY+$05),$00 | Set y-delta to 0 | ||
B484 | CALL $B506 | Configure weapon sound and check for weapon free slot | ||
B487 | CALL $B5A5 | Create a new projectile for spray | ||
B48A | LD A,$01 | Set A y-delta for projectile | ||
B48C | CALL $B4EA | Computes offset into the room graphic data based on projectile y-delta | ||
B48F | CALL $B506 | Configure weapon sound and check for weapon free slot | ||
B492 | CALL $B5A5 | Create a new projectile for spray | ||
B495 | LD A,$FF | Set A y-delta for projectile | ||
B497 | CALL $B4EA | Computes offset into the room graphic data based on projectile y-delta | ||
B49A | LD A,($A014) | Return if weapon energy level is 1 | ||
B49D | CP $01 | |||
B49F | RET Z | |||
B4A0 | CALL $B506 | Configure weapon sound and check for weapon free slot | ||
B4A3 | CALL $B5A5 | Create a new projectile for spray | ||
B4A6 | LD A,$02 | Set A y-delta for projectile | ||
B4A8 | CALL $B4EA | Computes offset into the room graphic data based on projectile y-delta | ||
B4AB | CALL $B506 | Configure weapon sound and check for weapon free slot | ||
B4AE | CALL $B5A5 | Create a new projectile for spray | ||
B4B1 | LD A,$FE | Set A y-delta for projectile | ||
B4B3 | CALL $B4EA | Computes offset into the room graphic data based on projectile y-delta | ||
B4B6 | LD A,($A014) | Return if weapon energy level is 2 | ||
B4B9 | CP $02 | |||
B4BB | RET Z | |||
B4BC | CALL $B506 | Configure weapon sound and check for weapon free slot | ||
B4BF | CALL $B5A5 | Create a new projectile for spray | ||
B4C2 | LD A,$03 | Set A y-delta for projectile | ||
B4C4 | CALL $B4EA | Computes offset into the room graphic data based on projectile y-delta | ||
B4C7 | CALL $B506 | Configure weapon sound and check for weapon free slot | ||
B4CA | CALL $B5A5 | Create a new projectile for spray | ||
B4CD | LD A,$FD | Set A y-delta for projectile | ||
B4CF | CALL $B4EA | Computes offset into the room graphic data based on projectile y-delta | ||
B4D2 | RET |
Prev: B436 | Up: Map | Next: B4D3 |