Fixed Bosses goal condition check
This commit is contained in:
46
goalitem.asm
46
goalitem.asm
@@ -70,17 +70,17 @@ RTL
|
|||||||
CMP.b #$07 : RTS
|
CMP.b #$07 : RTS
|
||||||
.pendant_bosses
|
.pendant_bosses
|
||||||
PHP
|
PHP
|
||||||
LDA.b #$07 : STA.b Scrap03 : STZ.b Scrap04
|
LDA.b #$02
|
||||||
JSR CheckForBossesDefeated : PLP : BCC +
|
JSR CheckForBossesDefeated : PLP : BCC +
|
||||||
CMP.b #$03 : RTS
|
CMP.b #$03 : RTS
|
||||||
.crystal_bosses
|
.crystal_bosses
|
||||||
PHP
|
PHP
|
||||||
LDA.b #$40 : STA.b Scrap03 : STZ.b Scrap04
|
LDA.b #$01
|
||||||
JSR CheckForBossesDefeated : PLP : BCC +
|
JSR CheckForBossesDefeated : PLP : BCC +
|
||||||
CMP.b #$07 : RTS
|
CMP.b #$07 : RTS
|
||||||
.bosses
|
.bosses
|
||||||
PHP
|
PHP
|
||||||
LDA.b #$47 : STA.b Scrap03 : STZ.b Scrap04
|
LDA.b #$00
|
||||||
JSR CheckForBossesDefeated : PLP : BCC +
|
JSR CheckForBossesDefeated : PLP : BCC +
|
||||||
CMP.b #$10 : RTS
|
CMP.b #$10 : RTS
|
||||||
+ CMP.b [Scrap00], Y : INY : RTS
|
+ CMP.b [Scrap00], Y : INY : RTS
|
||||||
@@ -361,41 +361,43 @@ CheckAgaForPed:
|
|||||||
CheckForBossesDefeated:
|
CheckForBossesDefeated:
|
||||||
PHB : PHX : PHY
|
PHB : PHX : PHY
|
||||||
|
|
||||||
LDA.b #CrystalPendantFlags_2>>16
|
STA.b Scrap04 ; 0 = check all, 1 = check crystals, 2 = check pendants
|
||||||
|
|
||||||
|
LDA.b #CrystalPendantFlags_3>>16
|
||||||
PHA : PLB
|
PHA : PLB
|
||||||
|
|
||||||
REP #$30
|
STZ.b Scrap03 ; count of number of bosses killed
|
||||||
|
STZ.b Scrap05
|
||||||
|
|
||||||
; count of number of bosses killed
|
REP #$30
|
||||||
STZ.b Scrap04
|
|
||||||
|
|
||||||
LDY.w #10
|
LDY.w #10
|
||||||
|
|
||||||
.next_check
|
.next_check
|
||||||
LDA.w CrystalPendantFlags_2+2,Y
|
LDA.w CrystalPendantFlags_3+2,Y : AND.w #$00FF : BEQ .skip
|
||||||
BIT.w Scrap03
|
CMP.w #$0008 ; C set = pendant, C clear = crystal
|
||||||
BEQ ++
|
LDA.b Scrap04 : BEQ .proceed
|
||||||
|
PHP : ROR : BCC +
|
||||||
|
PLP : BCS .skip : BRA .proceed
|
||||||
|
+ PLP : BCC .skip
|
||||||
|
|
||||||
TYA
|
.proceed
|
||||||
ASL
|
TYA : ASL : TAX
|
||||||
TAX
|
|
||||||
|
|
||||||
LDA.l DrawHUDDungeonItems_boss_room_ids-4,X
|
LDA.l DungeonMapBossRooms+4,X
|
||||||
TAX
|
ASL : TAX
|
||||||
LDA.l RoomDataWRAM.l,X
|
LDA.l RoomDataWRAM.l,X
|
||||||
|
|
||||||
AND.w #$0800
|
AND.w #$0800 : BEQ .skip
|
||||||
BEQ ++
|
INC.b Scrap03
|
||||||
|
|
||||||
INC.b Scrap04
|
.skip
|
||||||
|
DEY : BPL .next_check
|
||||||
++ DEY
|
|
||||||
BPL .next_check
|
|
||||||
|
|
||||||
SEP #$30
|
SEP #$30
|
||||||
PLY : PLX : PLB
|
PLY : PLX : PLB
|
||||||
|
|
||||||
LDA.b Scrap04
|
LDA.b Scrap03
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
;---------------------------------------------------------------------------------------------------
|
;---------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user