Fix pendant/crystal failing to spawn when using somaaria vs a boss.

This commit is contained in:
Myramong
2018-10-08 10:11:41 -03:00
parent 21724233d4
commit 497970666b
3 changed files with 22 additions and 0 deletions

View File

@@ -492,6 +492,9 @@ AddWeathervaneExplosion:
org $0993DF
AddDashTremor:
org $099D04
AddAncillaLong:
org $09AE64
Sprite_SetSpawnedCoords:
@@ -595,6 +598,9 @@ ShopKeeper_RapidTerminateReceiveItem:
org $1CF500
Sprite_NullifyHookshotDrag:
org $1CF537
Ancilla_CheckForAvailableSlot:
org $1DE9B6
Filter_MajorWhitenMain:

View File

@@ -128,3 +128,13 @@ PodEGFix:
.done
RTL
;--------------------------------------------------------------------------------
; Fix crystal not spawning when using somaria vs boss
TryToSpawnCrystalUntilSuccess:
STX $02D8 ; what we overwrote
JSL AddAncillaLong : BCC .spawned ; a clear carry flag indicates success
.failed
RTL
.spawned
STZ $AE ; the "trying to spawn crystal" flag
STZ $AF ; the "trying to spawn pendant" flag
RTL

View File

@@ -1458,6 +1458,12 @@ JSL.l HUDRebuildIndoorHole
;JSL.l CheckPendantHUD
;NOP #2
;================================================================================
org $098BB0 ; <- 048BB0 - ancilla_init.asm:1663 - (STX $02D8 : JSR AddAncilla)
JSL.l TryToSpawnCrystalUntilSuccess
NOP
org $01C74B ; <- 00C74B - bank01.asm:10368 - (STZ $AE, X)
NOP #2 ; this STZ is what makes the crystal never spawn if it fails to spawn on the first try
;================================================================================
org $0DE9C8 ; <- 6E9C8 - equipment.asm:1623 - (LDA $7EF3C5 : CMP.b #$03 : BCC .beforeAgahnim)
JSL.l DrawPendantCrystalDiagram : RTS
;NOP #11