boss_randomization [Free Enterprise Wiki]

Site Tools


Boss randomization

Outside of the final boss Zeromus, the 35 designated boss battles in Free Enterprise are:

  • D. Mist
  • Officer + Soldiers (Kaipo Inn night fight)
  • Octomamm
  • Antlion
  • WaterHag (Edward's solo story battle version)
  • MomBomb
  • The Fabul gauntlet
  • Milon
  • Milon Z.
  • D.Knight
  • Guards (Baron Inn fight)
  • Karate
  • Baigan
  • Kainazzo
  • Dark Elf
  • Magus Sisters
  • Valvalis
  • Calbrena
  • Golbez
  • Dr. Lugae
  • Dark Imps (Super Cannon room fight)
  • K.Eblan / Q.Eblan
  • Rubicant
  • EvilWall
  • Asura
  • Leviatan
  • Odin
  • Bahamut
  • Elements
  • CPU
  • Pale Dim
  • Wyvern
  • Plague
  • D.Lunars
  • Ogopogo

Boss randomization shuffles the bosses around their respective positions, so each time you play, the boss you encounter in a given location is different. (Exception: there is no boss battle during the SandRuby cutscene in Kaipo, so in a Free Enterprise seed there will always be one of the 35 possible bosses missing.)

To prevent large difficulty swings, boss stats are scaled to be close to the stats of the boss that is being replaced. However, this is a very loose scaling with a fair degree of variance, and some attacks do not scale well – MegaNuke is devastating no matter where you encounter it. Save often!

Free bosses

The D.Knight, Waterhag, Karate, and K/Q Eblan fights have scripted alternate win conditions. Enabling Bnofree removes these alternate conditions, meaning these bosses must be defeated outright. Since Waterhag's scripted fight adds HP to try and emulate the vanilla Waterhag fight, Bnofree removes this extra HP, so the Waterhag will have the same HP as a standard single boss in a given location.

Some enemies in boss fights do not have the “boss bit” set (for example, enemies within the Fabul Gauntlet). The boss bit prevents status conditions, instant death effects, etc. from applying, meaning that these weaker enemies can be more easily defeated by these effects. The Bnofree flag also applies the boss bit to all enemies found in boss fights.

Note that due to technical limitations, if playing with the alt gauntlet, the boss bit will not be applied to the enemies in the alt gauntlet battles. (See alt gauntlet for more information about the alt gauntlet.)

Safety checks

For the most part, bosses can appear in any position without restriction. However, some boss battles are notably more difficult, and to avoid harsh roadblocks, the randomizer guarantees that there will be a path to the underworld that does not require defeating any of these bosses:

  • Golbez
  • Wyvern
  • Valvalis
  • The boss in the Odin position
  • D.Knight (only if Bnofree is enabled)

Additionally, under Knofree, if one of the above bosses is in the Karate position and D.Mist is in the Baron Guards position, then the reward for defeating D.Mist will not be part of the logical path to the underworld.

If you are playing with Bwhichburn, the attack replacing Wyvern's MegaNuke will be less devastating than MegaNuke.

The above safety checks can be disabled by applying the Bunsafe flag.

Boss scaling algorithm

Given a boss A, that we want to scale to the level of reference boss B:

  • Sum the HP of all enemies in A, and do the same with B.
    • For enemies that have a scripted “death” once their HP hits a certain threshold (eg. Milon's “Oh my body”), only consider the portion of their HP above that threshold.
  • For each enemy in A, set its new HP = (old HP) / (A sum HP) * (B sum HP).
  • Do the same calculation for GP and EXP.
  • Scan all the sub-battles of A in search of the enemy with the highest HP, and designate it the “leader”. Do the same with B.
  • Set the leader's new attack, hit%, attack multiplier, defense, evade, defense multiplier, magic defense multiplier, speed, spell power, and level to match those of B's leader.
  • For each other enemy type in A other than the leader,
    • Calculate the ratio R = (its attack power) / (the leader's original attack power). Do the same for hit%, multiplier, etc.
    • Designate the “ideal” new attack power as (leader's new attack power) * R. Do the same for hit%, multiplier, etc.
    • Search the monster stats tables for the entry that most closely matches the “ideal” stats, and set the enemy's new stats to the closest match.
  • For enemies that change their stats as part of their battle script, update the values in script to most closely as possible maintain the ratio between the scripted stat and their original stat.
  • All enemies in A retain their original elemental/type properties, status resistances, and drop tables.

Some enemy types in boss battles appear in other non-boss battles (for example, the Bombs and GrayBombs in the MomBomb fight). Even if these enemies' stats are scaled in their boss fight, their non-boss-battle counterparts will keep their original stats.

To see the exact results of these calculations for each boss, see the boss stats tables.

Note that the K/Q Eblan boss position is an invented boss position, modeled after Dr. Lugae, with 6000 total HP.

Alt Gauntlet

The Balt:gauntlet flag enables the Alt Gauntlet, which replaces the battles normally fought in the Fabul Gauntlet boss with five standard enemy encounters, taken from the nearby area. These encounters are not randomized – that is, if the alt gauntlet appears in the Antlion Nest in two different seeds, the five battles you fight there will be the same. A full list of these battles can be found here.

Additionally, the fights in the alt gauntlet are not scaled; the enemies will have their normal stats, EXP, etc.

Wyvern settings

Wyvern is a dangerous boss that begins the battle by using MegaNuke. To smooth out the difficulty curve, two options are available to adjust this behavior:

  • Bwhyburn will remove the opening MegaNuke entirely, but it will also remove the two passed turns that Wyvern usually takes after the MegaNuke, launching it into its regular battle script immediately.
  • Bwhichburn will replace the opening MegaNuke with another random enemy attack.
    • The attack you get will be less bad than a MegaNuke – unless you also have Bunsafe enabled.
boss_randomization.txt · Last modified: 2023/03/21 01:21 by wylem