Update Darknut enemy sprite probing behavior
This commit is contained in:
@@ -59,7 +59,7 @@ Sprite_Darknut_Prep:
|
|||||||
RTL
|
RTL
|
||||||
|
|
||||||
.health
|
.health
|
||||||
db $04, $0C, $12, $1C
|
db $04, $0C, $0F, $10
|
||||||
}
|
}
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
@@ -68,33 +68,90 @@ DarknutSpeed = 04
|
|||||||
|
|
||||||
Sprite_Darknut_Main:
|
Sprite_Darknut_Main:
|
||||||
{
|
{
|
||||||
JSL Sprite_SpawnProbeAlways_long
|
LDA.w POSX : STA $02
|
||||||
|
LDA.w POSY : STA $03
|
||||||
|
LDA.w SprX, X : STA $04
|
||||||
|
LDA.w SprY, X : STA $05
|
||||||
|
JSL GetDistance8bit_Long
|
||||||
|
CMP.b #$50 : BCS .no_probe
|
||||||
|
; JSL Sprite_SendOutProbe
|
||||||
|
JSL Sprite_SpawnProbeAlways_long
|
||||||
|
.no_probe
|
||||||
|
|
||||||
|
; TODO: Setup parrying sword gfx
|
||||||
JSL Guard_ParrySwordAttacks
|
JSL Guard_ParrySwordAttacks
|
||||||
|
|
||||||
JSL Sprite_Move
|
JSL Sprite_Move
|
||||||
JSL Sprite_BounceFromTileCollision
|
JSL Sprite_BounceFromTileCollision
|
||||||
JSL Sprite_PlayerCantPassThrough
|
JSL Sprite_PlayerCantPassThrough
|
||||||
JSL Sprite_DamageFlash_Long
|
JSL Sprite_DamageFlash_Long
|
||||||
|
|
||||||
LDA.w SprTimerA, X : BNE +
|
LDA.w SprTimerA, X : BEQ +
|
||||||
LDA.b #$04
|
LDA.b #$40 : STA.w SprTimerD, X
|
||||||
JSL Sprite_ApplySpeedTowardsPlayer
|
|
||||||
JSL GetRandomInt : AND.b #$03 : STA.w SprAction, X
|
|
||||||
%SetTimerA($A0)
|
|
||||||
+
|
+
|
||||||
|
LDA.w SprTimerD, X : BEQ ++
|
||||||
|
LDA.b #$04 : JSL Sprite_ApplySpeedTowardsPlayer
|
||||||
|
JSL Sprite_DirectionToFacePlayer
|
||||||
|
TYA
|
||||||
|
STA.w SprMiscC, X
|
||||||
|
STA.w SprMiscE, X
|
||||||
|
STA.w SprAction, X
|
||||||
|
JSL Guard_ChaseLinkOnOneAxis
|
||||||
|
JMP +++
|
||||||
|
++
|
||||||
|
JSR Sprite_Darknut_BasicMove
|
||||||
|
+++
|
||||||
|
|
||||||
JSR Goriya_HandleTileCollision
|
JSR Goriya_HandleTileCollision
|
||||||
|
|
||||||
LDA.w SprAction, X
|
LDA.w SprAction, X
|
||||||
JSL UseImplicitRegIndexedLocalJumpTable
|
JSL UseImplicitRegIndexedLocalJumpTable
|
||||||
|
|
||||||
dw MoveUp
|
dw FaceRight
|
||||||
dw MoveDown
|
dw FaceLeft
|
||||||
dw MoveLeft
|
dw FaceDown
|
||||||
|
dw FaceUp
|
||||||
|
|
||||||
|
FaceUp:
|
||||||
|
{
|
||||||
|
%PlayAnimation(0,1,10)
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
FaceDown:
|
||||||
|
{
|
||||||
|
%StartOnFrame(2)
|
||||||
|
%PlayAnimation(2,3,10)
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
FaceLeft:
|
||||||
|
{
|
||||||
|
%StartOnFrame(4)
|
||||||
|
%PlayAnimation(4,5,10)
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
FaceRight:
|
||||||
|
{
|
||||||
|
%StartOnFrame(6)
|
||||||
|
%PlayAnimation(6,7,10)
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Sprite_Darknut_BasicMove:
|
||||||
|
{
|
||||||
|
LDA.w SprAction, X
|
||||||
|
JSL JumpTableLocal
|
||||||
|
|
||||||
dw MoveRight
|
dw MoveRight
|
||||||
|
dw MoveLeft
|
||||||
|
dw MoveDown
|
||||||
|
dw MoveUp
|
||||||
|
|
||||||
MoveUp:
|
MoveUp:
|
||||||
{
|
{
|
||||||
%PlayAnimation(0,1,10)
|
|
||||||
LDA.b #-DarknutSpeed : STA.w SprYSpeed, X
|
LDA.b #-DarknutSpeed : STA.w SprYSpeed, X
|
||||||
STZ.w SprXSpeed, X
|
STZ.w SprXSpeed, X
|
||||||
RTS
|
RTS
|
||||||
@@ -102,8 +159,6 @@ Sprite_Darknut_Main:
|
|||||||
|
|
||||||
MoveDown:
|
MoveDown:
|
||||||
{
|
{
|
||||||
%StartOnFrame(2)
|
|
||||||
%PlayAnimation(2,3,10)
|
|
||||||
LDA.b #DarknutSpeed : STA.w SprYSpeed, X
|
LDA.b #DarknutSpeed : STA.w SprYSpeed, X
|
||||||
STZ.w SprXSpeed, X
|
STZ.w SprXSpeed, X
|
||||||
RTS
|
RTS
|
||||||
@@ -111,8 +166,6 @@ Sprite_Darknut_Main:
|
|||||||
|
|
||||||
MoveLeft:
|
MoveLeft:
|
||||||
{
|
{
|
||||||
%StartOnFrame(4)
|
|
||||||
%PlayAnimation(4,5,10)
|
|
||||||
LDA.b #-DarknutSpeed : STA.w SprXSpeed, X
|
LDA.b #-DarknutSpeed : STA.w SprXSpeed, X
|
||||||
STZ.w SprYSpeed, X
|
STZ.w SprYSpeed, X
|
||||||
RTS
|
RTS
|
||||||
@@ -120,13 +173,10 @@ Sprite_Darknut_Main:
|
|||||||
|
|
||||||
MoveRight:
|
MoveRight:
|
||||||
{
|
{
|
||||||
%StartOnFrame(6)
|
|
||||||
%PlayAnimation(6,7,10)
|
|
||||||
LDA.b #DarknutSpeed : STA.w SprXSpeed, X
|
LDA.b #DarknutSpeed : STA.w SprXSpeed, X
|
||||||
STZ.w SprYSpeed, X
|
STZ.w SprYSpeed, X
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
@@ -136,9 +186,8 @@ Sprite_Darknut_Draw:
|
|||||||
JSL Sprite_PrepOamCoord
|
JSL Sprite_PrepOamCoord
|
||||||
JSL Sprite_OAM_AllocateDeferToPlayer
|
JSL Sprite_OAM_AllocateDeferToPlayer
|
||||||
|
|
||||||
LDA $0DC0, X : CLC : ADC $0D90, X : TAY;Animation Frame
|
LDA.w SprGfx, X : CLC : ADC $0D90, X : TAY;Animation Frame
|
||||||
LDA .start_index, Y : STA $06
|
LDA .start_index, Y : STA $06
|
||||||
|
|
||||||
LDA.w SprFlash, X : STA $08
|
LDA.w SprFlash, X : STA $08
|
||||||
|
|
||||||
PHX
|
PHX
|
||||||
|
|||||||
Reference in New Issue
Block a user