diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 505b882..665c001 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -26,7 +26,7 @@ org $3FFFFF ; <- 1FFFFF db #$00 ; expand file to 2mb org $1FFFF8 ; <- FFFF8 timestamp rom -db #$20, #$17, #$08, #$11 ; year/month/day +db #$20, #$17, #$09, #$10 ; year/month/day ;================================================================================ diff --git a/dialog.asm b/dialog.asm index ff28384..dcc14a3 100644 --- a/dialog.asm +++ b/dialog.asm @@ -260,7 +260,11 @@ DialogEtherTablet: RTL + BIT $F4 : BVC - ; Show normal text if Y is not pressed - LDA $7EF359 : CMP.b #$FF : BEQ .yesText : CMP.b #$02 : !BGE .noText + LDA.l AllowHammerTablets : BEQ ++ + LDA $7EF34B : BEQ .yesText : BRA .noText + ++ + LDA $7EF359 : CMP.b #$FF : BEQ .yesText : CMP.b #$02 : !BGE .noText + ;++ .yesText %LoadDialogAddress(EtherTabletText) PLA : JSL Sprite_ShowMessageUnconditional ; Text From MSPedestalText (tables.asm) @@ -277,7 +281,11 @@ DialogBombosTablet: RTL + BIT $F4 : BVC - ; Show normal text if Y is not pressed - LDA $7EF359 : CMP.b #$FF : BEQ .yesText : CMP.b #$02 : !BGE .noText + LDA.l AllowHammerTablets : BEQ ++ + LDA $7EF34B : BEQ .yesText : BRA .noText + ++ + LDA $7EF359 : CMP.b #$FF : BEQ .yesText : CMP.b #$02 : !BGE .noText + ;++ .yesText %LoadDialogAddress(BombosTabletText) PLA : JSL Sprite_ShowMessageUnconditional ; Text From MSPedestalText (tables.asm) diff --git a/newitems.asm b/newitems.asm index e7f7ad9..c896e4c 100755 --- a/newitems.asm +++ b/newitems.asm @@ -323,6 +323,10 @@ AddReceivedItemExpanded: JSR.w CountBottles : CMP.l BottleLimit : !BLT +++ LDA.l BottleLimitReplacement : STA $02D8 +++ : BRL .done + ++ : CMP.b #$4E : BNE ++ ; Progressive Magic + LDA $7EF37B : BEQ +++ + LDA.b #$4F : STA $02D8 + +++ : BRL .done ++ : CMP.b #$5E : BNE ++ ; Progressive Sword LDA $7EF359 : CMP.l ProgressiveSwordLimit : !BLT + LDA.l ProgressiveSwordReplacement : STA $02D8 : BRL .done diff --git a/swordswap.asm b/swordswap.asm index 7608a9a..2ddefca 100644 --- a/swordswap.asm +++ b/swordswap.asm @@ -19,15 +19,24 @@ JMP.l PyramidFairy_BRANCH_GAMMA ; ;JSL ItemSet_SmithSword - too early ;JMP.l Smithy_DoesntHaveSword ;================================================================================ +;LoadSwordForDamage: +; LDA $7EF359 : CMP #$04 : BNE .done ; skip if not gold sword +; LDA $1B : BEQ + ; skip if outdoors +; LDA $A0 : CMP #41 : BNE + ; decimal 41 ; skip if not in the mothula room +; LDA #$03 ; pretend we're using tempered +; BRA .done +; + +; LDA #$04 ; nvm gold sword is fine +; .done +;RTL +;================================================================================ LoadSwordForDamage: - LDA $7EF359 : CMP #$04 : BNE .done ; skip if not gold sword - LDA $1B : BEQ + ; skip if outdoors - LDA $A0 : CMP #41 : BNE + ; decimal 41 ; skip if not in the mothula room - LDA #$03 ; pretend we're using tempered - BRA .done - + - LDA #$04 ; nvm gold sword is fine - .done + LDA $0E20, X : CMP.b #$88 : BNE .notMoth + LDA $7EF359 ; load normal sword value + CMP.b #$04 : !BLT + : DEC : + + RTL + .notMoth + LDA $7EF359 ; load normal sword value RTL ;================================================================================ CheckTabletSword: diff --git a/utilities.asm b/utilities.asm index 5798716..7740d7a 100644 --- a/utilities.asm +++ b/utilities.asm @@ -29,10 +29,15 @@ GetSpriteID: ;-------- TAX : LDA .gfxSlots, X ; look up item gfx PLB : PLX - CMP.b #$FA : !BGE .specialHandling + CMP.b #$F9 : !BGE .specialHandling RTL .specialHandling - CMP.b #$FA : BNE ++ ; RNG Item (Single) + CMP.b #$F9 : BNE ++ ; Progressive Magic + LDA.l $7EF37B : BNE +++ + LDA.b #$3B : RTL ; Half Magic + +++ + LDA.b #$3C : RTL ; Quarter Magic + ++ CMP.b #$FA : BNE ++ ; RNG Item (Single) JSL.l GetRNGItemSingle : JMP GetSpriteID ++ CMP.b #$FB : BNE ++ ; RNG Item (Multi) JSL.l GetRNGItemMulti : JMP GetSpriteID @@ -89,7 +94,7 @@ RTL db $23, $23, $29, $2A, $2C, $2B, $03, $03 db $34, $35, $31, $33, $02, $32, $36, $37 - db $2C, $43, $0C, $38, $39, $3A, $3B, $3C + db $2C, $43, $0C, $38, $39, $3A, $F9, $3C ; db $2C, $06, $0C, $38, $FF, $FF, $FF, $FF ;5x