So i used the time between exams and the new semester, and now a significant time into said semester, to give a crack at making an FE9 randomizer. What i ended up with was a Character Editor/Randomizer for Windows.
It takes a PAL and US FE9 root folder, that can be extracted with GCTool (remember to mark “Also extract header, apploader, DOL, and TOC”). All the decompressing/recompressing of relevant files is handled automatically with a modified version of Nintenlord’s compressor, including automatic recompressing if you exit without saving with the X button. Then GCrebuilder can be used to rebuild the ISO.
I’ve done what i can in the way of hint tooltips and ensuring people don’t break anything.
Character editing features:
- Weapon ranks — What weapons you can actually use is class based though
- Class — Automatically changes the models to class defaults
- Build and Weight
- Name ID — Doesn’t let you input a new name, just which name already in the game gets used
- Weapons and Items — Only replacing, no adding
- Skills — Only replacing, no adding
- Enemy growths
I also made a randomizer section with:
The randomizer creates a log with the changed values in it, as well as one with only the growths for avoiding spoilers.
Bases and Growths both swap Str and Mag so the higher one matches the class’s weapon type.
Class randomizing has some nuances: A character’s highest weaponrank is applied to the new class’s primary weapon, and the last item in their inventory becomes an Iron weapon for their new class. Laguz classes are handled by counting 1 laguz level = 2 beorc levels, and weapon ranks are assigned by level too. Laguz have a Laguz Stone as their starting weapon (i tested, it works).
Marcia and Jill are moved to appear in spots where they can be reached without flight.
As for the features i still can’t figure out:
- Allowing more items in starting inventories. Just putting the items in the dispos entries is not reflected in game, seems like everyone’s number of weapons/items is hardcoded somewhere.
- Allowing more skills than in vanilla. Same as above, just putting them in the empty slots is not reflected in game.
- Speeding up map animations. I can make units t-pose at each other for combat, and in the full battle animations that makes them go by in a flash, but not so for map animations sadly.
You can find it in my Onedrive public folder. You need the whole “FE9 Character Editor and Randomizer” folder: https://1drv.ms/f/s!AsfU3qRjcTTdhi8Mglgc0qgyEr-C
Source code on Github: https://github.com/jespoketheepic/FE9-Character-Editor-and-Randomizer
- Fixed enemy growth increase instead setting them to 0
- Illyana should be fixed now?
I added a fixing case for updating to v1.1 without re-randomizing: Open the new version of the editor, go to Illyana, press apply, set the enemy growth to 0, then save and quit. That should fix everything up, except Illyana past her recruitment. You are then free to open the editor back up to (now for real) re-apply the enemy growth increase. You can then re-build the iso with the fixes, it will work with the old save.
- The system.cmp simultaneous access issue should be fixed now.
- Skill randomizing, fixed the main bug, might be some bugs hiding under it still, idk.
- Ike can’t become classes that can’t fight.
- Fixed an NA version exclusive issue where skill randomizing went completely haywire.
- Lords and Thieves can now promote
- Randomizing now makes the laguz royals no longer transform when they arrive, to prevent them from de-promoting into beorc classes. I can sadly not edit this for each individually as it is the same cutscene for all three.
- Fixed an issue where the enormous HP growths of base game Laguz were counting negative to their growth total. I also put some new overflow protection on the growth randomizing.
- Removed all the unused Mages/Sages from the random selection. Increased the appearance odds of the standard ones to be higher, but it still results in less overabundance of magic units.
- Gatrie now also can’t become a laguz, like Shinon, again to prevent literal declawing upon rejoining.
- Known issue: Geoffrey always gets bow access for some reason? Use them at your own risk, it can crash in various ways.
- Hopefully now for real fixed an issue where the enormous HP growths of base game Laguz were counting negative to their growth total. I also put some new overflow protection on the growth randomizing.
- Fixed occasional wrong levels caused by the system for rerolling invalid results.