From d718a1de43e616740c76cfd3953ae6bc45914bdc Mon Sep 17 00:00:00 2001 From: scawful Date: Sat, 26 Oct 2024 18:44:59 -0400 Subject: [PATCH] add Overlord_SpawnSoldierPath --- Events/all_dreams.asm | 56 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/Events/all_dreams.asm b/Events/all_dreams.asm index fdd4d80..6482369 100644 --- a/Events/all_dreams.asm +++ b/Events/all_dreams.asm @@ -97,10 +97,66 @@ Link_FallIntoDungeon: SummonGuards: { LDA.l SWORD : CMP.b #$02 : BNE + + JSR Overlord_SpawnSoldierPath + RTL } +Overlord_SpawnSoldierPath: +{ + LDA.w OverlordTimerB, X : CMP.b #$80 : BEQ .spawn + DEC.w OverlordTimerB, X + RTS + .spawn + + ; JSL GetRandomInt : AND.b #$1F + ; CLC : ADC.b #$60 : STA.w OverlordTimerB, X + INC.w OverlordTimerB, X + + STZ.b $00 + LDY.b #$0F + .next_check + LDA.w SprState, Y : BEQ .skip + LDA.w SprType, Y : CMP.b #$41 : BNE .skip + INC.b $00 + .skip + DEY + BPL .next_check + + LDA.b $00 : CMP.b #$05 : BCS .exit + + LDY.b #$0C + LDA.b #$41 ; SPRITE 41 - Blue Soldier + JSL Sprite_SpawnDynamically_slot_limited : BMI .exit + + LDA.b $05 : STA.w SprX,Y + LDA.b $06 : STA.w SprXH,Y + LDA.b $07 : STA.w SprY,Y + LDA.b $08 : STA.w SprYH,Y + + LDA.w .soldier_position_x, X : STA.w SprX,Y + LDA.w .soldier_position_y, X : STA.w SprY,Y + + LDA.w $0B40,X : STA.w SprFloor,Y + LDA.b #$20 : STA.w SprTimerA,Y + LDA.w $0FB5 : STA.w $0DE0,Y + + .exit + RTS + + .soldier_position_x + db $30, $C0, $30, $C0, $50, $A0 + + .soldier_position_y + db $70, $70, $98, $98, $C0, $C0 + + .soldier_direction + db $00, $01, $00, $01, $03, $03 + + .soldier_palette + db $09, $09, $09, $09, $07, $09 +} + pushpc