Soaprman / FEFTwiddler

A save editor for Fire Emblem Fates
GNU General Public License v3.0
55 stars 17 forks source link

Research "none" skill bit #17

Open Soaprman opened 8 years ago

Soaprman commented 8 years ago

Otaku-chan mentioned something in her notes in #9 that the "none" bit in the learned skills block may be set if no other skills in that byte are learned.

In one of my test saves (I forget which), the first byte was set to 65 (64 + 1). So "none" was learned in addition to Defense +2.

More research is needed (probably with unhacked saves) to determine when exactly this bit should and shouldn't be set.

RealmsCrossMyths commented 8 years ago

I… I mentioned that? When? Maybe in the Mediafire skill bit order document document? I should probably update that. Too much going on right now.

That said, the "None"\"No Skill" is rather inconsistent in Fates. In Awakening, the "No Skill" and "Null" bits were always 0, unless someone hacked them to 1. Even if turned to 1, the "No Skill" skill wouldn't show up, as it likely wasn't an the equip skill menu, since characters know it by default, despite it not being on, as unequping a skill replaces it with 00, the byte for "No Skill". I have no clue how having the null bit turned on effects the game, but it doesn't show up in the menu either, since there's no skill data associated with it. And the first skill bit was literally called "No Skill", I know this, because on Serene's Forest, while someone rom hacking, their Robin used their No Skill skill to interrupt Validar's Astra after the first of five strikes. It's also the only skill you can have equipped more than once legitimately, again, skill byte 00.

Fates on the other had, has it set to 1 by default… but also has it set to 0 by default. hence the inconsistency. If you recruited a unit via story action (talking to them, completing a specific chapter, having non-avatar talk to them, et cetera, then the no skill bit is set to 1. If you recruit by non-story methods, capture or kidnap for example, the no skill bit is set to 0. This is even true for the capturable bosses like Lloyd amd Candace.

I don't know why this inconstancy exists in Fates, but my guess is that capture\kidnap was added later in development and the game adds equipped skills that aren't enemy-only to the captured unit's learned skill list, starting at skill byte 01, not 00, and since the enemy doesn't need to know any unequipped skills, enemy units don't have a learned skill lists, and instead of spawning a skill list starting with 01, the game loads an entirely empty skill list, making the first byte inconsistent with story characters.

All reasons are just speculation until we have someone from intelsys or Nintendo tell us, or someone reads all related game code and reports the results, so unlikely we'll know the truth any time soon. All I know, is that story units and captured units have it in different positions by default.