Merge pull request #33 from mmxbass/pyramid-spawn-updates
Pyramid spawn updates
This commit is contained in:
@@ -17,7 +17,6 @@ RTL
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
DarkWorldFlagSet:
|
DarkWorldFlagSet:
|
||||||
PHA
|
PHA
|
||||||
LDA !FORCE_PYRAMID : AND.b #$08 : BNE .pyramid
|
|
||||||
|
|
||||||
LDA Bugfix_PreAgaDWDungeonDeathToFakeDW : BEQ +
|
LDA Bugfix_PreAgaDWDungeonDeathToFakeDW : BEQ +
|
||||||
LDA $10 : CMP #$12 : BEQ .done ; don't do anything in death mode
|
LDA $10 : CMP #$12 : BEQ .done ; don't do anything in death mode
|
||||||
@@ -37,28 +36,28 @@ DarkWorldFlagSet:
|
|||||||
.done
|
.done
|
||||||
PLA
|
PLA
|
||||||
RTL
|
RTL
|
||||||
.pyramid
|
|
||||||
LDA !FORCE_PYRAMID : AND.b #$F7 : STA !FORCE_PYRAMID ; clear pyramid flag
|
|
||||||
LDA #$40 : STA $7EF3CA ; set flag to dark world
|
|
||||||
LDA $7EF3CC : CMP #$08 : BNE + : LDA.b #$07 : STA $7EF3CC : + ; convert dwarf to frog
|
|
||||||
PLA
|
|
||||||
RTL
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
SetDeathWorldChecked:
|
SetDeathWorldChecked:
|
||||||
PHA
|
PHA
|
||||||
LDA $1B : BEQ + ; skip this for indoors
|
LDA $1B : BEQ + ; skip this for indoors
|
||||||
LDA $040C : CMP #$FF : BNE .done ; unless it's a cave
|
LDA $040C : CMP #$FF : BNE .done ; unless it's a cave
|
||||||
|
|
||||||
|
LDA $A0 : BNE + : LDA GanonPyramidRespawn : BEQ + ; check if we died in ganon's room and pyramid respawn is enabled
|
||||||
|
BRA .pyramid
|
||||||
+
|
+
|
||||||
|
|
||||||
LDA $7EF3C5 : CMP.b #$03 : !BGE .done; thing we originally did - skip if agahnim 1 is dead
|
LDA $7EF3C5 : CMP.b #$03 : !BGE .done; thing we originally did - skip if agahnim 1 is dead
|
||||||
|
|
||||||
LDA $1B : BEQ + : LDA $A0 : BNE + : LDA GanonPyramidRespawn : BEQ + ; check if we died in ganon's room and pyramid respawn is enabled
|
|
||||||
LDA !FORCE_PYRAMID : ORA.b #$08 : STA !FORCE_PYRAMID ; set pyramid flag
|
|
||||||
BRL DarkWorldFlagSet_pyramid
|
|
||||||
+
|
|
||||||
LDA.b #$00 : STA $7EF3CA : STA $7E0FFF ; set the world to the light world if he's still alive
|
LDA.b #$00 : STA $7EF3CA : STA $7E0FFF ; set the world to the light world if he's still alive
|
||||||
LDA $7EF3CC : CMP #$07 : BNE .done : LDA.b #$08 : STA $7EF3CC ; convert frog to dwarf
|
LDA $7EF3CC : CMP #$07 : BNE .done : LDA.b #$08 : STA $7EF3CC ; convert frog to dwarf
|
||||||
.done
|
.done
|
||||||
PLA
|
PLA
|
||||||
|
RTL
|
||||||
|
.pyramid
|
||||||
|
LDA #$40 : STA $7EF3CA ; set flag to dark world
|
||||||
|
LDA $7EF3CC : CMP #$08 : BNE + : LDA.b #$07 : STA $7EF3CC : + ; convert dwarf to frog
|
||||||
|
PLA
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
FakeWorldFix:
|
FakeWorldFix:
|
||||||
@@ -81,4 +80,4 @@ FixAgahnimFollowers:
|
|||||||
LDA.b #$00 : STA $7EF3CC ; clear follower
|
LDA.b #$00 : STA $7EF3CC ; clear follower
|
||||||
JSL PrepDungeonExit ; thing we wrote over
|
JSL PrepDungeonExit ; thing we wrote over
|
||||||
RTL
|
RTL
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user