Customization - GarwelGarwel/KerbalHealth GitHub Wiki

Kerbal Health is extremely flexible and allows you—or other mods' authors—to change nearly every aspect of the mod.

Settings

Kerbal Health has more than 50 different settings you can adjust as you play. You can enable or disable entire systems (such as radiation or quirks) or fine-tune their work to match your play style and set of mods. As this mod generally favors challenging gameplay, Moderate or Hard difficulty levels are considered "default".

Third-party mods can adjust default settings with config files. Simply create a config node called SETTINGS inside node KERBALHEALTH_CONFIG (which is described below in more detail) and add any necessary config values from this list; default values are listed for reference:

  • ModEnabled = true
  • ShowAppLauncherButton = true
  • SortByLocation = true
  • LinesPerPage = 10
  • ShowTraitLevel = true
  • UpdateInterval = 30
  • MinUpdateInterval = 1
  • BaseMaxHP = 100
  • HPPerLevel = 10
  • LowHealthAlert = 0.3
  • DeathEnabled = true
  • ExhaustionStartHealth = 0.2
  • ExhaustionEndHealth = 0.25
  • StressFactor = -2
  • ConfinementBaseFactor = -3
  • LonelinessFactor = -1
  • MicrogravityFactor = -1
  • EVAFactor = -10
  • ConnectedFactor = 0.5
  • HomeFactor = 2
  • KSCFactor = 4
  • TrainingEnabled = true
  • KSCTrainingTime = 40
  • InFlightTrainingTime = 100
  • FamiliarityBonus = 0.5
  • StupidityPenalty = 0
  • ConditionsEnabled = true
  • KSCNotificationsEnabled = false
  • ConditionsChance = 1
  • ConditionsEffect = 1
  • QuirksEnabled = true
  • MaxQuirks = 2
  • QuirkChance = 0.25
  • AwardQuirksOnMissions = false
  • AnomalyQuirkChance = 1
  • StatsAffectQuirkWeights = true
  • RadiationEnabled = true
  • RadiationEffect = 0.1
  • ShieldingEffect = 1
  • InSpaceHighCoefficient = 0.40
  • InSpaceLowCoefficient = 0.20
  • StratoCoefficient = 0.20
  • TroposphereCoefficient = 0.01
  • EVAExposure = 5
  • SolarRadiation = 2500
  • GalacticRadiation = 12500
  • RadStormsEnabled = true
  • RadStormFrequency = 1
  • RadStormMagnitude = 1
  • DecontaminationRate = 100000
  • DecontaminationHealthLoss = 0.75
  • DecontaminationFundsCost = 100000
  • DecontaminationScienceCost = 1000
  • DecontaminationAstronautComplexLevel = 3
  • DecontaminationRNDLevel = 3

Example: A config that doubles all kerbals' HP:

KERBALHEALTH_CONFIG
{
    SETTINGS
    {
        BaseMaxHP = 200
        HPPerLevel = 20
    }
}

The settings provided by configs are applied:

  • when starting a new game
  • when running Kerbal Health for the first time
  • when using the Reset Settings option

This feature should be particularly useful for mod authors who want to disable certain Kerbal Health features or adjust them (for instance, to account for bigger solar systems). Note that these settings can still be overriden by the user if he/she changes them manually in-game.

Mod Configuration

In addition to the in-game settings, many more things can be altered by patching or simply editing KerbalHealth.cfg config file in your GameData/KerbalHealth folder.

Keys shown in italic are mandatory; all the names are case-sensitive. All configs are kept within the KERBALHEALTH_CONFIG node.

Training Caps for Astronaut Facility Levels

Node name: TRAINING_CAPS

Keys:

  • level: level of the training facility, starts with 1
  • cap: maximum training level, in the range between 0 and 1

Health Conditions

Node name: HEALTH_CONDITION

Keys:

  • name: internal name of the condition
  • title: displayed name of the condition, defaults to name
  • description: text description of the condition, shown when it is acquired
  • visible (true or false): whether this condition should be visible to the player (default is true)
  • stackable: whether this condition (and its effects) can be added multiple times (default is false)
  • incompatibleCondition (can be more than one): name of a health condition that prevents this one from being randomly acquired
  • hpChangePerDay: how many HP per day the kerbal gains (or loses, if negative) with this condition
  • hp: while this condition is active, kerbal's HP is changed by this amount
  • restoreHP (true or false): whether to bring HP back to its original level when the condition is removed (default is false)
  • incapacitated: whether this condition turns the kerbal into a Tourist (default is false)
  • chancePerDay: base chance of this condition randomly appearing every day

You can also use here all keys of the LOGIC node including nested LOGIC nodes (see below).

Chance Modifier

A chance modifier, as you could guess, affects the chance of this condition occurring. You can add any number of chance modifiers to a condition, but be careful if there are several of them active at the same time: the sequence of their calculation is not defined, so you can get unpredictable results. It is better if either only one chance modifier is active at any particular time or if they are all of the same type (see below).

Node name: CHANCE_MODIFIER

  • modification (possible values: Multiply, Add, Power): type of modification: multiply the base chance, add to it or find power of it (default is Multiply)
  • value: constant value by which the base chance is modified (default is 1)
  • useAttribute (possible values: courage, stupidity): multiply the value by the given attribute (which is always 0..1)

Outcomes

Eventually, each condition normally either goes away or leads to other conditions. You define possible outcomes of a condition in OUTCOME nodes. One (or more) of them can be selected randomly on average once a day.

Node name: OUTCOME

  • condition: the kerbal acquires this condition when the outcome is activated (no new condition if empty)
  • removeOldCondition (true of false): whether the original condition should be removed when the outcome is activated (default is true)
  • chancePerDay: chance this outcome is chosen every day

You can use chance modifiers here (see above).

Celestial Body Configs

You can define custom settings for any celestial body in the game (except asteroids). These affect radiation shielding and radiation emission of a body.

Node name: PLANET_HEALTH_CONFIG

  • name: celestial body name (non-localized)
  • magnetosphere: exponential coefficient of amount of radiation blocked by magnetosphere (default is 1)
  • atmosphericAbsorption: exponential coefficient of amount of radiation blocked by the atmosphere (default is 1)
  • radioactivity: body's natural radiation level at sea level; it slowly decreases with altitude, but it is not affected by the magnetosphere or the atmosphere

Solar Weather Configs

Keys:

  • solarCycleDuration: how many in-game years a solar cycle takes
  • solarCycleStartingPhase: solar cycle phase on day 1, in a range of 0 to 1 (the solar cycle begins with a minimum level of activity and reaches the maximum level at phase 0.5)
  • radStormMinChance: daily chance of a radiation storm during solar minimum
  • radStormMaxChance: daily chance of a radiation storm during solar maximum

Radiation Storm Types

If a radiation storm takes place, its type is chosen from the provided types according to their weights.

Node name: RADSTORM_TYPE

Keys:

  • name: type name, which is displayed in the alert message
  • weight: relative chance of this type of radiation storms
  • magnitude: mean magnitude of this type of storms, measured in base daily solar radiation doses (2,500 bananas by default)
  • magnitudeDispersion: dispersion of magnitude; the bigger it is, the more actual magnitudes will depart from the mean magnitude, default = 0.4
  • velocity: mean radiation storm velocity in m/s, affects the time between the alert and the actual event, default = 500,000 m/s
  • velocityDispersion: dispersion of velocity; the bigger it is, the more actual velocities will depart from the mean velocity, default = 0.5