update sucking, hatted, mirror offset for hat

This commit is contained in:
scawful
2024-06-28 19:48:13 -04:00
parent 5551f165fd
commit b431b2d6a6

View File

@@ -71,10 +71,10 @@ Sprite_AntiKirby_Prep:
db $81, $88 db $81, $88
.health .health
db 8, 16 db 30, 60
.prize_pack .prize_pack
db 6, 2 db 6, 3
} }
!RecoilTime = $30 !RecoilTime = $30
@@ -150,32 +150,38 @@ Sprite_AntiKirby_Main:
AntiKirby_BeginSuck: AntiKirby_BeginSuck:
{ {
%PlayAnimation(4, 5, 10) ; Suck %PlayAnimation(4, 5, 10) ; Suck
LDA.b $0E : CLC : ADC.b #$30 : CMP.b #$60 : BCS .dont_tongue_link
LDA.b $0F : CLC : ADC.b #$30 : CMP.b #$60 : BCS .dont_tongue_link
INC.w SprAction, X
LDA.b #$1F
JSL Sprite_ProjectSpeedTowardsPlayer
JSL Sprite_ConvertVelocityToAngle
LSR A
STA.w SprMiscD,X
LDA.b #$5F
STA.w SprTimerA, X
RTS
; -----------------------------------------------------
.dont_tongue_link
LDA.w SprTimerA, X : BNE +
STZ.w SprAction, X
+
JSL Sprite_CheckDamageFromPlayerLong : BCC .NoDamage
LDA #!RecoilTime : STA SprTimerA, X
%GotoAction(1) ; Hurt
RTS RTS
.NoDamage
LDA.b $0E : CLC : ADC.b #$30 : CMP.b #$60 : BCS .dont_tongue_link
LDA.b $0F : CLC : ADC.b #$30 : CMP.b #$60 : BCS .dont_tongue_link
INC.w SprAction, X
LDA.b #$1F
JSL Sprite_ProjectSpeedTowardsPlayer
JSL Sprite_ConvertVelocityToAngle
LSR A
STA.w SprMiscD,X
LDA.b #$5F
STA.w SprTimerA, X
RTS
; -----------------------------------------------------
.dont_tongue_link
LDA.w SprTimerA, X : BNE +
STZ.w SprAction, X
+
RTS
} }
AntiKirby_Sucking: AntiKirby_Sucking:
@@ -186,8 +192,8 @@ Sprite_AntiKirby_Main:
; when Link is close enough ; when Link is close enough
JSL Sprite_DirectionToFacePlayer JSL Sprite_DirectionToFacePlayer
LDA.b $0E : CLC : ADC.b #$30 : CMP.b #$60 : BCS .dont_tongue_link LDA.b $0E : CLC : ADC.b #$30 : CMP.b #$50 : BCS .dont_tongue_link
LDA.b $0F : CLC : ADC.b #$30 : CMP.b #$60 : BCS .dont_tongue_link LDA.b $0F : CLC : ADC.b #$30 : CMP.b #$50 : BCS .dont_tongue_link
LDA.w SprMiscC, X LDA.w SprMiscC, X
JSL DragPlayer JSL DragPlayer
.dont_tongue_link .dont_tongue_link
@@ -195,7 +201,7 @@ Sprite_AntiKirby_Main:
JSL Sprite_DirectionToFacePlayer JSL Sprite_DirectionToFacePlayer
LDA.b $0E : CMP.b #$10 : BCS .NotDone LDA.b $0E : CMP.b #$10 : BCS .NotDone
LDA.b $0F : CMP.b #$10 : BCS .NotDone LDA.b $0F : CMP.b #$10 : BCS .NotDone
%SetTimerA($60) %SetTimerA($80)
INC.w SprAction, X INC.w SprAction, X
RTS RTS
.NotDone .NotDone
@@ -209,12 +215,12 @@ Sprite_AntiKirby_Main:
{ {
%PlayAnimation(6, 6, 10) ; Full %PlayAnimation(6, 6, 10) ; Full
LDA.w SprTimerA, X : BNE .lickylicky LDA.w SprTimerA, X : BNE +
INC.w SprAction, X INC.w SprAction, X
%SetTimerA($60) %SetTimerA($60)
STZ.w SprMiscG, X STZ.w SprMiscG, X
RTS RTS
.lickylicky +
RTS RTS
} }
@@ -241,7 +247,7 @@ Sprite_AntiKirby_Main:
%PlayAnimation(10, 10, 10) ; Hatted Hurt %PlayAnimation(10, 10, 10) ; Hatted Hurt
LDA SprTimerA, X : BNE .NotDone LDA SprTimerA, X : BNE .NotDone
LDA.b #$07 : STA.w SprFrame, X LDA.b #$06 : STA.w SprFrame, X
%GotoAction(5) %GotoAction(5)
.NotDone .NotDone
@@ -355,10 +361,16 @@ Sprite_AntiKirby_Draw:
ASL A : TAX ASL A : TAX
REP #$20 REP #$20
LDA $09 : AND.w #$00FF : CMP.w #$0040 : BNE +
LDA $00 : CLC : ADC .x_offsets_2, X : STA ($90), Y
AND.w #$0100 : STA $0E
INY
BRA ++
+
LDA $00 : CLC : ADC .x_offsets, X : STA ($90), Y LDA $00 : CLC : ADC .x_offsets, X : STA ($90), Y
AND.w #$0100 : STA $0E AND.w #$0100 : STA $0E
INY INY
++
LDA $02 : CLC : ADC .y_offsets, X : STA ($90), Y LDA $02 : CLC : ADC .y_offsets, X : STA ($90), Y
CLC : ADC #$0010 : CMP.w #$0100 CLC : ADC #$0010 : CMP.w #$0100
SEP #$20 SEP #$20
@@ -461,4 +473,18 @@ Sprite_AntiKirby_Draw:
db $02, $02 db $02, $02
db $02, $02 db $02, $02
.x_offsets_2
dw 0
dw 0
dw 0
dw 0
dw 0
dw 0
dw 0, 4
dw 0, 4
dw 0, 4
dw 0, 4
dw -4, 4
dw 4, -4
} }