A C64 Game - Step 93

posted in New Old Things
Published March 30, 2013
Advertisement

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

Previous Step Next Step

Previous Entry A C64 Game - Step 92
1 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement