Current Version: 1.3 (Shut up Tobin Edition)
This is a randomization tool to generate a randomized class run of Fire Emblem Echoes: Shadow of Valentia. Right now, the tool is pretty simple, it generates a table of a character's class progression and gives the option to export the class table, either as a CSV for your reference, or as a JSOn for use with Paragon or other applications which support importing a JSON of the similar format to edit game data.
If you want to do a randomized run of Fire Emblem Echoes: Shadows of Valentia, you will need a few things for the best experience. There are curently 2 methods to do this, one: editing the romfs (is a little tricky but will make your life easier in the long run) and two: using NTR cheats to set classes at Mila altars (is easier to set up, but will be a major pain as time goes on). Regardless of what option you choose, you will need a 3DS with Luma3DS or a similar CFW with NTR's most recent cheat database as well as a physical or digital copy of Fire Emblem Echoes: Shadows of Valentia (NTR's cheat database will come stock if you choose Luma and no extra install is needed).
-A Windows machine
-GodMode9 or a way to obtain SoV's romfs
-thane98's Paragon application (it does require you to install some python and rust libraries in order for it to run)
-A modern web browser (except for Microsoft Edge, for some reason it really hates jQuery. This has been tested on the most recent versions of Chrome and Firefox, so use those if you can't get them to work elsewhere.)
-Some way to view a CSV
This is a little easier in terms of initial setup, but definetly has drawbacks. I'd only reccomend this way for someone who is having difficulties getting the proper Python and Rust libraries installed to run Paragon/isn't able to run Paragon due to other limitations.
The only way to reclass into your next randomized class, at least until some work gets done, is to use the same NTR cheat in the Luma3DS method to promote to a higher class. Unfortunately, it's highly likely that when you go to reclasss using the Mila Altar, your 3DS will crash due to an ARM11 exception. This is because cheats and RomFS do not cooperate, even if they modify different things. However, there is a way to fix this. The steps to do so are below:
Here is a breakdown of all the randomization rules (In Progress):
This is on by default and allows all the standard classes in the game to be added to the class pool. While this is the standard array of classes, this will not gender lock classes, so you will get cross-gender class assignments such as as a Female Bow Knight or a Male Cleric. This will also include standard single-promotion classes such as mages and pegasus knights. You will have the option of how to determine the tiers of the classes; with you either having the option to select the base class as being tier 1 and 2, or selecting the promoted class to be tier 2 and 3.
The classes included are:
Tier | Classes |
---|---|
1 | Villager, Archer, Cavalier, Soldier, Mercenary, Boy, Girl |
2 | Myrmidon, Sniper, Paladin, Knight, |
3 | Dread Fighter, Baron, Bow Knight, Gold Knight |
1/2 | Mage (Male and Female), Pegasus Knight, Cleric |
2/3 | Falcon Knight, Sage, Priestess, Saint |
This allows all Amiibo-exclusive classes to be options. Amiibo-exclusive classes were the classes of the illusory fighters that can be summoned via scanning Amiibos such as Lucina, Roy, and Robin. These classes are untiered and possilbe randomizations at every level if enabled. This is by far the coolest option, since the characters models classed into these look a lot like how the Lodestar, Great Lord, Ranger, and Tactitian classes were in Fates! So, this means that you could be classed as Lucina, or Marth if you so pleased. It is highly reccomended that you edit the various Amiibo class strengths in paragon to be a value between 5 and 8 so that the Amiibo class characters don't become weak Jagens and steal all the XP (their default class strength is 9 and will make the early game extremely difficult if you decide to keep it that way). In total, this allows for these classes to be used:
Tier | Classes |
---|---|
1, 2 and 3 | Lord (Marth), Lord (F. Corrin), Lord (M. Corrin), Lord (Roy), Lord (Lucina), Hero (Ike), Tactitian (Robin) |
This allows all compatible Enemy-exclusive classes to be options. It was a tough choice, but I decided to only include the Enemy Classes that look reasonably like someone was that class for this. This basically means do the heads fit on well (or does the class do a good job at fully concealing the head), and with the exception of a little bit of clipping, does it feel like you character could truly be that class? If you want every single Enemy class available for class change, check this box and the Ugly Classes option. Checking just Enemy Classes allows these possible classes:
Tier | Classes |
---|---|
1 | Arcanist, Brigand, Mogall |
2 | Mogall, Brigand |
3 | Balor, Dagon, Fire Dragon, Fiend, Guardian |
Untiered | Cantor, Arcanist, Witch |
This option adds all enemy classes that are reasonablay balanced but don't have a good way to position the head to the class pool. This does result in the game feeling much more hacked and thereby breaking immersion.
Note about Revenant/Entombed Classes: Both of these classes have mirrored versions of their normal classes in which you have access to numbing or posion claws. Due to the massive power that this gives you in the early game, I have opted to consider the Venin/Numbing Claw variants promoted versions of the original due to how busted the poisioned/numbing conditions are.
Tier | Classes |
---|---|
1 | Gargoyle, Entombed (Normal), Revenant (Normal), Bonewalker |
2 | Entombed (Numbing), Entombed (Venin), Revenant (Numbing), Revenant (Numbing), Titan, Lich, Necodragon, Fafnir, Bonewalker |
3 | Deathgoyle, Lich, Garuda, Deimos, Vestal, Mila's Apostole, White Dragon, Duma's Servant |
Untiered | None |
Checking this will allow for you to have classes that are just plain broken. Due to either high stats or something not being right with them, they've been relegated to broken. I will also include a reason to explain their placement.
Class | Tier | Reason |
---|---|---|
Fell God | Untiered (To powerful to really belong in any tier) | Has insane stats, can cause the game to crash, and is unable to attack. |
Fell Dragon | Untiered (To powerful to really belong in any tier) | Has insane stats/weapons, and can cause the game to crash. |
I am including a table of classes not included in the randomizer to be transparent. I deemed these classes irrelevant for 99.9% of runs and decided not to include these. If you really feel like they need to be included, then I will patch in a choice for a future update.
Class Name | Reason |
---|---|
Player Boat | Has 0 movement and was never intended to be an actual character. Also will not be able to wield weapons unless you Mila the character with them holding a weapon (unconfirmed). |
Enemy Boat | See Player Boat |
Unknown | This is a generic class for when the game can't load a class. (ex. if you don't have DLC installed and a character like Alm is a Conqueror). In this class, your character retains its stats, but its movement is reduced to 1 and the unit cannot attack. The character's class is reverted back to its intended class if either the system is able to load the correct class data via reboting/inserting an SD card with the class data, opening a file on a console that has the class data installed. This class is mostly designed as an anti-DLC-sharing mechanic that Echoes implemented that's much harsher than Awakening. In Awakening, all that happened if you couldn't load the DLC Dread Fighter and Bride Classes was that they became a generic tactitian and lost their class skills but still retained their ability to attack and could fight. |
Throught some testing, I have determined that Alm can only be reclassed into a Fighter, Hero, Conqueror, or Unknown and still retain the ability to attack in dungeons. This means that for certain dungerons, you can potentially softlock yourself inside a dungeon since Alm will not be able to break boxes blocking the path to the boss. The most prominent exmaple of this is the Fear Mountain Shrine on Alm's route, where there is a Mila altar that is blocked by a stone wall and some boxes. If you enter the room and reclass Alm into a class other than his class tree or an Unknown, he will lose the ability to attack when you press A, meaning that once you leave the Mila statue, you can potentially softlock the game, or lose the ability to thoroughly explore most dungeoons.
As most of you know, some characters are naturally oriented towards spellcasting (ex. Kliff, Mae, Conrad, Delthea), and as a result have a special spell list that dictates which spells they learn. For example, here is Mae's Spell list (Source: Fire Emblem Fandom):
Class | Level Learnt | Spell |
---|---|---|
Mage | 1 | Fire Thunder |
9 | Aura | |
14 | Seraphim | |
Priestess | 1 | Recover |
6 | Silence | |
Cleric | 1 | Nosferatu Recover |
Saint | 1 | Seraphim |
6 | Silence | |
Harrier | 1 | Fire |
Enchantress | 1 | Mire Death |
Exemplar | 1 | Ward Restore |
Now you migh be a little confused as to why I'm bringing this up, since most Echoes players are aware of how spell lists work. Well, here's where it gets tricky. From some research and testing, not all spellcasting classes are created equal. An important thing to note before you get excited about randomized classes is that with a few special exceptions, no classes have a custom spell list where they can learn special spells like Miasma, Mire, Death, Medusa, Occular Beam, or Oculus. If you do want to add these spells in, you can use paragon to hack it in. A lot of this information is mainly just for people who want to retain everything about the game except for classes, so disregard this if you're going to hack a lot of stuff in using paragon.
From what I've figured out, it seems as there are basically four ways that spells are inherited
Here is a table of class data I've compiled on this:
Class | Spell List Type | Notes |
---|---|---|
Mage (of the opposite gender) | Roll-Over spells + Learned Spells | Will treat the character like a normal mage regardless of gender |
Sage (If female character) | Roll-Over spells + Learned Spells | Will treat the female character like a Priestess and give them Priestess spells and mage spells if they didn't get them earlier |
Priestess | Roll-Over Spells + | See Sage, does the same thing but flipped |
Priestess (Celica) | Roll-Over spells + Learned Spells | Treats the character like a mage, and can level up and learn mage spells |
Princess | Roll-Over spells + Learned Spells | Treats characters like a promoted Sage/Priestess |
Rigain | Preset Spells | It's not possible to directly class into the Overclasses as far as I know since its DLC, so you'd have to be a Princess to progress into this class line without some tricky save editing. Regardless, I found from testing that you will allways learn Aura if you Idol to Enchantress, even if you're not supposed to be in this class. |
Enchantress | Preset Spells | It's not possible to directly class into the Overclasses as far as I know since its DLC, so you'd have to be a Priestess to progress into this class line without some tricky save editing. Regardless, I found from testing that you will allways learn Mire and Death if you Idol to Enchantress, even if you're not supposed to be in this class. |
Guru | Preset Spells | Similar to the Enchantress, it's not possible to directly class into the Overclasses at this point without some save editing. When you class into Guru via Mila, you will gain access to the Guru's standard Lemegeton white magic. |
Cleric | None | Will teach Noseferatu/your normal spells if you have a cleric spell list. Otherwise, you will just learn your mage class list. |
Saint | Roll-Over Spells + Learned Spells | Will roll over your mage spells or cleric spells if you have a cleric spell list, and if you did not go through a magic progression earlier, you will get your Cleric/Saint/Mage spells at their levels. |
Exemplar | Preset Spells | It's not possible to directly class into the Overclasses at this point as far as I know, so you'd have to be a Saint to progress into this class line. Regardless if you Altar into this class, you will gain the preset Ward and Restore spells even if you don't have a cleric spell list. |
Harrier | Preset Spells | Similar to other overclassed casters. Harriers will allways learn Fire. |
Arcanist | Roll-Over Spells + Learned Spells | Learns mage spells at the mage level |
Cantor | Roll-Over Spells + No Magic | Learns mage spells at the mage level, but will not learn Sage white magic spells. Will not roll over white magic |
Witch | Roll-Over Spells + Learned Spells + No Magic | Learns the mage spells and will recieve no white magic despite supposedly being able to learn it. |
Vestal | Roll-Over + No Magic | Similar to a Witch, learns the mage spells and will recieve no white magic despite supposedly being able to learn it. |
Balor | No Magic | Will not roll over or learn any white magic, even if prelearnt. |
Deimos | Learned Magic + No Magic | Will not roll over mage/sage spells, but you will be able to learn mage spells. Your white magic, learned or rolled over will not be usable. |
Fell God | No Magic + Roll-Over | Wildly inconsistent depending on the character. For some reason on Celica's route, all black magic and attacks are greyed out, and on Alm's route, magic appears usable, but the Fell God will not be able to attack and will just sit there. Additionally, Fell Gods have a mix of a mage and Sage/Priestess spell list, where they learn both mage and sage spell levels (ex. For Deen as Fell God Lv. 1: Fire & Recover, Lv. 4: Sagittae, Lv. 5 Silence) |
Fell Dragon | Learned Class + Roll-Over | Will roll over your simultaneous Mage/Sage/Priestess spell list similar to Duma. You will be able to attack with spells, but in most cases you will probabaly want to use Expiration since it hits through defenses/resistances. A funny note is that the spellcasting animations for Fell Dragon, are the same as using Expiration, so it will still just look like a Fell Dragon using Expiration. |
Tactitian | Preset Spells | Only learns Thunder (Thoron version) at level 1. Will not learn anything else. |
Catria, Palla, and Est all have the personal triangle attack ability that unleashes a super powerful attack when all three are together. They lose the ability when transferring out of the pegausus knight class. However, the game devs chose to decide triangle attack ability based on if the character was a flyer, since pegasus knights were the only playable character class in the game (RIP Wyvern Riders.) So as a result, they gain compatibility in some outside classes that they weren't intended to class because of the developers' poor choice. The options are listed below:
I'm working on two main things: One, I'm grabbing game asset data and sifting through the spritesheets to build animated GIFs of sprites that only have publicly available non-animated images. Second, I'm going to focus on tweaks to make the tool more usable, such as allowing an export to PDF/CSV option that is probabaly much easier than just using print to save a PDF.
Yes! Thank you for asking. Below are some rulesets I typed up that you might enjoy using (these were written for the Luma method, but are functionally identical using the romfs method):
Thanks for your suggestion! If you think there's something I should change, feel free to submit an issuel, or heck why not fork this repository and send me a pull request! I know that there's a lot of stuff that I haven't done efficiently since most of my programing experience is with Java, C, and MATLAB and I kind of just stumbled my way through JS. As a result of my limited knowledge, I made my life a lot harder by writing this in almost pure JavaScript with the exception of finally slapping on jQuery at the end for image loading and JSON exporting. Also, some of my code verges on spaghetti code, and at some point, I'm going to try and make optimization weaks (I've already started by adding in some switch statemetns when possible), as well as just cleaning up the code so that people can collaborate, and hack on extra features if they so want. This code is 100% open-source, so do with it as you'd like, just please credit me if you use this tool for a Youtube/Twitch Let's Play, a spin-off/clone of this site, etc. Also, if anyone happens to have any additional animated GIF map sprites I missed, please add them in via Pull Request inside the img folder using the FE15_ClassName_(Character).gif naming convention. I think I got a lot of them, but there's still a lot I'm missing.