Files
alttpr-baserom/rngfixes.asm
2017-05-17 13:00:32 -04:00

37 lines
1.1 KiB
NASM

;================================================================================
; RNG Fixes
;--------------------------------------------------------------------------------
RigDigRNG:
LDA $7FFE01 : CMP.l DiggingGameRNG : !BGE .forceHeart
.normalItem
JSL $0DBA71 ; GetRandomInt
RTL
.forceHeart
LDA $7FFE00 : BNE .normalItem
LDA #$04
RTL
;--------------------------------------------------------------------------------
RigChestRNG:
JSL.l DecrementChestCounter
LDA $04C4 : CMP.l ChestGameRNG : BEQ .forceHeart
.normalItem
JSL $0DBA71 ; GetRandomInt
AND.b #$07 ; restrict values to 0-7
CMP #$07 : BEQ .notHeart
JSL.l DecrementItemCounter
RTL
.forceHeart
LDA $0403 : AND.b #$40 : BNE .notHeart
LDA #$07 ; give prize item
RTL
.notHeart
JSL.l DecrementItemCounter
;LDA #$00 ; bullshit rupee farming in chest game
JSL $0DBA71 ; GetRandomInt ; spam RNG until we stop getting the prize item
AND.b #$07 ; restrict values to 0-7
CMP #$07 : BNE + ; player got prize item AGAIN
LDA.b #$00 ; give them money instead
+
RTL
;--------------------------------------------------------------------------------