pyramid fix?

This commit is contained in:
Karkat
2017-07-26 23:50:20 -04:00
parent 4d62284a7f
commit 178454205d
6 changed files with 65 additions and 4 deletions

View File

@@ -51,7 +51,8 @@ SetDeathWorldChecked:
LDA $040C : CMP #$FF : BNE .done ; unless it's a cave LDA $040C : CMP #$FF : BNE .done ; unless it's a cave
+ +
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 $A0 : BNE + ; check if we died in ganon's room
LDA $1B : BNE + : LDA $A0 : BNE + ; check if we died in ganon's room
LDA !FORCE_PYRAMID : ORA.b #$08 : STA !FORCE_PYRAMID ; set pyramid flag LDA !FORCE_PYRAMID : ORA.b #$08 : STA !FORCE_PYRAMID ; set pyramid flag
BRL DarkWorldFlagSet_pyramid BRL DarkWorldFlagSet_pyramid
+ +

View File

@@ -1706,10 +1706,13 @@ NOP #36
;================================================================================ ;================================================================================
;================================================================================ ;================================================================================
; Add SFX to Digging Game Prize Spawn ; Add SFX
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $1DFDA8 ; <- EFDA9 - sprite_digging_game_guy.asm:309 (STA $7FFE00) org $1DFDA8 ; <- EFDA9 - sprite_digging_game_guy.asm:309 (STA $7FFE00)
JSL.l SpawnShovelGamePrizeSFX JSL.l SpawnShovelGamePrizeSFX
;--------------------------------------------------------------------------------
org $01EEB6 ; <- EEB6 - Bank01.asm:14138 (ORA.b #$40 : STA $0403)
JSL.l SpawnChestGamePrizeSFX : NOP
;================================================================================ ;================================================================================
;================================================================================ ;================================================================================

BIN
ice_bombos.bin Normal file

Binary file not shown.

View File

@@ -920,6 +920,16 @@ RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
SpawnShovelGamePrizeSFX: SpawnShovelGamePrizeSFX:
STA $7FFE00 ; thing we wrote over STA $7FFE00 ; thing we wrote over
LDA.b #$1B : STA $012F ; play puzzle sound
RTL
;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------
; SpawnChestGamePrizeSFX:
;--------------------------------------------------------------------------------
SpawnChestGamePrizeSFX:
ORA.b #$40 : STA $0403 ; thing we wrote over
STA $FFFFFF
PHA PHA
LDA.b #$1B : STA $012F ; play puzzle sound LDA.b #$1B : STA $012F ; play puzzle sound
PLA PLA

View File

@@ -282,12 +282,45 @@ RTL
!SINGLE_INDEX_BITMASK_TEMP = "$7F5022" !SINGLE_INDEX_BITMASK_TEMP = "$7F5022"
!LOCK_IN = "$7F5090" !LOCK_IN = "$7F5090"
!ITEM_BUSY = "$7F5091" !ITEM_BUSY = "$7F5091"
;2B:Bottle Already Filled w/ Red Potion
;2C:Bottle Already Filled w/ Green Potion
;2D:Bottle Already Filled w/ Blue Potion
;3C:Bottle Already Filled w/ Bee
;3D:Bottle Already Filled w/ Fairy
;48:Bottle Already Filled w/ Gold Bee
AddReceivedItemExpanded: AddReceivedItemExpanded:
{ {
PHA : PHX PHA : PHX
JSL.l PreItemGet JSL.l PreItemGet
LDA $02D8 : CMP.b #$16 : BNE ++ ; Bottle
LDA $02D8 : CMP #$5E : BNE ++ ; Progressive Sword JSR.w CountBottles : CMP.l BottleLimit : !BLT +++
LDA.l BottleLimitReplacement : STA $02D8
+++ : BRL .done
++ : CMP.b #$2B : BNE ++ ; Red Potion w/bottle
JSR.w CountBottles : CMP.l BottleLimit : !BLT +++
LDA.l BottleLimitReplacement : STA $02D8
+++ : BRL .done
++ : CMP.b #$2C : BNE ++ ; Green Potion w/bottle
JSR.w CountBottles : CMP.l BottleLimit : !BLT +++
LDA.l BottleLimitReplacement : STA $02D8
+++ : BRL .done
++ : CMP.b #$2D : BNE ++ ; Blue Potion w/bottle
JSR.w CountBottles : CMP.l BottleLimit : !BLT +++
LDA.l BottleLimitReplacement : STA $02D8
+++ : BRL .done
++ : CMP.b #$3C : BNE ++ ; Bee w/bottle
JSR.w CountBottles : CMP.l BottleLimit : !BLT +++
LDA.l BottleLimitReplacement : STA $02D8
+++ : BRL .done
++ : CMP.b #$3D : BNE ++ ; Fairy w/bottle
JSR.w CountBottles : CMP.l BottleLimit : !BLT +++
LDA.l BottleLimitReplacement : STA $02D8
+++ : BRL .done
++ : CMP.b #$48 : BNE ++ ; Gold Bee w/bottle
JSR.w CountBottles : CMP.l BottleLimit : !BLT +++
LDA.l BottleLimitReplacement : STA $02D8
+++ : BRL .done
++ : CMP.b #$5E : BNE ++ ; Progressive Sword
LDA $7EF359 : CMP.l ProgressiveSwordLimit : !BLT + LDA $7EF359 : CMP.l ProgressiveSwordLimit : !BLT +
LDA.l ProgressiveSwordReplacement : STA $02D8 : BRL .done LDA.l ProgressiveSwordReplacement : STA $02D8 : BRL .done
+ : CMP.b #$00 : BNE + ; No Sword + : CMP.b #$00 : BNE + ; No Sword
@@ -758,4 +791,14 @@ GetRNGItemMulti:
STA !LOCK_IN STA !LOCK_IN
TAX : XBA : LDA.l RNGMultiItemTable, X TAX : XBA : LDA.l RNGMultiItemTable, X
RTL RTL
;--------------------------------------------------------------------------------
CountBottles:
LDX.b #$00
LDA $7EF35C : BEQ ++ : INX
++ : LDA $7EF35D : BEQ ++ : INX
++ : LDA $7EF35E : BEQ ++ : INX
++ : LDA $7EF35F : BEQ ++ : INX
++
TXA
RTS
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------

View File

@@ -198,6 +198,10 @@ ProgressiveArmorLimit:
db #$02 ; #$02 - 2 Armors (default) db #$02 ; #$02 - 2 Armors (default)
ProgressiveArmorReplacement: ProgressiveArmorReplacement:
db #$47 ; #$47 - 20 Rupees (default) db #$47 ; #$47 - 20 Rupees (default)
BottleLimit:
db #$04 ; #$04 - 4 Bottles (default)
BottleLimitReplacement:
db #$47 ; #$47 - 20 Rupees (default)
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $308100 ; PC 0x180100 (0x40 bytes) org $308100 ; PC 0x180100 (0x40 bytes)
ShovelSpawnTable: ShovelSpawnTable: