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.
Default Quirks
Acrobat
50% Microgravity factor effect
Adventurous
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
Asketic
90% Crowded factor effect
Astronaut's Health
Minimum experience level required: 3
+10% max HP
Claustrophobic
Less likely for Courageous kerbals
- 110% Crowded factor effect
- 50% EVA factor effect
Endurant
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)
Game Addict
More likely for Stupid kerbals
Health Decay of 0.5% for the first 30 days on a mission
Health Reserves
Health Recuperation of 0.5% after the first 100 days on a mission
Heartbreaker
- 80% Crowded factor effect when a kerbal of opposite gender is on the same vessel
- 200% Loneliness factor effect
Homely
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
Lead Skin
50% Radiation Exposure
Loner
- 0% Loneliness factor effect (i.e. immunity from it)
- 110% Crowded factor effect
Sickly
Incompatible with Strong Immunity
200% chance of becoming Sick
Strong Immunity
Incompatible with Sickly
- 50% chance of becoming sick
- Twice as long average period of sickness immunity
Talkative
More likely for Stupid kerbals
Incompatible with Loner
- 150% Connected factor effect
- 200% Loneliness factor effect
Unlucky
200% Accident chance
Unstable
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)
Workaholic
- 50% Assigned factor effect
- 50% KSC factor effect
Custom Quirks
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 uniquetitle
- displayed name of the quirk, defaults toname
if skippeddescription
- textual in-game description of the quirkvisible
- whether quirk is displayed in the Health Monitor and the messages (default is true)minLevel
- minimum experience level required to get the quirkincompatibleWith
(can be used multiple times) - the quirk can't be awarded to the kerbal, who already has one of the incompatible onescourageWeight
- 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 quirkstupidityWeight
- 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
Effects
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 multipliermaxHPBonus
- max HP additive (0 by default)exhaustedStart
- multiplier of threshold for start of Exhaustion conditionexhaustedEnd
- multiplier of threshold for end of Exhaustion conditionexposure
- radiation Exposure multiplierhpChangePerDay
- 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 partsmultiplyFactor
- 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 multiplierpanicAttackChance
- Panic Attack event chance multipliersicknessChance
- getting infected and sick event chance multipliercureChance
- sickness cure event chance multiplierloseImmunityChance
- loss of sickness immunity event chance multiplier
Logic
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 systemskerbalStatus
- 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 appliedinverse
- whether to invert the logic (a logical 'not' operator, default is 'false')
Example
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.