Remove non-progressive bomb/cane upgrades
This commit is contained in:
@@ -1,13 +1,13 @@
|
|||||||
CheckReceivedItemPropertiesBeforeLoad:
|
CheckReceivedItemPropertiesBeforeLoad:
|
||||||
LDA $A0 : BEQ .normalCode
|
LDA $A0 : BEQ .normalCode
|
||||||
LDA $7EC005 : BNE .lightOff
|
LDA $7EC005 : BNE .lightOff
|
||||||
.normalCode
|
.normalCode
|
||||||
LDA.l AddReceivedItemExpanded_properties, X ;Restore Rando Code
|
JSL LoadReceivedItemExpandedProperties ; get palette
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
.lightOff
|
.lightOff
|
||||||
PHX : PHY : PHB
|
PHX : PHY : PHB
|
||||||
LDA.l AddReceivedItemExpanded_properties, X ; get palette
|
JSL LoadReceivedItemExpandedProperties ; get palette
|
||||||
|
|
||||||
REP #$30
|
REP #$30
|
||||||
AND #$0007 ; mask out palette
|
AND #$0007 ; mask out palette
|
||||||
|
|||||||
@@ -557,14 +557,18 @@ AddInventory:
|
|||||||
CPY.b #$B0 : !BGE +
|
CPY.b #$B0 : !BGE +
|
||||||
JSR .incrementKey
|
JSR .incrementKey
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CPY.b #$B1 : !BLT + ; Items $B1 - $B6 - Bomb Upgrades
|
+ CPY.b #$B6 : BNE + ; Item $B6 - Bomb Upgrade
|
||||||
CPY.b #$B7 : !BGE +
|
JSR .stampSword ; update "first bomb" timestamp
|
||||||
JSR .incrementBombLevel
|
LDA.l SpecialWeaponLevel ; get current bomb level
|
||||||
JMP .done
|
CMP #$05 : !BGE ++ ; check if already maxed
|
||||||
+ CPY.b #$B7 : !BLT + ; Items $B7 - $BC - Cane Upgrades
|
INC : STA.l SpecialWeaponLevel
|
||||||
CPY.b #$BD : !BGE +
|
++ JMP .done
|
||||||
JSR .incrementCaneLevel
|
+ CPY.b #$B7 : BNE + ; Item $B7 - Cane Upgrade
|
||||||
JMP .done
|
JSR .stampSword ; update "first cane" timestamp
|
||||||
|
LDA.l SpecialWeaponLevel ; get current cane level
|
||||||
|
CMP #$05 : !BGE ++ ; check if already maxed
|
||||||
|
INC : STA.l SpecialWeaponLevel
|
||||||
|
++ JMP .done
|
||||||
+
|
+
|
||||||
.done
|
.done
|
||||||
PLP : PLX : PLA
|
PLP : PLX : PLA
|
||||||
@@ -620,14 +624,6 @@ RTS
|
|||||||
+
|
+
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
.incrementBombLevel
|
|
||||||
JSR .stampSword ; update "first bomb" timestamp
|
|
||||||
RTS
|
|
||||||
|
|
||||||
.incrementCaneLevel
|
|
||||||
JSR .stampSword ; update "first cane" timestamp
|
|
||||||
RTS
|
|
||||||
|
|
||||||
.incrementShield
|
.incrementShield
|
||||||
LDA HighestShield
|
LDA HighestShield
|
||||||
INC : STA $04 : CPX $04 : !BLT + ; don't increment unless we're getting a better shield
|
INC : STA $04 : CPX $04 : !BLT + ; don't increment unless we're getting a better shield
|
||||||
@@ -669,7 +665,6 @@ RTS
|
|||||||
RTS
|
RTS
|
||||||
|
|
||||||
.incrementMail
|
.incrementMail
|
||||||
|
|
||||||
LDA HighestMail
|
LDA HighestMail
|
||||||
INC : STA $04 : CPX $04 : !BLT + ; don't increment unless we're getting a better mail
|
INC : STA $04 : CPX $04 : !BLT + ; don't increment unless we're getting a better mail
|
||||||
TXA : STA HighestMail
|
TXA : STA HighestMail
|
||||||
|
|||||||
@@ -29,9 +29,6 @@ ItemDowngradeFixMain:
|
|||||||
CPY.b #$13 : BEQ .isShovel ; Shovel
|
CPY.b #$13 : BEQ .isShovel ; Shovel
|
||||||
CPY.b #$29 : BEQ .isMushroom ; Mushroom
|
CPY.b #$29 : BEQ .isMushroom ; Mushroom
|
||||||
|
|
||||||
CPY.b #$B1 : !BLT + : CPY.b #$B6 : !BLT .isBombUpgrade : +
|
|
||||||
CPY.b #$B7 : !BLT + : CPY.b #$BC : !BLT .isCaneUpgrade : +
|
|
||||||
|
|
||||||
CPY.b #$00 : BEQ .isUncleSwordShield ; Fighter's Sword & Shield
|
CPY.b #$00 : BEQ .isUncleSwordShield ; Fighter's Sword & Shield
|
||||||
|
|
||||||
.done
|
.done
|
||||||
@@ -73,28 +70,6 @@ RTS
|
|||||||
JMP .done
|
JMP .done
|
||||||
+
|
+
|
||||||
PLA
|
PLA
|
||||||
JMP .done
|
|
||||||
.isBombUpgrade
|
|
||||||
PHA
|
|
||||||
TYA ; load bomb upgrade item
|
|
||||||
!SUB #$B0 ; convert to bomb level
|
|
||||||
CMP.l SpecialWeaponLevel : !BGE + ; skip if highest is lower (this is an upgrade)
|
|
||||||
LDA.l SpecialWeaponLevel : !ADD #$B0 ; convert to item id
|
|
||||||
TAY : PLA : LDA.l SpecialWeaponLevel ; put bomb level into the thing to write
|
|
||||||
JMP .done
|
|
||||||
+
|
|
||||||
PLA
|
|
||||||
JMP .done
|
|
||||||
.isCaneUpgrade
|
|
||||||
PHA
|
|
||||||
TYA ; load cane upgrade item
|
|
||||||
!SUB #$B6 ; convert to cane level
|
|
||||||
CMP.l SpecialWeaponLevel : !BGE + ; skip if highest is lower (this is an upgrade)
|
|
||||||
LDA.l SpecialWeaponLevel : !ADD #$B6 ; convert to item id
|
|
||||||
TAY : PLA : LDA.l SpecialWeaponLevel ; put cane level into the thing to write
|
|
||||||
JMP .done
|
|
||||||
+
|
|
||||||
PLA
|
|
||||||
JMP .done
|
JMP .done
|
||||||
.isUncleSwordShield
|
.isUncleSwordShield
|
||||||
PHA
|
PHA
|
||||||
|
|||||||
39
newitems.asm
39
newitems.asm
@@ -441,7 +441,6 @@ AddReceivedItemExpandedGetItem:
|
|||||||
LDA.b #$05 : STA ArrowsFiller ; add 5 arrows
|
LDA.b #$05 : STA ArrowsFiller ; add 5 arrows
|
||||||
BRA .done
|
BRA .done
|
||||||
+ CMP.b #$B6 : BNE + ; Bomb Upgrade
|
+ CMP.b #$B6 : BNE + ; Bomb Upgrade
|
||||||
LDA.l SpecialWeapons : CMP #$01 : BNE .done
|
|
||||||
LDA #$01 : STA InfiniteBombsModifier ; infinite bombs
|
LDA #$01 : STA InfiniteBombsModifier ; infinite bombs
|
||||||
JMP .done
|
JMP .done
|
||||||
+ : CMP.b #$B7 : BNE + ; Cane Upgrade
|
+ : CMP.b #$B7 : BNE + ; Cane Upgrade
|
||||||
@@ -599,30 +598,6 @@ AddReceivedItemExpanded:
|
|||||||
LDA !MULTIWORLD_ITEM_PLAYER_ID : BEQ +++
|
LDA !MULTIWORLD_ITEM_PLAYER_ID : BEQ +++
|
||||||
LDA.b #$0E : STA $02D8 : JMP .done ; Bee in a bottle
|
LDA.b #$0E : STA $02D8 : JMP .done ; Bee in a bottle
|
||||||
+++
|
+++
|
||||||
++ : CMP.b #$B6 : BNE ++ ; Progressive Bombs
|
|
||||||
LDA SpecialWeaponLevel
|
|
||||||
CMP.b #$00 : BNE + ; have no Bombs
|
|
||||||
LDA.b #$B1 : STA $02D8 : JMP .done
|
|
||||||
+ : CMP.b #$01 : BNE + ; have L-1 Bombs
|
|
||||||
LDA.b #$B2 : STA $02D8 : JMP .done
|
|
||||||
+ : CMP.b #$02 : BNE + ; have L-2 Bombs
|
|
||||||
LDA.b #$B3 : STA $02D8 : JMP .done
|
|
||||||
+ : CMP.b #$03 : BNE + ; have L-3 Bombs
|
|
||||||
LDA.b #$B4 : STA $02D8 : JMP .done
|
|
||||||
+ ; Everything Else
|
|
||||||
LDA.b #$B5 : STA $02D8 : JMP .done
|
|
||||||
++ : CMP.b #$BC : BNE ++ ; Progressive Cane
|
|
||||||
LDA SpecialWeaponLevel
|
|
||||||
CMP.b #$00 : BNE + ; have no Cane
|
|
||||||
LDA.b #$B7 : STA $02D8 : JMP .done
|
|
||||||
+ : CMP.b #$01 : BNE + ; have L-1 Cane
|
|
||||||
LDA.b #$B8 : STA $02D8 : JMP .done
|
|
||||||
+ : CMP.b #$02 : BNE + ; have L-2 Cane
|
|
||||||
LDA.b #$B9 : STA $02D8 : JMP .done
|
|
||||||
+ : CMP.b #$03 : BNE + ; have L-3 Cane
|
|
||||||
LDA.b #$BA : STA $02D8 : JMP .done
|
|
||||||
+ ; Everything Else
|
|
||||||
LDA.b #$BB : STA $02D8 : JMP .done
|
|
||||||
++
|
++
|
||||||
.done
|
.done
|
||||||
PLX : PLA
|
PLX : PLA
|
||||||
@@ -1363,3 +1338,17 @@ MaybeFlagCompassTotalEntrance:
|
|||||||
.done
|
.done
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
LoadReceivedItemExpandedProperties:
|
||||||
|
CPX.b #$B6 : BEQ .bomb_upgrade
|
||||||
|
LDA.l AddReceivedItemExpanded_properties, X ; load from table
|
||||||
|
RTL
|
||||||
|
.bomb_upgrade
|
||||||
|
LDA SpecialWeaponLevel
|
||||||
|
CMP.b #$01 : BNE + ; L1 Bombs
|
||||||
|
LDA.b #4 : RTL
|
||||||
|
+ : CMP.b #$02 : BNE + ; L2 Bombs
|
||||||
|
LDA.b #2 : RTL
|
||||||
|
+ : CMP.b #$03 : BNE + ; L3 Bombs
|
||||||
|
LDA.b #1 : RTL
|
||||||
|
+ ; Everything Else
|
||||||
|
LDA.b #5 : RTL
|
||||||
|
|||||||
Reference in New Issue
Block a user