Update WaterOctorok action logic
This commit is contained in:
@@ -227,6 +227,7 @@ Sprite_WaterOctorok_Main:
|
|||||||
dw WaterOctorok_FaceUp
|
dw WaterOctorok_FaceUp
|
||||||
dw WaterOctorok_FaceLeft
|
dw WaterOctorok_FaceLeft
|
||||||
dw WaterOctorok_FaceRight
|
dw WaterOctorok_FaceRight
|
||||||
|
dw WaterOctorok_FaceHidden
|
||||||
|
|
||||||
WaterOctorok_FaceDown:
|
WaterOctorok_FaceDown:
|
||||||
{
|
{
|
||||||
@@ -254,6 +255,13 @@ Sprite_WaterOctorok_Main:
|
|||||||
%PlayAnimation(6,7,10)
|
%PlayAnimation(6,7,10)
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WaterOctorok_FaceHidden:
|
||||||
|
{
|
||||||
|
%StartOnFrame(8)
|
||||||
|
%PlayAnimation(8,8,10)
|
||||||
|
RTS
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Sprite_WaterOctorok_Attack:
|
Sprite_WaterOctorok_Attack:
|
||||||
@@ -279,8 +287,8 @@ Sprite_WaterOctorok_Attack:
|
|||||||
JSL GetDistance8bit_Long
|
JSL GetDistance8bit_Long
|
||||||
CMP.b #$40
|
CMP.b #$40
|
||||||
BCC .not_close_enough ; LD < 64
|
BCC .not_close_enough ; LD < 64
|
||||||
INC.w SprMiscG, X
|
INC.w SprMiscG, X
|
||||||
%SetTimerA($10)
|
%SetTimerA($10)
|
||||||
.not_close_enough
|
.not_close_enough
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
@@ -292,8 +300,8 @@ Sprite_WaterOctorok_Attack:
|
|||||||
INC.w SprMiscG, X
|
INC.w SprMiscG, X
|
||||||
%SetTimerA($20)
|
%SetTimerA($20)
|
||||||
JSL Sprite_DirectionToFacePlayer
|
JSL Sprite_DirectionToFacePlayer
|
||||||
; Set the Direction
|
; LDA.w SprMiscC, X : AND.b #$03 : TAY
|
||||||
|
; LDA.w Sprite_Octorok_Move_direction, Y : STA.w SprAction, X
|
||||||
+
|
+
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
@@ -313,6 +321,7 @@ Sprite_WaterOctorok_Attack:
|
|||||||
WaterOctorok_Hiding:
|
WaterOctorok_Hiding:
|
||||||
{
|
{
|
||||||
LDA.w SprTimerA, X : BNE +
|
LDA.w SprTimerA, X : BNE +
|
||||||
|
LDA.b #$04 : STA.w SprAction, X
|
||||||
STZ.w SprMiscG, X
|
STZ.w SprMiscG, X
|
||||||
%SetTimerA($40)
|
%SetTimerA($40)
|
||||||
+
|
+
|
||||||
@@ -328,7 +337,6 @@ Octorok_ShootSingle:
|
|||||||
PHA
|
PHA
|
||||||
JSR Octorok_SpawnRock
|
JSR Octorok_SpawnRock
|
||||||
PLA
|
PLA
|
||||||
|
|
||||||
.bide_time
|
.bide_time
|
||||||
LSR A
|
LSR A
|
||||||
LSR A
|
LSR A
|
||||||
@@ -391,43 +399,24 @@ Octorok_Shoot4Ways:
|
|||||||
Octorok_SpawnRock:
|
Octorok_SpawnRock:
|
||||||
{
|
{
|
||||||
LDA.b #$07 : JSL SpriteSFX_QueueSFX2WithPan
|
LDA.b #$07 : JSL SpriteSFX_QueueSFX2WithPan
|
||||||
|
|
||||||
LDA.b #$0C : JSL Sprite_SpawnDynamically : BMI .fired_a_blank
|
LDA.b #$0C : JSL Sprite_SpawnDynamically : BMI .fired_a_blank
|
||||||
|
|
||||||
PHX
|
PHX
|
||||||
|
|
||||||
LDA.w SprMiscC,X
|
LDA.w SprMiscC,X
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
LDA.b $00
|
LDA.b $00 : CLC : ADC.w .offset_x_low,X : STA.w $0D10,Y
|
||||||
CLC
|
LDA.b $01 : ADC.w .offset_x_high,X : STA.w $0D30,Y
|
||||||
ADC.w .offset_x_low,X
|
LDA.b $02 : CLC : ADC.w .offset_y_low,X : STA.w $0D00,Y
|
||||||
STA.w $0D10,Y
|
LDA.b $03 : ADC.w .offset_y_high,X : STA.w $0D20,Y
|
||||||
|
|
||||||
LDA.b $01
|
|
||||||
ADC.w .offset_x_high,X
|
|
||||||
STA.w $0D30,Y
|
|
||||||
|
|
||||||
LDA.b $02
|
|
||||||
CLC
|
|
||||||
ADC.w .offset_y_low,X
|
|
||||||
STA.w $0D00,Y
|
|
||||||
|
|
||||||
LDA.b $03
|
|
||||||
ADC.w .offset_y_high,X
|
|
||||||
STA.w $0D20,Y
|
|
||||||
|
|
||||||
LDA.w SprMiscC,Y
|
LDA.w SprMiscC,Y
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
LDA.w .rock_speed_x,X
|
LDA.w .rock_speed_x,X : STA.w $0D50,Y
|
||||||
STA.w $0D50,Y
|
LDA.w .rock_speed_y,X : STA.w $0D40,Y
|
||||||
|
|
||||||
LDA.w .rock_speed_y,X
|
|
||||||
STA.w $0D40,Y
|
|
||||||
|
|
||||||
PLX
|
PLX
|
||||||
|
|
||||||
.fired_a_blank
|
.fired_a_blank
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
@@ -487,7 +476,7 @@ Sprite_Octorok_Draw:
|
|||||||
STA $0E
|
STA $0E
|
||||||
.on_screen_y
|
.on_screen_y
|
||||||
|
|
||||||
PLX ; Pullback Animation Index Offset (without the *2 not 16bit anymore)
|
PLX ; Pullback Animation Index Offset
|
||||||
INY
|
INY
|
||||||
LDA .chr, X : STA ($90), Y
|
LDA .chr, X : STA ($90), Y
|
||||||
INY
|
INY
|
||||||
@@ -507,9 +496,9 @@ Sprite_Octorok_Draw:
|
|||||||
; =========================================================
|
; =========================================================
|
||||||
|
|
||||||
.start_index
|
.start_index
|
||||||
db $00, $01, $02, $03, $04, $05, $06, $07
|
db $00, $01, $02, $03, $04, $05, $06, $07, $08
|
||||||
.nbr_of_tiles
|
.nbr_of_tiles
|
||||||
db 0, 0, 0, 0, 0, 0, 0, 0
|
db 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
.chr
|
.chr
|
||||||
db $80
|
db $80
|
||||||
db $80
|
db $80
|
||||||
@@ -519,6 +508,7 @@ Sprite_Octorok_Draw:
|
|||||||
db $A2
|
db $A2
|
||||||
db $A0
|
db $A0
|
||||||
db $A2
|
db $A2
|
||||||
|
db $AA ; Water Octorok
|
||||||
.properties
|
.properties
|
||||||
db $2D
|
db $2D
|
||||||
db $6D
|
db $6D
|
||||||
@@ -528,4 +518,5 @@ Sprite_Octorok_Draw:
|
|||||||
db $2D
|
db $2D
|
||||||
db $6D
|
db $6D
|
||||||
db $6D
|
db $6D
|
||||||
|
db $3D ; Water Octorok
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user