quirks - GarwelGarwel/KerbalHealth GitHub Wiki
When a kerbal levels up, there is a 25% chance (by default) that he or she will acquire a quirk. The chance sometimes depends on Courage and Stupidity values and some quirks are incompatible with one another. Kerbals can have up to 2 quirks.
Another way to acquire quirks is to have your kerbals discover anomalies (easter eggs left by Squad on the surfaces of most celestial bodies). These free quirks are not limited to two per kerbal. If several kerbals make the discovery simultaneously (while in the same vessel), only one of them will get the quirk.
If you install the mod mid-game, kerbals will "catch up" with their quirks. If you don't want them to suddenly acquire something nasty during a mission, make sure the default setting "Award on Missions" is on.
50% Microgravity factor effect
Incompatible with Lonely
More likely for Courageous kerbals
- 60% Assigned factor effect when in interplanetary space
- 40% Assigned factor effect when in a SOI of another planet or moon (except Mun or Minmus)
- 50% Home factor effect
90% Crowded factor effect
Minimum experience level required: 3
+10% max HP
Less likely for Courageous kerbals
- 110% Crowded factor effect
- 50% EVA factor effect
Minimum experience level required: 2
Incompatible with Unstable
Exhausted condition starts at 50% of its normal health level (which is 20% of HP by default)
More likely for Stupid kerbals
Health Decay of 0.5% for the first 30 days on a mission
Health Recuperation of 0.5% after the first 100 days on a mission
- 80% Crowded factor effect when a kerbal of opposite gender is on the same vessel
- 200% Loneliness factor effect
Less likely for Courageous kerbals
Incompatible with Adventurous
- 200% KSC factor effect
- 200% Home factor effect
- 50% Assigned factor effect when in Kerbin's SOI
- 150% Assigned factor effect when in outside Kerbin's SOI
50% Radiation Exposure
- 0% Loneliness factor effect (i.e. immunity from it)
- 110% Crowded factor effect
Incompatible with Strong Immunity
200% chance of becoming Sick
Incompatible with Sickly
- 50% chance of becoming sick
- Twice as long average period of sickness immunity
More likely for Stupid kerbals
Incompatible with Loner
- 150% Connected factor effect
- 200% Loneliness factor effect
200% Accident chance
Minimum experience level required: 2
Incompatible with Endurant
Less likely for Courageous kerbals
- 200% Panic Attack chance
- Exhausted condition starts and ends at 125% of its normal health level (which is 20% and 25% of HP by default, respectively)
- 50% Assigned factor effect
- 50% KSC factor effect
You can add, change or remove quirks either by editing the KerbalHealth.cfg file or with Module Manager patches (recommended). Quirks are defined in HEALTH_QUIRK
nodes. The following keys are allowed:
-
name
(required) - the internal name of the quirk, must be unique -
title
- displayed name of the quirk, defaults toname
if skipped -
description
- textual in-game description of the quirk -
visible
- whether quirk is displayed in the Health Monitor and the messages (default is true) -
minLevel
- minimum experience level required to get the quirk -
incompatibleWith
(can be used multiple times) - the quirk can't be awarded to the kerbal, who already has one of the incompatible ones -
courageWeight
- a kerbal with 100% Courage has this time more chances of getting the quirk than a kerbal with 0% Courage (default = 1); it doesn't affect average probability of the quirk -
stupidityWeight
- a kerbal with 100% Stupidity has this time more chances of getting the quirk than a kerbal with 0% Courage (default = 1); it doesn't affect average probability of the quirk
Inside the HEALTH_QUIRK
node, there should be one or more EFFECT
nodes that define what the quirk actually does. These are the possible effects (most of them are multipliers and are 1 by default):
-
maxHP
- max HP multiplier -
maxHPBonus
- max HP additive (0 by default) -
exhaustedStart
- multiplier of threshold for start of Exhaustion condition -
exhaustedEnd
- multiplier of threshold for end of Exhaustion condition -
exposure
- radiation Exposure multiplier -
hpChangePerDay
- raw change of HP per day (0 by default) -
recuperation
- Health Recuperation, in percentage points (0 by default) -
decay
- Health Decay, in percentage points (0 by default) -
multiplier
- health factor multiplier, applied after all multipliers provided by vessel parts -
multiplyFactor
- name of the factor, to whcih themultiplier
is applied (default is 'All') -
space
- additional living space (0 by default) -
shielding
- additional radiation shielding (affects Exposure, but is additive, 0 by default) -
radioactivity
- additional radiation (0 by default) -
accidentChange
- Accident event chance multiplier -
panicAttackChance
- Panic Attack event chance multiplier -
sicknessChance
- getting infected and sick event chance multiplier -
cureChance
- sickness cure event chance multiplier -
loseImmunityChance
- loss of sickness immunity event chance multiplier
Each of the effects is applied independently from the others and can have its own logic. For instance, one effect will only apply in a SOI of a particular body, another one during a specific period of time and the third one will apply in all cases (this is the default). It means that you should have at least three EFFECT
nodes, one for each of these effects.
In order to define conditions (or "logic") for an effect, you can use a set of nested LOGIC
nodes inside EFFECT
nodes. The EFFECT
node itself is also treated as a LOGIC
node.
Note: You may include as many LOGIC
nodes as you want and for any depth, but keep in mind performance considerations: each of the conditions is checked for every kerbal with the given quirk at every health update (normally every 10 seconds).
The following are keys that define logic:
-
inSOI
- the kerbal is in a Sphere of Influence of a particular body; use 'Home' to define the home body for compatibility with modded planetary systems -
kerbalStatus
- the kerbal has a specific roster status ('Available', 'Assigned', 'Missing' or 'Dead') -
missionTime
- the mission has begun at least this number of seconds ago (note that KSP resets time on undocking, EVA and in some other cases) -
genderPresent
- at least one kerbal of the specified gender is in the same vessel (allowed values: 'Female', 'Male', 'Same', 'Other') -
operator
- whether all the conditions are required (use 'all' or 'and', this is default) or just one of them (use 'any' or 'or') for the effect to be applied -
inverse
- whether to invert the logic (a logical 'not' operator, default is 'false')
HEALTH_QUIRK
{
name = Adventurous
incompatibleWith = Homely
courageWeight = 2
EFFECT
{
multiplyFactor = Assigned
multiplier = 0.6
inSOI = Sun
}
EFFECT
{
multiplyFactor = Assigned
multiplier = 0.4
operator = Or
inverse = True
LOGIC
{
inSOI = Sun
}
LOGIC
{
inSOI = Home
}
LOGIC
{
inSOI = Mun
}
LOGIC
{
inSOI = Minmus
}
}
EFFECT
{
multiplyFactor = Home
multiplier = 0.5
}
}
In this example, the quirk called 'Adventurous' cannot be assigned to a kerbal that has a 'Homely' quirk. A kerbal with 100% Courage is also 2x as likely to get this one than one with 0% Courage.
This quirk has three effects:
- 'Assigned' factor is multiplied by 0.6 (i.e. 60%), when the kerbal is in the SOI of the Sun
- 'Assigned' factor is multiplied by 0.4 (i.e. 40%), when one of the following (note
operator = Or
) is false (noteinverse = True
): the kerbal is in the SOI of the Sun, of the home planet (i.e. Kerbin or Earth if you play in the Solar System), of the Mun or Minmus. In other words, this quirk is applied everywhere except these SOIs. - 'Home' factor is multiplied by 0.5, always.