From 4c887ca0443f6a024f9505bb5182f74c32638abe Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sun, 12 Mar 2023 21:46:10 -0500 Subject: [PATCH] Fixed issue with forced HP on Good Bee Bonk Location --- Rom.py | 2 +- asm/owrando.asm | 19 +++++++++---------- data/base2current.bps | Bin 105775 -> 105783 bytes 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/Rom.py b/Rom.py index c2d0533d..f351d017 100644 --- a/Rom.py +++ b/Rom.py @@ -38,7 +38,7 @@ from source.dungeon.RoomList import Room0127 JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '4458a348e3040d79d0e28d572579fcb5' +RANDOMIZERBASEHASH = 'c27bdd316ea8312214643e0a4ea32c10' class JsonRom(object): diff --git a/asm/owrando.asm b/asm/owrando.asm index 3f3a7be0..c65ca10c 100644 --- a/asm/owrando.asm +++ b/asm/owrando.asm @@ -416,13 +416,13 @@ OWBonkGoodBeeDrop: LDA.l RoomDataWRAM[$0120].high : AND.b #$02 : PHA : BNE + ; check if collected LDA.b #$1B : STA $12F ; JSL Sound_SetSfx3PanLong ; seems that when you bonk, there is a pending bonk sfx, so we clear that out and replace with reveal secret sfx + - LDA.l OWBonkPrizeData+(42*6+4) : BEQ + ; multiworld item - LDA.l OWBonkPrizeData+(42*6+3) + LDA.l OWBonkPrizeTable[42].mw_player : BEQ + ; multiworld item + LDA.l OWBonkPrizeTable[42].loot JMP .spawn_item + .determine_type ; S = Collected, FlagBitmask, X (row + 2) - LDA.l OWBonkPrizeData+(42*6+3) ; A = item id + LDA.l OWBonkPrizeTable[42].loot ; A = item id CMP.b #$B0 : BNE + LDA.b #$79 : JMP .sprite_transform ; transform to bees + CMP.b #$42 : BNE + @@ -455,7 +455,7 @@ OWBonkGoodBeeDrop: + CMP.b #$B2 : BNE + LDA.b #$E3 : BRA .sprite_transform ; transform to fairy + CMP.b #$B3 : BNE .spawn_item - INX : INX : LDA.l OWBonkPrizeData+(42*6+5) + INX : INX : LDA.l OWBonkPrizeTable[42].vert_offset CLC : ADC.b #$08 : PHA LDA.w $0D00,Y : SEC : SBC.b 1,S : STA.w $0D00,Y LDA.w $0D20,Y : SBC.b #$00 : STA.w $0D20,Y : PLX @@ -469,14 +469,14 @@ OWBonkGoodBeeDrop: LDA.l RoomDataWRAM[$0120].high : ORA.b #$02 : STA.l RoomDataWRAM[$0120].high REP #$20 - LDA.l TotalItemCounter : INC : STA.l TotalItemCounter + LDA.l TotalItemCounter : INC : STA.l TotalItemCounter SEP #$20 BRA .return ; spawn itemget item .spawn_item ; A = item id ; Y = bonk sprite slot ; S = Collected PLX : BEQ + : LDA.b #$00 : STA.w $0DD0,Y : BRA .return - + LDA.l OWBonkPrizeData+(42*6+4) : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID + + LDA.l OWBonkPrizeTable[42].mw_player : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID LDA.b #$01 : STA !REDRAW @@ -494,10 +494,10 @@ OWBonkGoodBeeDrop: LDA.b #$00 : STA.w $0F20,Y ; layer the sprite is on ; sets OW event bitmask flag, uses free RAM - LDA.l OWBonkPrizeData+(42*6+2) : STA.w $0ED0,Y + LDA.l OWBonkPrizeTable[42].flag : STA.w $0ED0,Y ; determines the initial spawn point of item - LDA.w $0D00,Y : SEC : SBC.l OWBonkPrizeData+(42*6+5) : STA.w $0D00,Y + LDA.w $0D00,Y : SEC : SBC.l OWBonkPrizeTable[42].vert_offset : STA.w $0D00,Y LDA.w $0D20,Y : SBC #$00 : STA.w $0D20,Y LDA.b #$01 : STA !REDRAW : STA !FORCE_HEART_SPAWN @@ -506,7 +506,6 @@ OWBonkGoodBeeDrop: PLY LDA #$08 ; makes original good bee not spawn RTL - nop #20 } ; Y = sprite slot index of bonk sprite @@ -591,7 +590,7 @@ OWBonkDrops: LDX.b $8A : LDA.l OverworldEventDataWRAM,X : ORA 1,S : STA.l OverworldEventDataWRAM,X REP #$20 - LDA.l TotalItemCounter : INC : STA.l TotalItemCounter + LDA.l TotalItemCounter : INC : STA.l TotalItemCounter SEP #$20 + JMP .return diff --git a/data/base2current.bps b/data/base2current.bps index f12897a42e34bbc4aaa14a6c175c0ec7b49f9d35..afa8a1642722bfba64456decd9b60135f452e931 100644 GIT binary patch delta 8557 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