diff --git a/darkworldspawn.asm b/darkworldspawn.asm index 04c013b..ec98951 100644 --- a/darkworldspawn.asm +++ b/darkworldspawn.asm @@ -52,7 +52,11 @@ SetDeathWorldChecked: + LDA $7EF3C5 : CMP.b #$03 : !BGE .done; thing we originally did - skip if agahnim 1 is dead - LDA $1B : BEQ + : LDA $A0 : BNE + ; check if we died in ganon's room +;<<<<<<< crystalsgoalganonrespawn + LDA $1B : BNE + : LDA $A0 : BNE + : LDA GanonPyramidRespawn : BEQ + ; check if we died in ganon's room and pyramid respawn is enabled +;======= +; LDA $1B : BEQ + : LDA $A0 : BNE + ; check if we died in ganon's room +;>>>>>>> master LDA !FORCE_PYRAMID : ORA.b #$08 : STA !FORCE_PYRAMID ; set pyramid flag BRL DarkWorldFlagSet_pyramid + diff --git a/goalitem.asm b/goalitem.asm index 7823cba..b7d55df 100644 --- a/goalitem.asm +++ b/goalitem.asm @@ -52,8 +52,12 @@ CheckGanonVulnerability: LDA $7EF3C5 : CMP.b #$03 : !BLT .fail ; require post-aga world state LDA $7EF2DB : AND.b #$20 : CMP #$20 : BNE .fail ; require aga2 defeated (pyramid hole open) BRA .success + + : CMP #$04 : BNE + + ;#$04 = Require All Crystals + LDA $7EF37A : AND.b #$7F : CMP #$7F : BNE .fail ; require all crystals + BRA .success + ; CMP #$03 : BNE + this is a comment - ;#$03 = Require All Crystals + ;#$03 = Require All Crystals and Aga 2 LDA $7EF37A : AND.b #$7F : CMP #$7F : BNE .fail ; require all crystals LDA $7EF2DB : AND.b #$20 : CMP #$20 : BNE .fail ; require aga2 defeated (pyramid hole open) BRA .success diff --git a/tables.asm b/tables.asm index bbe3eac..65db063 100644 --- a/tables.asm +++ b/tables.asm @@ -139,7 +139,9 @@ db #$00 ; #$00 = Off (default) - #$01 = On ;-------------------------------------------------------------------------------- org $30803E ; PC 0x18003E InvincibleGanon: -db #$00 ; #$00 = Off (default) - #$01 = On - #$02 = Require All Dungeons +db #$00 +; #$00 = Off (default) - #$01 = On - #$02 = Require All Dungeons +; #$03 = Require Crystals and Aga2 - #$04 = Require Crystals ;-------------------------------------------------------------------------------- org $30803F ; PC 0x18003F HammerableGanon: @@ -674,6 +676,10 @@ org $308169 ; PC 0x180169 AgahnimDoorStyle: db #$00 ; #00 = Never Locked - #$01 = Locked During Escape (default) ;================================================================================ +org $308170 ; PC 0x180170 +GanonPyramidRespawn: +db #$01 ; #00 = Do not respawn on Pyramid after Death - #$01 = Respawn on Pyramid after Death (default) +;================================================================================ org $30816A ; PC 0x18016A FreeItemText: db #$01 ; #00 = Off - #$01 = On (default)