Add goal for total bosses including aga
This commit is contained in:
71
goalitem.asm
71
goalitem.asm
@@ -40,14 +40,14 @@ RTL
|
|||||||
dw .crystals
|
dw .crystals
|
||||||
dw .pendant_bosses
|
dw .pendant_bosses
|
||||||
dw .crystal_bosses
|
dw .crystal_bosses
|
||||||
dw .bosses
|
dw .prize_bosses
|
||||||
dw .agahnim_defeated
|
dw .agahnim_defeated
|
||||||
dw .agahnim2_defeated
|
dw .agahnim2_defeated
|
||||||
dw .goal_item
|
dw .goal_item
|
||||||
dw .collection_rate
|
dw .collection_rate
|
||||||
dw .custom_goal
|
dw .custom_goal
|
||||||
dw .bingo
|
dw .bingo
|
||||||
dw .success
|
dw .all_bosses
|
||||||
dw .success
|
dw .success
|
||||||
dw .success
|
dw .success
|
||||||
dw .success
|
dw .success
|
||||||
@@ -70,19 +70,24 @@ RTL
|
|||||||
CMP.b #$07 : RTS
|
CMP.b #$07 : RTS
|
||||||
.pendant_bosses
|
.pendant_bosses
|
||||||
PHP
|
PHP
|
||||||
LDA.b #$02
|
LDA.b #$20
|
||||||
JSR CheckForBossesDefeated : PLP : BCC +
|
JSR CheckForBossesDefeated : PLP : BCC +
|
||||||
CMP.b #$03 : RTS
|
CMP.b #$03 : RTS
|
||||||
.crystal_bosses
|
.crystal_bosses
|
||||||
PHP
|
PHP
|
||||||
LDA.b #$01
|
LDA.b #$10
|
||||||
JSR CheckForBossesDefeated : PLP : BCC +
|
JSR CheckForBossesDefeated : PLP : BCC +
|
||||||
CMP.b #$07 : RTS
|
CMP.b #$07 : RTS
|
||||||
.bosses
|
.all_bosses
|
||||||
|
PHP
|
||||||
|
LDA.b #$30
|
||||||
|
JSR CheckForBossesDefeated : PLP : BCC +
|
||||||
|
CMP.b #$10 : RTS
|
||||||
|
.prize_bosses
|
||||||
PHP
|
PHP
|
||||||
LDA.b #$00
|
LDA.b #$00
|
||||||
JSR CheckForBossesDefeated : PLP : BCC +
|
JSR CheckForBossesDefeated : PLP : BCC +
|
||||||
CMP.b #$10 : RTS
|
CMP.b #$0A : RTS
|
||||||
+ CMP.b [Scrap00], Y : INY : RTS
|
+ CMP.b [Scrap00], Y : INY : RTS
|
||||||
.agahnim_defeated
|
.agahnim_defeated
|
||||||
LDA.l ProgressIndicator : CMP.b #$03 : RTS
|
LDA.l ProgressIndicator : CMP.b #$03 : RTS
|
||||||
@@ -368,12 +373,38 @@ CheckAgaForPed:
|
|||||||
RTL
|
RTL
|
||||||
|
|
||||||
;---------------------------------------------------------------------------------------------------
|
;---------------------------------------------------------------------------------------------------
|
||||||
|
BossPrizeFlags:
|
||||||
|
; $00 = all prize bosses
|
||||||
|
db $00
|
||||||
|
db $01, $01, $01, $01, $01, $01, $01 ; crystals
|
||||||
|
db $01, $01, $01 ; pendants
|
||||||
|
db $00, $00, $00, $00, $00 ; padding
|
||||||
|
; $10 = all crystal bosses
|
||||||
|
db $00
|
||||||
|
db $01, $01, $01, $01, $01, $01, $01 ; crystals
|
||||||
|
db $00, $00, $00 ; pendants
|
||||||
|
db $00, $00, $00, $00, $00 ; padding
|
||||||
|
; $20 = all pendant bosses
|
||||||
|
db $00
|
||||||
|
db $00, $00, $00, $00, $00, $00, $00 ; crystals
|
||||||
|
db $01, $01, $01 ; pendants
|
||||||
|
db $00, $00, $00, $00, $00 ; padding
|
||||||
|
; $30 = all bosses
|
||||||
|
db $01 ; agas
|
||||||
|
db $01, $01, $01, $01, $01, $01, $01 ; crystals
|
||||||
|
db $01, $01, $01 ; pendants
|
||||||
|
db $00, $00, $00, $00, $00 ; padding
|
||||||
|
|
||||||
CheckForBossesDefeated:
|
CheckForBossesDefeated:
|
||||||
PHB : PHX : PHY
|
PHB : PHX : PHY
|
||||||
|
|
||||||
STA.b Scrap04 ; 0 = check all, 1 = check crystals, 2 = check pendants
|
; $00 = check prize bosses
|
||||||
|
; $10 = check crystal bosses
|
||||||
|
; $20 = check pendant bosses
|
||||||
|
; $30 = check all bosses
|
||||||
|
STA.b Scrap04
|
||||||
|
|
||||||
LDA.b #CrystalPendantFlags_3>>16
|
LDA.b #bank(CrystalPendantFlags_3)
|
||||||
PHA : PLB
|
PHA : PLB
|
||||||
|
|
||||||
STZ.b Scrap03 ; count of number of bosses killed
|
STZ.b Scrap03 ; count of number of bosses killed
|
||||||
@@ -381,22 +412,22 @@ CheckForBossesDefeated:
|
|||||||
|
|
||||||
REP #$30
|
REP #$30
|
||||||
|
|
||||||
LDY.w #10
|
LDY.w #11
|
||||||
|
|
||||||
.next_check
|
.next_check
|
||||||
LDA.w CrystalPendantFlags_3+2,Y : AND.w #$00FF : BEQ .skip
|
SEP #$30
|
||||||
CMP.w #$0008 ; C set = pendant, C clear = crystal
|
LDA.w CrystalPendantFlags_3+2, Y
|
||||||
LDA.b Scrap04 : BEQ .proceed
|
CLC : ADC.b Scrap04
|
||||||
PHP : ROR : BCC +
|
TAX
|
||||||
PLP : BCS .skip : BRA .proceed
|
LDA.l BossPrizeFlags, X
|
||||||
+ PLP : BCC .skip
|
REP #$30
|
||||||
|
BEQ .skip
|
||||||
|
|
||||||
.proceed
|
TYA : ASL A : TAX
|
||||||
TYA : ASL : TAX
|
|
||||||
|
|
||||||
LDA.l DungeonMapBossRooms+4,X
|
LDA.l DungeonMapBossRooms+4, X
|
||||||
ASL : TAX
|
ASL A : TAX
|
||||||
LDA.l RoomDataWRAM.l,X
|
LDA.l RoomDataWRAM.l, X
|
||||||
|
|
||||||
AND.w #$0800 : BEQ .skip
|
AND.w #$0800 : BEQ .skip
|
||||||
INC.b Scrap03
|
INC.b Scrap03
|
||||||
|
|||||||
Reference in New Issue
Block a user