FE6 BugFixEdition (9/3/2022 - Silence "fix" fixed)

Hello everyone! My first project here was just a simple FE6 Redux. But since then, I’ve learned a lot about hacking, and today I present… …another simple FE6 Redux. Okay, maybe I haven’t learned that much.

link to the patch (apply to an untranslated FE6 rom. Hard mode is unlocked from the start): Dropbox - FE6_BugFixEdition - Simplify your life

The goal of FE6 Bugfix edition is to let you play the game the way it was intended to be played. I tried to find a bunch of examples where there was pretty strong evidence that the devs had intended for something to work differently than it does, and then change them to give the intended behavior.

Here’s a list of all the bugs I fixed:

Messed up deployment positions in chapters 2-5

This project was originally conceived a couple months ago, when I learned that the stupid deployment setups in earlygame FE6, with Merlinus leading the charge, are actually a bug. If you view the chapters in FEBuilder, you can see the intended deployment positions, which sensibly have Merlinus and Elen in the back. But whoever was in charge of making these setups apparently didn’t realize that who starts where is determined by the deployment order, not by the character IDs associated with the starting positions, which leads to the silly setups in the actual game (this issue obviously becomes moot after chapter 5, when you get access to preps).
BugFixEdition.emulator-3
BindingBladeFixedGrowths.emulator-2
[A comparison of the intended deployment positions for chapter 3 (top) and the ones that actually appear in the game (bottom)]

Double Hard Mode Bonuses in Chapters 1-5

In the chapters of FE6 before the prep screen, the turn 1 player phase event calls a function that applies hard mode bonuses to all enemy units on the field. However, the enemy units already have hard mode bonuses applied when they’re loaded. This leads to enemies that start on the map having their hard mode bonuses applied twice, making them very strong (and leading to a noticeable dropoff in enemy quality come chapter 6). I removed these calls, so that all enemies get the intended amount of hard mode bonuses, making early game significantly more manageable on hard mode.

Hard Mode Bonuses for recruitable units

Beloved as they are, hard mode bonuses for player units are pretty clearly a bug. The game has a list of “units who shouldn’t get hard mode bonuses”, and includes every playable unit who starts out red. Unfortunately, this list is only checked when applying hard mode bonuses at the start of the map, and not when applying them to reinforcements. Thus, only Raigh, Hugh, and chapter 16 Douglas are actually blocked from getting HMB, since every other recruitable red unit appears as a reinforcement. I reverted all recruitable units to their normal mode stats (this is accomplished in the somewhat hacky way of having them appear as green units who immediately turn red, because I didn’t feel like messing with the function that applies hmb).

Bugged RNG

While FE6 is not 1 RN as some people claim, there is a glitch where the RNG can very rarely generate a 100 rn, meaning that an attack (or more likely, a status staff) with 100 hit can miss. See here for more details: Fire Emblem6 Rng Data

It turns out that this bug also applies to the [0,n] rng which is used in generating hard mode bonuses, meaning that a unit can very rarely roll higher on their HMB than they should be able to (AFAIK this is not documented anywhere online, credit to muhmuhten for discovering this and providing a fix). My patch fixes both of these bugs.

Status Staff AI

Gryz summarizes the way that FE6 status staff AI works here: Gryz-255 comments on General Question Thread

The sleep/berserk AI is clearly intended to choose the target which maximizes (hitrate against target + target’s level), but since it forgets to store the hitrate, it pretty much always picks the last unit (unless the hitrate against them is less than the previous unit’s level). My patch fixes this, so sleep/beserk staff users will try to go for someone they have a good hitrate on (sorry Fae). The silence staff AI has been changed to target units with usable tomes or staves, instead of only those with usable staves. Credit to muhmuhten for the staff AI fixes.

Dragonstone Stealing

For some reason dragonstones are on the list of stuff that AI controlled thieves can steal. You could maybe argue this is intended behavior, since there’s not a clear way that they ended up on there, but given that there doesn’t seem to be any reason for them to be there, and how out of place they seem with the other stealable items, and how it was changed in later games, I’m comfortable calling this a bug. AI controlled thieves will no longer steal dragonstones in BugFixEdition.

Roy running in place after promoting

Now we’re getting to the really really trivial changes. The game waits longer than it needs to for Roy’s promotion event to run, leading to him awkwardly running in place for a few seconds after promoting. I reduced the wait time so Roy can avoid some embarrassment.

Shanna/Thea Talk in Ch19S

For some reason, Shanna and Thea have a talk conversation in chapter 19S. Since the conversation has no text, it’s pretty clearly not intended. This conversation has been removed.

Tweaks to individual enemies

There are 4 warriors in chapter 20xI who are level 18, consistent with the unpromoted units in the chapter instead of the other promoted units. They have been changed to level 7, to match one of the other warriors. Similarly, the level 15 warrior reinforcement in chapter 12 has been changed to level 7. A shaman in chapter 20xS has had his target AI changed from 28 (archers) to 08 (prioritize damage (standard)).

I know that this is not all of the bugs in FE6. There are some weird bugs with arena where you can end up fighting a brigand with a bow or a warrior with fire, but I couldn’t find any documentation on what causes that to occur, let alone how to fix it. There are also some bugs related to rankings (in particular the funds ranking is unusually easy if you get the best end) that I probably could have fixed with a bit more effort, but I ran out of motivation, because I never play ranked and I didn’t want to figure out how the game end event works. If you know a way to fix these, or any other bugs I’ve missed, feel free to let me know and I may update this at some point.

In addition to the regular BugFixEdition, which includes all the changes listed above, I added two more patches in the folder, which fix some things that are pretty clearly not bugs, but are also pretty widely agreed to be bad.

The “BugFixPlus11AFixes” adds a few very small changes to address the dumbest parts of Ch11A. Echidna now starts with an iron sword equipped so she doesn’t die the same enemy phase that she spawns, and Klein/Thea no longer have a 20% chance to not move. I also removed the “20% chance to not move” AI from chapters 10B and 15 (where it was applied to Garrett and his brigands), and I went ahead and removed the weird Galle AI from chapter 21. Since Klein/Thea/Galle got custom AIs, it seems pretty clear that they weren’t intended to just charge. But IMO the game plays better when they just have charge AI.

The “BugFixReduxVers” goes even farther (although it still has a very light touch as far as reduxes go). In particular, it makes the following 3 changes:

No Ambush Spawns

All turn-based enemy-phase reinforcements (same turn reinforcements) are changed to be player phase reinforcements. The zone based reinforcements in Ch6 and Ch7 are changed to be turn-based player phase reinforcements. The reinforcements for opening the bottommost doors in chapter 6 are removed. Note that Ch21 still has ambush spawns, because FE6 doesn’t have a setting for player phase zone-based reinforcements, and when I tried to change them to turn-based reinforcements it froze the game.

Halved avoid from gates and thrones

FE6 bosses can be kinda annoyingly dodgy. Boss fights are not really an engaging part of normal FE, so that’s not a great thing. Thrones only give 15 avoid now, so you have some more options against annoying bosses (this is especially nice since no HMB nerfs Rutger a bit).

Rapier/Horseslayer is effective against nomads and troubadours/valkyrie

This is a pretty small change, but it’s something that multiple people suggested as a “bug” so I figured I’d include it in the redux version. As for why it’s not an actual bug, even though it was changed in FE7/8, FE6 is following the tradition of FE3, where horse-effective weapons aren’t effective against bow cavalry. Also in the Japanese, the rapier says it’s effective against “knights” and it is in fact effective against the classes which have “knight” in their name. Unfortunately, there’s not a good way to translate this to English, since Cav/Paladin don’t use the word “knight”.

I’m not expecting that this will become anyone’s definitive version of FE6, but I figured it would probably be of interest to some people besides me. If you don’t like the gameplay of base FE6, this is probably not going to fix it for you. Play something like the Numbers Patch of Project Ember.

If you like FE6, but get annoyed at the tough earlygame, or you don’t like the idea of hmb, or you don’t like the fact that the rng is broken, or you just want a patch that removes ambush spawns and very little else, then this hack might be for you. If you have any questions or feedback, please let me know.

Credits:
muhmuhten for writing a bunch of asm for me.
Terraspark (and Gryz’s posts) for helping me understand status staff AI
7743 for FEBuilder
Gringe for the English translation patch
Folks in Mekkah’s Keep and the r/FE discord for helping me compile a list of bugs

7 Likes

but did you address this maniac in 20Ax
image

1 Like

Nope, the only changes are the ones listed above. Buff warriors seem to be an intended feature (and that guy is trapped in a box, so it’s not like he’s hard to deal with).

No he’s 100% a bug
All the tier one units are level 18, all the tier two units are level 5-7

1 Like

You know what, that’s fair. Being copy pasted from a tier 1 unit is a reasonable explanation. I just pushed a new version (of all three patches) which changes the four level 18 warriors in chapter 20xI to be level 7 (consistent with one of the other two warriors). I also changed the level 15 warrior in chapter in chapter 12 to be level 7 (slightly higher than the starting warrior, since his accompanying fighters are also higher level) with the same reasoning. And I changed the target AI of one shaman in Ch20xS from “archers” to “prioritize damage (standard)”, because I meant to do that before and forgot (he’s the only unit in the game to have archer AI without a flier-effective weapon, and given the number of bow units in Sacae, it’s pretty easy to see how he could get it by mistake).

1 Like

I’ve actually always disliked Hard mode bonuses, they make already good units amazing, and kept the others down. I might actually give this patch a try on my next playthrough. Good work!

If you don’t mind, could you make an additonal patch which has all the changes from the basic patch, but keeps enemies as they are? They certainly are bugs, but i don’t like the game being easier.

This is a pretty nifty version to have. l’m a bit stubborn and like to play games as close to vanilla as possible, but l do like bug fixes when l can get something minimally intrusive.

By the by, do you have a bit more information on some of these fixes? Particularly the RNG for “HMB” and Status staff AI. Those sound good for my own FE6 stuff.

Sorry for a long delay in responses here. Life got busy. I have just updated all three patches to include a few new minor bugfixes from muhmuhten which address two issues with the targeting AI’s bonus for being near allied units.

  1. The target AI bonus for being near allied units uses the following map, which has a hole in it due to a bug:
      1       
      2 1     
  1 2 3 2 1   
1 2 3   3 2 1 
  1 2 3 2 1   
    1 2 1     
      1 

BFE now fixes this hole.

  1. The bonus for being near allied units only allocates two tiles worth of zeroes as buffer, even though the bonuses map (above) has a radius of 3. This means it can potentially read garbage when the targeting at the very edge of the map. BFE now fixes this. EDIT: Apparently this breaks Ch24. The map is so big that there’s some kind of buffer overflow which leads to roofs not working and threat ranges not diplaying. That’s a bigger problem IMO than a minor AI bug, so I’m removing this fix. If I ever find a way to get it working without breaking Ch24, I’ll add it back.

Additionally, I created a 4th patch “BFE-StrongEnemies” for @Donlot and anyone else who doesn’t want their game getting easier. This is the same as the regular bugfix edition patch, except that it doesn’t reduce the HMB for chapters 1-5 and it doesn’t reduce the levels of the warriors in chapters 12 and 20xI.

1 Like

Does the Strong enemies patch have the same additional changes as the Redux version? I am personally not a big fan of those either, so if it does, and you wouldn’t mind, i would appreciate it without those changes.
That being said thanks for doing the strong enemies patch for me!

The strong enemies just includes the changes from the basic version of the patch, not the redux version.

1 Like

Be silent scrubknight
I don’t know if this hack is still supported, but I…er, think you accidentially enabled the enemy to target any usable weapon, instead of just magic. This effectively just makes it a copy of the Berserk/sleep-AI Judgement(Since that can also already target units with only usable staves too). I noticed this when my rom inherited that issue due to me copying over the relevant hex-changes from this one.

Edit: Actually, thinking about this some time later, the staff seemed to always target the same unit as pre-fix berserk/sleep, so maybe me calling it effectively a copy has another layer. Is it possible that silence has the same targeting-issue? Sounds believable, since no one would have noticed it with nobody fielding an army of staff-users.

1 Like

Oh dear, that’s a rather serious bug. Thanks for pointing it out! I had encountered and fixed this problem before, but it looks like I somehow ended up including an old and buggy version of the silence fix in the patch. All versions of the patch have been updated with new code for silence that should make it actually work as described in the OP (hopefully).