From f6bc9a812bcd683aa93defdd7dcc0f3f96f682b6 Mon Sep 17 00:00:00 2001 From: scawful Date: Fri, 14 Jun 2024 21:11:54 -0400 Subject: [PATCH] update booki movement --- Sprites/Enemies/booki.asm | 42 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/Sprites/Enemies/booki.asm b/Sprites/Enemies/booki.asm index e4447d3..ba13ef0 100644 --- a/Sprites/Enemies/booki.asm +++ b/Sprites/Enemies/booki.asm @@ -55,7 +55,8 @@ Sprite_Booki_Prep: { PHB : PHK : PLB - LDA.b #$80 : STA.w SprDefl, X + + STZ.w SprMiscB, X PLB RTL @@ -117,9 +118,48 @@ Sprite_Booki_Move: JSL UseImplicitRegIndexedLocalJumpTable dw SlowFloat + dw FloatAway SlowFloat: { + JSL GetRandomInt : AND.b #$04 + JSL Sprite_FloatTowardPlayer + + JSL Sprite_CheckDamageFromPlayer : BCC .no_damage + LDA.b #$01 : STA.w SprMiscB, X + .no_damage + + JSL Sprite_CheckDamageToPlayer + + PHX + JSL Sprite_DirectionToFacePlayer + LDA.b $0E : CMP.b #$08 : BCS .NotTooClose + LDA.b $0F : CMP.b #$08 : BCS .NotTooClose + LDA.b #$01 : STA.w SprMiscB, X + .NotTooClose + PLX + + RTS + } + + FloatAway: + { + JSL GetRandomInt : AND.b #$04 + JSL Sprite_FloatAwayFromPlayer + + JSL Sprite_CheckDamageFromPlayer : BCC .no_damage + LDA.b #$01 : STA.w SprMiscB, X + .no_damage + + JSL Sprite_CheckDamageToPlayer + + PHX + JSL Sprite_DirectionToFacePlayer + LDA.b $0E : CMP.b #$10 : BCC .NotTooClose + LDA.b $0F : CMP.b #$10 : BCC .NotTooClose + LDA.b #$00 : STA.w SprMiscB, X + .NotTooClose + PLX RTS }