FE3-style unit transformations in GBAFE

So I’ve been thinking about how one might go about implementing the mid-map unit transformation abilities found in FE3 into the GBA Fire Emblem titles, and here’s a really basic run-down of how I’d go about it, not in any sort of coding notation, that I whipped up in about 45 minutes. Accommodations would need to be made in other parts of the code where relevant, as well, which will need ironing out, but I think the concept here is solid, unless the four “AI to Use” bytes actually are used by player units, in which case it may be a bit harder to find someplace to store some of these numbers.

FE3-STYLE TRANSFORMATION ARCHITECTURE

  • For Imitate, check classes of potential Imitate targets. Units in any dragon classes, including Manakete, should be excluded from target selection.
  • While a unit is transformed, the “Revert” command is available, just above “Wait”. Selecting Revert returns a unit to their untransformed state.
  • Revert routine should be automatically run when a map is cleared to restore Freelancer’s stats to their base values.
  • Stats altered by transformation are shown using the “+/-X” display type used for bonuses from Boots, Body Rings, and equipped weapons, or penalties from Rescuing other units. This is to prevent transformed status from interfering with the unit’s level up stat gains.
  • Luck is not affected by transformation.
  • Stat changes for Imitate are equal to Imitate target’s base stat value minus Freelancer’s base stat value, calculated individually for each stat. Class bases are factored in in both cases.
  • Stat changes for dragonstone transformations are equal to dragon form class’s base stat value minus transforming Manakete’s base stat value, calculated individually for each stat.
  • In all cases, transform bonuses stack with bonuses from Pure Water, Barrier, and equipped weapons.

The four AI address slots will be repurposed for player units to store…

  • Class to draw weapon availability and all sprite pointers from until the unit reverts back to their base form.
  • Weapon ID to fight with while transformed. This weapon data is also used to determine battle stats to display, including in the battle forecast and at the bottom of the Items page of the unit’s status screen. If the value is 0, unit battles using their currently-equipped weapon as usual.
  • Unit ID of transform target. The portrait and battle palette data associated with this unit ID will supersede the Freelancer’s on their status screen and in battle, respectively. If the value is 0, these functions are not applied.
  • Transformation duration. Decremented by 1 at the start of each player phase. When transformation duration reaches 0, the unit automatically reverts at the beginning of that player phase without consuming an action.

If anybody has any feedback or additional info or anything it’d be much appreciated! I’d love to see this functionality become a thing in GBAFE, and I’m hoping this is at least a solid blueprint-in-progress for it.

I don’t know exactly how fe3 does unit transformations, but you might be interested in this:

[ASM] Laguz Bars (FE8)

FE3 transformations are solely turncount-based, there’s not a bar like with laguz
my system could be used to make FE3-esque manaketes, but this looks to be Xane’s transformation thing which is different than how manakete transformations work

FE3 actually partially randomizes (there’s a minimum number of turns that you get) the duration based on the Manakete’s luck too, iirc
(this isn’t really that relevant, I guess, but yeah!)

1 Like