Users browsing this thread: 1 Guest(s)
Final Requests for Help
04-08-2021, 01:49 PM
You asked in the shout-box about the Airborne Imp bug. This will not only concern Palidor, but also your Celes if she gets imped after she's queued a jump but before she's leapt into the air. That's how I discovered the bug, actually, with a dedicated jumper and with a jumping Imped enemy.
This isn't optimized because as I was experimenting with it I found I needed less code on the exit than I thought. As such, there will be a few empty bytes between the FBF2 part and the FBFD part. If you smash the two together you can save 8 bytes, but the backwards branch needs to be subsequently reduced by 8 bytes (to D0 F1).
Uses 21 bytes in C2. You can put it in another bank's freespace if you instead make a long jump (JML) from 02A0, but that command uses four bytes instead of three and thus doesn't fit in the existing space. You would have to recreate some of the surrounding code that you displace with the JML.
Imps will still be able to jump when forced (as in, they have a jump queued or Palidor intercedes), but they will come back down from those jumps instead of replacing the 'land' action with a fight command.
Code:
====================================
Airborne Imp fix
====================================
C2/02a0:
4C FD FB JMP FreespaceC2 ***Can be reolcated
C2/FBF2: ***Tied to space that follows, could be FBFA if %%% branch back is changed
4C DA 02 JMP ExitCommandBlock ; If airborne, skip the command blocking check so the imp can come down.
C2/FBFD: ***Freespace, but tied to space that precedes. Change %%% branch back if squished together.
C2 20 REP #$20
BD 18 30 LDA $3018,X
2C 2C 3F BIT $3F2C ; Are they in the middle of a Jump?
E2 20 SEP #$20
D0 E9 BRA Back to C2/FBF2 %%%% To move the first JMP to FBFA, make this D0 F1
BD E4 3E LDA $3EE4,X
4C A3 02 JMP $02A3 ; Continue with Imp check for command blocking.
Uses 21 bytes in C2. You can put it in another bank's freespace if you instead make a long jump (JML) from 02A0, but that command uses four bytes instead of three and thus doesn't fit in the existing space. You would have to recreate some of the surrounding code that you displace with the JML.
Imps will still be able to jump when forced (as in, they have a jump queued or Palidor intercedes), but they will come back down from those jumps instead of replacing the 'land' action with a fight command.
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)