Add L-1 bombs as separate from no bombs in bomb-only mode

This commit is contained in:
2021-07-11 12:52:20 -07:00
parent 8d92e39451
commit da14e440c7
8 changed files with 61 additions and 44 deletions

View File

@@ -147,6 +147,11 @@ SetEscapeAssist:
BIT.b #$20 : BEQ + : STA !INFINITE_BOMBS : +
BIT.b #$10 : BEQ + : STA !INFINITE_ARROWS : +
++
LDA.l SpecialBombs : BEQ +
LDA.l $7EF4A8 : BEQ +
LDA #$01 : STA !INFINITE_BOMBS
+
RTL
;--------------------------------------------------------------------------------
SetSilverBowMode:

View File

@@ -2827,6 +2827,7 @@ JSL DrawSwordInMenu
BRA + : NOP #16 : +
;--------------------------------------------------------------------------------
org $0DFC51 ; is this being used? I hope not! let's find out if anything breaks!
db $F5, $20, $F5, $20, $F5, $20, $F5, $20
db $B2, $3C, $B3, $3C, $C2, $3C, $17, $3C
db $B2, $2C, $B3, $2C, $C2, $2C, $18, $2C
db $B2, $24, $B3, $24, $C2, $24, $19, $24

View File

@@ -40,11 +40,12 @@
; #$90 - Big Keys
; #$A0 - Small Keys
; #$B0 - Bee Trap
; #$B1 - L-2 Bombs
; #$B2 - L-3 Bombs
; #$B3 - L-4 Bombs
; #$B4 - L-5 Bombs
; #$B5 - Progressive Bombs
; #$B1 - L-1 Bombs
; #$B2 - L-2 Bombs
; #$B3 - L-3 Bombs
; #$B4 - L-4 Bombs
; #$B5 - L-5 Bombs
; #$B6 - Progressive Bombs
; #$FE - Server Request (Asychronous Chest)
; #$FF - Null Chest
;--------------------------------------------------------------------------------
@@ -412,6 +413,11 @@ AddReceivedItemExpandedGetItem:
LDA.b #$79 : JSL Sprite_SpawnDynamically : BMI + ; DashBeeHive_SpawnBee
LDA $22 : STA $0D10, Y : LDA $23 : STA $0D30, Y ; from enemizer's Spawn_Bees
LDA $20 : STA $0D00, Y : LDA $21 : STA $0D20, Y
+ CMP.b #$B1 : !BLT + : CMP.b #$B6 : !BGE + ; Bomb Upgrades
LDA.l SpecialBombs : BEQ ++
LDA #$01 : STA $7F50C9 ; infinite bombs
++
BRA .done
+
.done
PLX
@@ -558,16 +564,18 @@ AddReceivedItemExpanded:
LDA !MULTIWORLD_ITEM_PLAYER_ID : BEQ +++
LDA.b #$0E : STA $02D8 : BRA .done ; Bee in a bottle
+++
++ : CMP.b #$B5 : BNE ++ ; Progressive Bombs
++ : CMP.b #$B6 : BNE ++ ; Progressive Bombs
LDA $7EF4A8
CMP.b #$00 : BNE + ; L-1 Bombs
CMP.b #$00 : BNE + ; have no Bombs
LDA.b #$B1 : STA $02D8 : JMP .done
+ : CMP.b #$01 : BNE + ; L-2 Bombs
+ : CMP.b #$01 : BNE + ; have L-1 Bombs
LDA.b #$B2 : STA $02D8 : JMP .done
+ : CMP.b #$02 : BNE + ; L-3 Bombs
+ : CMP.b #$02 : BNE + ; have L-2 Bombs
LDA.b #$B3 : STA $02D8 : JMP .done
+ ; Everything Else
+ : CMP.b #$03 : BNE + ; have L-3 Bombs
LDA.b #$B4 : STA $02D8 : JMP .done
+ ; Everything Else
LDA.b #$B5 : STA $02D8 : JMP .done
++
.done
PLX : PLA
@@ -578,10 +586,6 @@ AddReceivedItemExpanded:
;--------------------------------------------------------------------------------
;DATA AddReceivedItemExpanded
{
; This is a temporary measure for Fish to have consistent addresses
warnpc $A08800
org $A08800
.y_offsets
db -5, -5, -5, -5, -5, -4, -4, -5
db -5, -4, -4, -4, -2, -4, -4, -4
@@ -617,8 +621,8 @@ org $A08800
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Free Big Key
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Free Small Key
db -4 ; Bee Trap
db -4, -4, -4, -4, -4 ; Bomb Upgrades
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
db -4, -4, -4, -4, -4, -4 ; Bomb Upgrades
db -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
@@ -659,8 +663,8 @@ org $A08800
;db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; *EVENT*
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Small Key
db 0 ; Bee Trap
db 0, 0, 0, 0, 0 ; Bomb Upgrades
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
db 0, 0, 0, 0, 0, 0; Bomb Upgrades
db 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
@@ -706,8 +710,8 @@ org $A08800
;db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; *EVENT*
db $47 ; Bee Trap
db $13, $13, $13, $13, $13 ; Bomb Upgrades
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $13, $13, $13, $13, $13, $13 ; Bomb Upgrades
db $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
@@ -747,8 +751,8 @@ org $A08800
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Free Big Key
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; Free Small Key
db $02 ; Bee Trap
db $02, $02, $02, $02, $02 ; Bomb Upgrades
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
db $02, $02, $02, $02, $02, $02; Bomb Upgrades
db $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
@@ -789,8 +793,8 @@ org $A08800
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Big Key
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Small Key
db 1 ; Bee Trap
db 5, 5, 5, 5, 5 ; Bomb Upgrades
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
db 5, 5, 5, 5, 5, 5 ; Bomb Upgrades
db 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
@@ -832,8 +836,8 @@ org $A08800
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Free Big Key
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Free Small Key
dw $F36A ; Bee Trap
dw $F4A8, $F4A8, $F4A8, $F4A8, $F4A8 ; Bomb Upgrades
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
dw $F4A8, $F4A8, $F4A8, $F4A8, $F4A8, $F4A8 ; Bomb Upgrades
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
@@ -877,8 +881,8 @@ org $A08800
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Free Big Key
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Free Small Key
db $FF ; Bee Trap
db $01, $02, $03, $04, $FF ; Bomb Upgrades
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
db $01, $02, $03, $04, $05, $FF ; Bomb Upgrades
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
@@ -965,8 +969,8 @@ Link_ReceiveItemAlternatesExpanded:
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Free Big Key
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Free Small Key
db -1 ; Bee Trap
db -1, -1, -1, -1, -1 ; Bomb Upgrades
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
db -1, -1, -1, -1, -1, -1 ; Bomb Upgrades
db -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused

View File

@@ -29,15 +29,16 @@ DamageClassCalc:
.not_cane
CMP #$07 : BNE .no_change
LDA SpecialBombs : BEQ .normal_bombs
LDA !BOMB_LEVEL : BEQ .normal_bombs
LDA $0E20, X : CMP.b #$D6 : BEQ .unstunned_ganon
CMP.b #$D7 : BEQ .stunned_ganon
CMP.b #$88 : BEQ .mothula
CMP.b #$92 : BEQ .helmasaur_king
.bomb_level
LDA !BOMB_LEVEL : INC A
LDA !BOMB_LEVEL
BRA .done
.mothula
LDA !BOMB_LEVEL : INC A
LDA !BOMB_LEVEL
CMP #$04 : !BGE .fix_mothula
BRA .done
.fix_mothula

View File

@@ -135,7 +135,7 @@ CheckTabletSword:
LDA.b #$02 : RTL
+
LDA.l SpecialBombs : BEQ +
LDA $7EF4A8 : CMP #$01 : !BLT + ; check for master bombs
LDA $7EF4A8 : CMP #$02 : !BLT + ; check for master bombs
LDA.b #$02 : RTL
+
LDA $7EF359 ; get actual sword value

View File

@@ -1412,11 +1412,12 @@ db $04
;AF - Generic Small Key
;B0 - reserved for bee traps
;B1 - L-2 Bombs
;B2 - L-3 Bombs
;B3 - L-4 Bombs
;B4 - L-5 Bombs
;B5 - Progressive Bombs
;B1 - L-1 Bombs
;B2 - L-2 Bombs
;B3 - L-3 Bombs
;B4 - L-4 Bombs
;B5 - L-5 Bombs
;B6 - Progressive Bombs
;================================================================================
;;Residual Portal
;org $0283E0 ; PC 0x103E0 (Bank02.asm:816) (BNE)

View File

@@ -162,9 +162,9 @@ RTL
;Bx
db $2C ; Bee Trap
db $13, $13, $13, $13, $13 ; Bomb Upgrades
db $13, $13, $13, $13, $13, $13 ; Bomb Upgrades
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
@@ -298,8 +298,8 @@ RTL
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Big Key
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Small Key
db $04 ; Bee Trap
db $0A, $0A, $0A, $0A, $0A; Bomb Upgrades
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
db $0A, $0A, $0A, $0A, $0A, $0A ; Bomb Upgrades
db $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused

View File

@@ -9,7 +9,7 @@ SpawnZelda:
+ RTL
;--------------------------------------------------------------------------------
EndRainState:
LDA $7EF3C5 : CMP.b #$02 : !BGE + ; skip if past escape already
LDA $7EF3C5 : CMP.b #$02 : !BGE ++ ; skip if past escape already
LDA.l EscapeAssist : AND #$44
CMP #$04 : BNE + : LDA #$00 : STA !INFINITE_MAGIC : +
CMP #$40 : BNE + : STA !INFINITE_MAGIC : +
@@ -19,8 +19,13 @@ EndRainState:
LDA.l EscapeAssist : AND #$11
CMP #$01 : BNE + : LDA #$00 : STA !INFINITE_ARROWS : +
CMP #$10 : BNE + : STA !INFINITE_ARROWS : +
LDA.l SpecialBombs : BEQ +
LDA.l $7EF4A8 : BEQ +
LDA #$01 : STA !INFINITE_BOMBS
+
LDA.b #$02 : STA $7EF3C5 ; end rain state
JSL MaybeSetPostAgaWorldState
+
++
RTL
;--------------------------------------------------------------------------------