This is a barbaric but working improvement of thane89's Fire Emblem Fates Randomizer.
On the one hand, I refined the randomizer's algorithm in order to provide a more enjoyable game experience. The biggest selling point is the possibility to do a Pick My Units run: if you wish, you can use the -pmu
option to get a PMU list of 16 units to use, that you will find in the PMUClassSpread.csv
file generated by the script.
On the other hand, I set out to upgrade the whole Fire Emblem experience (visuals, Birthright difficulty, weapons, classes). Those upgrades are optional.
By default the randomizer works as explained below. Customizations are possible with the many options provided; if you do not understand, you may also read the code, which should be relatively easy to grasp.
- Each character is given a new total amount of Lvl 1 base stats (by default between 15 and 25) and growth rates (by default between 250 and 350), which are partially randomly distributed, and those stats are scaled back to the level at which they are recruited.
- For instance, if Ryoma is put in Hinata's recruitment spot (so he will be Lvl 9) and assigned the Archer class, then his stats will be his Lvl 1 stats adjusted with 8 levels of (Ryoma's base growths + Archer class growths);
- Similar to the original randomizer, stats are then shuffled a bit. The default settings are:
- 10 passes per character, with each pass having:
- 100% chance of shuffling 5% of growths
- 50% chance of shuffling 1 stat point
- 25% chance of shuffling 1 modifier point
- 10 passes per character, with each pass having:
- Random swaps of stats / growths / mods can occur (always all three, except for Lck):
- Str / Mag (default: according to class, 0% chance to swap)
- Skl / Spd (default: 20% chance to swap)
- Def / Res (default: according to class, 20% chance to swap)
- Lck / ? (default: [Lck Growth]% chance, only if Lck stat / growth / mod is superior)
- "Catch 'em all" mode by default: the randomizer will minimize duplicate final classes according to the chosen route (can be disabled with
--disable-class-spread
) - There is an option to keep all characters at their usual spot but still have the class and stats modifications (option
--disable-model-switch
) - Minor updates to recruitment levels to make some characters more viable; Hayato joins at Lvl 7 instead of 1 in Birthright, for instance. Can be disabled with
--disable-rebalance-levels
All credits are due to the original mod authors.
- Added the 1.4.0 unofficial update of the Expanded Same-Sex Marriage patch by UnassumingVenusaur.
- Even further: all characters can romantically support one another (fast support type)
- Added Generic Songstress sprite by Moonling
- Added Fire Emblem Fates Texture Compilation 4.0
- Nyx has a witch portrait
- Added Weapon Model Fix
- Added Unit Select Voice mod
- Added Fates icon project
- Added Gay Paralogue Unlocker
- Changed all "Rout the enemy" objectives to "Defeat the boss"
- Most chapters have a 20-turn limit
- Free Heart Seal given after chapter 5
- Most bosses have been buffed with better weapons
- Endgame chapters of each route should allow the player to save (not tested)
- Birthright Lunatic has been made more difficult: most enemies now have skills
- Birthright Chapter 10 and Revelations Chapter 11 (Ninja village) have one tile changed so that the door is accessible without flier
- Birthright Chapter 11: Reina now spawns on the boat
- Changes to weapon triangles: Tome <-> Axe, Dagger <-> Sword, and Bow <-> Lance become neutral
- Rationale: range weapons can already hit melee weapons without retaliation so they shouldn't have weapon advantage on top of that
- Weapon rank requirements decreased by one for every weapon: for instance, iron weapons are available from rank E.
- Weapon updates: increased the difference between Hoshidan and Nohrian weapons, nerfed the hell out of those busted hidden weapons, doubled Staff Exp for convenience. The changes only concern Bronze / Iron / Steel / Silver weapons.
- Swords, Lances: +1 Mt, -10 Hit, -5 Avo, +2 Crit
- Katanas, Naginatas: -1 Mt, +5 Hit, +2 Avo
- Axes: +1 Mt, -10 Hit, -5 Avo
- Clubs: -1 Mt, +2 Avo, +5 Crit
- Bows: +1 Mt, -10 Hit, -5 Avo, +2 Crit
- Yumis: -2 Mt, +10 Hit, +2 Avo
- Tomes: +1 Mt, -10 Hit, -5 Avo, +2 Crit
- Scrolls: -1 Mt, +10 Hit, +2 Avo
- Daggers: -2 Mt, -30 Hit, -5 Avo, +2 Crit, all stat debuffs are decreased by 1
- Shurikens: -4 Mt, -15 Hit, +5 Avo, +2 Ddg, now give -2 Def, all stat debuffs are decreased by 1
- Staves: Staff Exp x2 for those listed
- Heal 10 -> 12 Mt
- Mend 20 -> 25 Mt
- Physic 7 -> 9 Mt, range 1-5
- Recover 35 -> 45 Mt
- Fortify 7 -> 9 Mt, range 1-5
- Rod: Staff Exp x2 for those listed
- Bloom Festal 7 -> 4 Mt
- Sun Festal 14 -> 10 Mt
- Wane Festal 2 -> 1 Mt, range 1-12
- Moon Festal 25 -> 20 Mt
- Great Festal 2 -> 1 Mt, range 1-12
- added a Dragonrune item: Skill+8, Spd+6, Def-4, Res-3
- added a Dragonspell item: same stats as the Dragonstone, 1-2 range, weak to follow-ups (-5 eff. Spd)
- Beastrune: Skill-3, Spd-4, Def+5, Res+7 (instead of Skill-2, Spd-1, Def+4, Res+5)
- added a Beastspell item: same stats as the Beaststone, 1-2 range, can't follow-up, weak to follow-ups (-5 eff. Spd)
- Sacred weapons are modified:
- Raijinto: gives Skl+3 instead of Str+4, range 1
- Siegfried: gives Def+2 instead of Def+4, range 1
- All 4 divine weapons are buyable once at Lvl 3 shops for 50G and are usable by everybody.
- Enemy royals have "Sacred weapons+" (Raijinto+/Siegfried+/Fujin Yumi+/Brynhildr+) with buffed Mt (15), and Raijinto+ and Siegfried+ keep 1-2 range and their original buffs (Str/Def +4)
- Wakizashi, Spear, Tomahawk and Battering Club are now 1-2 range, but have -10 Hit and -10 Avo
- All hidden weapons that were not Bronze / Iron / Steel / Silver have -2 Mt and -20 Hit, and all stat debuffs are decreased by 1
- Silver weapons no longer self-debuff, but instead have -10 Hit, -10 Avo, and give -2 Def/Res and -3 eff. Spd in enemy phase
- Enemies have "Silver Weapons+" which do not have any of the aforementioned maluses
- Beaststones+ and Dragonstones+ now halve Str/Mag until the end of the next fight
- Corrin gets Aptitude, Dragon Fang, Draconic Hex, Nohrian Trust and Hoshidan Unity so you can reclass them immediately after chapter 5; replace Draconic Hex with Nobility if you want the early game to remain interesting
- +5 to all of Corrin's maximum stat modifiers
-
DLC class gender lock is removed
-
All DLC classes except Ballistician are now normal promoted classes
-
New class tree (changes are ❗bolded):
Base Class Class 1 Class 2 Nohr Prince(ss) Nohr Noble Hoshido Noble Samurai Swordmaster ❗Lodestar Villager ❗Great Lord Master of Arms Apothecary Merchant Mechanist Ninja Master Ninja ❗Dread Fighter Oni Savage Oni Chieftain Blacksmith Spear Fighter Spear Master Basara Diviner ❗Witch ❗Grandmaster Monk Great Master Onmyoji Shrine Maiden Priestess Onmyoji Sky Knight Falcon Knight ❗Dark Falcon Archer Sniper Kinshi Knight Kitsune Nine-Tails Songstress Cavalier Paladin Great Knight Knight ❗Warden General Fighter Berserker ❗Vanguard Mercenary Hero Bow Knight Outlaw ❗Enchanter Adventurer Wyvern Rider Wyvern Lord Malig Knight Dark Mage Sorcerer Dark Knight Troubadour Strategist Maid/Butler Wolfskin Wolfssegner -
Detailed class changes:
- Basara:
- Blacksmith: Salvage Blow → Death Blow
- Bow Knight:
- Dark Falcon: Lances B→A, Tomes A→B
- Dark Knight: Seal Magic → Luna
- Diviner: Future Sight → Solidarity
- Dread Fighter:
- Enchanter (new class):
- Grandmaster: Shurikens ∅→B, Swords B→∅
- Great Lord: Lances B→A, Swords A→B
- Lodestar: Speedtaker → Awakening
- Master of Arms:
- Mechanist: Daggers A→B, Bow B→A
- Oni Chieftain:
- Priestess / Great Master: Countermagic → Inspiration
- Vanguard:
- Villager:
- Warden (new class):
- Witch:
- Wyvern Lord: Swordbreaker → Lancebreaker
-
Enchanter Data
Data | HP | Str | Mag | Skl | Spd | Lck | Def | Res | Mov |
---|---|---|---|---|---|---|---|---|---|
Bases | 16 | 6 | 7 | 7 | 7 | 4 | 4 | 5 | 6 |
Growths | 0 | 10 | 20 | 10 | 10 | 10 | 0 | 10 | - |
Max Stats | 48 | 29 | 33 | 29 | 31 | 29 | 26 | 30 | - |
Pair Up Bonuses | - | 0 | 3 | 0 | 2 | 0 | 0 | 1 | 1 |
- Warden Data
Data | HP | Str | Mag | Skl | Spd | Lck | Def | Res | Mov |
---|---|---|---|---|---|---|---|---|---|
Bases | 20 | 10 | 0 | 9 | 7 | 4 | 9 | 3 | 6 |
Growths | 20 | 15 | 0 | 20 | 10 | 5 | 15 | 0 | - |
Max Stats | 65 | 36 | 25 | 34 | 29 | 32 | 35 | 29 | - |
Pair Up Bonuses | - | 3 | 0 | 3 | 0 | 0 | 2 | 0 | 0 |
- Dawn/Dusk armories and Rod/Staff shops available in every route
- Added Dragonstones and Beaststones (-1/-1/-1), Dragonrunes and Beastrunes (0/1/2), Dragonspells and Beastspells (0/1/2) and Dragonstones+ and Beaststones+ (0/0/1), in Rod/Staff shops
- Added 4 Eternal Seals in Shops (4/4/-1) for the retainer replacements, decreased price to 50G
- Most seals now cost 500G
- Seeds of Trust buyable for 10G
- Lvl 2 and 3 shops now appear after chapters 11 and 17 (instead of 13 and 20)
- Most items have had their price decreased
- Overworld RNG weapons (e.g. Raider weapons) are available in shops (0/1/2) for 1500G (the price of steel weapons)
You will need to install Python, numpy and the xmltodict module. I advise using virtual environments but for the layman a simple
pip install numpy xmltodict
should do the trick. The instructions can look daunting but once you understand how it works it takes fewer than 5 minutes to do. Some experience with Python and/or tinkering with files will obviously help though.
- Begin by either cloning the repository or downloading and extracting the zip.
- First, choose which version of Fates you want to play (all versions except Vanilla are only compatible with the Special Edition, unfortunately):
- Vanilla Fates: for copyright-related reasons, you will have to dump your own romfs. Follow the instructions in thane89's original readme below. Copy the
castle
,GameData
,m
,Scripts
folders into a folder that will be hence called theromfs
folder. - Upgraded Fates (recommended): patched with my curated upgrades listed above. No need to dump any romfs in that case! Extract all the
.7z
archives, i.e.,fates_upgraded_decompressed.7z
into afates_upgraded_decompressed
folder andfates_upgraded_fixed{/2/3}.7z
into a singlefates_upgraded_fixed
folder. Thefixed
folder contains mainly visuals and things the randomizer does not affect so you do not have to manipulate it until step 12. Thedecompressed
folder will henceforth be referred to as theromfs
folder.
- Vanilla Fates: for copyright-related reasons, you will have to dump your own romfs. Follow the instructions in thane89's original readme below. Copy the
- Run
Fates Randomizer Beta 5-5.jar
, click "Open and Verify", and select theromfs
folder. You should see a new window pop up with options. If you do not, the window will show you which file was not found. Make sure that the selected folder has folders namedcastle
,GameData
,m
,Scripts
directly inside it. - Select a path and options. Refer to the original post if you do not understand an option. I recommend selecting
All Routes
(even if you plan to play Birthright or Conquest, the Python script has route options too) and all options except the experimental ones and the stat randomization. - Hit "Randomize" and let the program sit. When the program finishes, a little notification will pop up in the corner of the window.
- Close
Fates Randomizer Beta 5-5.jar
. - Copy the
RandomizerSettings.xml
file from theromfs
folder to thedata
folder. - Open a command prompt in the same folder as
updated_randomizer.py
. Run
python updated_randomizer.py
- If you want to know about the options, type:
python updated_randomizer.py -h
- Refer to the section "All Options" below for the details.
- If you did not select the option "Anna" / "Amiibo characters" / "Children" in the randomizer, you have to use the options
-ba
/-bac
/-bc
respectively.
- If the script ran successfully, you should have three files named
RandomizerSettingsUpdated.xml
,ClassSpread.csv
andPMUClassSpread.csv
in thedata
folder. Otherwise, try to run one more time, and if it fails again, raise an issue on this repository.RandomizerSettingsUpdated.xml
contains the detailed information of the randomized run. For each character, theStringData
andClassData
fields are tied to the character while the other fields are tied to their spot. If Ryoma has as "switchingCharacter" Hinata, he will have the stats that are written in Hinata'sStats
field (but those stats will have been computed as Ryoma's "expected" stats at this spot). I recommend not looking at it for more fun.ClassSpread.csv
contains on each line the original character, their replacement and the class assigned to the replacement. I recommend respecting the file's assignements for more fun and challenge.PMUClassSpread.csv
(if you selected the-pmu
option) contains a PMU subset of the previous file.
- Delete the
romfs
folder and repeat steps 1-5 but, in step 3, choose "Custom Path" and selectRandomizerSettingsUpdated.xml
. Check the "Join Order" options, otherwise the randomization will not be complete. (In particular, the characters will have the same weapons as vanilla when they join, which is problematic if their class changed as they will not be able to use them.) The randomizer should after clicking theRandomize
button. In the rare case where it does not, it means that thexml
file isn't legal (despite extensive testing I could not make the Python script 100% compliant); re-running the Python script should fix this in most cases. If the problem persists, simply repeat the whole procedure from step 1. - Close
Fates Randomizer Beta 5-5.jar
. OpenFEAT.exe
. Drag theromfs
folder into FEAT: this will recompress the files. Once FEAT is done, you can close it. - Phew! You're done! Now you can copy your
romfs
folder to the mods folder of your gaming medium. If you chose the upgraded version, also copy the contents of thefixed
folder inside theromfs
folder if you did not do so already, and theexefs
folder to the mods folder. - As a final note, DO NOT use this on top of an existing save or branch of fate. Use a fresh save starting from the very beginning if you want a stable playthrough.
usage: updated_randomizer.py [-h] [-ap ADDMAX_POW] [-ab] [-ads] [-ba] [-bac] [-bc] [-bdc] [-bdcs]
[-bscap BASE_STAT_CAP] [-bssmax BASE_STATS_SUM_MAX] [-bssmin BASE_STATS_SUM_MIN] [-bw]
[-c CORRIN_CLASS] [-dbsr] [-dcd] [-dcs] [-dfu] [-dgd] [-dlts] [-dl] [-dlsc] [-dms]
[-dpc DEBUFF_PREPROMOTES_COEFF] [-drl] [-drlu] [-drr DEF_RES_RATIO] [-drsgs] [-ds] [-dsr]
[-dss] [-edbc] [-egd] [-ema] [-emoc] [-epa] [-erps] [-esc] [-esd] [-esi] [-ev] [-evc]
[-g {Revelations,Birthright,Conquest}] [-gc GROWTH_CAP] [-gp GROWTH_P]
[-gsmax GROWTHS_SUM_MAX] [-gsmin GROWTHS_SUM_MIN] [-ic IMPOSED_CLASSES]
[-mc MODIFIER_COEFFICIENT] [-mp MOD_P] [-np N_PASSES] [-ns {-1,0,1,2,3,4,5}] [-pmu]
[-s SEED] [-sp STAT_P] [-sadp SWAP_ATK_DEF_P] [-sdrp SWAP_DEF_RES_P] [-slp SWAP_LCK_P]
[-sssp SWAP_SKL_SPD_P] [-ssmp SWAP_STR_MAG_P] [-v]
optional arguments:
-h, --help show this help message and exit
-ap ADDMAX_POW, --addmax-pow ADDMAX_POW
the lower the more uniform growth adjustment
-ab, --allow-ballistician
allow Ballistician class in the randomization
-ads, --allow-dlc-skills
allow DLC skills in skill randomization
-ba, --ban-anna ban Anna
-bac, --ban-amiibo-characters
ban Amiibo characters (Marth, Lucina, Robin, Ike)
-bc, --ban-children ban children characters
-bdc, --ban-dlc-classes
ban DLC classes
-bdcs, --ban-dlc-class-skills
ban DLC class skills in skill randomization
-bscap BASE_STAT_CAP, --base-stat-cap BASE_STAT_CAP
if adjusting growths, max value for base stat
-bssmax BASE_STATS_SUM_MAX, --base-stats-sum-max BASE_STATS_SUM_MAX
if adjusting growths, decreasing stats sum to that value
-bssmin BASE_STATS_SUM_MIN, --base-stats-sum-min BASE_STATS_SUM_MIN
if adjusting growths, increasing stats sum to that value
-bw, --ban-witch ban Witch class from the randomization
-c CORRIN_CLASS, --corrin-class CORRIN_CLASS
Corrin's final class
-dbsr, --disable-balanced-skill-randomization
disable balanced skill randomization; skill randomization will be completely random
-dcd, --disable-camilla-def
disable Camilla's replacement's enforced higher Def than Res
-dcs, --disable-class-spread
disable diverse class reroll
-dfu, --disable-fates-upgraded
disables the assumption that you are playing Fates Upgraded; important for DLC class handling
-dgd, --disable-gunter-def
disable Gunter's replacement's enforced higher Def than Res
-dlts, --disable-livetoserve
disable the retainers' replacements' enforced Live to Serve skill
-dl, --disable-locktouch
disable Kaze and Niles' replacements' enforced Locktouch skill
-dlsc, --disable-limit-staff-classes
disables replacing staff only classes by offensive classes and setting the staff only class as
a reclass option
-dms, --disable-model-switch
disable model switching but keep switching the rest of the data (stats, growths...)
-dpc DEBUFF_PREPROMOTES_COEFF, --debuff-prepromotes-coeff DEBUFF_PREPROMOTES_COEFF
percentage points of handicap for prepromote base stats
-drl, --disable-rebalance-levels
disable fairer level balance adjustments (reverts to levels from the original games)
-drlu, --disable-rng-level-ups
disable rng level ups; characters will have average stats w.r.t their growths
-drr DEF_RES_RATIO, --def-res-ratio DEF_RES_RATIO
ratio of higher def/res characters with mixed classes
-drsgs, --disable-randomize-stats-growths-sum
will disable randomizing stats and growths sum for each character between customizable bounds
-ds, --disable-songstress
disable Azura's replacement's enforced Songstress class
-dsr, --disable-staff-retainer
disable Jakob and Felicia's replacement's enforced healing class
-dss, --disable-staff-early-recruit
disable Sakura and/or Elise's replacement's enforced healing class
-edbc, --enable-dlc-base-class
will give unpromoted base classes to every DLC class for game balance (eg Ninja/Oni Savage for
Dread Fighter)
-egd, --enable-genderless-dlc
allows DLC classes to be given regardless of gender. Will automatically trigger --enable-dlc-
base-class since this will affect only unpromoted characters; prepromoted characters are
banned from getting an illegal class since the randomizer doesn't support it
-ema, --enforce-mozu-aptitude
enforce Mozu (herself) having Aptitude
-emoc, --enable-mag-only-corrin
enables Corrin to get a Mag only class
-epa, --enforce-paralogue-aptitude
enforce Mozu's replacement to have Aptitude
-erps, --enable-randomized-personal-skills
will output recommended personal skills; you will have to manually edit them, e.g. using
thane98's Paragon. Requires the `disable-class-spread` tag to NOT be passed
-esc, --enforce-sword-corrin
enforces Corrin to get a sword-wielding final class
-esd, --enforce-stat-decrease
enforces stat decrease to base stat sum max regardless of growth increase
-esi, --enforce-stat-increase
enforces stat increase to base stat sum min
-ev, --enforce-villager
enforce Mozu's replacement being a Villager with Aptitude
-evc, --enforce-viable-characters
will force you to play with only the first 15 characters encoutered by giving 0 growth rates
to the others in the route; non-viable characters will be given the 'Survey' skill for easy
identification
-g {Revelations,Birthright,Conquest}, --game-route {Revelations,Birthright,Conquest}
game route, especially important to specify it if playing Revelations so that levels are the
correct ones
-gc GROWTH_CAP, --growth-cap GROWTH_CAP
adjusted growths cap
-gp GROWTH_P, --growth-p GROWTH_P
probability of editing growths in a variability pass
-gsmax GROWTHS_SUM_MAX, --growths-sum-max GROWTHS_SUM_MAX
will adjust growths until sum is lower than specified value
-gsmin GROWTHS_SUM_MIN, --growths-sum-min GROWTHS_SUM_MIN
will adjust growths until sum is higher than specified value
-ic IMPOSED_CLASSES, --imposed-classes IMPOSED_CLASSES
list of imposed classes separated by a comma
-mc MODIFIER_COEFFICIENT, --modifier-coefficient MODIFIER_COEFFICIENT
will increase all modifiers by specified coefficient
-mp MOD_P, --mod-p MOD_P
probability of editing modifiers in a variability pass
-np N_PASSES, --n-passes N_PASSES
number of variability passes (swap +/- 5 growths, +/- 1 stats and mods per pass
-ns {-1,0,1,2,3,4,5}, --n-skills {-1,0,1,2,3,4,5}
number of randomized skills; if -1, randomize existing skills
-pmu, --pmu-mode `ClassSpread.csv` will only contain the 16 allowed characters for the run
-s SEED, --seed SEED RNG seed
-sp STAT_P, --stat-p STAT_P
probability of editing stats in a variability pass
-sadp SWAP_ATK_DEF_P, --swap-atk-def-p SWAP_ATK_DEF_P
probability of swapping Str/Mag (higher one) with Def/Res (higher one) growths / stats /
modifiers
-sdrp SWAP_DEF_RES_P, --swap-def-res-p SWAP_DEF_RES_P
probability of swapping Def and Res growths / stats / modifiers
-slp SWAP_LCK_P, --swap-lck-p SWAP_LCK_P
probability of swapping Lck and a random stat's growths / stats / modifiers; random if between
0 and 1, else [(Lck Growth)% and swap only if Lck is superior]
-sssp SWAP_SKL_SPD_P, --swap-skl-spd-p SWAP_SKL_SPD_P
probability of swapping Skl and Spd growths / stats / modifiers
-ssmp SWAP_STR_MAG_P, --swap-str-mag-p SWAP_STR_MAG_P
probability of swapping Str and Mag growths / stats / modifiers; random if between 0 and 1,
else according to class (coin flip for mixed classes)
-v, --verbose print verbose stuff
python updated_randomizer.py -bc -bssmin 15 -bssmax 20 -dms -edbc -egd -epa -erps -g "Birthright" -gsmax 350 -gsmin 280 -ic "Enchanter,Warden" -mc 5 -ns 4 -pmu
This example command (that I personally use) will ensure the following:
-bc
bans the children from the randomization-bssmin 15
and-bssmax 20
ensure that all units will have a total Lvl 1 base stats sum randomly sampled between 15 and 20-dms
ensures that character models will not be swapped (every character stays the same visually)-edbc
ensures that non-promoted units who are assigned a DLC class will get a fitting base class-egd
ensures that DLC classes are not gender-locked-epa
ensures that Mozu's replacement will have Aptitude-erps
will make theClassSpread.csv
andPMUClassSpread.csv
files have a randomization of personal skills; you will have to manually edit them into the game, e.g. with Paragon-g "Birthright"
ensures that only Birthright replacement units will be updated-gsmax 350
and-gsmin 280
ensure that all units will have a total growth rates sum randomly sampled between 280 and 350-ic "Enchanter,Warden"
ensures that classes Enchanter and Warden will each be attributed to a character, who are in the PMU list since-pmu
is checked-mc 5
ensures that all unit stat modifiers will be increased by 5-ns 4
ensures that all units will have 4 randomized skills at recruitment-pmu
enables the PMU mode of the randomization
This sometimes happens. Just kill it after the others, you should be able to.
I advise using the Infinite Movement cheat code for this chapter. If you can play Randomized Fates, you can probably find how to use cheats on your gaming medium.
Break the wall near Nyx before talking to her.
You need to rename or delete the file Scripts/B/B016.cmb
. This might skip the prompt in its entirety, meaning you won't get anything, but at least you can play the rest of the route.
This is an issue from the original randomizer; I can't fix it myself. This can amusingly lead to recruiting two Hayatos.
This is a known issue. No fix for this at the moment.