Today I have expanded on the various Power Failure options, adding more settings with decreasing chance of a Power Failure occurring, as well as options where a Power Failure is a random timed event instead. There are also two new difficulty settings, "easier +" and "hard +".
I have also added tooltips to all of this stuff, so it will be easier to decode it all. Here are all the current MissionConfig options (straight from the code):
static const NameTooltip INVERT_BARRIERS[] =
{
{ "off", "Doors and Fences occur\nin normal positions." },
{ "on", "Doors and Fences occur\nin inverted positions." },
};
static const NameTooltip BIG_ROOMS[] =
{
{ "off", "Open spaces are filled\nwith alternate walls." },
{ "on", "Open spaces are left open." },
};
static const NameTooltip EXTRA_ROOMS[] =
{
{ "off", "The maze is left \"perfect\"." },
{ "on", "Random open spaces are created." },
};
static const NameTooltip BETA_ARMORIES[] =
{
{ "off", "Legacy Armory behaviour." },
{ "on", "Armories swap ammo\nwith the player." },
};
static const NameTooltip RANDOM_BREACHES[] =
{
{ "off", "Breaches occur at dead ends." },
{ "on", "Breaches may occur anywhere." },
};
static const NameTooltip SENTRIES[] =
{
{ "off", "Sentries will not spawn." },
{ "on", "Sentries will spawn at\nstrategic locations." },
};
static const NameTooltip ASTRO_CREEPS[] =
{
{ "off", "Astro-Creeps will not spawn." },
{ "on", "Astro-Creeps will spawn\nfrom Breaches." },
};
static const NameTooltip DOORS[] =
{
{ "none", "Doors will not occur." },
{ "more", "Doors will occur at\neach corridor end." },
{ "less", "Doors have a 50% chance of\n occuring at corridor ends." },
};
static const NameTooltip FENCES[] =
{
{ "none", "Fences will not occur." },
{ "more", "Fences will occur in\ncorridors." },
{ "less", "Fences have a 50% chance\nof occuring in corridors." },
};
static const NameTooltip DIFFICULTIES[] =
{
{ "easier", "Breaches: 10 - 60 sec\nSpawns: 10 - 20 sec" },
{ "easier +", "Breaches: 10 - 30 sec\nSpawns: 7 - 15 sec" },
{ "hard", "Breaches: 5 - 10 sec\nSpawns: 5 - 10 sec" },
{ "hard +", "Breaches: 3 - 5 sec\nSpawns: 4 - 8 sec" },
{ "insane", "Breaches: 1 - 2 sec\nSpawns: 3 - 5 sec" },
};
static const NameTooltip POWER_FAILURES[] =
{
{ "none", "Power Failures will not occur." },
{ "1 / 8", "Power Failures have a 1 in 8\nchance of occuring on interaction."},
{ "1 / 16", "Power Failures have a 1 in 16\nchance of occuring on interaction." },
{ "1 / 32", "Power Failures have a 1 in 32\nchance of occuring on interaction." },
{ "50% @ 30-60", "Power Failures have a 50%\nchance of occuring at\nintervals of 30 - 60 seconds."},
{ "50% @ 60-120", "Power Failures have a 50%\nchance of occuring at\nintervals of 60 - 120 seconds." },
{ "50% @ 120-240", "Power Failures have a 50%\nchance of occuring at\nintervals of 120 - 240 seconds." },
};
As all of these options are ever expanding, I have implemented saving of the local party MissionConfig (all Seed, Plan, and Rules settings) in order to let players keep their favorite settings more easily. This works for both Random and Explicit Seed settings.
I anticipate this persistence system mutating into a system where you can at any time "star / favorite" any given MissionConfig and having them all saved online. This way all players would be able to see everyone's "favorites", and also for there to be statistics based on multiple players "starring" the same MissionConfig. In this way the game could automatically offer a way to look at the most popular configurations and seeds.