From d042a508722561a3647e46b6cc3177cb69634dc8 Mon Sep 17 00:00:00 2001 From: scawful Date: Thu, 16 May 2024 00:17:01 -0400 Subject: [PATCH] Add variable speed to fire/ice attacks --- Sprites/Bosses/twinrova.asm | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/Sprites/Bosses/twinrova.asm b/Sprites/Bosses/twinrova.asm index 9b922b4..a057b41 100644 --- a/Sprites/Bosses/twinrova.asm +++ b/Sprites/Bosses/twinrova.asm @@ -607,6 +607,15 @@ TargetPositions: ; Reused function from TrinexxBreath. TrinexxBreath_AltEntry: { + LDA $1A : AND.b #$07 : BNE .no_adjustment + JSL GetRandomInt + AND.b #$03 + TAY + LDA SpeedAdjustments, Y : CLC : ADC $0D50, X : STA $0D50, X + LDA SpeedAdjustments+4, Y : CLC : ADC $0D40, X : STA $0D40, X + +.no_adjustment + JSL Sprite_BounceFromTileCollision LDA $1A : AND.b #$03 : BNE .no_shake JSL Sprite_IsToRightOfPlayer @@ -619,7 +628,7 @@ TrinexxBreath_AltEntry: CLC : ADC.w .shake_y, Y : STA $0D40, X JSL Sprite_CheckTileCollision : BEQ .exit - JSL Sprite_BounceTowardPlayer + JSL Sprite_FloatTowardPlayer .exit RTS @@ -633,17 +642,9 @@ TrinexxBreath_AltEntry: .shake_y db 0, -1 - ; .speed_y_high ; bleeds for 2 more values - ; db -1, 0 - - ; .speed_x_low ; bleeds for 2 more values - ; db 0, 0 - - ; .speed_y_low - ; db -1, 1, 0, 0 - - ; .speed_x_high - ; db 0, 0, -1, 0 + SpeedAdjustments: + db $02, $FE, $04, $FC ; Adjustments for X speeds (small positive, small negative) + db $01, $FF, $02, $FE ; Adjustments for Y speeds (small positive, small negative) } Sprite_Twinrova_FireAttack: