diff --git a/Sprites/Enemies/darknut.asm b/Sprites/Enemies/darknut.asm index 89189d8..b1b7cb0 100644 --- a/Sprites/Enemies/darknut.asm +++ b/Sprites/Enemies/darknut.asm @@ -73,7 +73,7 @@ Sprite_Darknut_Main: LDA.w SprX, X : STA $04 LDA.w SprY, X : STA $05 JSL GetDistance8bit_Long - CMP.b #$50 : BCS .no_probe + CMP.b #$80 : BCS .no_probe ; JSL Sprite_SendOutProbe JSL Sprite_SpawnProbeAlways_long .no_probe @@ -89,10 +89,10 @@ Sprite_Darknut_Main: JSL Sprite_CheckIfRecoiling LDA.w SprTimerA, X : BEQ + - LDA.b #$40 : STA.w SprTimerD, X + LDA.b #$90 : STA.w SprTimerD, X + LDA.w SprTimerD, X : BEQ ++ - LDA.b #$04 : JSL Sprite_ApplySpeedTowardsPlayer + LDA.b #$08 : JSL Sprite_ApplySpeedTowardsPlayer JSL Sprite_DirectionToFacePlayer TYA STA.w SprMiscC, X @@ -229,7 +229,7 @@ Sprite_Darknut_Draw: TYA : LSR #2 : TAY - LDA.b #$02 : ORA $0F : STA ($92), Y ; store size in oam buffer + LDA.w .sizes, X : ORA $0F : STA ($92), Y ; store size in oam buffer PLY : INY @@ -241,45 +241,54 @@ Sprite_Darknut_Draw: ; ======================================================= - .start_index - db $00, $02, $04, $06, $08, $0A, $0C, $0E + db $00, $03, $06, $09, $0C, $0E, $10, $12 .nbr_of_tiles - db 1, 1, 1, 1, 1, 1, 1, 1 + db 2, 2, 2, 2, 1, 1, 1, 1 .x_offsets - dw 0, 0 - dw 0, 0 - dw 0, 0 - dw 0, 0 + dw 0, 0, 0 + dw 0, 0, 0 + dw 0, 0, 0 + dw 0, 0, 0 dw 0, -12 dw 0, -12 dw 0, 12 dw 0, 12 .y_offsets - dw -12, 0 - dw -12, 0 - dw 0, 12 - dw 0, 12 - dw 0, 0 - dw 0, 0 - dw 0, 0 - dw 0, 0 + dw -4, 0, -12 + dw -4, 0, -12 + dw 0, 12, 20 + dw 0, 12, 20 + dw 0, 8 + dw 0, 8 + dw 0, 8 + dw 0, 8 .chr - db $EE, $E6 - db $EE, $E6 - db $E2, $EE - db $E2, $EE - db $E4, $E8 + db $EF, $E6, $FF + db $EF, $E6, $FF + db $E2, $EF, $FF + db $E2, $EF, $FF db $E0, $E8 db $E4, $E8 db $E0, $E8 + db $E4, $E8 .properties - db $B9, $39 - db $B9, $79 + db $B9, $39, $B9 + db $B9, $79, $B9 + db $39, $39, $39 + db $79, $39, $39 db $39, $79 - db $79, $79 - db $39, $F9 - db $39, $F9 - db $79, $B9 - db $79, $B9 + db $39, $79 + db $79, $39 + db $79, $39 + .sizes + db $00, $02, $00 + db $00, $02, $00 + db $02, $00, $00 + db $02, $00, $00 + db $02, $02 + db $02, $02 + db $02, $02 + db $02, $02 + } diff --git a/Sprites/Enemies/goriya.asm b/Sprites/Enemies/goriya.asm index 3e4e28b..e9b1175 100644 --- a/Sprites/Enemies/goriya.asm +++ b/Sprites/Enemies/goriya.asm @@ -140,24 +140,8 @@ GoriyaMovementSpeed = 10 Goriya_HandleTileCollision: { JSL Sprite_CheckTileCollision - LDA.w SprCollision, X : CMP.b #$08 : BEQ .up - LDA.w SprCollision, X : CMP.b #$04 : BEQ .down - LDA.w SprCollision, X : CMP.b #$02 : BEQ .left - LDA.w SprCollision, X : CMP.b #$01 : BEQ .right - JMP ++ - - .up - %GotoAction(1) - JMP + - .down - %GotoAction(0) - JMP + - .left - %GotoAction(3) - JMP + - .right - %GotoAction(2) - JMP + + LDA.w SprCollision, X : BEQ ++ + JSL GetRandomInt : AND.b #$03 : STA.w SprAction, X + STA.w SprMiscE, X %SetTimerC(60) diff --git a/Sprites/Enemies/thunder_ghost.asm b/Sprites/Enemies/thunder_ghost.asm index 1bf7e52..c5f0497 100644 --- a/Sprites/Enemies/thunder_ghost.asm +++ b/Sprites/Enemies/thunder_ghost.asm @@ -13,7 +13,7 @@ !SmallShadow = 00 ; 01 = small shadow, 00 = no shadow !Shadow = 00 ; 00 = don't draw shadow, 01 = draw a shadow !Palette = 00 ; Unused in this template (can be 0 to 7) -!Hitbox = 00 ; 00 to 31, can be viewed in sprite draw tool +!Hitbox = 09 ; 00 to 31, can be viewed in sprite draw tool !Persist = 00 ; 01 = your sprite continue to live offscreen !Statis = 00 ; 00 = is sprite is alive?, (kill all enemies room) !CollisionLayer = 00 ; 01 = will check both layer for collision @@ -100,8 +100,9 @@ Sprite_ThunderGhost_Main: { %StartOnFrame(6) %PlayAnimation(6, 6, 16) - JSL Sprite_CheckDamageToPlayerSameLayer - JSL Sprite_Move + JSL Sprite_CheckDamageToPlayer + JSL Sprite_MoveLong + LDA.w SprTimerA, X : BNE + STZ.w SprState, X + @@ -112,8 +113,10 @@ Sprite_ThunderGhost_Main: { %StartOnFrame(6) %PlayAnimation(7, 7, 16) - JSL Sprite_CheckDamageToPlayerSameLayer - JSL Sprite_Move + + JSL Sprite_CheckDamageToPlayer + JSL Sprite_MoveLong + LDA.w SprTimerA, X : BNE + STZ.w SprState, X + @@ -129,8 +132,10 @@ Sprite_ThunderGhost_Move: JSL Sprite_PlayerCantPassThrough JSL Sprite_DamageFlash_Long JSL Sprite_CheckIfRecoiling - JSL GetRandomInt : AND #$7F : BNE ++ - JSR SpawnLightningAttack + LDA.w SprTimerC, X : BNE ++ + JSL GetRandomInt : AND #$3F : BNE ++ + LDA.b #$40 : STA.w SprTimerC, X + JSR SpawnLightningAttack ++ LDA.w SprTimerA, X : BNE + @@ -199,7 +204,6 @@ SpawnLightningAttack: LDA.b #$02 : STA.w SprYRound, Y LDA.b #$30 : STA.w SprTimerA, Y LDA.b #$30 : STA.w SprTimerB, Y - LDA.b #$1A : STA.w SprHitbox, Y .no_space PLX