A C64 Game - Step 93


An addon to make the other bosses a bit stronger against Sam. Now you need to re-grab the boss after every hit you place.
Previously Sam only had to stand there and keep fire pressed. Hardly a challenge :)



First of all, a new enemy type is added. Normal enemies stay type 1, bosses are now type 3.

Most changes are in the FireSam routine. Add in the PLAYER_FIRE_RELEASED check:

.FireSam
ldy PLAYER_JOYSTICK_PORT,x
lda JOYSTICK_PORT_II,y
and #$10
beq +

;not fire pressed
lda #1
sta PLAYER_FIRE_RELEASED,x
jmp .SamNotFirePushed

+
lda #1
sta PLAYER_FIRE_PRESSED_TIME,x
stx PARAM6
lda SPRITE_HELD
bne .NoFireReleasedCheck

jsr SamUseForce
beq .NoEnemyHeld

ldx CURRENT_INDEX
lda PLAYER_FIRE_RELEASED,x
bne +

jmp .SamNotFirePushed

+
lda #0
sta PLAYER_FIRE_RELEASED,x

.NoFireReleasedCheck



In the enemy hurt routine we check if a boss was hurt (by checking the type). If it is, release the enemy from the force grip:

          ;enemy was hurt
ldy SPRITE_HELD
dey
lda SPRITE_ACTIVE,y
tay
lda IS_TYPE_ENEMY,y
cmp #3

;if boss, auto-release
bne +

lda #0
sta PLAYER_FIRE_RELEASED,x
jmp .SamNotFirePushed

+



Have fun!


step93.zip