Pierce Fix

Whilst making new skills for Midnight Sun, I decided to make Pierce’s animation behave like the Japanese version, it forces the character to wait for the animation to finish before attacking like Sure Shot.

Change the bytes at 0x2B290 and 0x2B482 to 0xA0 to make it wait.
Not waiting is what makes Pierce so glitchy in the American version of FE8 so this will fix all of those glitches.

Edit: do this instead


Does this mean Wyvern Knights can pierce at range without locking the game? Because that’s awesome!

Yes that’s exactly what it means

Nice work! I just tested it out and it worked like a charm! I never noticed that Pierce has a unique sound effect at melee range, but doesn’t use it at range.

Yeah IS is notorious amongst veteran hackers for having jury-rigged code that’s held together by duct tape but this was surprisingly an easy fix although I did have to use some problem solving.

I’m not sure if there’s a thread for specific fixes like this, but there should be (in case anyone wanted to correct these in their eventual projects).

Out of curiosity, both offsets use 0x80 in the retail version, rather than the 0xA0 fix. If 0xA0 means to wait until the animation finishes, any clue what 0x80 was meant to do?

I know exactly what it does.
How do you think I knew to change it to 0xA0?
I don’t really want to explain what it did and how changing it works because it’s technical and complex and you wouldn’t understand unless you know about binary and bitmaps

Wow, that’s not really a nice thing to say.

That aside, even /if/ Temp doesn’t you should still document it for other curious people like me, and also so we have the knowledge for the future.

No worries, I was just curious is all. I’m sure the end users wouldn’t be interested in the finer details, as long as it fixes the issue really.

Which is a shame really, we need more nerds who like that fine detail stuff

Binary and bitmaps are actually not that difficult to understand really, but I digress. Great work fixing IntSys’s glitch!

1 Like

Temp, is there any way you can just make this part of an auto-patch for FE8? So when FEditor runs on an FE8 rom, it changes those bytes automatically?

Wait, we seriously just had to change one byte to get the game to not brick?

Not that it matters to me, no one I’ve seen before recent have made attempts to fix it in the first place. Great job there, I can now use Wyvern Knights without hesitation!

I don’t see why not, it’s literally changing 2 bytes. I’ll look into it, since I haven’t really messed with autopatching tbh.

otherwise fire up them hex editors amiright?

Yeah like it’s a stupidly easy fix, but something this tiny and fix patches of this level of importance should be added to feditor so noobs who run feditor on their rom for the first time would always have the updated fixes. (Not to mention just plain convenience for those of us who use fresh roms fairly often.)

Heck, I kinda wish FEditor would autopatch this fix too.

Well if you really want to know, in the battle data there’s a word long bitmap that’s used to see if all kinds of skills and abilities are active; here Pierce is bit 0x10000 Great Shield is 0x8000 and Sure Shot is 0x4000. When the game wants the Pierce animation, it loads 0x80 and shifts it left by 9 to get to the 0x10000 bit. What I did was I told the game to shift 0xA0 such that the Sure Shot bit is OR’d (0x14000) which apparently works.

I’m basically rewriting the entire skill system in C++ for Alfred right now so those offset values are irrelevant to me since I’m writing it such that you can set the animation later, but I thought it might be a good thing to share with everyone. I have massive amounts of notes that I plan on making public once I’m 100% done with the new skill engine.

Interesting that ORing Sure Shot fixed how pierce works. Thanks for the explanation Brendor, I follow what you did for the fix. Kudos for finding this & good luck on your skill system rewrite!

Thanks Temp, enjoy the nonbroken Pierce

1 Like

This change makes Sure Shot ignore defense, but the other change on its own seems to work fine.

1 Like

Really? That sounds like a good thing (IMO).
I mean Sure Shoot by itself was one of the worst skills in FE series.

It’s funny you brought this up, I actually found a better fix since

[quote]8059116 – change to 13 E0 to fix the Pierce glitch