Add L-1 bombs as separate from no bombs in bomb-only mode
This commit is contained in:
@@ -145,6 +145,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:
|
||||
|
||||
@@ -2756,6 +2756,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
|
||||
|
||||
62
newitems.asm
62
newitems.asm
@@ -40,11 +40,12 @@
|
||||
; #$90 - Big Keys
|
||||
; #$A0 - Small Keys
|
||||
; #$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
|
||||
; #$FE - Server Request (Asychronous Chest)
|
||||
; #$FF - Null Chest
|
||||
;--------------------------------------------------------------------------------
|
||||
@@ -400,6 +401,11 @@ AddReceivedItemExpandedGetItem:
|
||||
LDA $7EF36F : INC : STA $7EF36F
|
||||
++
|
||||
JMP .done
|
||||
+ CMP.b #$B1 : !BLT + : CMP.b #$B6 : !BGE + ; Bomb Upgrades
|
||||
LDA.l SpecialBombs : BEQ ++
|
||||
LDA #$01 : STA $7F50C9 ; infinite bombs
|
||||
++
|
||||
BRA .done
|
||||
+
|
||||
.done
|
||||
PLX
|
||||
@@ -508,7 +514,7 @@ AddReceivedItemExpanded:
|
||||
LDA $7EF340 : INC : LSR : CMP.l ProgressiveBowLimit : !BLT +
|
||||
LDA.l ProgressiveBowReplacement : STA $02D8 : JMP .done
|
||||
+ : CMP.b #$00 : BNE + ; No Bow
|
||||
LDA.b #$3A : STA $02D8 : BRA .done
|
||||
LDA.b #$3A : STA $02D8 : JMP .done
|
||||
+ ; Any Bow
|
||||
LDA.b #$3B : STA $02D8 : BRA .done
|
||||
++ : CMP.b #$65 : BNE ++ ; Progressive Bow 2
|
||||
@@ -526,16 +532,18 @@ AddReceivedItemExpanded:
|
||||
JSL.l GetRNGItemMulti : STA $02D8
|
||||
LDA #$FF : STA !LOCK_IN ; clear lock-in
|
||||
BRA .done
|
||||
++ : 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
|
||||
@@ -585,8 +593,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 ; reserved for bee traps
|
||||
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
|
||||
@@ -627,8 +635,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 ; reserved for bee traps
|
||||
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
|
||||
@@ -673,8 +681,8 @@ org $A08800
|
||||
;db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; *EVENT*
|
||||
;db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; *EVENT*
|
||||
db $49 ; reserved for bee traps
|
||||
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
|
||||
@@ -714,8 +722,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 ; reserved for bee traps
|
||||
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
|
||||
@@ -756,8 +764,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 ; reserved for bee traps
|
||||
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
|
||||
@@ -799,8 +807,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 ; reserved for bee traps
|
||||
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
|
||||
@@ -844,8 +852,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 ; reserved for bee traps
|
||||
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
|
||||
@@ -932,8 +940,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 ; reserved for bee traps
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
11
tables.asm
11
tables.asm
@@ -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)
|
||||
|
||||
@@ -152,9 +152,9 @@ RTL
|
||||
|
||||
;Bx
|
||||
db $49 ; reserved for bee traps
|
||||
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
|
||||
@@ -288,8 +288,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 $08 ; reserved for bee traps
|
||||
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
|
||||
|
||||
@@ -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
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user