diff --git a/bin/PandorasBlocks.gbc b/bin/PandorasBlocks.gbc index 1687cbb..9b13dd4 100644 Binary files a/bin/PandorasBlocks.gbc and b/bin/PandorasBlocks.gbc differ diff --git a/bin/PandorasBlocks.map b/bin/PandorasBlocks.map index 3c9cf2e..8e109cc 100644 --- a/bin/PandorasBlocks.map +++ b/bin/PandorasBlocks.map @@ -1468,7 +1468,7 @@ ROMX bank #4: $4702 = FieldProcess.noeffect $4706 = FieldProcess.skipmovement $4706 = FieldProcess.donemanipulating - $4728 = FieldProcess.sonicdrop + $4722 = FieldProcess.sonicdrop $4733 = FieldProcess.sonicneutrallockskip $473d = FieldProcess.harddrop $474c = FieldProcess.donedeterminingharddropdistance @@ -2422,7 +2422,7 @@ ROMX bank #5: $4728 = BigFieldProcess.noeffect $472c = BigFieldProcess.skipmovement $472c = BigFieldProcess.donemanipulating - $474e = BigFieldProcess.sonicdrop + $4748 = BigFieldProcess.sonicdrop $4759 = BigFieldProcess.sonicneutrallockskip $4763 = BigFieldProcess.harddrop $4772 = BigFieldProcess.donedeterminingharddropdistance diff --git a/bin/PandorasBlocks.pocket b/bin/PandorasBlocks.pocket index b525c86..0e4d94f 100644 Binary files a/bin/PandorasBlocks.pocket and b/bin/PandorasBlocks.pocket differ diff --git a/bin/PandorasBlocks.sym b/bin/PandorasBlocks.sym index 8e90a9a..8ea8d23 100644 --- a/bin/PandorasBlocks.sym +++ b/bin/PandorasBlocks.sym @@ -1282,7 +1282,7 @@ 04:4702 FieldProcess.noeffect 04:4706 FieldProcess.skipmovement 04:4706 FieldProcess.donemanipulating -04:4728 FieldProcess.sonicdrop +04:4722 FieldProcess.sonicdrop 04:4733 FieldProcess.sonicneutrallockskip 04:473d FieldProcess.harddrop 04:474c FieldProcess.donedeterminingharddropdistance @@ -2147,7 +2147,7 @@ 05:4728 BigFieldProcess.noeffect 05:472c BigFieldProcess.skipmovement 05:472c BigFieldProcess.donemanipulating -05:474e BigFieldProcess.sonicdrop +05:4748 BigFieldProcess.sonicdrop 05:4759 BigFieldProcess.sonicneutrallockskip 05:4763 BigFieldProcess.harddrop 05:4772 BigFieldProcess.donedeterminingharddropdistance diff --git a/src/field.asm b/src/field.asm index d473db4..606a3e0 100644 --- a/src/field.asm +++ b/src/field.asm @@ -1460,10 +1460,7 @@ FieldProcess:: ld a, 1 ldh [hWantedG], a - ; Is a hard/sonic drop requested? Skip if in 20G mode. - ldh a, [hCurrentIntegerGravity] - cp a, 20 - jr z, .postdrop + ; Is a hard/sonic drop requested? ldh a, [hUpState] cp a, 1 jr nz, .postdrop @@ -1479,6 +1476,10 @@ FieldProcess:: ; Sonic drop. .sonicdrop + ; Skip in 20G mode. + ldh a, [hCurrentIntegerGravity] + cp a, 20 + jr z, .postdrop ld a, [wDropModeState] cp a, DROP_MODE_SNIC jr z, .sonicneutrallockskip @@ -3716,10 +3717,7 @@ BigFieldProcess:: ld a, 1 ldh [hWantedG], a - ; Is a hard/sonic drop requested? Skip if in 20G mode. - ldh a, [hCurrentIntegerGravity] - cp a, 20 - jr z, .postdrop + ; Is a hard/sonic drop requested? ldh a, [hUpState] cp a, 1 jr nz, .postdrop @@ -3735,6 +3733,10 @@ BigFieldProcess:: ; Sonic drop. .sonicdrop + ; Skip in 20G mode. + ldh a, [hCurrentIntegerGravity] + cp a, 20 + jr z, .postdrop ld a, [wDropModeState] cp a, DROP_MODE_SNIC jr z, .sonicneutrallockskip