diff --git a/data/damage_table.bin b/data/damage_table.bin index 557656e..04d1976 100644 Binary files a/data/damage_table.bin and b/data/damage_table.bin differ diff --git a/hooks.asm b/hooks.asm index f7b00c3..649de26 100644 --- a/hooks.asm +++ b/hooks.asm @@ -2714,3 +2714,7 @@ NOP #2 ; helmie's mask is brittle org $1E8112 db $03, $03, $03, $03, $00 + +; vitreous - bombs work a bit better +org $0DB938 +db $0C diff --git a/newhud.asm b/newhud.asm index afd7ae2..baf041a 100644 --- a/newhud.asm +++ b/newhud.asm @@ -4,7 +4,7 @@ NewDrawHud: ; Draw bomb count ;================================================================================ - LDA.l InfiniteBombs : BNE .infinite_bombs + JSL CheckInfiniteBombs : BNE .infinite_bombs .finite_bombs LDA.l SpecialWeapons : CMP #$01 : BNE .normal LDA.l SpecialWeaponLevel : BEQ .no_bombs diff --git a/quickswap.asm b/quickswap.asm index e4bc0f3..77f242a 100644 --- a/quickswap.asm +++ b/quickswap.asm @@ -83,7 +83,7 @@ LCode: RTS IsItemAvailable: - LDA.l InfiniteBombs : BEQ .finite + JSL CheckInfiniteBombs : BEQ .finite .infinite CPX.b #$04 : BNE .finite LDA.b #$01 : RTL diff --git a/retro.asm b/retro.asm index ded4fd3..5f033e0 100644 --- a/retro.asm +++ b/retro.asm @@ -1,25 +1,25 @@ LoadBombCount: - LDA.l InfiniteBombs : BNE .infinite + JSL CheckInfiniteBombs : BNE .infinite .finite LDA.l BombsEquipment .infinite RTL LoadBombCount16: - LDA.l InfiniteBombs : AND.w #$00FF : BNE .infinite + JSL CheckInfiniteBombs16 : BNE .infinite .finite LDA.l BombsEquipment .infinite RTL StoreBombCount: JSL IncrementBombsPlacedCounter - PHA : LDA.l InfiniteBombs : BEQ .finite + PHA : JSL CheckInfiniteBombs : BEQ .finite .infinite PLA : LDA.b #$01 : RTL .finite PLA : STA.l BombsEquipment RTL SearchForEquippedItem: - LDA.l InfiniteBombs : BEQ + + JSL CheckInfiniteBombs : BEQ + LDA.b #$01 : LDX.b #$00 : RTL + LDA.l BowEquipment ; thing we wrote over diff --git a/trolls.asm b/trolls.asm index aeb651f..ab4c90b 100644 --- a/trolls.asm +++ b/trolls.asm @@ -1,5 +1,5 @@ IFrameData: - db $00, $14, $28 + db $00, $10, $20 CalcIFrames: LDA.l ArmorEquipment PHX : TAX @@ -199,3 +199,27 @@ AgaDecision: STZ.w $0E30, X CMP.b #$04 RTL + +CheckInfiniteBombs: + LDA.l InfiniteBombs : BNE .yes + LDA.b RoomIndex + CMP.b #$90 + BEQ .yes +.no + LDA.b #$00 + RTL +.yes + LDA.b #$01 + RTL + +CheckInfiniteBombs16: + LDA.l InfiniteBombs : AND.w #$00FF : BNE .yes + LDA.b RoomIndex : AND.w #$00FF + CMP.w #$0090 + BEQ .yes +.no + LDA.w #$0000 + RTL +.yes + LDA.w #$0001 + RTL